APP下载

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

2020-11-20唐灯平

实验室研究与探索 2020年10期
关键词:链路层字段以太网

唐灯平

(苏州大学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 帧等[1]。这3 种帧的组成格式各不相同,通过理论分析这几种数据链路层帧格式的同时,利用Packet tracer 仿真软件仿真实现这3 种帧的结构,对于理解数据链路层帧结构乃至计算机网络原理至关重要。

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

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]。

图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.1 仿真环境结构设计及地址规划

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

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

表1 网络地址规划

2.2 配置网络实现网络互联互通

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

首先配置路由器R1

R1(config)#interface serial 0 / 0 / 0

/ /进入路由器R1的s0 / 0 / 0口

R1(config-if)#ip address 192.168.2.1 255.255.255.0 / /为接口配置IP地址

R1(config-if)#clock rate 64000

/ /为接口配置时钟频率

R1(config-if)#encapsulation ppp

/ /配置接口封装PPP协议

R1(config-if)#no shu

/ /激活接口

R1(config-if)#exit

/ /退出

R1(config)#interface fastEthernet 0 / 0

/ /进入路由器fa0 / 0接口

R1(config-if)#ip address 192.168.1.1 255.255.255.0 / /为接口配置IP地址

R1(config-if)#no shu / /激活接口

R1(config-if)#exit / /退出

R1(config)#route rip

/ /路由器执行RIP路由协议

R1(config-router)#network 192.168.1.0

/ /宣告网段

R1(config-router)#network 192.168.2.0

/ /宣告网段[5]

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

R2(config)#route rip

/ /路由器执行路由协议RIP

R2(config-router)#network 192.168.2.0

/ /宣告网段

R2(config-router)#network 192.168.3.0

/ /宣告网段

R2(config-router)#exit

/ /退出

R2(config)#interface serial 0 / 0 / 0

/ /进入路由器接口s0 / 0 / 0

R2(config-if)#encapsulation ppp

/ /配置接口封装PPP

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

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

首先仿真实现以太网帧,为了抓取数据包,需要有数据的传输,将Packet Tracer 仿真模式从“Realtime mode”切换成“simulation mode”,从主机PC1 发一个ping 包给主机PC2,连续点击“play controls” 下的“capture / Forward”按钮,得到如图5 所示的仿真结果[7]。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组成[8]。

3 插入VLAN 标记的802.1Q 帧结构仿真实现

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

图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模式[9]。具体

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

配置过程如下:

首先配置交换机Switch1

Switch1(config)#vlan 10 / /为交换机创建VLAN10

Switch1(config-vlan)#vlan 20 / /为交换机创建VLAN20

Switch1(config-vlan)#vlan 30 / /为交换机创建VLAN30

Switch1(config-vlan)#exit / /退出

Switch1(config)#interface range fastEthernet 0 / 1-8

/ /进入交换机端口

Switch1(config-if-range)#switchport access vlan 10

/ /接口划分到VLAN10

Switch1(config-if-range)#exit / /退出

Switch1(config)#interface range fastEthernet 0 / 9-16

/ /进入交换机端口

Switch1(config-if-range)#switchport access vlan 20

/ /接口划分到VLAN20

Switch1(config-if-range)#exit / /退出

Switch 1(config-if-range)#interface range fastEthernet 0 / 17-

23 / /进入端口Switch 1(config-if-range)#switchport access vlan 30 / /接口划分到VLAN30[10-11]

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

Switch4(config)#vlan 10

/ /创建VLAN10 Switch4(config-vlan)#vlan 20

/ /创建VLAN20 Switch4(config-vlan)#vlan 30

/ /创建VLAN30 Switch4(config-vlan)#exit

/ /退出

Switch 4(config)#interface range gigabitEthernet 0 / 1-2 / /

进入接口g0 / 1-2

Switch 4(config-if-range)#switchport mode trunk / /将接口配置成trunk模式

Switch 4(config)#interface fastEthernet 0 / 24 / /进入接口f0 / 24

Switch 4(config-if)#switchport mode trunk / /将接口配置成Trunk模式

最后配置主机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 所示的仿真结果[12-13]。通过展开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 信息相符[14-15]。

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

4 结 语

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

猜你喜欢

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