下载此文档

tcp流量控制与拥塞控制.docx


文档分类:IT计算机 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
TCP/ip 的流量控制 1. 利用滑动窗口实现流量控制如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。利用滑动窗口机制可以很方便地在 TCP 连接上实现对发送方的流量控制。设A向B 发送数据。在连接建立时, B 告诉了 A:“我的接收窗口是 rwnd = 400 ”( 这里的 rwnd 表示 receiver window) 。因此, 发送方的发送窗口不能超过接收方给出的接收窗口的数值。请注意, TCP 的窗口单位是字节,不是报文段。 TCP 连接建立时的窗口协商过程在图中没有显示出来。再设每一个报文段为 100 字节长,而数据报文段序号的初始值设为1 。大写 ACK 表示首部中的确认位 ACK ,小写 ack 表示确认字段的值 ack 。从图中可以看出, B 进行了三次流量控制。第一次把窗口减少到 rwnd = 300 ,第二次又减到了 rwnd = 100 , 最后减到 rwnd =0, 即不允许发送方再发送数据了。这种使发送方暂停发送的状态将持续到主机 B 重新发出一个新的窗口值为止。 B向A 发送的三个报文段都设置了 ACK =1 ,只有在 ACK=1 时确认号字段才有意义。 TCP 为每一个连接设有一个持续计时器(persistence timer) 。只要 TCP 连接的一方收到对方的零窗口通知, 就启动持续计时器。若持续计时器设置的时间到期, 就发送一个零窗口控测报文段(携 1 字节的数据) ,那么收到这个报文段的一方就重新设置持续计时器。 2. 必须考虑传输速率可以用不同的机制来控制 TCP 报文段的发送时机。如: <1>. TCP 维持一个变量, 它等于最大报文段长度 MSS 。只要缓存中存放的数据达到 MSS 字节时, 就组装成一个 TCP 报文段发送出去。<2>. 由发送方的应用进程指明要求发送报文段,即 TCP 支持的推送( push ) 操作。<3>. 发送方的一个计时器期限到了, 这时就把已有的缓存数据装入报文段( 但长度不能超过 MSS) 发送出去。 Nagle 算法: 若发送应用进程把要发送的数据逐个字节地送到 TCP 的发送缓存, 则发送方就把第一个数据字节先发送出去, 把后面到达的数据字节都缓存起来。当发送方接收对第一个数据字符的确认后, 再把发送缓存中的所有数据组装成一个报文段再发送出去, 同时继续对随后到达的数据进行缓存。只有在收到对前一个报文段的确认后才继续发送下一个报文段。当数据到达较快而网络速率较慢时, 用这样的方法可明显地减少所用的网络带宽。 Nagl e 算法还规定:当到达的数据已达到发送窗口大小的一半或已达到报文段的最大长度时,就立即发送一个报文段。另, 糊涂窗口综合证: TCP 接收方的缓存已满, 而交互式的应用进程一次只从接收缓存中读取 1 字节( 这样就使接收缓存空间仅腾出 1 字节), 然后向发送方发送确认, 并把窗口设置为 1 个字节(但发送的数据报为 40 字节的的话) 。接收,发送方又发来 1 个字节的数据( 发送方的 IP 数据报是 41 字节)。接收方发回确认, 仍然将窗口设置为 1 个字节。这样, 网络的效率很低。要解决这个问题, 可让接收方等待一段时间, 使得或者接收缓存已有足够空间容

tcp流量控制与拥塞控制 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小174 KB
  • 时间2017-03-04