2012年3月29日星期四

网络协议TCP-IP小节




网络协议TCP-IP小节

     --  《计算机网络》第5章 运输层. 谢希仁



# 转图
IP报文段的首部格式


TCP报文段的首部格式




# 细节

随着因特网的发展,又陆续增加了几个选项。如窗口扩大选项、时间戳选项等【rfc1323】,以后又增加了有关选择确认(SACK)选项【rfc2018】。
窗口扩大选项是为了扩大窗口。我们知道,tcp首部中窗口字段长度是16位,因此最大的窗口大小为64K字节(2^16 字节)。
……

tcp标准规定,确认推迟的时间不应超过0.5秒。若收到一连串具有最大长度的报文段,则必须每隔一个报文段就要发送一个确认【rfc 1122】。第二,捎带确认时间上并不经常发生,因为大多数程序不同时在两个方向上发送数据。
……

(选择确认SACK)
由于首部长度最多只有40字节,而指明一个边界要用掉4字节(因为序号有32位,需用4字节表示),因此在选项中最多只能指明4个字节块的边界信息,即8个边界值。另外还需两个字节,一个用来指明SACK选项,另一个用来指明这个选项要占用多少字节。
8 * 4 + 2 = 34 < 40 (字节)-- OK
10 * 4 + 2 > 40 -- OVER
……

发送窗口 -- 接收窗口(通知窗口)
发送方的发送窗口一定不能超过对方给出的接收出口值rwnd。

(待续)
……

# 附
     -- 目录预览
第5章 运输层
*5.1 运输层协议概述
5.1.1 进程之间的通信
5.1.2 运输层的两个主要协议
5.1.3 运输层的端口
*5.2 用户数据报协议UDP
5.2.1 UDP概述
5.2.2 UDP的首部格式
*5.3 传输控制协议TCP概述
5.3.1 TCP最主要的特点
5.3.2 TCP的连接
*5.4 可靠传输的工作原理
5.4.1 停止等待协议
5.4.2 连续ARQ协议
*5.5 TCP报文段的首部格式
5.6 TCP可靠传输的实现
*5.6.1 以字节为单位的滑动窗口
*5.6.2 超时重传时间的选择
5.6.3 选择确认SACK
5.7 TCP的流量控制
*5.7.1 利用滑动窗口实现流量控制
5.7.2 必须考虑传输效率
*5.8 TCP的拥塞控制
5.8.1 拥塞控制的一般原理
5.8.2 几种拥塞控制方法
5.8.3 随机早期检测RED
5.9 TCP的运输连接管理
*5.9.1 TCP的连接建立
*5.9.2 TCP的连接释放
5.9.3 TCP的有限状态机

没有评论:

发表评论