TCP/IP协议数据报结构详解

ZDNet软件频道 时间:2009-12-06 作者:IXPUB技术社区 | IXPUB技术社区 我要评论()
本文关键词:网络协议 TCP/IP协议 TCP/IP
TCP/IP协议中各层的数据报结构是一个比较抽象的内容,大家在日常学习过程中往往难以理解和掌握,常常是死记硬背把它记住了事。

四、传输层TCP数据报结构详解

如图4所示,TCP数据报中依次包括以下信息:

1、Source Port=1038,表示发起连接的源端口为1038。该部分占16个BIT。通过此值,可以看出发起连接的计算机源端口号。
2、Destination Port=21(FTP-CTRL),表示要连接的目的端口为21。该部分占16个BIT。通过此值,可以看出要登录的目的端口号。21端口表示是FTP服务端口。
3、Initial Sequence Number=1791872318,表示初始连接的请求号,即SEQ值。该部分占32个BIT,值从1到2的32次方减1。
4、Next Expected SEQ Number=1791872319,表示对方的应答号应为1791872319,即对方返回的ACK值。该部分占32个BIT,值从1到2的32次方减1。
5、Data Offset=28 Bytes,表示数据偏移的大小。该部分占4个BIT。
6、Reserved Bites:保留位,此处不用。该部分占6个BIT。
7、Flags=02。该值用两个十六进制数来表示。该部分长度为6个BIT,6个标志位的含义分别是:

0URG,紧急数据标志,为1表示有紧急数据,应立即进行传递。
0ACK,确认标志位,为1表示此数据包为应答数据包
0PSH,PUSH标志位,为1表示此数据包应立即进行传递。
0RST:复位标志位。如果收到不属于本机的数据包,则返回一个RST
0SYN:连接请求标志位。为1表示为发起连接的请求数据包。
0FIN:结束连接请求标志位。为1表示是结束连接的请求数据包。

8、Window=64240,表示窗口是64240。该部分占16个BIT。
9、CheckSum=92D7(Correct),表示校验和是92D7。该部分占16个BIT,用十六进制表示。
10、Urgent Pointer=0,表示紧急指针为0。该部分占16个BIT。
11、Maximum Segment Size=1460,表示最大段大小为1460个字节。

通过上述分析,可以得出TCP数据报结构为:

五、小结

通过上述分析,可以发现:在以太网中,最大传输单元MTU为1500个字节,在一个IP包中,去除IP包头的20个字节,可以传输的最大数据长度为1480个字节。在TCP包中,去除20个TCP包头,可以传输的最大数据段为1460个字节。因此,当数据超过最大数据长度时,将对该数据进行分片处理,在IP包头中会看到有多个片在传输,但标识号是相同的,表示是同一个数据包。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134