文档库 最新最全的文档下载
当前位置:文档库 › 实验7-传输控制协议(TCP)

实验7-传输控制协议(TCP)

院系:计算机学院

实验课程:计算机网络与因特网

实验项目:用户数据报协议(UDP)

指导老师:

开课时间:2011 ~2012年度第2学期

专业:网络工程

班级:

学生:

学号:

一、实验项目名称

传输控制协议(TCP)

二、实验目的

1、掌握TCP 协议的报文形式;

2、掌握TCP 连接的建立和释放过程;

3、掌握TCP 数据传输中编号与确认的过程;

4、掌握TCP协议校验和的计算方法;

5、理解TCP 重传机制。

三、实验主要硬件软件环境

PC机,Windows操作系统。

四、实验内容及步骤

练习1 查看TCP连接的建立和释放

各主机打开工具区的“拓扑验证工具”,选择相应的网络结构,配置网卡后,进行拓扑验证,如果通过拓扑验证,关闭工具继续进行实验,如果没有通过,请检查网络连接。

本练习将主机A 和B 作为一组,主机C 和D 作为一组,主机E 和F 作为一组。现仅以主机A 和B 为例,其他组参考主机A、B的操作。

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

2.主机A启动TCP工具连接主机B。

(1)主机A启动实验平台工具栏中的“地址本工具”。点击[主机扫描]按钮获取组内主机信息,选中主机B点击[端口扫描]按钮获取主机B的TCP端口列表。

(2)主机A启动实验平台工具栏中的“TCP工具”。选中“客户端”单选框,在“地址”文本框中填入主机B的IP地址,在“端口”文本框中填入主机B的一个TCP 端口,点击[连接]按钮进行连接。

3.察看主机B捕获的数据,填写下表。

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

答:1460;由发送端指定,表明了能在网络上传输的最大的段尺寸;

maximum segment size = MTU –20(IP首部)-20(TCP首部)。

4.主机A断开与主机B的TCP连接。

5.察看主机B捕获的数据,填写下表。

表7-2 实验结果

●结合步骤3、5所填的表,理解TCP的三次握手建立连接和四次握手的释

放连接过程,理解序号、确认号等字段在TCP可靠连接中所起的作用。

思考问题

1. 为什么在TCP连接过程要使用三次握手?如不这样做可能会出现什么情况。

答:3 次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双

方都知道彼此已准备好)也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。如不这样做可能会出现死锁。

2、解释TCP协议的释放过程?

答:TCP的释放有两种方式:三次握手和具有半关闭的四次握手。

三次握手方式:

(1)、当客户端想关闭TCP连接时,它发送一个TCP报文,把FIN标志位设置为1.

(2)、服务器端收到这个TCP报文后,把TCP连接即将关闭的消息发送给相应的进程,并发送第二个报文——FIN+ACK报文,以证实从客户端收到了FIN 报文,同时也说明,另一个方向的连接也关闭了。

(3)、客户端发送最后一个报文以证实从TCP服务器收到了FIN报文。这个报文包括确认号,它等于从服务器收到的的FIN报文的序号加1.

具有半关闭的四次握手方式:

(1)、客户端发送一个FIN报文,用来关闭到服务器的数据传送。

(2)、服务器收到这个FIN,它发回一个ACK接受这个半关闭。

(3)、服务器关闭与客户端的连接,发送一个FIN给客户端。

(4)、客户端发回ACK报文确认,并将确认序号设置为收到序号加1。

练习2:利用仿真编辑器编辑并发送TCP 数据包

本练习每台主机为一组。现仅以主机A为例,其他主机的操作参考主机A

的操作。

实验步骤:

1.启动协议分析器捕获数据,设置过滤条件(提取HTTP 协议)。

2.启动仿真编辑器,在界面初始状态下,程序会自动新建一个单帧,可以利用仿真编辑器打开时默认的以太网帧进行编辑。

3. 填写该帧的以太网协议首部,其中:

源MAC 地址:主机A 的MAC 地址。

目的MAC 地址:服务器的MAC 地址。

协议类型或数据长度:0800(IP 协议)。

4. 填写IP 协议头信息,其中:

高层协议类型:6(上层协议为TCP)。

总长度:40(IP 首部+TCP 首部)。

源IP 地址:主机A 的IP 地址。

目的IP 地址:服务器的IP 地址(172.16.0.253)。

其它字段任意。

应用前面学到的知识计算IP 首部校验和。

5. 填写TCP 协议信息,其中:

源端口:任意大于1024 的数,不要使用下拉列表中的端口。

目的端口:80(HTTP 协议)。

序列号:选择一个序号ISN(假设1942589885),以后的数据都按照这个来填。

确认号:0。

首部长度:50(长度20 字节)。

标志位:02(标志SYN=1)

窗口大小:任意。

紧急指针:0。

使用协议仿真编辑器的“手动计算”方法计算校验和;再使用协议仿真编辑器的“自动计算”方法计算校验和。将两次计算结果相比较,若结果不一致,则重新计算。

TCP 在计算校验和时包括哪些内容?

答:伪首部、TCP首部以及应用层来的数据。

6. 将设置完成的数据帧复制3 份。

修改第二帧的TCP 层的“首部长度和标志”位为10(即标志位ACK=1),TCP 层的“序号”为1942589885+1。

修改第三帧的TCP 层的“首部长度和标志”位为11(即标志位ACK=1、FIN=1)TCP 层的“序号”为1942589885+1。

7. 在发送该TCP 连接请求之前,先ping 一次目标服务器,让目标服务器知道自己的MAC 地址。

8. 使用“仿真编辑器/工具菜单/TCP 屏蔽/启动屏蔽”功能,为TCP\IP 协议栈过滤掉收到的TCP 数据。

9. 点击菜单栏中的“发送”按钮,在弹出对话框中选择发送第一帧。

10. 在主机B 上捕获相应的应答报文,这里要求协议分析器一端的同学及时准确地捕获应答报文并迅速从中获得应答报文的接收字节序号,并告知仿真编

TCP协议分析实验报告

TCP协议分析实验报告 实验4传输层协议分析 一、实验目的 1、学习3CDaemon FTP服务器的配置和使用,分析TCP报文格式,理解TCP的连接建立、和连接释放的过程。 2、学习3CDaemon TFTP服务器的配置和使用,分析UDP报文格式,理解TCP 协议与UDP协议的区别。 二、实验工具软件3CDaemon软件简介 3CDaemon是3Com公司推出的功能强大的集FTP Server、TFTP Server、Syslog Server 和TFTP Client于一体的集成工具,界面简单,使用方便。 这里主要介绍实验中需要用到的FTP Server功能和TFTP Server功能。 1、FTP Server功能 (1)配置FTP Server功能:选中左窗格功能窗口,打开FTP Server按钮,单击窗格中的 Configure FTP Server按钮,打开3CDaemon Configuration配置窗口,配置FTP Server功能。 这里需要设置的就是“Upload/Download”路径,作为FTP Server的文件夹,其它选项可以使用系统缺省设置。设置完成后,单击确认按钮,设置生效。 (2)在实验中,我们使用3CDaemon系统内置的匿名帐户“anonymous”登陆FTP 服务器, 客户端使用微软FTP客户端命令,关于Ftp命令的说明介绍如下。 (3) Ftp命令的说明 FTP的命令格式:ftp[-v][-d][-i][-n][-g][-w:windowsize][主机名/IP地址] 其中:

-v不显示远程服务器的所有响应信息; -n限制ftp的自动登录; -i在多个文件传输期间关闭交互提示 -d允许调试、显示客户机和服务器之间传递的全部ftp命令; -g不允许使用文件名通配符; -w:windowsize忽略默认的4096传输缓冲区。 使用FTP命令登录成功远程FTP服务器后进入FTP子环境,在这个子环境下,用户可以使用FTP的内部命令完成相应的文件传输操作。 FTP常用内部命令如下: open host[port]:建立指定ftp服务器连接,可指定连接端口。 user user-name[password][account]:向远程主机表明身份,需要口令时必须输入。 append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。 cd remote-dir:进入远程主机目录。 cdup:进入远程主机目录的父目录。 cd[dir]:将本地工作目录切换至dir。 dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件。get remote-file[local-file]:将远程主机的文件remote-file传至本地硬盘的local-file。 ls[remote-dir][local-file]:显示远程目录remote-dir,并存入本地文件local-file。 put local-file[remote-file]:将本地文件local-file传送至远程主机。 mput local-file:将多个文件传输至远程主机。 nlist[remote-dir][local-file]:显示远程主机目录的文件清单,存入本地硬盘local-file。

传输控制协议(TCP)

《计算机网络实验》实验报告 实验名称:传输控制协议(TCP) 年级: 专业:班级: 姓名: 学号:成绩: 指导教师:卢正添 提交报告时间: 2012年 5月3 日 实验目的 1.掌握TCP协议的报文格式 2.掌握TCP连接的建立和释放过程

3.掌握TCP数据传输中编号与确认的过程 4.掌握TCP协议校验和的计算方法 5.理解TCP重传机制 实验环境配置 该实验采用网络结构一 实验步骤 练习一 1.主机B、C、D启动协议分析器进行数据捕获,并设置过滤条件(提取TCP协议)。 2.主机C打开TCP工具,类型选择“服务器”,端口填写大于1024的值;点击“创建”,如 果端口被占用则选择其它。主机A打开TCP工具,类型选择“客户端”,地址填入主机C 的IP地址;在端口填入主机C的TCP工具监听的端口;点击[连接]按钮进行连接。 3.察看主机B、C、D捕获的数据,填写下表。 CP连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。 maximum segment size=1460

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

练习二 ?本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组,现仅以主机A和B为例,说明实验步骤。 ?在本实验中由于TCP连接有超时时间的限制,故仿真编辑器和协议分析器的两位同学要默契配合,某些步骤(如计算TCP校验和)要求熟练、迅速。 ?为了实现TCP三次握手过程的仿真,发送第一个连接请求帧之前,仿真端主机应该使用“仿真编辑器/工具菜单/TCP屏蔽/启动屏蔽”功能来防止系统干扰(否则计算机系统的网络会对该请求帧的应答帧发出拒绝响应)。 ?通过手工编辑TCP数据包实验,要求理解实现TCP连接建立、数据传输以及断开连接的全过程。 在编辑的过程中注意体会TCP首部中的序列号和标志位的作用。 首先选择服务器主机上的一个进程作服务器进程,并向该服务器进程发送一个建立连接请求报文,对应答的确认报文和断开连接的报文也编辑发送。其步骤如下: 1.主机B启动协议分析器捕获数据,设置过滤条件(提取HTTP协议)。 2.主机A上启动仿真编辑器,在界面初始状态下,程序会自动新建一个单帧,可以利用仿真 编辑器打开时默认的以太网帧进行编辑。 3.填写该帧的以太网协议首部,其中: 源MAC地址:主机A的MAC地址。 目的MAC地址:服务器的MAC地址。 协议类型或数据长度:0800(IP协议)。 4.填写IP协议头信息,其中: 高层协议类型:6(上层协议为TCP)。 总长度:40(IP首部+TCP首部)。 源IP地址:主机A的IP地址。

实验二--配置TCPIP协议

实验二配置TCP/IP协议 专业班级学号姓名 实验学时2实验类型验证性实验地点数计学院实验中心实验时间指导老师 实验成绩 年月日 一、实验目的 了解TCP/IP协议的工作原理; 掌握TCP/IP协议的安装及配置方法; 掌握常用的TCP/IP网络故障诊断和排除方法; 二、实验环境 多台装有Windows 2008 Server的计算机。 三、实验内容及步骤 1、安装TCP/IP协议 控制面板—>网络连接—>本地连接—>右键调出属性面板—>添加—>协议—>选择 TCP/IP协议—>开始安装 2、设置TCP/IP协议 右击网上邻居—>属性—>右击本地连接—>属性—>选择TCP/IP协议—>属性 设置IP地址:机器号+10 设置子网掩码:设置默认网关:设置DNS服务器:、常用网络测试命令的使用 (1)Ping Ping是测试网络联接状况以及信息包发送和接收状况非常有用的工具,是网络测试最 常用的命令。Ping向目标主机(地址)发送一个回送请求数据包,要求目标主机收到请求后给 予答复,从而判断网络的响应时间和本机是否与目标主机(地址)联通。 如果执行Ping不成功,则可以预测故障出现在以下几个方面:网线故障,网络适配器 配置不正确,IP地址不正确。如果执行Ping成功而网络仍无法使用,那么问题很可能出在 网络系统的软件配置方面,Ping成功只能保证本机与目标主机间存在一条连通的物理路径。 命令格式: 参数含义: -t不停地向目标主机发送数据;直到用户按ctrl+c结束

-a 以IP地址格式来显示目标主机的网络地址; -n count 指定要Ping多少次,具体次数由count来指定; -l size 指定发送到目标主机的数据包的大小。 ①测试本机TCP/IP协议安装配置是否成功 PING127.0.0.1 这个Ping命令被送到本地计算机的IP软件,如果此测试不能通过,就表示TCP/IP的安装或配置存在问题。 ②PING 本机IP 这个命令被送到我们计算机所配置的IP地址,我们的计算机始终都应该对该Ping命令作出应答,如果没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的IP地址。 ③ PING 局域网内其他IP 这个命令应该离开我们的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码(进行子网分割时,将IP地址的网络部分与主机部分分开的代码)不正确或网卡配置错误或电缆系统有问题。 ④PING 网关IP 这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。 ⑤PING LOCALHOST LOCALHOST是一个操作系统的网络保留名,它是的别名,每台计算机都应该能够将该名字转换成该地址。如果没有做到这一点,则表示主机文件(/Windows/host)中存在问题。 (2)ipconfig 使用ipconfig /all 查看配置。 发现和解决TCP/IP 网络问题时,先检查出现问题的计算机上的TCP/IP 配置。可以使用ipconfig 命令获得主机配置信息,包括IP 地址、子网掩码和默认网关。 注意:对于Windows 95 和Windows 98 的客户机,请使用winipcfg 命令而不是ipconfig 命令。使用带/all 选项的ipconfig 命令时,将给出所有接口的详细配置报告,包括任何已配置的串行端口。使用ipconfig /all,可以将命令输出重定向到某个文件,并将输出粘贴到其他文档中。也可以用该输出确认网络上每台计算机的TCP/IP 配置,或者进一步

TCP传输控制协议

传输控制协议(英语:Transmission Control Protocol, TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。 在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。 应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP 为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。 运作方式

TCP连接包括三个状态:连接创建、数据传送和连接终止。 通路的创建 TCP用三路握手(three-way handshake)过程创建一个连接。在连接创建过程中,很多参数要被初始化,例如序号被初始化以保证按序传输和连接的强壮性。 TCP连接的正常创建 一对终端同时初始化一个它们之间的连接是可能的。但通常是由一端打开一个套接字(socket)然后监听来自另一方的连接,这就是通常所指的被动打开(passive open)。服务器端被被动打开以后,用户端就能开始创建主动打开(active open)。 1.客户端通过向服务器端发送一个SYN来创建一个主动打开,作 为三路握手的一部分。 2.服务器端应当为一个合法的SYN回送一个SYN/ACK。 3.最后,客户端再发送一个ACK。这样就完成了三路握手,并进 入了连接创建状态。

TCP IP网络协议分析实验报告

TCP/IP网络协议分析实验 一、实验目的 1. 通过实验,学习和掌握TCP/IP协议分析的方法及其相关工具的使用; 2. 熟练掌握 TCP/IP体系结构; 3. 学会使用网络分析工具; 4. 网络层、传输层和应用层有关协议分析。 二、实验类型 分析类实验 三、实验课时 2学时 四、准备知识 1.Windows 2003 server 操作系统 2.TCP/IP 协议 3.Sniffer工具软件 五、实验步骤 1.要求掌握网络抓包软件Wireshark。内容包括: ●捕获网络流量进行详细分析 ●利用专家分析系统诊断问题 ●实时监控网络活动 ●收集网络利用率和错误等 2.协议分析(一):IP协议,内容包括: ●IP头的结构 ●IP数据报的数据结构分析 3.协议分析(二):TCP/UDP协议,内容包括: ●TCP协议的工作原理 ●TCP/UDP数据结构分析

六、实验结果 1.IP协议分析: (1)工作原理:IP协议数据报有首部和数据两部分组成,首部的前一部分是固定长度,共20字节,是IP数据报必须具有的。首部分为,版本、首部长度、服务类型、总长度、标识、标志、片偏移、生存时间、协议、首部检验和、源地址、目的地址、可选字段和数据部分 (2)IPV4数据结构分析:

2.TCP协议分析: (1)工作原理:TCP连接是通过三次握手的三条报文来建立的。第一条报文是没有数据的TCP报文段,并将首部SYN位设置为1。因此,第一条报文常被称为SYN分组,这个报文段里的序号可以设置成任何值,表示后续报文设定的起始编号。连接时不能自动从1开始计数,选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组。

MODBUS-TCP 协议

MODBUS-TCP 协议 一 以太网的标准 以太网是一种局域网。早期标准为IEEE 802.3,数据链路层使用CSMA/CD,10Mb/s 速度物理层有: (1)10 Base 5粗同轴电缆,RG-8,一段最长为500m; (2)10 Base 2细同轴电缆,RG-58,一段最长为185m; (3)10 Base T双绞线,UTP或STP,一段最长为100m。 快速以太网为100Mb/s,标准为802.3a,介质为100 Base Tx双绞线、100 Base Fx光纤。 目前10/100M以太网使用最为普遍,很多企事业用户已实现100M到以太网桌面,确实体验到高速“冲浪”的快感,另外从距离而言,非屏蔽双绞线(UTP)为100m,多模光纤可达2~3km,单模光纤可大于100km。千兆以太网1000Mb/s为802.3z/802.3ab,万兆以太网10Gb/s 为802.3ae,将为新一轮以太网的发展带来新的机遇与冲击。 二 工业以太网与商用以太网的区别 什么是工业以太网?技术上,它与IEEE802.3兼容,故从逻辑上可把商用网和工业网看成是一个以太网,而用户可根据现场情况,灵活装配自己的网络部件,但从工业环境的恶劣和抗干扰的要求,设计者希望采用市场上可找到的以太网芯片和媒介,兼顾考虑下述工业现场的特殊要求:首先要考虑高温、潮湿、振动;二是对工业抗电磁干扰和抗辐射有一定要求,如满足EN50081-2、EN50082-2标准,而办公室级别的产品未经这些工业标准测试,表1列出了一些常用工业标准。为改善抗干扰性和降低辐射,工业以太网产品多使用多层线路板或双面电路板,且外壳采用金属如铸铝屏蔽干扰;三是电源要求,因集线器、交换机、收发器多为有源部件,而现场电源的品质又较差,故常采用双路直流电或交流电为其供电,另外考虑方便安装,工业以太网产品多数使用DIN导轨或面板安装;四是通信介质选择,在办公室环境下多数配线使用UTP,而在工业环境下推荐用户使用STP(带屏蔽双绞线)和光纤。 三 TCP/IP 1. 为什么使用TCP/IP? 最主要的一个原因在于它能使用在多种物理网络技术上,包括局域网和广域网技术。TCP/IP协议的成功很大程度上取决于它能适应几乎所有底层通信技术。 20世纪80年代初,先在X.25上运行TCP/IP协议;而后又在一个拨号语音网络(如电话系统)上使用TCP/IP协议,又有TCP/IP在令牌环网上运行成功;最后又实现了TCP/IP远程

网络实验报告 TCP协议分析

《计算机网络(II)》实验报告 实验名称:TCP协议分析 班级:100341C 姓名:汪何媛学号:100341324 任课教师:顾兆军 完成日期:2012.12.14 实验环境:网络结构一 一、实验目的 1)查看TCP连接的建立和释放 2)编辑并发送TCP报文段 3)TCP的重传机制 二、实验内容 练习一:察看TCP连接的建立和释放 1. 主机B、C、D启动协议分析器进行数据捕获,并设置过滤条件(提取TCP协议)。 2. 主机C打开TCP工具,类型选择“服务器”,端口填写大于1024的值; 点击“创建”,如果端口被占用则选择其它。主机A打开TCP工具,类型选择“客户端”,地址填入主机C的IP地址;在端口填入主机C的TCP工具监听的端口;点击[连接]按钮进行连接。

3.察看主机B、C、D捕获的数据,填写下表。

TCP 连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。 maximum segment size=1460 4. 主机A 断开与主机C 的TCP 连接。 5. 察看主机B 、C 、D 捕获的数据,填写下表。 字段名称 报文1 报文2 报文3 序列号 2532372657 1948328206 2532372658 确认号 0 2532372658 1948328207 ACK 0 1 1 SYN 1 1

字段名称 报文4 报文5 报文6 报文7 序列号 3013278418 1558034120 1558034120 3013278419 确认号 1558034120 3013278419 3013278419 1558034121 ACK 1 1 1 1 FIN 1 1 练习二:利用仿真编辑器编辑并发送TCP 数据包 ? 本练习将主机A 和B 作为一组,主机C 和D 作为一组,主机E 和F 作为一组,现仅以主机A 和B 为例,说明实验步骤。 ? 在本实验中由于TCP 连接有超时时间的限制,故仿真编辑器和协议分析器的两位同学要默契配合,某些步骤(如计算TCP 校验和)要求熟练、迅速。 ? 为了实现TCP 三次握手过程的仿真,发送第一个连接请求帧之前,仿真端主机应该使用“仿真编辑器/工具菜单/TCP 屏蔽/启动屏蔽”功能来防止系统干扰(否则计算机系统的网络会对该请求帧的应答帧发出拒绝响应)。 ? 通过手工编辑TCP 数据包实验,要求理解实现TCP 连接建立、数据传输以及断开连接的全过程。在编辑的过程中注意体会TCP 首部中的序列号和标志位的作用。

实验七 TCP传输控制协议

实验七 TCP传输控制协议 (本次实验中FTP服务器IP地址为202.117.144.29,用户名为anonymous,密码为空) 一实验目的 1、掌握 TCP 协议的工作原理; 2、理解 TCP 协议的通信过程。 二实验内容 1、理解 TCP 首部中各字段的含义及作用; 2、理解三次握手的过程; 3、能够分析 TCP 协议的建立连接、会话和断开连接的全过程; 4、学会计算 TCP 校验和的方法; 5、了解 TCP 的标志字段的作用。 三实验环境

四实验流程 五实验原理 传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的运输层通信协议,通常由 IETF 的RFC 793 说明。在简化的计算机网络 OSI 模型中,它完成运输层所指定的功能。该协议主要用于在主机间建立一个虚拟连接,以实现高可靠性的数据包交换。IP 协议可以进行 IP 数据包的分割和组装,但是通过 IP 协议并不能清楚地了解到数据包是否顺利地发送给目标计算机。而使用 TCP 协议就不同了,在该协议传输模式中在将数据包成功发送给目标计算机后,TCP 会要求发送一个确认;如果在某个时限内没有收到确认,那么 TCP 将重新发送数据包。另外,在传

输的过程中,如果接收到无序、丢失以及被破坏的数据包,TCP 还可以负责恢复。 TCP 协议是面向连接的、端到端的可靠传输协议,它支持多种网络应用程序。TCP 必须解决可靠性,流量控制的问题,能够为上层应用程序提供多个接口,同时为多个应用程序提供数据,TCP 也必须能够解决通信安全性的问题。 1、 TCP 的封装如图所示: TCP数据包 IP首部TCP首部TCP数据 IP数据报 2、 TCP 的首部格式如图所示: 16位源端口16位目的端口 32位序列号 32位确认序列号 4位首部长度保留(6位) U R G A C K P S H R S T S Y N F I N 16位窗口大小16位校验和16位紧急指针 字段说明: 16 位源端口号和 16 位目的端口号:端口号通常也称为进程地址。 32 位序号:序号用来标识从 TCP 发送端向 TCP 接收端发送的数据字节流。(该报文数据在发送方的数据流中的位置)

TCP协议实验

网络课第四次上机实验报告 ------TCP协议实验 实验内容 实验内容主要包括: 设计保存TCP 连接相关信息的数据结构(TCB); TCP 协议的接收处理和封装发送; TCP 协议提供的Socket 函数接口。 实验过程 设计保存TCP 连接相关信息的数据结构(TCB) 用数据结构TCB为每一个TCP连接维护socketfd,srcAddr,dstAddr, srcPort, dstPort, seq, ack, wind owSize, state这些状态信息。以链表形式组织多个连接,nextTcb指向下一个连接的数据结构。 TCP 分组接收函数stud_tcp_input( ) 首先,检查校验和;然后通过字节序转换获取相应的信息,检查序列号。如果序列号不正确,则调用tcp_DiscardPkt;最后将报文交由输入有限状态机处理,有限状态机对报文进行处理,转换状态。根据当前的状态并调用stud_tcp_output 函数完成tcp 建连、数据传递时返回ACK、tcp 断连等工作

TCP 分组发送函数stud_tcp_output ( ) 判断需要发送的报文类型,根据报的类型对包中的相应字段进行设置,判断是否可以发送(发送窗口不为0)。构造TCP 数据报文并发送。填写TCP 报文各字段的内容和数据,转换字节序,计算校验和,然后调用发送流程的下层接口函数sendIpPkt( )发送。 stud_tcp_socket ( )函数 分配相应的socketfd并且新建TCB表项,并对成员变量进行初始化 stud_tcp_connect ( )函数 设定目的IPv4 地址和端口,源IPv4 地址和端口;初始化TCB 结构中的相关变量;设定TCB 中的输入状态为SYN-SENT,及其它相关变量,准备发送SYN 报文;调用发送流程的下层接口函数stud_tcp_output ( )发送SYN 报文(发送类型为PACKET_TYPE_SYN);等待“三次握手”完成后返回,建立连接成功;或者出错返回。 stud_tcp_send ( )函数 判断是否处于ESTABLISHED 状态;将应用层协议的数据拷贝到TCB 的输入缓冲区;调用stud_tcp_output ( )发送TCP 的数据报文(发送类型为PACKET_TYPE_DATA);同时等待ACK以实现停等式协议 stud_tcp_recv ( )函数 判断是否处于ESTABLISHED 状态;从TCB 的输入缓冲区读出数据;将数据交给应用层协议。 stud_tcp_close ( )函数 在正常情况下(ESTABLISHED 状态),进行相应状态转换,非正常情况下(SYN-SENT 状态),直接删除TCB 结构后退出;调用发送流程下层接口函数stud_tcp_output ( )发送FIN 报文(发送类型为PACKET_TYPE_FIN);等待回应的ACK 报

ModbusTCP通讯协议

Modbus TCP通讯协议 一、适用范围及默认规范 此Modbus TCP协议适用于EIO、ADC系列产品。协议中所有数值如无特殊说明,均为16进制。Modbus浮点数为标准的IEEE格式,Modbus 32位长整数据为4字节无符号整数(unisigned long)组态软件支持此Modbus TCP协议,可以直接使用。 二、读开关量输入 1.功能码、寄存器地址、偏移 功能码:01 地址:两个地址,分别用于读入全部开关量状态或单独读一路开关量输入状态。描述如下。 [0A]--读全部开关量输入状态。 [3C]--读第1路开关量输入状态,递增1为下一路,如3D为第二路。以此类推。地址偏移:可为任意值,建议为0000。 在使用组态软件时,正确填写地址,地址偏移填写任意值即可。 2.Modbus TCP格式(网口) 读全部开关量输入状态发送报文:[0000000000] [06] [01] [01] [000A] [0001] 读第1路开关量输入状态发送报文:[0000000000] [06] [01] [01] [003C] [0000] [00 00 00 00 00]:Modbus TCP报文头,简化为全0即可。使用组态软件时,自动设置。

[06]:剩余数据长度,说明还剩6个字节等待接收。使用组态软件时,自动设置。 [01]:子设备ID。Modbus TCP忽略。 [01]:Modbus TCP 功能码01 [00 0A]或[00 3C]:寄存器地址,高位字节在前,低位字节在后。 [00 00]:寄存器地址偏移,设备忽略此数据,只设置寄存器地址即可工作,设置成0000即可。 读全部开关量输入状态应答报文:[00 00 00 00 00] [04] [01] [01] [01] [42] 读一路开关量输入状态应答报文:[00 00 00 00 00] [04] [01] [01] [01] [01] [00 00 00 00 00]:Modbus TCP报文头,简化为全0即可。使用组态软件时,自动设置。 [04]:剩余数据长度,说明还剩4个字节等待接收。使用组态软件时,自动设置。 [01]:子设备ID。Modbus TCP忽略。 [01]:Modbus TCP 功能码01 [01]:返回字节数,1个字节的8个bit对应8路输入,接通/低电平时,对应的bit 置1,否则置0。8路输入设备返回01,16路输入设备返回02,以此类推。[42]或[01]:对于读全部开关量输入状态报文,此处为开关量输入状态字节,bit0对应input1,接通/低电平为1,否则为0。此处为0100 0010,说明Input2、Input7为接通或低电平状态。其他为断开或高电平状态。 对于读一路开关量输入状态报文,此字节为01说明为接通/低电平状态,00为断开/高电平状态。 三、读模拟量、温湿度输入(保持寄存器)

实验四 TCP 协议分析

郑州轻工业学院本科 实验报告 题目:实验四TCP 协议分析 学生姓名:王冲 系别:计算机与通信工程学院 专业:网络运维 班级:网络运维11-01 学号:541107110123 指导教师:熊坤 2014 年10 月28 日

实验四TCP 协议分析 一、实验目的 1、分析HTTP 协议 2、分析DNS 协议 二、实验环境 与因特网连接的计算机网络系统;操作系统为windows;Ethereal、IE 等软件。 三、实验步骤 1.俘获大量的由本地主机到远程服务器的TCP 分组 (1)启动浏览器,打开https://www.wendangku.net/doc/745312295.html,/ethereal- labs/alice.txt 网页,得到ALICE'S ADVENTURES IN WONDERLAND文本,将该文件保存到你的主机上。

(2)打开https://www.wendangku.net/doc/745312295.html,/ethereal- labs/TCP-ethereal- file1.html (3)窗口如下图所示。在Browse按钮旁的文本框中输入保存在你的主机上的文件ALICE'S ADVENTURES IN WONDERLAND的全名(含路径),此时不要按“Upload alice.txt file”按钮 (4)启动Ethereal,开始分组俘获。 (5)在浏览器中,单击“Upload alice.txt file”按钮,将文件上传到https://www.wendangku.net/doc/745312295.html,服务器,一旦文件上传完毕,一个简短的贺词信息将显示在你的浏览器窗口中。 (6)停止俘获。 2.浏览追踪信息

(1)在显示筛选规则中输入“tcp”,可以看到在本地主机和服务器之间传输的一系列tcp和http报文,你应该能看到包含SYN报文的三次握手。也可以看到有主机向服务器发送的一个HTTP POST 报文和一系列的“http continuation”报文。 (2)根据操作回答“四、实验报告内容”中的1-2题。 3.TCP 基础 根据操作回答“四、实验报告内容”中的3-10 题 4.TCP 拥塞控制 (1)在Ethereal已俘获分组列表子窗口中选择一个TCP 报文段。选择菜单: Statistics->TCP Stream Graph-> Time-Sequence-Graph(Stevens)。你会看到如下所示的图。

TCP协议实验

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载 TCP协议实验 甲方:___________________ 乙方:___________________ 日期:___________________

网络课第四次上机实验报告 —__TCP协议实验 率实验内容 实验内容主要包括: 设计保存TCP连接相关信息的数据结构 (TCB; TCP协议的接收处理和封装发送; TCP协议提供的Socket函数接口。 4实验过程 设计保存TCP连接相关信息的数据结构 (TC0 mt DINT32 ?工皿1如; UINT32 dstfiddr: 口INTL6 arcForu- ni!4T16 datPort; UIIU3Z UINT32 ack; UIMT1? windowSize; Uli-ITS state; ICB ^nextlGib; 用数据结构TCB为每一个TCP连接维护socketfd , srcAddr , dstAddr, srcPort, dstPort, seq, ack, windowSize, state 这些状态信息。以链表形式组织多个连接, nextTcb指向下一个连接的数据结构。 TCP 分组接收函数stud_tcp_input() 首先,检查校验和;然后通过字节序转换获取相应的信息,检查序列号。如果序列号不正

确,则调用tcp_DiscardPkt ;最后将报文交由输入有限状态机处理,有限状态机对报文进行处 理,转换状态。根据当前的状态并调用 stud_tcp_output 函数完成tcp建连、数据传递 时返回ACK tcp断连等工作 TCP 分组发送函数stud_tcp_output () 判断需要发送的报文类型,根据报的类型对包中的相应字段进行设置,判断是否可以发送(发送窗口不为0)。构造TCP数据报文并发送。 填写TCP报文各字段的内容和数据,转换字节序,计算校验和,然后调用发送流程的下层接口函数sendIpPkt()发送。 stud_tcp_socket ()函数 分配相应的socketfd并且新建TCB表项, 并对成员变量进行初始化 设定目的IPv4地址和端口,源IPv4地址和端口;初始化TCB结构中的相关变量;设定TCB中的输入状态为SYN-SENT及其它相关变量,准备

实验六 TCP传输控制协议

实验六TCP传输控制协议实验目的 1、掌握TCP协议的工作原理; 2、理解TCP协议的通信过程。 实验学时 4学时 实验类型 综合型 实验内容 1、理解TCP首部中各字段的含义及作用; 2、理解三次握手的过程; 3、能够分析TCP协议的建立连接、会话和断开连接的全过程; 4、学会计算TCP校验和的方法; 5、了解TCP的标志字段的作用。 实验流程

局域网环境,1台PC机。 实验原理 详见理论教材。 实验步骤

步骤1:设定实验环境 1、配置主机IP和路由器IP地址; 2、按照实验拓扑连接网络拓扑。 步骤2:利用网络协议分析软件捕获并分析IP数据包 1、连接远程FTP服务; 2、开启协议分析软件,进行数据包抓包; 3、利用工具栏中的TCP连接工具对FTp服务器发起连接,如下图所示。 TCP连接工具 在IP地址中填入FTP服务器地址172.16.1.253,端口填入FTP服务端口21,然后点击连接。 捕获到的三次握手报文。 三次握手第一次连接 查看上图TCP报文中的报头部分: 源端口:1627,由于发起连接的是客户端,因此源端口为TCP程序随机出的短暂端口,在此连接中是1627。

目的端口:21,由于是向FTP服务发起连接,因此目的端口为FTP服务的熟知端口,为21。 序列号:0XE9999DE15,此序列号为TCP程序随机出的字节编号。 确认序号:0X00000000,第一个发出的连接请求中,确认号为0。 TCP首部长度:7,TCP首部长度包括TCP报头长度和数据长度,这个字段表示TCP报头长度,其中20字节为标准TCP报头长度,另有8字节选项字段长度,选项字段中和服务器端协商了最大报文段长度。 标识位:SYN位置1,只有TCP连接中三次握手第一次连接的报文段中SYN位置1。 窗口大小:65535,默认大小。 校验和:0X58F3,校验和是对TCP报头、数据和伪首部进行计算得出的校验和。 急指针:0,当紧急标识位置1时,此16位字段才有效,说明此时报文段中包含紧急数据,紧急数据到达接收端后可以不按次序优先被接受程序处理。 TCP三次握手过程中第二个报文如下图所示。 TCP三次握手第二个报文 查看上图中的TCP报头: 源端口:21,服务端的源端口为相关服务的熟知端口,FTP服务端口为TCP21。 目的端口:1627,为客户端源端口复制过来得到。 序列号:0X2346F3FF,为服务端随机计算出的字节序号。 确认序列号:0XE9999DE16,确认序列号的功能是对发送端数据进行确认,为发送端序号 0XE9999DE15+1得到。 TCP首部长度:7,包含20字节标准TCP首部长度和8字节选项长度。 标志位:SYN位和ACK位置1,表示此报文为TCP三次握手的第二个报文。 窗口大小:65535,为默认大小。 校验和:0X419C,TCP校验和为TCP首部、数据和伪首部三部分计算得出校验和。

TCPIP协议分析试验报告

.. TCP/IP协议分析及应用实验报告 学号:姓名:班级: 实验项目编号: B03862704 实验项目名称:传输控制协议TCP 一、实验目的: 1. 掌握TCP协议的报文格式。 2. 掌握TCP连接的建立和释放过程。 3. 掌握TCP数据传输中编号与确认的过程。 4. 掌握TCP协议校验和的计算方法。 5. 理解TCP重传机制。 二、实验环境: Windows server 2003 TCP/IP协议分析及应用教学实验平台 三、实验原理(或要求): TCP报文格式 16位源端口号 16位目的端口号 位序号32 位确认序号32F P U A R S 4位首6保留(16I 位窗口大小 C 部长R S S Y 位)N N T G K H 度位紧急指针16位校验和16 选项数据 连接的建立TCP在面向连接的环境中,开始传输数据之前,在两个终 TCP是面 向连接的协议。通信双方必须用彼此的初端之间必须先建立一个连接。对于一个 要建立的连接,(指明希望收到的下一个ackseq始化序列号和来自对方成功传输 确认的应答号。ACK,应答信号写为八位组的编号)来同步,习惯上将同步信 号写为SYN整个同步的过程称为三次握手,如图: 优质范文.

连接的释放TCP附加标记的报FINTCP使用四次握手来结束通话(使用一个带有对于一个已经建立的连接,如图。文段) TCP重传机制只要计时器设置的重传时间到期,就对这个报文段设置一次计时器。TCP每发送一个报文段,但还没有收到确认,就要重传这一报文段。

优质范文. .. 四、实验步骤: 练习一:察看TCP连接的建立和释放 主机B、C、D启动协议分析器进行数据捕获,并设置过滤条件(提取TCP协议)。主机A启动仿真编辑器,进入TCP连接视图。在“服务器信息/IP地址”中填入主机C的IP地址;使用“端口扫描”获取主机C的TCP端口列表,在“服务器信息/端口”中填入主机C的一个TCP端口(大于1024);点击“连接”按钮进行连接。 察看主机B、C、D捕获的数据,填写下表。 字段名称报文1 报文2 报文3 Sequence Number Acknowledgement Number ACK SYN TCP连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。 主机A断开与主机C的TCP连接。 察看主机B、C、D捕获的数据,填写下表。

TCPIP协议分析实验报告2

TCP/IP协议分析及应用实验报告 学号:姓名:班级: 实验项目编号:B03862702 实验项目名称:网际协议IP 一、实验目的: 1. 掌握IP数据报的报文格式 2. 掌握IP校验和计算方法 3. 掌握子网掩码和路由转发 4. 理解特殊IP地址的含义 5. 理解IP分片过程 二、实验环境: Windows server 2003 TCP/IP协议分析及应用教学实验平台 三、实验原理(或要求): IP报文格式 IP数据报是由IP首部加数据组成的。IP首部的最大长度不超过60字节。 IP IP分片 链路层具有最大传输单元(MTU)这个特性,它限制了数据帧的最大长度。不同的网络类型都有一个上限值。以太网通常是1500字节。如果IP层有数据包要传输,而数据包的长度超过了MTU,那么IP层就要对数据包进行分片操作。使每一片长度都小于MTU。 IP首部中“16位标识”、“3位标志”和“13位片偏移”包含了分片和重组所需的信息。另外,当数据被分片后,每个片的“16位总长度” 值要改为该片的长度值。

IP路由表 大部分网络层设备都存储着一张记录路由信息的表格,称为路由表。它由许多条项目组成。网络层设备收到数据报后,根据其目的IP地址查找路由表确定数据报传输的最佳路径(下一跳)。然后利用网络层的协议重新封装数据报,利用下层提供的服务把数据报转发出去。路由表的项目一般含有五个基本字段:目的地址、网络掩码、下一跳地址、接口、度量。路由表按如下顺序匹配:直接交付->特定主机交付->特定网络交付->默认交付 路由选择过程 路由选择模块从IP处理模块接收到IP分组后,使用该分组的目的IP地址同路由表中的每一个项目按特定的顺序(按照前面介绍的“路由表匹配顺序”)查找匹配项,当找到第一个匹配项后就不再继续寻找了,这样就完成了路由选择过程。 匹配路由表项的方法是将IP地址与路由表中的一个项目的“子网掩码”进行按位“与”操作,然后判断运算结果是否等于该项目的“目的地址”,如果等于,则匹配成功,否则,匹配失败。 四、实验步骤: 练习三:IP数据报分片 在主机B上使用“MTU工具”设置以太网端口的MTU为800字节(两个端口都设置)。主机A、B、E启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。 在主机A上,执行命令ping -l 1000 172.16.0.2。 主机A、E停止捕获数据。主机E如下图所示,重新定义过滤条件(取一个ICMP数据包,按照其上层协议IP的Identification字段设置过滤)。

MODBUS-TCP协议介绍

MODBUS-TCP 协议 一以太网的标准 以太网是一种局域网。早期标准为IEEE 802.3,数据链路层使用CSMA/CD,10Mb/s 速度物理层有: (1)10 Base 5粗同轴电缆,RG-8,一段最长为500m; (2)10 Base 2细同轴电缆,RG-58,一段最长为185m; (3)10 Base T双绞线,UTP或STP,一段最长为100m。 快速以太网为100Mb/s,标准为802.3a,介质为100 Base Tx双绞线、100 Base Fx光纤。 目前10/100M以太网使用最为普遍,很多企事业用户已实现100M到以太网桌面,确实体验到高速“冲浪”的快感,另外从距离而言,非屏蔽双绞线(UTP)为100m,多模光纤可达2~3km,单模光纤可大于100km。千兆以太网1000Mb/s为802.3z/802.3ab,万兆以太网10Gb/s 为802.3ae,将为新一轮以太网的发展带来新的机遇与冲击。 二工业以太网与商用以太网的区别 什么是工业以太网?技术上,它与IEEE802.3兼容,故从逻辑上可把商用网和工业网看成是一个以太网,而用户可根据现场情况,灵活装配自己的网络部件,但从工业环境的恶劣和抗干扰的要求,设计者希望采用市场上可找到的以太网芯片和媒介,兼顾考虑下述工业现场的特殊要求:首先要考虑高温、潮湿、振动;二是对工业抗电磁干扰和抗辐射有一定要求,如满足EN50081-2、EN50082-2标准,而办公室级别的产品未经这些工业标准测试,表1列出了一些常用工业标准。为改善抗干扰性和降低辐射,工业以太网产品多使用多层线路板或双面电路板,且外壳采用金属如铸铝屏蔽干扰;三是电源要求,因集线器、交换机、收发器多为有源部件,而现场电源的品质又较差,故常采用双路直流电或交流电为其供电,另外考虑方便安装,工业以太网产品多数使用DIN导轨或面板安装;四是通信介质选择,在办公室环境下多数配线使用UTP,而在工业环境下推荐用户使用STP(带屏蔽双绞线)和光纤。 三TCP/IP 1. 为什么使用TCP/IP? 最主要的一个原因在于它能使用在多种物理网络技术上,包括局域网和广域网技术。TCP/IP协议的成功很大程度上取决于它能适应几乎所有底层通信技术。 20世纪80年代初,先在X.25上运行TCP/IP协议;而后又在一个拨号语音网络(如电话系统)上使用TCP/IP协议,又有TCP/IP在令牌环网上运行成功;最后又实现了TCP/IP远程

TCP协议实验报告

学生实验报告 姓名:_________ 学号:____________ 班级:________________ 指导老师:_______________ 内容摘要 该实验报告了TCP协议分析实验相关分析; TCP协议分析是通过Wireshark分析TCP协议的报文格式,如理解TCP报文段首部各字段的含义,理解TCP建立连接的三次握手机制,了解TCP的确认机制,了解TCP的流量控制和拥塞控制 实验目的 1. 通过协议分析软件掌握TCP协议的报文格式; 2. 理解TCP报文段首部各字段的含义; 3. 理解TCP建立连接的三次握手机制; 4. 了解TCP的确认机制,了解TCP的流量控制和拥塞控制; 实验原理 连上in ternet的PC机,并且安装有协议分析软件Wireshark 实验原理及概况 TCP是因特网中最主要的运输层协议,它能够在两个应用程序章提供可靠的、有序的数据流传输,能够检测传输过程中分组是否丢失、失序和改变,并利用重传机制保证分组可 靠地传输到接收方; TCP首部格式如下图所示: 位U 3 16 24 31 首先是源端口和目的端口,服务器提供服务的端口号是固定的,比如:Web服务端口 号是80,而客户端的端口号是由操作系统随机分配一个用户端口号。TCP提供字节流服务, 它为分组中的每个字节编号,首部中的序号表示分组中第一个字节的编号。接收方用确认号 表示它期望接收的数据流中下一个字节编号,表明确认号之前的字节接收方都已经正确接收 了。数据偏移字段表示报文段的首部长度。标志部分包含6个标志位,ACK位表明确认号 字段是否有效;PUSH位表示发送端应用程序要求数据立即发送;SYN、FIN、RESET三位 用来建立连接和关闭连接;URG和紧急指针通常较少使用。接收端利用窗口字段通知发送 方它能够接收多大数据量。检验和字段是接收方用来检验接收的报文是否在传输过程中出

相关文档