实验五传输层协议分析_第1页
实验五传输层协议分析_第2页
实验五传输层协议分析_第3页
实验五传输层协议分析_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验五、传输层协议分析5.1. 实验目的 理解TCP报文首部格式和字段的作用,TCP连接的建立和释放过程,TCP数据传输中编号与确认的作用。5.2 实验内容应用TCP应用程序传输文件,截取TCP报文,分析TCP报文首部信息,TCP连接的建立过程,TCP数据的编号和确认机制。5.3 实验原理 TCP协议是传输控制协议的简称,工作在网络层协议之上,是面向连接的,可靠的,端到端的传输层协议。1 TCP的报文格式TCP报文段分为头部和数据两部分,如图1:图1 TCP报文段的总体结构TCP首部TCP数据部分TCP报文段首部又分为固定部分和选项部分,固定部分为20B,如图2所示,这些字段的组合实现了TCP

2、的所有功能。图2 TCP报文段的首部 0 15 31源端口目的端口序号确认号头部长度(4bit)保留URGACKPSHRSTSYNFIN窗口校验和紧急指针选项(长度可变)填充TCP采用传输输连接的方式传送TCP报文,传输连接包括连接建立、数据传输和连接释放三个阶段。2 TCP连接的建立TCP连接建立采用“3次握手”方式。首先,主机A的TCP向主机B的TCP发出连接请求报文段,其首部中的同步位SYN应置1,同时选择一个序号X,表明在后面传送数据时的第一个数据字节的序号是X+1,如图3所示:被动打开主动打开确认连接请求图3 TCP连接建立的3次握手过程然后,主机B的TCP收到连接请求报文段后,若同

3、意,则发回确认。在确认报文段中应将SYN和ACK都置1,确认号应为X+1,同时也为自己选择一个序号Y。最后,主机A的TCP收到B的确认后,要向B发回确认,其ACK置1,确认号为Y+1,而自己的序号为X+1。TCP的标准规定,SYN置1的报文段都要消耗掉一个序号。同时,运行客户进程的主机A的TCP通知上层应用进程,连接已经建立。当主机A向B发送第一个数据报文段时,其序号仍为X+1,因为前一个确认报文段并不消耗序号。当运行服务器进程的主机B的TCP收到主机A的确认后,也通知其上层应用进程,连接已经建立。另外,在TCP连接建立的过程中,还利用TCP报文段首部的选项字段进行双方最大报文段长度MSS协商

4、,确定报文段的数据字段的最大长度。双方都将自己能够支持的MSS写入选项字段,比较之后,取较小的值赋给MSS,并应用于数据传送阶段。 3. TCP数据的传送 为了保证TCP传输的可靠性,TCP采用面向字节的方式,将报文段的数据部分进行编号,每个字节对应一个序号。并在连接建立时,双方商定初始序号。在报文段首部中,序号字段和数据部分长度可以确定发送方传送数据的每一个字节的序号,确认号字段则表示接收方希望下次收到的数据的第一个字节的序号,即表示这个序号之前的数据字节均已收到。这样既做到了可靠传输,又做到了全双工通信。 当然,数据传送阶段有许多复杂的问题和情况,如流量控制、拥塞控制、重传机制等,本次实验

5、不探究。 4TCP连接的释放 在数据传输结束后,通信的双方都可以发出释放连接的请求。TCP连接的释放采用“4次握手”。如图 图4 TCP连接释放的4次握手过程首先,设图4中主机A的应用进程先向其TCP发出释放连接的请求,并且不再发送数据。TCP通知对方要释放从A到B这个方向的连接,将发往主机B的TCP报文段首部的中止位置1,其序号X等于前面已传送过的数据的最后一个字节的序号加1。主机B的TCP收到释放连接通知后即发出确认,其序号为Y,确认号为X+1,同时通知高层应用进程,如图中的箭头。这样从A到B的连接就被释放了,连接处于半关闭状态,相当于主机A对主机B说“我已经没有数据发送了。但是如果你还有

6、数据要发送,我仍然接收。”此后,主机B不再接收A发来的数据。但若主机B还有一些数据要发给A,则可以继续发送(这种情况很少)。主机A只要正确收到数据,仍然向B发送确认。若主机B不再向主机A发送数据,其应用进程就通知TCP释放连接,如图中的箭头。主机B发出的连接释放报文段必须将中止位FIN和确认位ACK置1,并使其序号仍为Y(因为签名发送的确认报文段不消耗序号),但是还必须重复上次已经发送过的ACKX+1。主机A必须对此发出确认,将ACK置1,ACK=Y+1,而自己的序号仍然是X+1,因为根据TCP标准,前面发送过的FIN报文段要消耗掉一个序号。这样就把B到A的反方向的连接释放掉。主机A的TCP再

7、向其应用进程报告,整个连接已经全部释放。5.4 实验步骤步骤1 在sniffer中设置过滤条件,协议为TCP HTTP,地址为本机>any,并开始截获报文步骤2 打开,完成后,分析捕获的报文。这里,TCP的连接和建立采用的是: 方式,本机是 ,远端主机是 。步骤3 分析TCP连接建立过程的前3个报文,填写下表1:表1 TCP建立过程的三个报文信息字段名称第一条报文第二条报文第三条报文报文序号Sequence NunberACK NumberACKSYN步骤4 分析截获报文中数据发送部分的第一条TCP报文及其确认报文,将报文中的字段值填写在表格2中。表2 TCP报文首部信息字段名长度字段值字段意义发送报文确认报文步骤5 TCP连接建立时,其报文首部与其它TCP报文不同,有一个option字段,它的作用是什么?结合IEEE802.3协议规定的以太网最大帧长分析此数据是怎么得出来的?步骤6 分析TCP数据传送阶段的前8个报文,将报文信息填入表3:表3 TCP数据传送部分的前8个报文报文序号报文种类序号字段确认号字段数据长度被确认报文序号窗口5.5 试验总结在实验中,通过分析截获的TCP报文首

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论