计算机网络与通信实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机网络与通信》实验指导书
武汉理工大学教材中心
2009年7月
目录
实验一协议分析1——传输层协议 3 实验二协议分析2——应用层协议 9实验三基于网络通信协议的设计(设计性) 15
实验一协议分析1——传输层协议
一、实验目的
1、了解传输层协议的基本工作原理
2、了解传输层协议的分类
3、熟悉传输层协议的工作过程
二、实验原理
在因特网上,传输层协议负责将数据从一个应用程序传递到另一个应用程序。它即不关心所传输的具体数据,也不关心能否正确识别目标主机。
TCP(传输控制协议)和UDP(数据报协议)是目前的两个主要的传输层协议。
传输层协议指定了用于正确定位应用程序发送端和接收端的源端口号和目的端口号。这一过程称为多路复用和多路分解。同一因特网主机上的应用程序所产生的多个数据流复用一个输出连接。同一因特网主机上不同应用程序的多个数据流可能也会通过一个输入连接传输,但是他们最终将会被分解并传输到各自的应用程序中去。
1、TCP
是因特网中最主要的传输层协议。它能够在两个应用程序间提供可靠地有序数据流传输,即使这两个程序运行在不同的主机上并且被一个会丢失、重排序或者破坏分组的网络所隔开。TCP
TCP报文段首部:
源端口和目的端口:各占2个字节,是运输层与应用层的服务接口。
序号:占4个字节。TCP连接传送的数据流中的每一个字节都被编上一个序号。首部中序号字段的值指的是本报文段所发送的数据的第一个字节的序号。
确认号:占4个字节,是期望收到对方下一个报文段的数据的第一个字节的序号。
数据偏移:占4 bit,它指出报文段的数据起始处距离TCP报文段的起始处有多远。实际上就是TCP报文段首部的长度。
保留:占6 bit,保留为今后使用。
紧急比特URG:当URG=1时,表明紧急指针有效。它告诉系统报文段中有紧急数据,应尽快传送。
确认比特ACK:ACK=1时确认号字段才有效,ACK=0时确认号字段无效。
推送比特PUSH:接收方接收到PUSH=1的报文段时会尽快的将其交付给接收应用进程,而不再等到整个接收缓存都填满后再向上交付。
复位比特RST:当RST=1时,表明TCP连接中出现严重差错,必须释放连接。复位比特还用来拒绝一个非法的报文段或拒绝打开一个连接。
同步比特SYN:在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,应在响应的报文段中使SYN=1和ACK=1。因此,SYN=1就表示这是一个连接请求或连接接收报文。
终止比特FIN:当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
窗口:占2个字节,用来控制对方发送的数据量,单位是字节,指明对方发送窗口的上限。
校验和:占2个字节,校验的范围包括首部和数据两个部分,计算校验和时需要在报文段前加上12字节的伪首部。
紧急指针:占2个字节,指出本报文段中紧急数据最后一个字节的序号。只有当紧急比特URG=1时才有效。
选项:长度可变。TCP只规定了一种选项,即最大报文段长度MSS (Maximum Segment Size)。
TCP连接建立的过程如下图所示:
8(octets)。首部剩下地16-bit是用来对首部和数据部分一起做校验和的,这部分是可选的,但在实际应用中一般都使用这一功能。
由于缺乏可靠性,UDP应用一般必须允许一定量的丢包、出错和复制。
三、实验内容
1、分析TCP报文段的结构,熟悉各个字段的内容、功能、格式和取值范围;
2、TCP连接建立与释放
3、TCP与UDP的比较
四、实验说明
为方便获取实验用数据流,借助PCATTCP调试工具和数据包捕获软件。
1、PCATTCP调试工具
PCATTCP 是一个简单、实用的TCP 和UDP 调试工具,使用这个工具产生TCP 或UDP数据流进行实验,可以避免应用层协议数据的复杂性干扰传输层的协议分析,而且这个工具可以通过不同的参数组合可控制地产生各种传输层的情形。
参数说明
格式:
pcattcp –参数
参数:
-r: 接受端
-t: 发送端
-l x: 表示缓冲区大小(x设置缓冲区)
-n x: 表示一共发送x个数据包
-u: 表示UDP协议
-p port号:设置通信端口号
2、数据包捕获软件
1)主界面
2)捕获界面
捕获界面分为:列表框、协议框、原始框
列表框
显示的是捕获的所有分组信息。包括分组发送的时间,源地址、目的地址、协议等信息。
协议框
显示所选分组的各层协议。包括物理层帧、以太网帧、用户数据报协议、超文本传输协议等。
原始框
显示分组中包含的数据的每个字节。从中可以观察最原始的传输数据。其中方框左边显示的是十六进制的数据,右边显示的是ASCII码。
通过以上界面分析捕获的数据分组,了解传输层协议的工作过程。
3、实验方法说明
1)TCP连接建立与释放
TCP是因特网中最主要的传输层协议。它能够在两个应用程序间提供可靠的有序数据流传输。
TCP报文段
源端口、目的端口、序号、确认号、标志位等信息。
标志位
PSH位:表示发送端应用程序要求数据立刻发送。
SYN位:同步序号,用来建立连接。
FIN位:表示传送结束。
ACK位:应答标志。
查看TCP三次握手
电脑两台分别配置IP地址;
开始—运行—cmd进入dos命令界面;
其中一台为接收端,配置命令为:
c:\pcattcp –r
通信双方启动捕获软件;
另一台为发送端,配置配置命令为:
c:\pcattcp –t –n 1 接收端电脑IP地址
通信结束后停止捕获,查看捕获信息。
2)TCP与UDP比较
UDP实验方法与TCP类似,只需要在配置命令后增加一个参数“-u”就可以了。
五、实验报告要求
1、简述实验目的、原理;
2、简述TCP连接建立与释放的过程;
3、比较TCP与UDP的特点。