《TCPIP协议原理》实验指导书.docx
- 文档编号:5862233
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:30
- 大小:501.30KB
《TCPIP协议原理》实验指导书.docx
《《TCPIP协议原理》实验指导书.docx》由会员分享,可在线阅读,更多相关《《TCPIP协议原理》实验指导书.docx(30页珍藏版)》请在冰豆网上搜索。
《TCPIP协议原理》实验指导书
《TCP/IP协议原理》实验指导书
班级:
1100310514
姓名:
梁彦漳
计算机科学与工程学院
2014年12月
一、数据链路层协议分析
TCP/IP协议栈分为四层,从下往上依次为网络接口层、网际层、传输层和应用层,而网
络接口层没有专门的协议,而是使用连接在Internet网上的各通信子网本身所固有的协议。
如以太网(Ethernet)的802.3协议、令牌环网(TokenRing)的802.5协议、分组交换网的X.25协议等。
目前Ethernet网得到了广泛的应用,它几乎成为局域网代名词。
因此,这一部分将对以太网链路层的帧格式和802.1Q帧格式进行分析验证,使学生初步了解TCP/IP链路层的主要协议以及这些协议的主要用途和帧结构。
1.以太网链路层帧格式分析实验
1.以太网简介
IEEE802参考模型把数据链路层分为逻辑链路控制子层(LLC,LogicalLinkControl)
和介质访问控制子层(MAC,MediaAccessControl)。
与各种传输介质有关的控制问题都放
在MAC层中,而与传输介质无关的问题都放在LLC层。
因此,局域网对LLC子层是透明的,只有具体到MAC子层才能发现所连接的是什么标准的局域网。
IEEE802.3是一种基带总线局域网,最初是由美国施乐(Xerox)于1975年研制成功的,并以曾经在历史上表示传播电磁波的以太(Ether)来命名。
1981年,施乐公司、数字设备公司(Digital)和英特尔(Intel)联合提出了以太网的规约。
1982年修改为第二版,即DIXEthernetV2,成为世界上第一个局域网产品的规范。
这个标准后来成为IEEE802.3标准的基础。
在802.3中使用1坚持的CSMA/CD(CarrierSenseMultipleAccesswithCollision
Detection)协议。
现在流行的以太网的MAC子层的帧结构有两种标准,一种是802.3标准,
另一种是DIXEthernetV2标准。
图14802.3和EthernetV2MAC帧结构
图14画出了两种标准的MAC帧结构。
它们都是由五个字段组成。
MAC帧的前两个
字段分别是目的地址字段和源地址字段,长度是2或6字节。
但在IEEE802.3标准规定对
10Mb/s的基带以太网则使用6字节的地址字段。
两种标准的主要区别在于第三个字段(2字节)。
在802.3标准中,这个字段是长度字段,它指后面的数据字段的字节数,数据字段就是LLC子层交下来的LLC帧,其最小长度46字节,最大长度1500字节。
在EthernetV2标准中,这个字段是类型字段,它指出LLC层使用的协议类型。
由于数据字段的最大长度为1500字节,因此,以太网V2标准中将各种协议的代码规定为大于1500的数值,这样就不至于发生误解,并借此实现兼容。
最后一个字段是一个长度为4字节的帧校验序列FCS,它对前四个字段进行循环冗余(CRC)校验。
为了使发送方和接收方同步,MAC帧在总线上传输时还需要增加7个字节的前同步码
字段和1字节的起始定界符(它们是由硬件生成的),其中前同步码是1和0的交替序列,
供接收方进行比特同步之用;紧跟在前同步码之后的起始定界符为10101011,接收方一旦接
收到两个连续的1后,就知道后面的信息就是MAC帧了。
需要注意的是前同步码、起始定
界符和MAC帧中的FCS字段在网卡接收MAC帧时已经被取消,因此,在截获的数据报中
看不到这些字段。
注意:
由于802.3标准在MAC帧中封装802.2帧,相比EthernetV2增加了8个字节的开销,而且实践表明,这样做过于繁琐,使得其在实际中很少得到使用。
因此,本节实验中重点分析EthernetV2MAC帧格式,802.3MAC帧不作具体讨论。
2.实验环境与说明
(1)实验目的
了解EthernetV2标准规定的EthernetV2MAC帧结构,初步了解TCP/IP的主要协议和协议的层次结构。
(2)实验设备和连接
实验设备和连接图如图15所示,用华为eNSP建立虚拟网络。
图15Ethernet链路层帧结构实验连接图
3.实验步骤
步骤1:
按照如图15所示连接好设备,配置PC1和PC2的IP地址;(编者注:
实验室中任何一台PC都可以作为模型中的PC1或PC2。
)
步骤2:
在:
PC1和PC2上运行Ethereal截获报文,为了只截获和实验内容有关的报文;
步骤3:
在:
PC1的“运行”对话框中输入命令“Ping1.1.1.2”,单击“确定”按钮;
步骤4:
停止截获报文:
结果如下,并对截获的报文进行分析:
列出截获的报文中的协议类型,观察这些协议之间的关系。
数据段前6个字节是目的MAC地址,为54-89-98-A7-48-77,后面6个字节是源MAC地址,为54-89-98-39-3E-27,后面2个字节是协议类型,为0806(ARP协议类型),数据为16字节长,加上最后4个字节的FCS。
4.实验总结
通过此次实验我们可以很简单的使用wireshark软件,并可以从捕获的数据中分析出所需的结果,比如:
分析源IP地址和目的IP地址,源MAC地址和目的MAC地址,来了解数据链路层的协议。
二、网络层协议分析
该层是网络互联层,负责相邻计算机之间的通信。
该层上的主要协议是IP协议,此外,
这一层还包括三个子协议:
ICMP协议、ARP协议和RARP协议。
*互联网控制信息协议(ICMP,InternetControlMessageProtocol)
ICMP是TCP/IP协议簇的的一个子协议,它和IP协议属于同一层,但ICMP数据报是
被封装在IP数据报中发送的。
ICMP协议通常被用于在IP主机、路由器之间传递控制消息。
控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
这些控制消息
虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
该协议经常被用作调试
和监视网络。
*网际协议(IP,InternetProtocol)
这个协议是TCP/IP协议中最主要的协议之一,他负责处理来之传输层的分组发送请求
和输入的数据报文。
该层以上各层的协议都要使用IP协议。
*地址解析协议(ARP)和反地址解析协议(RARP,ReverseAddressResolutionProtocol)
它们分别负责实现从IP地址到物理地址(如以太网网卡MAC地址)和从物理地址到IP地址的映射。
1.ICMP协议分析实验
1.ICMP协议介绍
ICMP(InternetControlMessageProtocol)是因特网控制报文协议[RFC792]的缩写,是因特网的标准协议。
ICMP允许路由器或主机报告差错情况和提供有关信息,用以调试、监视网络。
(1)ICMP的报文格式
图20ICMP回送请求和应答报文格式
在网络中,ICMP报文将封装在IP数据报中进行传输。
由于ICMP的报文类型很多,且
又有各自的代码,因此,ICMP并没有一个统一的报文格式供全部ICMP信息使用,不同的
ICMP类别分别有不同的报文字段。
ICMP报文只在前4个字节有统一的格式,即类型、代码和校验和3个字段。
接着的4
个字节的内容与ICMP报文类型有关。
图20描述了ICMP的回送请求和应答报文格式,ICMP
报文分为首部和数据区两大部分。
其中:
*类型:
一个字节,表示ICMP消息的类型,内容参见表5;
*代码:
一个字节,用于进一步区分某种类型的几种不同情况;
*校验和:
两个字节,提供对整个ICMP报文的校验和;
(2)ICMP的报文类型
ICMP报文的种类可以分为ICMP差错报告报文和ICMP询问报文两种,表5列出了已定义的几种ICMP消息。
表5ICMP消息及类型码
类型的值
ICMP消息类型
类型的值
ICMP消息类型
0
回送(Echo)应答
12
参数出错报告
3
目的站点不可达
13
时间戳(Timestamp)请求
4
源站点抑制(Sourcequench)
14
时间戳(Timestamp)应答
5
路由重定向(Redirect)
15
信息请求
8
回送请求
16
信息应答
9
路由器询问
17
地址掩码(Addressmask)请求
10
路由器通告
18
地址掩码(Addressmask)应答
11
超时报告
其中差错报告报文主要有目的站点不可达、源站点抑制、超时、参数问题和路由重定向
5种;ICMP询问报文有回送请求和应答、时间戳请求和应答、地址掩码请求和应答以及路由
器询问和通告4种。
(3)ICMP常见的消息类型
下面介绍几种常用的ICMP消息类型。
*目的站点不可达(3)
产生“目的站点不可达”的原因有多种。
在路由器不知道如何到达目的网络、数据报指
定的源路由不稳定、路由器必须将一个设置了不可分段标志的数据报分段等情况下,路由器
都会返回此消息。
如果由于指明的协议模块或进程端口未被激活而导致目的主机的IP不能传送数据报,这时目的主机也会向源主机发送“目的站点不可达”的消息。
为了进一步区分同一类型信息中的几种不同情况,在ICMP报文格式中引入了代码字段,
该类型常见信息代码及其意义如下:
表6ICMP类型3的常见代码
代码描述处理
代码描述处理
0网络不可达;无路由到达主机
1主机不可达;无路由到达主机
2协议不可用;连接被拒绝
3端口不可达;连接被拒绝
4需分段但DF值为0;报文太长
5源路由失败;无路由到达主机
*源站点抑制(4)
此消息类型提供了流控制的一种基本形式。
当数据报到达得太快,路由器或主机来不及
处理时,这些数据报就必须被丢弃。
丢弃数据报的计算机就会发一条“源站点抑制”的ICMP
报文。
“源站点抑制”消息的接收者就会降低向该消息发送站点发送数据报的速度。
*回送请求(8)和回送应答(0)
这两种ICMP消息提供了一种用于确定两台计算机之间是否可以进行通信的机制。
当一
个主机或路由器向一个特定的目的主机发出ICMP回送请求报文时,该报文的接收者应当向
源主机发送ICMP回送应答报文。
*时间戳请求(15)和时间戳应答(16)
这两种消息提供了一种对网络延迟进行取样的机制。
时间戳请求的发送者在其报文的信
息字段中写入发送消息的时间。
接收者在发送时间戳之后添加一个接收时间戳,并作为时间
戳应答消息报文返回。
*地址掩码请求(17)和地址掩码应答(18)
主机可以用“地址掩码请求”消息来查找其所连接网络的子网掩码。
主机在网络上广播
请求,并等待路由器的包含子网掩码的“地址掩码应答”消息报文的到来。
*超时报告(11)
当一个数据报的TTL值到达0时,路由器将会给源主机发送超时报文。
2.基于ICMP的应用程序
目前网络中常用的基于ICMP的应用程序主要有ping命令和tracert命令。
(1)ping命令
Ping命令是调试网络常用的工具之一。
它通过发出ICMPEcho请求报文并监听其回应来检测网络的连通性。
图21显示了Ethereal捕获的ICMPEcho请求报文和应答报文。
图21ICMPEcho请求报文和应答报文
Ping命令只有在安装了TCP/IP协议之后才可以使用,其命令格式如下:
ping[-t][-a][-ncount][-lsize][-f][-iTTL][-vTOS][-rcount][-scount]
[[-jhost-list]|[-khost-list]][-wtimeout]target_name
这里对实验中可能用到的参数解释如下:
*-t:
用户所在主机不断向目标主机发送回送请求报文,直到用户中断;
*-ncount:
指定要Ping多少次,具体次数由后面的count来指定,缺省值为4;
*-lsize:
指定发送到目标主机的数据包的大小,默认为32字节,最大值是65,527;
*-wtimeout:
指定超时间隔,单位为毫秒;
*target_name:
指定要ping的远程计算机。
(2)Traceroute命令
Traceroute命令用来获得从本地计算机到目的主机的路径信息。
在MSWindows中该命
令为Tracert,而UNIX系统中为Traceroute。
Tracert先发送TTL为1的回显请求报文,并在随后的每次发送过程将TTL递增1,直到目标响应或TTL达到最大值,从而确定路由。
它所返回的信息要比ping命令详细得多,
它把您送出的到某一站点的请求包,所走的全部路由均告诉您,并且告诉您通过该路由的IP
是多少,通过该IP的时延是多少。
Tracert命令同样要在安装了TCP/IP协议之后才可以使用,其命令格式为:
tracert[-d][-hmaximum_hops][-jcomputer-list][-wtimeout]target_name
参数含义为:
*-d:
不解析目标主机的名称;
*-h:
指定搜索到目标地址的最大跳跃数;
*-j:
按照主机列表中的地址释放源路由;
*-w:
指定超时时间间隔,程序默认的时间单位是毫秒。
3.实验环境与说明
(1)实验目的
掌握ping和tracert命令的使用方法,了解ICMP协议报文类型及其作用。
执行ping和tracert命令,分别截获报文,分析截获的ICMP报文类型和ICMP报文格式,理解ICMP协议的作用。
(2)实验设备和连接
实验设备和连接图如图22所示建立连接图。
图22ICMP协议分析实验连接图
4.实验步骤
步骤1:
按照如图22所示连接好设备;
步骤2:
完成路由器和PC1、PC2的相关配置;
步骤3:
分别在PC1和PC2上运行Ethereal,开始截获报文,为了只截获和实验内容有关的报文,将Ethereal的CaptrueFilter设置为“NoBroadcastandnoMulticast”;
步骤4:
在PC1上以PC2为目标主机,在命令行窗口执行Ping命令;
步骤5:
停止截获报文,将截获的结果保存为ICMP-1-学号,分析截获的结果,回答下
列问题:
截获的结果如下:
分析截获的ICMP报文,查看表7中要求的字段值,填入表中。
表7ICMP报文分析
报文号
源IP
目标IP
ICMP报文格式
类型
代码
标识
序列号
1
1.1.1.1
1.1.1.2
8
08
b137
3
2
1.1.1.2
1.1.1.1
0
00
b137
3
2.IP协议分析实验
1.IP协议介绍
(1)IP地址的编址方法
IP地址是为每个连接在互联网上的主机分配的唯一识别的32位标识符。
IP地址的编址方法共经历了三个阶段:
*分类的IP地址
这是一种基于分类的两级IP地址编址的方法。
表8IP地址的分类
IP地址
类型
第一字节
十进制范围
二进制
固定最高位
二进制
网络位
二进制
主机位
A类
1-126
0
8位
24位
B类
128-191
10
16位
16位
C类
192-223
110
24位
8位
D类
224-239
1110
组播地址
E类
240-254
1111
保留试验使用
如表8所示,IP地址分为A,B,C,D,E五类,其中A、B、C类地址为可分配主机
地址,而D类地址为组播地址,E类地址保留以备将来的特殊使用。
IP地址采用点分十进制方式记录,每个地址表被视为4个以点分隔开的十进制整数,每个整数对应一个字节。
A、B、C三类地址由两部分组成:
网络地址和主机地址,这三类地址的网络地址部分的
长度不一样。
每个A类地址的网络中可以有1600万台主机;每个B类地址的网络中可以有
65534台主机;每个C类地址的网络中可以有254台主机。
*划分子网的IP地址
子网就是将一个A类、B类或C类网络分割成许多小的网络,每一个小的网络就称为子网。
划分子网采用“网络号”+“子网号”+“主机号”三级编址的方法。
在划分了子网的网络地址中,子网掩码用于确定网络地址。
子网掩码是一个和IP地址对应的32位二进制数。
子网掩码中与IP地址的网络地址对应的部分为1,与主机地址对应的部分为0。
这样把网络接口的IP地址与该接口上的掩码相与就得到该接口所在网络的网络地址,而把该IP地址与掩码的反码相与则可得到主机地址。
*无分类域间路由选择CIDR
无分类域间路由选择CIDR是根据划分子网阶段的问题提出的编址方法。
IP地址采用“网络前缀”+“主机号”的编址方式。
目前CIDR是应用最广泛的编址方法,它消除了传统的A、B、C类地址和划分子网的概念,提高了IP地址资源的利用率,并使得路由聚合的实现成为可能。
(2)IP报文格式
IP报文由报头和数据两部分组成,如图23所示:
图23IP报文格式
其中主要字段的意义和功能如下:
*版本:
指IP协议的版本;
*头长:
是指IP数据报的报头长度,它以4字节为单位。
IP报头长度至少为20字节,
如果选项部分不是4字节的整数倍时,由填充补齐;
*总长度:
为整个IP数据报的长度;
*服务类型:
规定对数据报的处理方式;
*标识:
是IP协议赋予数据报的标志,用于目的主机确定数据分片属于哪个报文;
*标志:
为三个比特,其中只有低两位有效,这两位分别表示该数据报文能否分段和是
否该分段是否为源报文的最后一个分段;
*生存周期:
为数据报在网络中的生存时间,报文每经过一个路由器时,其值减1,当生存周期变为0时,丢弃该报文;从而防止网络中出现循环路由;
*协议:
指IP数据部分是由哪一种协议发送的;
*校验和:
只对IP报头的头部进行校验,保证头部的完整性;
*源IP地址和目的IP地址:
分别指发送和接收数据报的主机的IP地址。
(3)IP数据报的传输过程
在互联网中,IP数据报根据其目的地址不同,经过的路径和投递次数也不同。
当一台主
机要发送IP数据报时,主机将待发送数据报的目的地址和自己的子网掩码按位“与”,判断其结果是否与其所在网络的网络地址相同,若相同,则将数据报直接投递给目的主机,否则,将其投递给下一跳路由器。
路由器转发数据报的过程如下:
①当路由器收到一个数据报文时,对和该路由器直接相连的网络逐个进行检查,即用
目的地址和每个网络的子网掩码按位“与”,若与某网络的网地址相匹配,则直接投递;否
则,执行2。
②对路由表的每一行,将其中的子网屏蔽码与数据报的目的地址按位“与”,若与该行
的目的网络地址相等,则将该数据报发往该行的下一跳路由器;否则,执行3。
③若路由表中有一个默认路由,则将数据报发送给路由表所指定的默认路由器。
否则,
报告转发出错。
2.实验环境与说明
(1)实验目的
使用Ping命令在两台计算机之间发送数据报,用Ethereal截获数据报,分析IP数据报的格式,理解IPV4地址的编址方法,加深对IP协议的理解。
(2)实验设备和连接
用两台电脑来进行连接,通过wireshark来进行捕获数据。
3.实验步骤
步骤1:
按照以上连接好设备;
步骤2:
捕获的数据如下:
步骤4:
任取一个数据报,分析IP协议的报文格式,完成下列各题:
1)分析IP数据报头的格式,完成表9;
表9IP协议报文分析
字段
报文信息
说明
版本
4
IPv4,互联网协议(InternetProtocol,IP)的第四版
头长
5
4个字节,IP数据报报头区的长度
服务类型
00
IP协议服务类型
总长度
0224
数据总长度
标识
0409
IP的标识
标志
00
表示为IP数据报最后一个分段
片偏移
00
生存周期
80
IP数据报在网络中传输最长时间
协议
01
01为ICMP协议发出的数据报文
校验和
32b0
保证数据报文在传输过程中的正确性和完整性
源地址
c0a8400a
源IP地址:
192.168.64.10
目的地址
c0a8400c
目的IP地址:
192.168.64.12
4.实验小结
了解到我们生活中经常使用的网站地址是如何在网络层传输的和保证传输过程中的正确性、完整性,这不仅仅是我们平时上网打一个网址而已,其中包含了许许多多的协议和校验方法,让我们能正确的打开所需的、安全的网站。
三、传输层协议分析
TCP/IP的传输层有两个协议,即:
传输控制协议TCP(TransmissionControlProtocal)和用户数据报(UserDatagramProtocol)。
在TCP体系中,根据所使用的协议是TCP或UDP,传输的数据单元分别称之为TCP报文段或UDP数据报。
TCP提供面向连接的可靠的传输服务。
在传输数据之前必须建立连接,数据传送结束后
释放连接。
因此,不可避免地增加了很多开销,如确认、流量控制、计时器以及连接管理等。
这样不仅使协议数据单元的首部加长,还要占用许多处理器资源。
UDP在传输数据前不需要建立连接,远程主机的传输层在收到UDP数据报后不需要提
供任何确认信息。
虽然UDP提供的是一种不可靠的传输服务,但在某些请况下,UDP是一
种有效率的工作方式。
在一台主机上,常常有多个应用程序运行,为了区分一台主机上的多个应用程序,TCP/IP
协议中引入了端口的概念
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TCPIP协议原理 TCPIP 协议 原理 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)