一,实验目的:
掌握TCP原理
通过Wireshark的的对数据包的分析,了解三个握手,四次挥手。
二,实验原理
TCP(Transmission Control Protocol传输控制协议)是一种面向连接的,可靠的,基于字节流的传输层通信协议。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的,像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
1,TCP头格式
(1)源端口(源端口号):数据发起者的端口号,16位。
(2)目的端口号(目的端口号):数据接收者的端口号,16位。
(3)序列号(顺序号码) ,Seq)):用于在数据通信中解决网络包乱序(重新排序)问题,以保证应用层接收到的数据不会因为网络上的传输问题而乱序(TCP会用这个顺序号码来拼接数据),32位。
(4)确认号(确认号码,ACK):是数据接收方期望收到发送方在下一个报文段的顺序号码(SEQ),因此确认号码应当是上次已成功收到顺序号码(SEQ)加1,32bit。
(5)Offset(TCP报文头长度):用于存储报文头中有多少个32bit(上图的一行),存储长度为4bit,最大可表示(2) ^ 3 + 2 ^ 2 + 2 ^ 1 + 1)* 32bit = 60bytes的报文头。最小取值5,5 * 32bit = 20bytes。