第二章数据链路层协议的测试及分析doc.docx

上传人:b****7 文档编号:25059303 上传时间:2023-06-04 格式:DOCX 页数:18 大小:1.52MB
下载 相关 举报
第二章数据链路层协议的测试及分析doc.docx_第1页
第1页 / 共18页
第二章数据链路层协议的测试及分析doc.docx_第2页
第2页 / 共18页
第二章数据链路层协议的测试及分析doc.docx_第3页
第3页 / 共18页
第二章数据链路层协议的测试及分析doc.docx_第4页
第4页 / 共18页
第二章数据链路层协议的测试及分析doc.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

第二章数据链路层协议的测试及分析doc.docx

《第二章数据链路层协议的测试及分析doc.docx》由会员分享,可在线阅读,更多相关《第二章数据链路层协议的测试及分析doc.docx(18页珍藏版)》请在冰豆网上搜索。

第二章数据链路层协议的测试及分析doc.docx

第二章数据链路层协议的测试及分析doc

第二章数据链路层协议的测试及分析

2.1TCP/IP通信协议实验系统

2.1.1TCP/IP通信协议实验系统硬件介绍

在实验二、四、五、六中,我们使用的设备是掌宇TCP/IP通信协议实验系统,该套系统由6台ITS-101、1台HUBOX以及线缆、电源等相关配件组成。

整套系统的连接如图2.1所示。

图2.1掌宇TCP/IP通信协议实验系统连接

下面介绍一下它们的结构功能及连接方法:

ITS-101是TCP/IP网络实验系统中最重要的核心设备。

它的前面板包括电源和一些指示灯,后面板包括1个RS-232串口、2个10/100M以太网接口和1个电源插口。

串口通过RS-232控制线与计算机串口相连。

两个以太网接口LAN1、LAN2分别与HUBOX后面板LAN1组、LAN2组相应的局域网接口0×相连,如图2.2所示。

HUBOX是建立网络拓扑结构使用的集线器。

它的后面板有LAN1、LAN2两组以太网接口,LAN1组的6个接口分别与6台ITS-101的LAN1接口相连,LAN2组的6个接口分别与6台ITS-101的LAN2接口相连。

如图2.3所示,前面板下方有LAN1、LAN2两组共12个以太网接口,在设备内部分别与后面板的LAN1、LAN2两组接口直通;前面板上方有两组共10个以太网接口,相当于两个独立的5端口HUB,两组接口的5号端口都可以用来上连。

图2.2ITS-101与HUBOX的连接

图2.3HUBOX前面板

HUBOX设计的目的在于当网络要切换到不同拓扑结构时,不需要重新从ITS-101上拉线,只需要在HUBOX上短的直通线或者交叉线更换连接方式即可。

以下三个例子说明了通过更换连接的方式获得了不同的拓扑结构,其中图左边为HUBOX的连接方式,右边为ITS-101的拓扑结构。

(1)运用HUBOX连线实现四台ITS-101同一子网

图2.4同一子网

(2)运用HUBOX连线实现六台ITS-101三个独立的子网

图2.5独立子网

(3)运用HUBOX连线实现四台ITS-101以路由方式串连

图2.6路由方式串连

2.1.2ITS-101软件介绍

用户在PC机上运行XClient软件。

XClient基于Java虚拟机的跨平台构架,可以在Win98/Me/2000/XP等多种操作系统下运行。

点击桌面上的XClient.bat快捷方式,运行KCodesNetworkExplorer,然后打开ITS-101开关。

当XClient软件执行时,屏幕上会出现两个窗口,一个为KCodesNetworkExplorer窗口,这是用户实验操作的主窗口;另一个为带有命令提示的XClient窗口,用户操作期间不需与其交互,它将一直处于背景方式运行,除非要关闭整个XClient,否则不要关闭此窗口。

XClient界面主要包括Listen、Send、TCP、Batch、Reactor、Application、Tool等菜单和一个工具栏按钮,如图2.7所示。

下面将简单说明一下它们的主要功能。

图2.7XClient主界面

(1)Listen

Listen是ITS-101的主要功能之一,能以实时的方式监测网络上的数据包传输状态,并可以设定监听数据包的种类与层级。

它的各个菜单项可以完成下列功能:

NewMemorizedMessageBrowse可以打开一个实时监听网络数据包传输的窗口NetworkMessageBrowser,该窗口可以实时显示ITS-101正在传输的数据包,并提供表2.1所示的数据包信息。

表2.1NetworkMessageBrowser窗口信息

名称

含义

数据包流水号

TIME

ITS-101发送或者接收到该数据包的时间

D

R表示Router,I表示In/Recieve,O表示Out/Send,E表示Error,U表示Unknown

I

1表示Interface1,2表示Interface2

TYPE

数据包类型

MACSRC

源接口MAC地址

MACDST

目的接口MAC地址

IPSRC

源接口IP地址

IPDST

目的接口IP地址

LEN

数据包总长度

TTL

数据包生存时间

F

FlagmentOffset,共3位。

第1位(R):

保留;第2位(DF):

0=能分片,1=不分片;

第3位(MF):

0=更多的片,1=最后一片。

ID

数据包序号

OFF

数据包如果有分片后的偏移量

PSRC

源端口号

PDST

目的端口号

DATA

数据包的内容

按该窗口的Detail按钮或者双击该数据包记录可以查看数据包的全部内容。

也可以按窗口中的Option按钮在SetMessageRange窗口中设定监听的过滤条件。

只有在工具栏或者菜单项ListenOn左边打勾才可以观察到链路传输的信息。

使用工具栏按钮Reset或者菜单项ResetMemorizedMessageLog可以清除掉NetworkMessageBrowser窗口的所有信息。

ListeningLevel可以选择监听数据帧或者IP包还是两者都监听。

PromiscuousMode可以将LAN1或者LAN2接口设置成混杂模式。

(2)Send

ITS-101是ARM9嵌入式系统,内涵标准的TCP/IP协议,可以自行定义并发送以太网帧、TCP、UDP、IP、ICMP等各种类型的数据包。

发送以太网数据帧可以通过SendInterfaceFrame菜单项或工具栏的SndE按钮打开NetworkMessageSender窗口进行。

发送IP数据包可以通过SendIPPacket菜单项或工具栏的SndIP按钮打开IPDatagramSender窗口进行,该窗口各个选项的含义如表2.2。

表2.2IPDatagramSender窗口信息

名称

含义

VERS

版本号

HLEN

数据包头长度

TOS

服务类型,包含Minimizedelay,throughout,reliabilityandmonetarycost几个选项

FLAGS

是否可以做分片以及是否做过分片的标识

Protocol

6(UDP)、17(UDP)、1(ICMP)、2(ICMP)或用户自定义

(3)TCP

通过NewTCPSession菜单项或工具栏的TCPS按钮打开TCPSession窗口,可以与目标主机的指定端口建立TCP连接。

(4)Batch

MDDLBatchPanel是一个可以执行“批处理”MDDL程序的工具。

一般情况下将数据包连续发送功能的程序写在“批处理”MDDL中执行。

可以在MDDLBatchEditor中编辑该类“批处理”,也可以点击ExecuteMDDLBatch菜单项执行已存在的该类“批处理”。

(5)Reactor

Reactor是ITS-101的一个开放式程序编写平台,通过它可以编写并执行MDDL程序。

MDDL程序不仅能实现TCP/IP协议群中各种协议,也能将ITS-101模拟为firewall、Switch、IPsharing等各种网络设备。

通过MDDLReactorPanel菜单项或工具栏的Mddl…按钮打开MDDLEditor窗口,编辑MDDL程序,并可以通过Upld按钮将程序上载到ITS-101内,还可以通过LoadMDDLReactor将已经存在的MDDL程序快速上载到ITS-101内。

按ResetReactor菜单项可以将上载的程序清除。

(6)Application

Application给出了两个通过TCP连接实现聊天功能和文件传输功能的应用程序。

通过Chat菜单项ITS-101可以与其它ITS-101互传信息,实现聊天功能。

FileTransfer是ITS-101在应用层内建的一个服务,可以将文件传输给其它ITS-101,并显示速率及所用时间等信息。

(7)Tool

ITS-101设定的自由度很高,在NetworkConfiguration中可以更改IP地址、子网掩码、MTU以及路由表等各类网络层参数。

当被设定为Host时,它相当于一个双网卡主机;当被设定为Gateway时,它就相当于一台路由器。

ITS-101内部也有一个记录MAC地址的ARP表,可以通过ClearARPCache菜单项清除该表的内容。

2.1.3MDDL基础

初始状态下的ITS-101只能完成一些基本的数据传输功能,要进行TCP/IP协议的各种测试,必须要运用MDDL(Message-DrivenDataflowLanguage)进行编程。

本文的实验软件安装完毕后所需要的MDDL程序源代码都已存储在C:

\XClient\Data\Mddl\Tutorial\Ex**\目录下,只需要做少许修改即可用于实验。

这里要求同学们能够看懂和修改这些程序,加深理解TCP/IP协议数据传输的过程,有余力的同学可以深入学习MDDL的编程方法,进行更为复杂的实验与测试。

MDDL与常用的C、C++、Java等语言相似,包括动作、事件句柄、程序控制等三种类型的语句,用一对{和}封装的0个或多个语句组成程序块。

MDDL是解释性语言,不需要编译,只要在Reactor上载(Upload)即可。

MDDL程序上载完成后,Reactor立即进行解释,该过程分成两部分:

(1)Reactor执行动作和一般的程序控制语句;

(2)Reactor安装事件句柄语句。

Reactor不能执行事件句柄语句,仅能将其安装在软件中,当相应事件发生时,Reactor触发事件句柄,执行包含在它们块内的动作语句与一般程序控制语句。

MDDL定义了19种句柄,包括了TCP/IP协议的基本事件,例如:

ETHER_IN_HANDLER表示以太网帧到达接口事件,IP_OUT_HANDLER表示IP报文发送事件,SERVICE_TCP_OPEN表示在用户定义TCP模式下点击了OPEN按钮,等等。

2.2以太网数据帧传输

2.2.1以太网数据帧的结构

以太网是目前局域网(LAN)数据链路层的主导技术,随着吉比特以太网的发展,也必将在城域网(MAN)中发挥更大作用。

以太网数据帧的长度为64~1518Bytes,如图2.8所示。

其中包含了6Bytes(48bits)的目标MAC地址和源MAC地址,2Bytes(16bits)的数据包类型(其中:

0X800为IP数据包、0X806为ARP数据包、0X8035为RARP数据包),数据字段的长度为46~1500Bytes,最后为4Bytes的帧检验序列FCS。

需要注意:

本实验中以太网数据帧的显示部分一律不包含FCS字段。

66246~15004byte

目标MAC地址

源MAC地址

类型

数据

FCS

06121460~151464~1518

图2.8以太网数据帧格式

目标地址可以是某一接口的MAC地址(如:

“00:

94:

12:

15:

01:

2C”),则该数据帧是一个单播帧,只具有该MAC地址的接口可以接收到该以太网帧;目标地址也可以是“FF:

FF:

FF:

FF:

FF:

FF”,则该数据帧是一个广播帧,局域网内的所有接口都可以接收到该以太网帧。

以太网帧的源地址就是发送接口的MAC地址。

2.2.2ITS-101以太网数据帧的发送

向已知MAC地址的接口发送以太网帧是ITS-101最基本的功能,下面以向已知接口发送单播帧为例,说明了其实现过程。

(1)在HUBOX上连线,连通传输以太网帧的两台ITS-101的两个Interface1接口。

(2)在两台客户机上分别点击桌面上的XCLIENT.BAT,启动ITS应用程序KCodesNetworkExplore。

(3)在两台客户机上分别开启以太网的监听功能,打开InterfaceFrames监听状态,如图2.9所示,操作时须将Listeningon与InterfaceFrames菜单项选中。

图2.9开启以太网的监听功能

(4)在两台客户机上分别打开NetworkMessageBrowser窗口,监听整个局域网上数据包传输;

(5)在其中一台客户机(这里设为Host1)上打开以太网帧发送界面NetworkMessageSender,运用地址为“00:

94:

12:

15:

01:

2D”的Interface1发送目标地址为“00:

94:

12:

15:

01:

2D”、类型为用户自定义“12:

34”的以太网帧,数据段内容为“hello”,界面如图2.10所示。

输入完成后,按“Send”按钮发送该帧。

图2.10发送以太网帧

(6)观察NetworkMessageBrowser窗口,出现如图2.11所示的一条以太网帧传送记录,说明成功发送。

图2.11发送端以太网帧传送记录

(7)观察另一台客户机(这里设为Host2)上的NetworkMessageBrowser窗口,也出现如图2.12所示与图2.11相似的一条以太网帧传送记录,说明成功接收。

这样以太网帧传输完成。

图2.12接收端以太网帧传送记录

2.2.3运用MDDL程序自动回复以太网帧

当接口接收到以太网帧后,可以运用MDDL程序回复,以下给出了其实现过程:

(1)连通两台ITS-101的两个Interface1接口,打开NetworkMessageBrowser并开启以太网的监听功能。

(2)在Host2上点击工具栏上的Mddl…按钮,打开MDDLEditor窗口,点击Load按钮,打开“C:

\XClient\Data\Mddl\Tutorial\Ex01\AutoResponser.mddl”文件,如图2.13所示,最后按Upld按钮将程序上载到ITS。

图2.13打开AutoResponser.mddl文件

(3)在Host1上按照上节的步骤(5)发送以太网帧到Host2的Interface1。

(4)观察Host1的NetworkMessageBrowser窗口,出现如图2.14所示的一条以太网帧传送记录和一条回复记录。

图2.14发送端以太网帧记录

(5)观察Host2的NetworkMessageBrowser窗口,也出现如图2.15所示的一条以太网帧接收记录和一条回复记录,说明以太网帧回复成功。

图2.15接收端以太网帧记录

(6)在Host2上点击Reactor->ResetReactor菜单,清除掉ITS内的MDDL程序,以免对其它实验造成干扰。

2.3ARP地址解析协议

2.3.1ARP协议的原理

IP地址不能直接用来通信,局域网中实际传输的是“帧”,帧的目标地址是目标接口的MAC地址,ARP地址解析协议就是在发送帧前将IP地址转化为MAC地址的协议。

ARP协议的基本功能就是通过目标接口的IP地址,查询目标接口的MAC地址,以保证通信的顺利进行。

ARP协议的整个过程为:

一台主机先向目标主机发送包含IP地址信息的广播数据包,即ARP请求;然后目标主机向该主机发送一个含有IP地址和MAC地址单播数据包,即ARP响应。

ARP报文被封装在以太网帧中,类型是0x0806,结构如图2.16所示。

081631

硬件类型

协议类型

硬件地址长度

协议长度

操作

发送方首部(0~3Bytes)

发送方首部(4~5Bytes)

发送方IP地址(0~1Bytes)

发送方IP地址(2~3Bytes)

接收方首部(0~1Bytes)

接收方首部(2~5Bytes)

接收方IP地址(0~3Bytes)

图2.16ARP请求报文格式

硬件类型字段表示发送方想知道的硬件接口类型,以太网的值为0x0001。

协议类型字段表示发送方提供的高层协议类型,IP为0x0800。

以太网的硬件地址长度0x06Bytes,协议长度表示高层协议地址的长度IPv4为0x04Bytes。

操作字段表示这个报文的目的,ARP请求为0x0001,ARP响应为0x0002,RARP请求为0x0003,RARP响应为0x0004。

当发出ARP请求时,发送方填好发送方首部和发送方IP地址,还要填写目标IP地址。

当目标机器收到这个ARP广播包时,就会在响应报文中填上自己的48位主机地址。

在具有以太网接口的设备中都有专门的ARP缓存,包含一个或多个表,用于保存IP地址以及经过解析的MAC地址。

在Windows中要查看或者修改ARP缓存中的信息,可以使用arp命令来完成,比如在命令提示符窗口中键入“arp-a”或“arp-g”可以查看ARP缓存中的内容。

2.3.2运用ITS-101发送ARP请求

下面以IP地址为“192.168.1.1”的接口向全网查询“192.168.1.3”所对应的MAC地址为例,说明了ITS发送ARP请求的过程。

(1)连通两台ITS的两个Interface1接口,打开NetworkMessageBrowser并开启以太网的监听功能。

(2)在Host1上点击Tool->NetworkConfiguration菜单,在弹出的窗口中将ITS的Interface1接口的IP地址设置为“192.168.1.1”,子网掩码设置为“255.255.255.0”,如图2.17所示。

点击“Set&Close”按钮保存设置。

图2.17配置ITS-101的IP地址

(3)运用相同的方法将令一台ITS的Interface1接口的IP地址设置为“192.168.1.3”,子网掩码设置为“255.255.255.0”。

(4)在Host1上打开以太网帧发送窗口。

将目标MAC地址设置为“FF:

FF:

FF:

FF:

FF:

FF”,帧的类型设置为“ARP(0806)”。

按照ARP报文的格式输入数据字段内容,发送方首部为源MAC地址,发送方IP为“192.168.1.1”(即:

C0:

A8:

01:

01),接收方IP为“192.168.1.3”(即:

C0:

A8:

01:

03)。

如图2.18所示,数据帧输入完成。

图2.18发送ARP请求报文

(5)点击“Send”按钮该ARP请求,立刻就可以接收到ARP回复报文,帧的观测结果如图2.19所示,说明ARP地址解析成功。

图2.19发送端ARP报文记录

2.4实验二ITS-101基本操作与数据链路层协议的测试及分析

2.4.1实验目的

掌握ITS-101基本操作方法,了解MDDL语言的编程机制,理解以太网数据帧的传送方式与ARP协议的工作原理。

2.4.2实验准备

(1)实验设备

●掌宇TCP/IP通信协议实验系统一套;

●装有ITS-101软件的PC机6台。

(2)预备知识

●熟悉TCP/IP通信协议实验系统的组成与结构,学习运用HUBOX连线变换拓扑结构;

●熟悉ITS-101软件界面与操作方法;

●熟悉以太网数据帧的结构,学习ITS-101单播帧的传输方法;

●熟悉ARP协议的工作原理,学习ITS-101实现ARP请求的方法。

2.4.3实验内容

(1)ITS-101拓扑结构连接练习

●改变HUBOX的连接方式,实现如图2.20所示的ITS-101拓扑结构(各个ITS-101的编号随意给出)。

图2.20实验网络拓扑结构一

●改变HUBOX的连接方式,实现如图2.21所示的ITS-101拓扑结构(在本实验中可以先不设置IP地址)。

图2.21实验网络拓扑结构二

(2)ITS-101以太网帧的传输

●使用图2.20所示的网络拓扑结构,将其中的一台ITS-101作为Leader,其余作为Member1~5。

●使用Leader向整个以太网发送一个广播帧,内容为“ThisisabroadcastfromtheLeader”。

●各个Member收到该帧后,向Leader发送一个单播帧,内容为“ThisisaunicastfromtheMember*”。

●从Leader观察各个ITS-101的MAC地址并记录到表2.3中。

表2.3各个ITS-101编号与MAC地址对应表

名称

MAC地址

Leader

Member1

Member2

Member3

Member4

Member5

(3)使用MDDL发送并回复以太网帧

●在各个Member上打开并上载AutoResponser.mddl程序,在Leader上打开并上载BcastMessages.mddl,观察发送和接收到的数据帧。

●清除掉Leader上ITS-101内的MDDL程序,打开并上载BCastMessages-1.mddl,观察发送和接收到的数据帧。

●清除掉Leader上ITS-101内的MDDL程序,打开IUCastMessages.mddl,按照图2.22修改该程序,然后上载到ITS-101,观察发送和接收到的数据帧。

图2.22修改IUCastMessages.mddl的MAC地址

●清除掉ITS-101内的MDDL程序,修改发送和回复的内容,重新进行实验。

(4)ARP协议测试

●将Leader和Member1~5的Interface1接口IP地址分别设置为“192.168.1.1”~“192.168.1.6”。

●各个成员发送ARP请求报文,根据ARP应答报文获得其它成员Interface1接口的MAC地址,并记录到表2.4中。

表2.4各个ITS-101的IP地址与MAC地址对应表

IP地址

MAC地址

192.168.1.1

192.168.1.2

192.168.1.3

192.168.1.4

192.168.1.5

192.168.1.6

●将一台客户机的IP地址设置为“192.168.1.7”并连接到网络内,在Windows中使用命令观察ARP缓存的内容。

●在Windows中使用“ping192.168.1.1”命令,检测是否连通,然后再用的命令观察ARP缓存的内容。

2.4.4问题与思考

(1)再增加一台HUB,可以将实验室所有ITS-101连接到一个局域网内。

应该使用哪种线缆如何连接?

(2)以太帧的最小帧长应为64字节,为何本实验的表示方法中,图2.11观测到的数据帧长度LEN是60?

是否可以使它的长度大于或小于60?

如何实现?

(3)比较Leader上加载BCastMessages.mddl与BCastMessages-1.mddl后结果有何不同?

说明产生的原因。

(4)根据BCastMessages.mddl和IUCastMessages.mddl的内容,编写一个同时发送广播和单播数据帧的程序。

(5)记录ARP请求和回复报文的内容,说明每个字段的含义。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1