原理概述
帧中继(Frame Relay)是一种面向连接的数据链路层技术,主要用在公共或专用网上的局域网互联以及广域网连接。
帧中继协议是一种简化的2.5X的广域网协议,它在控制层面上提供虚电路的管理、带宽管理和防止阻塞等功能。在传送数据时使用的传输链路是逻辑连接,而不是物理连接。在一个物理连接上可以复用多个逻辑连接,实现带宽的复用和动态分配,帧透明传输和错误检测,但不提供重传操作。与传统的电路交换相比,帧中继网络有利于多用户、多速率数据的传输,也充分利用了网络资源。
帧中继网络两端的设备用虚电路来连接。每条虚电路是用数据链路连接标识符定义的一条帧中继连接通道,提供了用户设备(如路由器和主机等)之间进行数据通信的能力。帧中继网络的相关术语如下:
●DTE(Data Terminal Equipment,数据终端设备):通常指用户侧的主机或终端等;
●DCE(Data Circuit-terminating Equipment,数据电路终结设备):为用户设备提供接入的设备,属于网络设备,如帧中继交换机;
●DLCI(Data Link Connection Identifier,数据链路连接标识):虚链路接口的标识。帧中继能够在单一物理传输线路上提供多条虚电路,虚电路通过DLCI来区分;
●PVC(Permanent Virtual Circuit,永久虚电路):永久虚电路是指给用户提供固定的虚电路,该电路一旦建立,则链路永远生效,除非管理员手动删除。PVC用于两端之间频繁的、流量稳定的数据传输。
逆向地址解析协议(Inverse ARP)的主要功能是求解每条虚电路连接的对端设备的IP地址。如果知道了某条虚电路连接的对端设备的IP协议地址,在本地就可以生成对端IP地址与DLCI的映射(MAP),从而避免手工配置地址映射。
实验目的
实验内容
本实验模拟企业网络场景。公司A的总部和分部分别设在不同地方,总部路由器R1和分部路由器R2通过帧中继网络相连,总部与分部之间申请了一条PVC。由于业务的发展,公司A与公司B有了密切的业务来往,公司B路由器R3也采用帧中继并使用动态映射方式与公司A相连,即只能与公司A总部直接通信。现需要采用帧中继子接口配置和静态路由使R3能通过R1访问R2,实现全网全通。
实验编址
设备 | 接口 | IP地址 | 子网掩码 | 默认网关 | DLCI |
R1 | Serial 1/0/0 | 11.1.1.1 | 255.255.255.0 | N/A | 102 |
Serial 1/0/0.1 | 22.1.1.1 | 255.255.255.0 | N/A | 103 | |
R2 | Serial 1/0/0 | 11.1.1.2 | 255.255.255.0 | N/A | 201 |
R3 | Serial 1/0/0 | 22.1.1.3 | 255.255.255.0 | N/A | 301 |
实验拓扑
实验步骤
1.基本配置
根据实验编址表进行相应的基本IP地址配置。
在帧中继交换机上配置两条PVC,R1和R2一条,R1和R3一条。
⑴在帧中继交换机上建立一条PVC,这条PVC在 S0/0/1 接口上分配DLCI为102,在 S0/0/2 接口上分配DLCI201,二者同属一条PVC。如下图:
⑵ 在帧中继交换机上建立另一条PVC,这条PVC在S0/0/1接口上分配DLCI为103,在S0/0/3接口上分配DLCI 301,二者同属于另一条PVC。如下图:
2.静态与动态映射的配置
帧中继接口在转发数据包时必须查找帧中继地址映射表来确定下一跳的 DLCI 。地址映射表中存放对端IP地址和下一跳的DLCI的映射关系。只有找到相应的映射表项,才能完成二层帧中继报头的封装,这个机制类似于以太网中的ARP机制。该地址映射表可以手动配置(静态),也可以使用Inverse ARP协议来自动建立(动态)。
公司A总部使用动态映射,在R1的S1/0/0接口配置链路层协议为FR,并使用 fr inarp 命令允许帧中继逆向地址解析功能自动生成地址映射表。
[R1]int s1/0/0
[R1-Serial1/0/0]link-
[R1-Serial1/0/0]link-protocol fr
Warning: The encapsulation protocol of the link will be changed. Continue? [Y/N] :y
[R1-Serial1/0/0]fr inarp
注意,默认情况下,串行接口使用的链路层协议为PPP,当试图改变接口默认的封装方式的时候,路由器会弹出一个警告,输入“y”即可。此外,帧中继接口的逆向地址解析功能默认是开启的,所以 fr inarp 命令可以不配置。
公司A分部由于只需要与总部通信即可,使用静态映射,在R2的S1/0/0接口下配置链路层协议为FR,关闭逆向解析功能,使用 fr map ip 命令手工配置R1的IP地址与DLCI的静态映射。
[R2]int s1/0/0
[R2-Serial1/0/0]link-protocol fr
Warning: The encapsulation protocol of the link will be changed. Continue? [Y/N]:y
[R2-Serial1/0/0]undo fr inarp
[R2-Serial1/0/0]fr map ip 11.1.1.1 201
将R1的IP地址与R2本端DLCI 201 配置为一条静态地址映射,即R2通过下一跳DLCI 201来访问R1。
默认情况下,帧中继不支持广播或组播数据的转发。如果需要在帧中继上运行一些动态路由协议,比如OSPF协议,需要在静态映射后面添加broadcast参数,从而使PVC能够正常发送来自路由协议的广播或组播流量。
[R2-Serial1/0/0]fr map ip 11.1.1.1 201 broadcast
配置完成后,在R1与R2上使用 display fr pvc-info 命令查看PVC的建立情况。
PVC statistics for interface Serial1/0/0 (DTE, physical UP)
DLCI = 102, USAGE = UNUSED (00000000), Serial1/0/0
create time = 2021/11/16 16:34:42, status = ACTIVE
InARP = Enable, PVC-GROUP = NONE
in packets = 6, in bytes = 2018634629120
out packets = 23, out bytes = 980
DLCI = 103, USAGE = UNUSED (00000000), Serial1/0/0
create time = 2021/11/16 16:50:52, status = ACTIVE
InARP = Enable, PVC-GROUP = NONE
in packets = 0, in bytes = 0
out packets = 1, out bytes = 30
PVC statistics for interface Serial1/0/0 (DTE, physical UP)
DLCI = 201, USAGE = LOCAL (00000100), Serial1/0/0
create time = 2021/11/16 16:41:22, status = ACTIVE
InARP = Disable, PVC-GROUP = NONE
in packets = 15, in bytes = 3178275799040
out packets = 6, out bytes = 470
可以观察到,R1上有两条PVC,R2上有一条PVC,都为激活状态。
使用ping命令测试R1与R2之间的连通性:通信正常。
PING 11.1.1.2: 56 data bytes, press CTRL_C to break
Reply from 11.1.1.2: bytes=56 Sequence=1 ttl=255 time=20 ms
Reply from 11.1.1.2: bytes=56 Sequence=2 ttl=255 time=30 ms
Reply from 11.1.1.2: bytes=56 Sequence=3 ttl=255 time=10 ms
Reply from 11.1.1.2: bytes=56 Sequence=4 ttl=255 time=30 ms
Reply from 11.1.1.2: bytes=56 Sequence=5 ttl=255 time=1 ms
3.子接口配置和静态路由
由于业务需要,公司B需要和公司A互相通信。
公司B和公司A总部之间互联IP网段使用22.1.1.0/24。在R3的 S1/0/0 接口配置链路层协议为 FR,并保持默认开启的逆向地址解析功能。
[R3]int s1/0/0
[R3-Serial1/0/0]link-protocol fr
Warning: The encapsulation protocol of the link will be changed. Continue? [Y/N]:y
配置完成后,在R3上使用display fr pvc-info 命令查看PVC建立情况。
P VC statistics for interface Serial1/0/0 (DTE, physical UP)
DLCI = 301, USAGE = UNUSED(00000000), Serial1/0/0
create time = 2021/11/16 17:10:51, status = ACTIVE
InARP = Enable, PVC-GROUP = NONE
in packets = 4, in bytes = 515396075520
out packets = 4, out bytes = 120
可以观察到,R3的PVC已经激活。
为实现与R1的互通,需要在R1上创建子接口 S1/0/0.1 ,配置与R3同网段的IP地址,并手工指定本地DLCI配置虚电路。
[R1]int s1/0/0.1
[R1-Serial1/0/0.1]ip address 22.1.1.1 24
[R1-Serial1/0/0.1]fr dlci 103
默认情况下,帧中继交换机分配的DLCI都关联到用户设备的物理接口上,而子接口关联的DLCI需要手动指定。
配置完成后,测试R1与R3之间能否正常通信。
PING 22.1.1.3: 56 data bytes, press CTRL_C to break
Reply from 22.1.1.3: bytes=56 Sequence=1 ttl=255 time=40 ms
Reply from 22.1.1.3: bytes=56 Sequence=2 ttl=255 time=20 ms
Reply from 22.1.1.3: bytes=56 Sequence=3 ttl=255 time=20 ms
Reply from 22.1.1.3: bytes=56 Sequence=4 ttl=255 time=30 ms
Reply from 22.1.1.3: bytes=56 Sequence=5 ttl=255 time=20 ms
可以观察到,R1与R3已经正常通信。测试R2与R3间能否正常通信。
PING 11.1.1.2: 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
无法正常通信。这是因为R2与R3不在同一个网段上,需要有到达对方的路由才能连通。
为了使R2与R3之间能够互相通信,在R3上配置静态路由,目的地址为R2,下一跳为R1的子接口;同样在R2上也需要配置静态路由,目的地址为R3,下一跳为R1的S1/0/0接口地址。
[R3]ip route-static 11.1.1.2 32 22.1.1.1
[R2]ip route-static 22.1.1.3 32 11.1.1.1
再次测试R2与R3之间的连通性。
[R2]ping 22.1.1.3
PING 22.1.1.3: 56 data bytes, press CTRL_C to break
Reply from 22.1.1.3: bytes=56 Sequence=1 ttl=254 time=20 ms
Reply from 22.1.1.3: bytes=56 Sequence=2 ttl=254 time=30 ms
Reply from 22.1.1.3: bytes=56 Sequence=3 ttl=254 time=40 ms
Reply from 22.1.1.3: bytes=56 Sequence=4 ttl=254 time=20 ms
Reply from 22.1.1.3: bytes=56 Sequence=5 ttl=254 time=30 ms
可以发现,R3与R1之间可以正常通信。使用 tracert 命令查看它们之间的路径。
[R2]tracert 22.1.1.3
traceroute to 22.1.1.3(22.1.1.3), max hops: 30 ,packet length: 40,press CTRL_C
to break
1 11.1.1.1 30 ms 20 ms 20 ms
2 22.1.1.3 30 ms 20 ms 30 ms
[R3]tracert 11.1.1.2
traceroute to 11.1.1.2(11.1.1.2), max hops: 30 ,packet length: 40,press CTRL_C
to break
1 22.1.1.1 20 ms 20 ms 20 ms
2 11.1.1.2 30 ms 20 ms 20 ms
观察发现,R3和R2之间的流量经过了R1。至此,公司A与公司B所有的设备间都能够正常通信。