沈阳工程学院
学生实验报告
实验室名称:信息学院网络实验室
实验课程名称:计算机网络
实验项目名称:实验三传输层TCP协议的分析
班级:姓名:学号:
实验日期:2015 年11月24日实验台编号:指导教师:批阅教师(签字):成绩:
一.实验目的
●掌握传输层TCP协议分析方法,了解传输层TCP协议内容
二.实验内容
●捕获传输层TCP协议数据
●并分析传输协议原理
三.实验前的准备
●了解传输层TCP协议的数据单元格式
●了解传输层TCP协议规程
●熟悉至少一种网络抓包软件的使用方法。
四.实验要求及实验软硬件环境
【基本要求】
●按实验内容进行知识准备
●按照预订实验步骤操作,并记录实验结果
●分析实验记录,并得出结论
●完成此项实验,完成实验报告。
【实验组织方式】
●个人实验
【实验条件】
●微机与网络环境。
五.实验步骤
1.建立网络模型:
2.连接以后进行三次握手建立连接,传输数据和释放连接,并且截下各个部分所捕获的数据
3.利用PC0向SERVERO获取数据,捕捉在由PCO传向SERVERO的TCP协议报文以及反向的TCP协议报文。
4.分析捕捉的TCP协议报文的格式。
六.实验结果记录
1.由PCO向SERVERO的TCP协议报文。
图2 PCO向SERVERO的TCP协议报文。
2. 由SERVERO向PCO的TCP协议报文。
图3 SERVERO向PCO的TCP协议报文
七.结果分析
通过分析在试验结果的TCP协议报文的知道了TCP协议报文的格式,TCP 协议报文由TCP首部和数据部分组成。并且TCP首部报文的前二十字节是固定的,如图4所示。
图4 TCP前20字节的固定报文
1.分析上图的TCP协议的报文得到如下结论:
源端口号( 16位):它(连同源主机 IP地址)标识源主机的一个应用进程。图片中的来源端口地址为 80。
目的端口号( 16位):它(连同目的主机 IP地址)标识目的主机的一个应用进程。这两个值加上 IP报头中的源主机 IP地址和目的主机 IP地址唯一确定一个 TCP连接。图片中的目的端口为1025。
顺序号( 32位):用来标识从 TCP源端向 TCP目的端发送的数据字节流,它表示在这个报文段中的第一个数据字节的顺序号。如果将字节流看作在两个应用程序间的单向流动,则 TCP用顺序号对每个字节进行计数。序号是 32bit的无符号数,序号到达 2 32- 1后又从 0开始。当建立一个新的连接时, SYN标志变 1,顺序号字段包含由这个主机选择的该连接的初始顺序号 ISN( Initial Sequence Number)。图片中的序号为0。
确认号( 32位):包含发送确认的一端所期望收到的下一个顺序号。因此,确认序号应当是上次已成功收到数据字节顺序号加 1。只有 ACK标志为 1时确认序号字段才有效。 TCP为应用层提供全双工服务,这意味数据能在两个方向上独立地进行传输。因此,连接的每一端必须保持每个方向上的传输数据顺序号。上图的确认号为1。
TCP报头长度( 4位):给出报头中 32bit字的数目,它实际上指明数据
从哪里开始。需要这个值是因为任选字段的长度是可变的。这个字段占 4bit,因此 TCP最多有 60字节的首部。然而,没有任选字段,正常的长度是 20字节。
保留位( 6位):保留给将来使用,目前必须置为 0。
控制位( control flags, 6位):在 TCP报头中有 6个标志比特,它们中的多个可同时被设置为 1。依次为:
URG:为 1表示紧急指针有效,为 0则忽略紧急指针值。
ACK:为 1表示确认号有效,为 0表示报文中不包含确认信息,忽略确认号字段。
PSH:为 1表示是带有 PUSH标志的数据,指示接收方应该尽快将这个报文段交给应用层而不用等待缓冲区装满。
其中的IP协议就是与1中的IP协议是一样的。故在此省略对TCP/IP中的IP协议的分析。
窗口:占2个字节,用来控制对方发送的数据量,单位是字节,指明对方发送窗口的上限。校验和:占2个字节,校验的范围包括首部和数据两个部分,计算校验和时需要在报文段前加上12字节的伪首部。
检验和:占2字节。检验和字段检验的范围包括首部和数据这两部分和UDP用户数据报一样,在计算机检验和时,要在TCP报文段的前面加上12字节的伪首部。伪首部的格式和UDP的用户数据报的伪首部一样。但应把伪首部的第四个字段中的17改为6,把第五个字段的UDP的长度改为TCP的长度。接收方收到此报文后,仍要加上这个伪首部来计算检验和。
紧急指针:站2字节。紧急指针只在URG=1时才有意义,它指出本报文段紧急数据的字节数。因此,紧急指针指出了紧急数据的末尾在数据报文段中的位置。当所有紧急数据都处理完时,TCP就告诉应用程序回复到正常操作。值得注意的是,即使窗口为零时也可以发送紧急数据。
2.上面分析的是TCP协议数据报的首部固定的20字节,现在分析下图的报文,包括首部剩下的部分以及数据本分。
图5 数据部分的报文
选项:长度可变,最长达到40字节。当没有使用“选项”时,TCP首部的长度就是20字节。还有就是后面的填充都是在常规的TCP首部后增加的。