当前位置:文档之家› 实验七 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 接收端发送的数据字节流。(该报文数据在发送方的数据流中的位置)

32 位确认序列号:表示一个准备接收包的序列号。

4 位首部长度:首部长度指出了首部中 32 bit 字的数目,正常的TCP 首部长度是 20 字节。

6 个标志字段:URG 紧急指针;ACK 确认序号;PSH 推标志;RST 重建连接;SYN 同步序号;FIN 结束标志。

16 位窗口:TCP 的流量控制由连接的每一端通过声明的滑动窗口大小来提供,窗口大小为字节数。

16 位检验和:检验和字段覆盖了 TCP 首部和 TCP 数据。TCP 检验和的计算方法和 UDP 检验和的计算方法一样,计算时需要考虑伪报头。

16 位紧急指针:URG 标志置 1 时紧急指针才有效。

3、连接建立的过程:

4、连接释放的过程:

六实验步骤

步骤一:查看分析 TCP 三次握手

1、连接远程 FTP 服务

2、开启协议分析软件,进行数据包抓包。

3、利用工具栏中的 TCP 连接工具对 FTP 服务器发起连接:

在 IP 地址中填入 FTP 服务器地址 172.16.1.253,端口填入 FTP 服务端口 21,然后点击连接。

4、捕捉三次握手过程中的报文并分析捕获到的三次握手过程中的第一个报文如图所示

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报头部分详解:

源端口:21,服务端的源端口为相关服务的熟知端口,FTP 服务端口为 TCP21。

目的端口:1627,为客户端源端口复制过来得到。

序列号:0X2346F3FF,为服务端随机计算出的字节序号。

确认序列号:0XE9999DE16,确认序列号的功能是对发送端数据进行确认,为发送端序号0XE9999DE15+1 得到。

TCP 首部长度:7,包含 20 字节标准 TCP 首部长度和 8 字节选项长度。

标志位:SYN 位和 ACK 位置 1,表示此报文为 TCP 三次握手的第二个报文。

窗口大小:65535,为默认大小。

校验和:0X419C,TCP 校验和为 TCP 首部、数据和伪首部三部分计算得出校验和。

紧急指针:0。

TCP 三次握手第三个报文如图所示:

TCP报头部分详解:

源端口:1627,同一个连接发送的数据,源端口保持不变。

目的端口:21,对同一个服务发送的数据段中的目的端口保持不变。序列号:0XE9999DE,为前一个数据段序列号加 1。

确认序号:0X2346F3FF,由于此报文是对服务端发回的连接应答消息的确认,因此是上一个报文序号 0X2346F3FF 加 1。

TCP 首部长度:5,标准 TCP 首部长度为 5*4 字节=20 字节。

标识位:TCP 三次握手第三个报文段 ACK 位置 1。

窗口大小:65535,默认窗口大小。

校验和:0X6E60,为 TCP 首部、数据、伪首部计算得出的校验和。紧急指针:0,未使用紧急指针。

步骤三:查看本地 TCP 状态

1、在浏览器的地址栏输入:http://biz.doczj.com/doc/342957721.html,;在命令行下输入:netstat-n 回车,如图所示:

2、观察 TCP 状态,记录 Local Address、Foreign Address 和State。

3、在浏览器的地址栏输入:http://biz.doczj.com/doc/342957721.html,;在命令行下输入:netstat-n 回车,如图所示:

4、观察 TCP 状态,记录 Local Address、Foreign Address 和State

5、二次记录有什么不同,为什么?

6、使用带其他参数的 netstat 命令,查看网络状态。例如:netstat -a

netstat -b

步骤四:查看分析 TCP 确认机制

1、在实验机中开启协议分析软件进行数据包捕获

2、在协议分析软件工具栏中的 TCP 连接工具中连接到主机 B 的FTP 服务器并发送 dir 命令,如图所示:

3、分析捕获到的 FTP 数据包,如图所示。

分析上图中 TCP 数据段首部,可以看到序列号为 0X7257BB5D,数据部分长度为 5 字节。再查看从分析端会返回的确认数据段,如图所示。

分析上图中 TCP 数据段首部,可以看到序列号为 0X7257BB62,因为0X7257BB5D+5=0X7257BB62,因此,此确认序号的含义为上一个发送的 TCP 数据段信息全部处理,发送端可以发送 0X7257BB62 以后的数据,此即是 TCP 确认机制的过程。

步骤五:查看 TCP 连接超时重传过程

1、查看其中一台主机的 ARP 缓存记录,确保有同组实验机器的ARP 记录

2、将主机 A 从网络中断开,确保分析不会对编辑段发送的 TCP 连接请求进行回应。

3、在主机 A 中开启协议分析软件,进行数据包捕获。

4、在主机 A 中用工具栏中的 TCP 连接工具对主机 B 的 FTP 服务发起连接,如图所示

5、在主机 A 中分析捕获的 TCP 数据段,如图所示

从上图中可以看到,在发出 SYN 位置 1 的 TCP 连接请求没有得到相应后,连接工具又发送了第二个相同的 SYN 位置 1 的 TCP 连接请求,进行重传,确定数据段为重传数据段可以通过 TCP 首部中6、的序列号确认,例如本例中,重传数据段中的序列号均为0XA82D33B5。

七思考问题

1、 TCP建立连接的三次握手和连接释放的四次挥手是如何实现的?

2、根据实验中窗口的变化和确认序号,分析 TCP 协议所使用的滑动窗口协议机制。

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地址。

网络协议分析软件的使用实验报告

实验报告 项目名称:网络协议分析工具的使用课程名称:计算机网络B 班级: 姓名: 学号: 教师: 信息工程学院测控系

一、实验目的 基于网络协议分析工具Wireshark(原为Ethereal),通过多种网络应用的实际操作,学习和掌握不同网络协议数据包的分析方法,提高TCP/IP协议的分析能力和应用技能。 二、实验前的准备 ● 二人一组,分组实验; ● 熟悉Ping、Tracert等命令,学习FTP、HTTP、SMTP和POP3协议; ● 安装软件工具Wireshark,并了解其功能、工作原理和使用方法; ● 安装任一种端口扫描工具; ● 阅读本实验的阅读文献; 三、实验内容、要求和步骤 3.1 学习Wireshark工具的基本操作 学习捕获选项的设置和使用,如考虑源主机和目的主机,正确设置Capture Filter;捕获后设置Display Filter。 3.2 PING命令的网络包捕获分析 PING命令是基于ICMP协议而工作的,发送4个包,正常返回4个包。以主机210.31.40.41为例,主要实验步骤为: (1)设置“捕获过滤”:在Capture Filter中填写host 210.31.38.94; (2)开始抓包; (3)在DOS下执行PING命令; (4)停止抓包。 (5)设置“显示过滤”: IP.Addr=210.31.38.94 (6)选择某数据包,重点分析其协议部分,特别是协议首部内容,点开所有带+号的内容。(7)针对重要内容截屏,并解析协议字段中的内容,一并写入WORD文档中。

分析:从这个数据包的分析结果来看我们可以得知: 数据包的到达时间为2013年11月28日14:43:15 帧的序号为20411 帧的长度为74bytes(592bits),同时抓取的长度也是74bytes,说明没有丢失数据 目的MAC地址为00:25:11::4b:7a:6e 源MAC地址为00:25:11:4b:7d:6e 使用的协议为Ipv4 网络层的首部长度为20bytes 目的Ip地址为222.31.38.94 源Ip地址为222.31.38.93 数据没有分片说明数据大小没有超过最大传输单元MUT,其中用到了ICMP协议,数据包的生存周期为128 头部校验和为0x01正确 ICMP的校验和为0x01序列号为2304 数据有32bytes 3.3 TRACERT命令数据捕获 观察路由跳步过程。分别自行选择校内外2个目标主机。比如, (1)校内:tracert 210.31.32.8 (2)校外:tracert http://biz.doczj.com/doc/342957721.html,

实验二--配置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远程

计算机网络实验 应用层协议详情与配置实验报告材料格式

昆明理工大学信息工程与自动化学院学生实验报告 (2010—2011 学年第 1 学期) 课程名称:计算机网络开课实验室:2315 2010年12 月25日年级、专业、班计科083学号200810405325 姓名杨绍宏成绩 实验项目名称应用层协议与配置指导教师缪祥华老师 教师评语该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□ 该同学的实验能力: A.强□ B.中等□ C.差□ 该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般□ C.没有□ 教师签名: 年月日 一、实验目的及内容 通过本次实验,使学生学会在windows系统上搭建域名服务器;理解正向反向域名解析的原理。 二、实验原理及基本技术路线图(方框原理图或程序流程图) 学会安装DNS服务器,学会配置DNS服务器属性,掌握nslookup命令的使用;要求详细记录配置步骤,并对所有的域名使用nslookup进行测试,记录测试结果。 三、所用仪器、材料(设备名称、型号、规格等或使用软件) 参考环境为:PC 2台,可使用windows系统自带的DNS组件,也可以使用其他的DNS服务器版本; 四、实验方法、步骤(或:程序代码或操作过程) 1.安装DNS服务器; 2.添加DNS区域; 区域名为http://biz.doczj.com/doc/342957721.html, 。xxx为学生的姓名拼音。 3.配置DNS属性;yy为学生学号的后两位 (1).客户可以通过 dns. http://biz.doczj.com/doc/342957721.html, 域名访问 192.168.yy.53,支持反向域名解析 (2).客户可以通过 http://biz.doczj.com/doc/342957721.html, 域名访问 192.168.yy.80,支持反向域名解析 (3).客户可以通过 http://biz.doczj.com/doc/342957721.html, 域名访问 192.168.yy.25,支持反向域名解析 (4).客户可以通过 mail2. http://biz.doczj.com/doc/342957721.html, 域名访问 192.168.yy.26 (5).客户可以通过 smtp. http://biz.doczj.com/doc/342957721.html, 域名访问 192.168.yy.25,是http://biz.doczj.com/doc/342957721.html,的别名

网络实验报告 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 接收端发送的数据字节流。(该报文数据在发送方的数据流中的位置)

实验二 利用分组嗅探器(ethereal)分析协议HTTP

实验二利用分组嗅探器(ethereal)分析协议HTTP 一、实验目的 分析HTTP协议 二、实验环境 与因特网连接的计算机网络系统;主机操作系统为windows;Ethereal、IE等软件。 三、实验步骤 1、HTTP GET/response交互 首先通过下载一个非常简单的HTML文件(该文件非常短,并且不嵌入任何对象)。 (1)启动Web browser。 (2)启动Ethereal分组嗅探器。在窗口的显示过滤说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 (3)一分钟以后,开始Ethereal分组俘获。 (4)在打开的Web browser窗口中输入一下地址(浏览器中将显示一个只有一行文字的非常简单的HTML文件): http://biz.doczj.com/doc/342957721.html,/ethereal-labs/HTTP-ethereal-file1.html (5)停止分组俘获。 窗口如图1所示。根据俘获窗口内容,回答“四、实验报告内容”中的1-6题。 图1分组俘获窗口 2、HTTP 条件GET/response交互 (1)启动浏览器,清空浏览器的缓存(在浏览器中,选择“工具”菜单中的“Internet 选项”命令,在出现的对话框中,选择“删除文件”)。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。

(3)在浏览器的地址栏中输入以下URL: http://biz.doczj.com/doc/342957721.html,/ethereal-labs/HTTP-ethereal-file2.html,你的浏览 器中将显示一个具有五行的非常简单的HTML文件。 (4)在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。 (5)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的7-10题。 3、获取长文件 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。 (3)在浏览器的地址栏中输入以下URL: http://biz.doczj.com/doc/342957721.html,/ethereal-labs/HTTP-ethereal-file3.html,浏览器将 显示一个相当大的美国权力法案。 (4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的11-13题。 4、嵌有对象的HTML文档 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。 (3)在浏览器的地址栏中输入以下URL: http://biz.doczj.com/doc/342957721.html,/ethereal-labs/HTTP-ethereal-file4.html,浏览器将 显示一个具有两个图片的短HTTP文件 (4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的15-16题。 5、HTTP认证 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。 (3)在浏览器的地址栏中输入以下URL: http://biz.doczj.com/doc/342957721.html,/ethereal-labs/protected_pages/HTTP-ethereal-fil e5.html,浏览器将显示一个HTTP文件,输入所需要的用户名和密码(用户名: eth-students,密码:networks)。 (4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的17-18题。 四、实验报告内容 在实验的基础上,回答以下问题: (1)你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少?147.10250 192.168.01 239.255.255.250 ssdp NOTIFY HTTP/1.1 (2)你的浏览器向服务器指出它能接收何种语言版本的对象?英文 (3)你的计算机的IP地址是多少?服务器http://biz.doczj.com/doc/342957721.html,的IP地址是多少? 192.168.0.136,当在web broswer中输入http://biz.doczj.com/doc/342957721.html,时,在抓取得到: 15.556518 192.168.01 239.255.255.250 ssdp NOTIFY HTTP/1.1

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)启动浏览器,打开http://biz.doczj.com/doc/342957721.html,/ethereal- labs/alice.txt 网页,得到ALICE'S ADVENTURES IN WONDERLAND文本,将该文件保存到你的主机上。

(2)打开http://biz.doczj.com/doc/342957721.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”按钮,将文件上传到http://biz.doczj.com/doc/342957721.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)。你会看到如下所示的图。

实验一应用协议与数据包分析实验使用

《计算机网络》 实验报告 信息安全1201 吴淑珍 2015年4月1日 1.实验报告内容包括:实验目的、实验内容、实验程序和程序流程图、实验步骤、记录中间结果和最终结果。 实验一应用协议与数据包分析实验(使用Wireshark) 一、实验目的 通过本实验,熟练掌握Wireshark的操作和使用,学习对HTTP协议进行分析。 二、实验内容 学习HTTP 协议,了解HTTP 的工作原理和HTTP 报文格式。运行Wireshark,截获在浏览器访问web 界面的报文,并根据截获的报文分析其格式与内容,进一步学习HTTP 协议工作过程。 三、实验步骤 步骤1:在PC 机上运行Wireshark,开始截获报文; 步骤2:从浏览器上访问Web 界面,如.。打开网页,待浏览器的状态栏出现“完毕”信息后关闭网页。 步骤3:停止截获报文,将截获的报文命名为http-学号保存。 步骤4:分析截获的报文。 四、实验结果 分析截获的报文,回答以下几个问题: 1)综合分析截获的报文,查看有几种HTTP 报文? 答:两种,一种是请求报文,请求行方法为GET(有一个截去顶端的GET);另一种是响应报文。 2)在截获的HTTP 报文中,任选一个HTTP 请求报文和对应的HTTP 应答报文,仔细 分析它们的格式,填写表和表。

*GET方法首部行后面没有实体主体。 *实体主体部分为服务器发送给客户的对象。 ***查找的资料 Content-Length用于描述HTTP消息实体的传输长度。在HTTP协议中,消息实体长度和消息实体的传输长度是有区别,比如说gzip压缩下,消息实体长度是压缩前的长度,消息实体的传输长度是gzip压缩后的长度。 在具体的HTTP交互中,客户端是如何获取消息长度的呢,主要基于以下几个规则: 响应为1xx,204,304相应或者head请求,则直接忽视掉消息实体内容。 如果有Transfer-Encoding,则优先采用Transfer-Encoding里面的方法来找到对应的长度。比如说Chunked模式。

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及其它相关变量,准备

相关主题