mars 系列-网络优化的设计与思考_第1页
mars 系列-网络优化的设计与思考_第2页
mars 系列-网络优化的设计与思考_第3页
mars 系列-网络优化的设计与思考_第4页
mars 系列-网络优化的设计与思考_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网络优化的设计与思考 Mars 是微信使用c编写的业务性无关、平台性无关的终端开源基础组件,目前已接入微信android、ios、mac等客户端。简介模块1、COMM:基础库,包括socket,线程,消息队列等基础工具。2、XLOG:日志模块,提供高可用、安全性的日志功能。3、SDT:网络诊断模块。4、STN:信令传输网络模块,负责终端与服务器的小数据 信令通道维护。TCP协议以太网协议链路层 帧结构类型0800 表示ip数据0806 表示ARP请求0835 表示RARP请求链路层超时与重传 在链路层,一般使用混合自动重传请求(即 HARQ)。HARQ 是一种结合FEC(前馈式错误修正)与 A

2、RQ(自动重传请求)的技术。1、停等式ARQ优点 发送和接收的窗口都为1,所需要的缓冲存储空间最小缺点 信道效率很低2、回退n帧的ARQ优点并行发送,提升了信道的利用率缺点一旦某一帧出现错误,将重传后续的帧,增加了正常帧的重传率3、选择性重传ARQ优点:1.提升了信道利用率2.减少了正常帧的重传率缺点:对于接收段的缓冲存储空间,消耗比较大。3、混合ARQ滑动窗口特点:1.动态调整2.解决传输效率和流量控制窗口调整的三个动作:展开(右向右)合拢(左向右)收缩(右向左)滑动窗口的慢启动/快恢复过程TCP 报文格式序列号:发送端的序列号确认号:接收端的期望收到的下一个字节选项(最长40个字节):窗口

3、扩大窗口扩大选项、选项、 SACK选择确认选择确认项项、时间戳选项时间戳选项传输层(Tcp)的超时与重传 超时重传是TCP协议保证数据可靠性的另一个重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止。RTT传播时间接收端处理时间路由器的排队和处理时间RTT(Round Trip Time):报文往返时时间变化较大,反应当前网络拥塞,情况RTO(Retransmission TimeOut):重传超时时间1.RTT的测量2.退避指数平滑算法、Karn 算法、Jacbson 算法当某个报文,超过指定的RTO

4、时间,未收到ack,后续的重传等待时间,将会呈现指数上升。 Eg:t=t*2OPPO手机TCP超时重传的间隔,依次为0.5s,1s,2s,4s,8s,16s,32s,64s,64s,64s SamSung 中 TCP 超时重传的间隔依次为0.42s, 0.9s, 1.8s, 3.7s, 7.5s, 15s, 30s, 60s, 120s, 120s iphone6 中 TCP 超时重传的间隔依次为 1s,1s,1s,2s,4.5s,9s,13.5s,26s,26s 快速重传( Fast Retransmit )SACK 方法方法D-SACK重复收到数据的问题重复收到数据的问题1.D-SACK使

5、用了SACK的第一个段来做标志2.如果SACK的第一个段的范围被ACK所覆盖,那么就是D-SACKTransmittedReceivedACKSentSegmentSegment(IncludingSACKBlocks)3000-34993000-34993500(ACKdropped)3500-39993500-39994000(ACKdropped)3000-34993000-34994000,SACK=3000-3500-3.如果SACK的第一个段的范围被SACK的第二个段覆盖,那么就是D-SACK12345678910113000-3499 3000-3499 3500 (ACK dr

6、opped) 3500-3999 3500-3999 4000 (ACK dropped) 4000-4499 (data packet dropped) 4500-4999 4500-4999 4000, SACK=4500-5000 (ACK dropped) 3000-3499 3000-3499 4000, SACK=3000-3500, 4500-50001.Tcp都已经右超时和重传机制,应用层是否还需要超时和重传?2.应用层的超时重传机制应该提供怎样的服务呢?问题1.Tcp都已经有超时和重传机制,应用层是否还需要超时和重传?1.1在链路层,HARQ 提供的是节点之间每一数据帧的可靠

7、传输。1.2在传输层,TCP 超时重传机制提供的是端与端之间每个 TCP 数据包的可靠传输。BUT! TCP 层面,发生超时时,重传的间隔以“指数退避”的规律,进行急剧上升,而且伴随着不可控的最大重试次数,所有最终等到成功活着失败的结果,需要几分钟甚至十几分钟2.应用层的超时重传机制应该提供怎样的服务呢?2.保障弱网络下的可用性。3.具有网络敏感性,快速的发现新的链路。1.在用户体验的接受范围内,尽可能地提高成功率。Mars 的读写超时1.总读写超时2.分步的读写超时(首包超时)3.分步的读写超时(包包超时)1.包包超时发生在首包超时之后。 2.使用了不同网络下的固定RTT。超时队列大小*常量发包大小/最低网速服务器约定最大耗时包传输时间4.动态的读写超时1.进入Exc状态后,就缩短信令收发的预期,即减小首包超时时间2.进入Eva,增加超时时间,减少发送频率移动网络优化的思考1)慢启动 2)拥塞避免 3)拥塞发生 4)快速恢复2.保障弱网络下的可用性。3.具有网络敏感性,快速的发现新的链路。1.在用户体验的接受范围内,尽可能地提高成功率。1.滑动窗口网络传输,大文件上传过程中(音频,图片),采用分片+网络探测2.不同网络下的流量控制2G,3G,4G网络下,传输数据的控制3.超时4. Nag

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论