tcp成块数据流交互

滑动窗口
滑动窗口协议是允许发送方发送多个未被确认的数据分组,每个分组不必等待确认后进行发送下一个分组,且接受方通过窗口协议可以对多个分组进行确认,可以加快数据的传输。 在滑动窗口协议中,ack的确认是可以累积的,可以一次确认多个分组。





当接收方确认数据后,这个滑动窗口不时地向右移动。窗口两个边沿的相对运动增加或减少了窗口的大小。我们使用3个术语来描述窗口左右边沿的运动:



合拢的现象是发送在:数据被发送和确认的时候。
张开的现象是发生在接收端的进程读取已经确认的数据并释放了tcp的接收缓存时:
当窗口的右边沿向左移动时,我们称之为窗口收缩。目前RFC强烈建议不要这么做。


PUSH标志

发送方使用该标志通知接收方将所收到的数据全部提交给接收进程。这里的数据包括与PUSH一起传送的数据以及接收方TCP已经为接收进程收到的其他数据。


慢启动

为了避免网络拥塞,需要通过一个拥塞窗口cwnd来进行控制数据的发送,从1开始,然后指数增长,使其达到一个平衡点。
慢启动为发送方的TCP增加了另一个窗口:拥塞窗口(congestion window) 记录为cwnd,当于另一个网络的主机建立tcp连接的时候,拥塞窗口初始化为1个报文段(即是另一端的通告的报文段大小),每收到一个ack,拥塞窗口就增加一个报文段。发送方取拥塞窗口与通告窗口中的最小值作为发送上限。拥塞窗口是发送方使用的流量控制,而通告窗口则是接收方使用的流量控制。



紧急方式
它使一端可以告诉另一端有些具有某种方式的“紧急数据”已经放置在普通的数据流中,由接受方决定如何处理。
紧急标志有URG,另外还有一个16位的紧急指针的偏移量,这个与tcp首部中的序号进行相加,以便得出紧急数据的最后一个字节的序号。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值