您的当前位置:首页正文

北信科大计算机网络实验三

2022-10-09 来源:好走旅游网
实 验 报 告

课程名称 计算机网络实验 实验仪器 网络协议仿真教学系统

实验名称 实验三 传输控制协议TCP

系 别 计算机学院 专 业 ___ 网络工程 班级/学号 _ 0903/2009011422

学生姓名 ___ _ 张 昭___ _ 实验日期 2011.11.25 成 绩

指导教师

_ _ 高卓_ _

实验三 传输控制协议TCP

【实验目的】

1. 掌握TCP协议的报文格式 2. 掌握TCP连接的建立和释放过程 3. 掌握TCP数据传输中编号与确认的过程 4. 掌握TCP协议校验和的计算方法 5. 理解TCP重传机制

【实验学时】

建议4学时

【实验环境配置】

该实验采用网络结构一(我作为主机B参与本次实验)

【实验原理】

一. TCP报文格式

116位源端口号32位序号32位确认序号4位首部长度保留(6位)UAPRSFRCSSYIGKHTNN16位窗口大小16位紧急指针选项数据161716位目的端口号3216位检查和

二. TCP连接的建立

TCP是面向连接的协议。在面向连接的环境中,开始传输数据之前,在两个终端之间必须先建立一个连接。对于一个要建立的连接,通信双方必须用彼此的初始化序列号seq和来自对方成功传输确认的应答号ack(指明希望收到的下一个八位组的编号)来同步,习惯上将同步信号写为SYN,应答信号写为ACK。

整个同步的过程称为三次握手,下图说明了这个过程:

三. TCP连接的释放

对于一个已经建立的连接,TCP使用四次握手来结束通话(使用一个带有FIN附加标记的报文段)。

TCP关闭连接的步骤如下图所示:

四. TCP重传机制

TCP每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到期,但还没有收到确认,就要重传这一报文段。

【实验步骤】

按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。

练习一:察看TCP连接的建立和释放

1. 主机B、C、D启动协议分析器进行数据捕获并设置过滤条件(提取TCP协议)。

字段名称 报文1 报文2 报文3 2. 主机A启动仿真编辑器,进入TCP连接视图。在“服务器信息/IP地址”中填入主

机C的IP地址;使用“端口扫描”获取主机C的TCP端口列表,在“服务器信息/端口”中填入主机C的一个TCP端口(大于1024);点击“连接”按钮进行连接。 3. 察看主机B、C、D捕获的数据,填写下表。

Sequence Number 62821161 865028233 62821162 ...1.... ......1. 62821162 865028234 ...1.... ......0. Acknowledgement Number 0 ACK SYN

...0.... ......1.

TCP连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。

答:值的范围为536字节(默认值)~1460字节,mss是双方连接阶段确定的,作用是定义了能够被终端所接受的TCP报文段的最大数据单元。IEEE802.3规定了以太网帧有效载荷的最大长度为1500字节,所以根据mss的定义,减去IP数据报的头部20字节(无选项)和TCP头部20字节(无选项)后得到的1460字节为mss最大值,默认值为536字节。

4. 主机A断开与主机C的TCP连接。 5. 察看主机B、C、D捕获的数据,填写下表。

字段名称 Sequence Number 报文4 62821162 报文5 报文6 报文7 865028234 865028234 62821163 62821163 865028235 1 0 1 0 Acknowledgement Number 865028234 62821163 ACK SYN 1 0 1 0

结合步骤3、5所填的表,理解TCP的三次握手建立连接和四次握手的释放连接过程,理解序号、确认号等字段在TCP可靠连接中所起的作用。 答:确保传输的可靠性。

【思考问题】

1. 试用具体例子说明为什么传输连接建立时要使用三次握手。如不这样做可能会出现

什么情况。

答:TCP协议俗传输控制协议。TCP协议是面向连接协议。为发送数据他在两个TCP之间建立虚拟连接。TCP在传输层使用流量控制和差错控制机制。是一种可靠的面向连接的传输协议,它的连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换TCP窗口大小等信息。如果不采用TCP三次握手,就可能会出现传输冲突或者死锁现象。这样不但发送数据不能达到安全状态,接收方也可能不知道发送方正在进行发送。当信道被干扰时,很可能产生帧的差错,使得报文不能够到达目的端口或者说到达目的端口不为正确的报文。

2. 使用TCP对实时话音数据的传输有什么问题?使用UDP在传送数据文件时会有什么

问题?

答:TCP协议是面向连接协议。为发送数据他在两个TCP之间建立虚拟连接。TCP在传输层使用流量控制和差错控制机制。如果在使用TCP协议传输实时话音数据时数据被破

坏或者传输中遇到问题,就会引发TCP的流控或差控机制,这样就导致重传,保证了报文的安全和完整性。UDP称为无连接不可靠传输层传输协议,没有像TCP协议那样的具有安全性很高的流量控制和差错控制机制。如果在传输数据时,出现差错或者报文收到损坏,UDP无法判断并且进行重发,这样就不能保证报文的完整性和安全性。接收方可能接收到的就是不完整和不正确的报文,这样使得数据产生了极大地破坏。简单来说,TCP协议比UDP协议安全的多,更为可靠。

3. TCP在进行流量控制时是以分组的丢失作为产生拥塞的标志。有没有不是因拥塞而

引起的分组丢失的情况?如有,请举出三种情况。

答:当Ip数据报在传输过程中需要分片,但其中的一个数据报未能及时到达终点,而终点组装IP数据报已超时,因而只能丢失该数据报;IP数据报已经到达终点,但终点的缓存没有足够的空间存放此数据报;数据报在转发过程中经过一个局域网的网桥,但网桥在转发该数据报的帧没有足够的差错空间而只好丢弃。

【实验总结】 在本次实验中,通过实验现象和实验过程充分的了解了UDP和TCP协议的差异和优缺点。

UDP协议称为无连接不可靠传输层传输协议,没有安全的保障性,没有像TCP协议那样的具有安全性很高的流量控制和差错控制机制。无法判断并且进行重发,这样就不能保证报文的完整性和安全性。而TCP协议则不同,TCP协议是面向连接协议。为发送数据他在两个TCP之间建立虚拟连接。TCP在传输层使用流量控制和差错控制机制。如果在发送数据的同时出现差错或者干扰,就会引发TCP的流控或差控机制,这样就导致重传,保证了报文的安全和完整性。TCP协议头部采用序号和确认号的两个字段,当TCP接收来进程的一些数据字节时,将它们存储在发送缓冲区中并给它们编号。这样就能看到字节序号是用于流量和差错控制。TCP的三次握手机制,保证了发送发和接收方的确认。双方的确认有利用发送报文的安全性。这样就不会产生拥塞。

因篇幅问题不能全部显示,请点此查看更多更全内容