基于Packet Tracer数据链路层帧结构仿真实现

2020-07-11 14:41唐灯平
实验室研究与探索 2020年5期
关键词:链路层字段以太网

唐灯平

(苏州大学a.文正学院b.计算机科学与技术学院,江苏苏州215006)

0 引 言

数据链路层属于计算机网络的低层,该层使用的信道主要有点对点信道和广播信道两种,点对点信道使用一对一的点对点通信方式,最常用的协议是点对点协议(Point-to-Point Protocol,PPP),PPP 常用于计算机和互联网服务提供者(Internet Service Provider,ISP)进行通信时使用的数据链路层协议。广播信道使用一对多的广播通信方式,传统以太网的数据链路层采用的就是广播通信方式,它使用载波监听多点接入/碰撞检测(Carrier Sense Multiple Access with Collision Detection,CSMA/CD)解决冲突问题。数据链路层传送的协议数据单元称为帧,数据链路层常见的帧有:PPP、以太网以及带有VLAN信息的802.1Q帧等。这3 种帧的组成格式各不相同,通过理论分析这几种数据链路层帧格式的同时,利用Packet tracer 仿真软件仿真实现这3 种帧的结构,对于理解数据链路层帧结构乃至计算机网络原理至关重要[1]。

1 DIX V2 以太网帧、PPP 帧以及插入VLAN标记的802.1Q帧结构分析[1]

1.1 DIX V2 以太网帧结构

常见的以太网MAC 帧格式有两种标准,一种是DIX Ethernet V2 标准,其帧为Ethernet II帧,另一种是IEEE 802.3 标准,其帧为802.3 帧,其中使用较多的是以太网V2 的MAC 帧,假设网络层使用的是IP 协议,则该帧的格式如图1 所示。该帧由5 个字段组成,前两个字段分别是6 Byte的目的地址和6 Byte的源地址。第3 个字段是2 Byte 的类型字段,用来标志上一层使用的协议类型,该值为0x0800 表示上层使用IP数据报,该值为0x8137 表示该帧是由Novell IPX发来的。第4 个字段是数据字段,其长度为46 ~1 500 Byte之间。最后一个字段为4 Byte 的帧检验序列(FCS:Frame Check Sequence)。实际传送的要比MAC 帧还多8 Byte,目的是为了使适配器时钟与到达的bit流达成同步。这8 Byte 由两个字段组成,前一字段由7 Byte的前同步码,实现“bit 同步”,后一个字段是帧开始定界符,帧开始定界符的最后两个连续“1”告诉接收端适配器“MAC帧即将到来,请注意接收”。在使用SONET/SDH进行同步传输时不需要前同步码。因为在同步传输时收发双方的同步总是一直保持着。

图1 DIX V2以太网帧结构

1.2 PPP帧结构分析

PPP帧结构如图2 所示,PPP 帧的首部和尾部分别由4 个字段和2 个字段组成。

图2 PPP帧结构

首部由1 Byte 的标志字段F、1 Byte 的地址字段A、1 Byte的控制字段C以及2 Byte 的协议字段组成。其中标志字段的值为0x7E,表示帧的开始;地址字段值为0xFF;控制字段值为0x03;协议字段值为0x0021时表明PPP帧的信息字段为IP数据报,协议字段值为0xC021 时表明PPP帧的信息为链路控制协议LCP 数据,协议字段的值为0x8021 时表明PPP帧的信息为网络层控制数据。PPP 帧结构信息部分的长度是可变的,其值不超过1 500 Byte。PPP 帧结构的尾部由2 Byte使用循环冗余检验CRC(CRC:Cyclic Redundancy Check)的帧检验序列以及1 Byte 的标志字段F组成。F字段的值为0x7E,表示一个帧的结束。

1.3 插入VLAN标记的802.1Q帧结构分析

插入VLAN标记的802.1Q帧结构如图3 所示,它是在DIX V2 以太网帧的源地址字段和类型字段之间插入4 Byte的VLAN标记字段。VLAN 标记字段前2 Byte值为0x8100,称为802.1Q标记类型,后2 Byte为标记控制信息,其前3 bit是用户优先级字段,接着的1 bit 是规范格式指示符CFI(Canonical Format Indicator),最后的12 bit 是该虚拟局域网VLAN 标识符VID(VLAN ID)。

图3 插入VLAN标记的802.1Q帧结构

2 DIX V2以太网帧以及PPP帧结构仿真实现[2-6]

2.1 仿真环境结构设计及地址规划

构建如图4 所示的网络结构图,在该网络环境中可以同时实现以太网帧以及PPP 帧,在该网络结构中,主机PC1 和路由器R1 的f 0/0 接口之间传输以太网帧,路由器R1 的s0/0/0 接口和路由器R2 的s0/0/0 接口之间传输PPP帧,路由器R2 的接口f 0/0 和主机PC2 之间传输以太网帧。路由器实现了异构网络的互联。该网络地址规划如表1 所示。

图4 DIX V2以太网帧以及PPP帧仿真结构图

表1 网络地址规划

2.2 配置网络实现网络互联互通[7-9]

该网络结构由3 个网段组成,主机PC1 和路由器R1 之间传输以太网帧,网络地址为192.168.1.0;路由器R1 与R2 之间数据链路层使用串口相连封装PPP的广域网,传输PPP 帧,网络地址为192.168.2.0;路由器R2 和主机PC2 之间传输以太网帧,网络地址为192.168.3.0。利用路由器实现异构网络的互联,若要网络互联互通,需要配置接口的IP 地址,将路由器的串口封装PPP,最后在路由器上执行动态路由器协议,具体配置如下:

按照同样的步骤对路由器R2 做相应的配置,配置路由器R2 接口的IP地址,开启路由器动态路由协议RIP,将路由器s0/0/0 接口封装成PPP,主要配置如下:

最后按照表1 所示配置主机相关网络参数。配置完成后,整个网络就互联互通了。

2.3 仿真实现以太网帧和PPP帧

首先仿真实现以太网帧,为了抓取数据包,需要有数据的传输,将Packet Tracer 仿真模式从“Realtime mode”切换成“simulation mode”,从主机PC1 发一个ping 包给主机PC2,连续点击“play controls”下的“capture /Forward”按钮,得到如图5 所示的仿真结果。PC1 和路由器R1 之间传输的协议数据单元(Protocol Data Unite,PDU)为以太网帧,通过展开PC1 到R1 的“PDU Information at Device R1”,在“Inbound PDU Details”中得到DIX V2 以太网帧结构仿真图,如图5所示,该图中DIX V2 帧格式与图1 所示帧格式相符。其中源地址为主机PC1 的MAC 地址,目的地址为路由器R1 左边接口f0/0 的MAC 地址。类型字段值为0x0800,说明上层使用IP 数据报。帧的前面插入7 Byte的前同步码以及1 Byte的帧开始定界符。

其次仿真实现PPP 帧。路由器R1 与路由器R2之间传输数据链路层协议数据单元为PPP 帧,通过展开R1 到R2 的“PDU Information at Device R2”在“Inbound PDU Details”中得到PPP 帧结构如图6 所示,其格式与图2 所示帧格式相符。首部为:1 Byte 值为0x7E 标志字段FLG,1 Byte 值为0xFF 地址字段ADR、1 Byte值为0x03 控制字段CTR以及2 Byte值为0x0021 协议字段组成,该值表明信息字段为IP 数据报。尾部由FCS和FLG组成。

3 插入VLAN 标记的802. 1Q 帧结构仿真实现[10-12]

3.1 仿真环境结构设计及地址规划Z

图7 为使用4 个交换机的网络结构,有10 台计算机分配在3 个楼层中,构成了3 个局域网,即LAN1(A1,A2,B1,C1),LAN2(A3,B2,C2)以及LAN3(A4,B3,C3),将10 个用户划分3 个虚拟局域网,即VLAN10:(A1,A2,A3,A4),VLAN20:(B1,B2,B3)以及VLAN30:(C1,C2,C3)。

图5 DIX V2以太网帧结构仿真图

图6 PPP帧结构仿真图

图7 3个虚拟局域网VLAN10、VLAN20和VLAN30的构成

将该网络结构仿真实现,如图8 所示。

3.2 网络环境配置如下

为3 台交换机分别创建VLAN10、VLAN20 以及VLAN30,将计算机A1、A2、A3 以及A4 划分到VLAN10,将计算机B1、B2 以及B3 划分到VLAN20,将计算机C1、C2 以及C3 划分到VLAN30。同时将3 台交换机Switch1、Switch2 以及Switch3,它们与交换机Switch 4两两相连的接口配置成Trunk模式。具体配置过程如下:

图8 插入VLAN标记的802.1Q帧网络结构图

同样配置交换机Switch2 和Switch3。交换机Switch4 配置如下:

最后配置主机A1 和A4 的网络参数,将主机A1的地址配置为:192.168.1.10,子网掩码配置为255.255.255.0。主机A4 的IP 地址配置为:192.168.1.40,子网掩码配置为255.255.255.0。

3.3 仿真实现插入VLAN标记的802.1Q帧[13-15]

交换机Switch4 与交换机Switch1、Switch2 以及Switch3 之间传输的协议数据单元是802.1Q 帧,从主机A1 发1 个ping包给主机A4,传输VLAN10 数据信息,连续点击“play controls”下的“capture /Forward”按钮,得到如图8 所示的仿真结果。通过展开Switch1 ~Switch4 之间的“PDU Information at Device Switch4”,在“Inbound PDU Details”中得到如图9 所示802.1Q 以太网帧结构仿真结构图,该图中所示帧格式与图3 相符。图中VLAN标记由4 Byte 两部分组成,前2 Byte为802.1Q标记类型,其值为“0x8100”。后2 Byte 标记控制信息(Tag Control Information,TCI)的值为“0xa”其二进制为:“0000000000001010”,前3 bit是用户优先级字段,接着的1 bit 是规范格式指示符(Canonical Format Indicator,CFI),最后的12 bit“000000001010”是该虚拟局域网VLAN 标识符VID(VLAN ID),其值为10,与传输VLAN 10 信息相符。

图9 插入VLAN标记的802.1Q帧结构仿真图

4 结 语

数据链路层位于网络的低层,不同的网络类型其数据链路层帧结构不相同,掌握数据链路层各种帧结构对于理解计算机网络原理至关重要。通过Packet tracer仿真软件构建网络结构,配置网络环境,最终实现帧结构,对于理解数据链路层帧结构起到事半功倍的效果。

猜你喜欢
链路层字段以太网
图书馆中文图书编目外包数据质量控制分析
基于多空间内存共享的数据链路层网络包捕获方法
卫星网络中的TCP 跨层技术研究
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
一种基于PCI接口的1394B总线的设计与实现
谈实时以太网EtherCAT技术在变电站自动化中的应用
浅谈EPON与工业以太网在贵遵高速公路中的应用
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述
万兆以太网在连徐高速公路通信系统改造中的应用