帧中继线路是中小企业常用的广域网线路,其通信费用较低。由于帧中继技术的一些特殊性使得帧中继的配置较为复杂,特别是在帧中继上运行路由协议时更是如此。作为入门,对帧中继的理解应着重放在DLCI、PVC、帧中继映射和子接口等概念上。本章通过几个实验详细介绍帧中继的关键概念。
8.1 帧中继简介
8.1.1 什么是帧中继
帧中继(Frame Relay ,FR)是面向连接的第2 层传输协议,帧中继是典型的包交换技术。相比而言,同样带宽的帧中继通信费用比DDN 专线要低,而且允许用户在帧中继交换网络比较空闲的时候以高于ISP 所承诺的速率进行传输。
8.1.2 帧中继的合理性
用户经常需要租用线路把分散在各地的网络连接起来,如图1所示,如果采用点到点的专用线路(如DDN),ISP 需要给每个地方的路由器拉4 地物理线路,同时每个路由器需要有4 个串口。帧中继网络拓扑图2所示,每个路由器只通过一条线路连接到帧中继云上,线路的代价大大降低,每个路由器也只需要一个串行接口。
8.1.3 DLCI
DLCI(Data Link Circiut Identification,数据链路连接标识符)实际上就帧中继网络中的第2层地址。如图所示,当路由器R1 要把数据发向路由器R2(IP 地址为123.123.123.2)时,路由器R1可以用DLCI=102 来对IP 数据包进行第2 层的封装。数据帧到达帧中继交换机后,帧中继交换机根据帧中继交换表进行交换:从S1 接口收到一个DLCI 为102 的帧时,交换机将把帧从S2 接口发送出去,并且发送出去的帧的DLCI 改为201。这样路由器R2 就会接收到R1发来的数据包。而当路由器R2 要发送数据给R1(IP 地址为123.123.123.2)时,路由器R2 可以用DLCI=201 来对IP数据包进行第2 层的封装,数据帧到达帧中继交换机后,帧中继交换机同样根据帧中继交换表进行交换:当从S2 接口收到一个DLCI 为201 的帧时,交换机将把帧从S1 接口发送出去,并且发送出去的帧的DLCI 改为102,这样路由器R1 就会接收到R2 发来的数据包。
通过以上分析可以知道,DLCI 实际上就是IP 数据包在帧中继链路上进行封装时所需的第2 层地址。图中各路由器的第3 层地址和第2 层地址映射如下:
R1:123.123.123.2→102
123.123.123.3→103
R2:123.123.123.1→201
123.123.123.3→203
R3:123.123.123.1→301
123.123.123.2→302
帧中继的一个非常姝特性是NBMA(非广播多路访问)。在图8-2 中,如果路由器在DLCI 为102 的PVC 上发送一个广播,路由器R2 可以收到,然而R3 是无法收到的。如果R1 发送的广播想R2 和R3 都收到,必须分别在DLCI 为102和103 的PVC 上各发送一次,这就是非广播的含义。多路访问的意思是帧中继网络是多个设备接在同一网络介质上,以太网也是多路访问网络。
8.1.4 帧中继术语
- 永久虚电路(PVC):虚电路是永久建立的链路,由ISP 在其帧中继交换机静态配置交换表实现。不管电路两端的设备是否连接上,ISP 总是为它保留相应的带宽。
- 数据链路连接标识符(DLCI):一个在路由器和帧中继交换机之间标识PVC 或者SVC 的数值。
- 本地管理接口(LMI):是路由器和帧中继交换机之间的一种信令标准,负责管理设备之间的连接及维护其连接状态。
- 承诺信息速率(Committed Information Rate,CIR):也叫保证速率,是ISP 承诺将要提供的有保证的速率,一般为一段时间内(承诺速率测量间隔T)的平均值,其单位为bps。
- 超量突发(Excess Brust,EB):在承诺信息速率之外,帧中继交换机试图发送而未被准许的最大额外数据量,单位为bit。超量突发依赖于服务提供商提供的服务状况,但它通常受到本地接入环路端口速率的限制。
8.1.5 LMI
LMI(Local Management Interface)提供了一个帧中继交换机和路由器之间的简单信令。在帧中继交换机和路由器之间必须采用相同的LMI 类型,Cisco 路由器在较高版本(11.2 以后)的IOS 中具有自动检测LMI 类型的功能。配置接口LMI 类型的命令为”encapsulation frme-relay[cisco | ietf]”。路由器人帧中继交换机收到LMI 信息后,可以得知PVC 状态。这3 种PVC 状态是:
- 激活状态(Active):本地路由器与帧中继交换机的连接是启动且激活的,可以与帧中继交换交换数据;
- 非激活状态(Inactive):本地路由器与帧中继交换机的连接是启动且激活的,但PVC 另一端的路由器未能与它的帧中继交换机通信;
- 删除状态(Deleted):本地路由器没有从帧中继交换机上收到任何LMI,可能线路或网络有问题,或者配置了不存在的PVC。
8.1.6 帧中继映射
DLCI 是帧中继网络中的第2 层地址。路由器要通过帧中继网络把IP 数据包发到下一跳路由器时,它必须知道IP 和DLCI 的映射才能进行帧的封装。有两种方法可以获得该映射:一种是静态映射,由管理员手工输入;另一种是动态映射。默认情况下,路由器帧中继接口是开启动态映射。
1.静态映射
管理员手工输入的映射就为静态映射,其命令为:
frame-relay map ip protocol address dlci [broadcast]
其中,
protocol:协议类型
address:网络地址
dlci:为所需交换逆向ARP 信息的本地接口的DLCI 号
broadcast:参数表示允许在帧中继线路上传送广播或组播信息
例如:R1(config-if)#frame map ip 123.123.123.2 102 broadcast
2.动态映射
IARP(Inverse Arp ,逆向ARP)允许路由器自动建立帧中继映射,其工作原理如图所示:
- 路由器R1 从DLCI=102 的PVC 上发送IARP 包,IARP 包中有R1 的IP 地址12.12.12.1;
- 帧中继云对数据包进行交换,最终把IARP 包通过DLCI=201 的PVC 发送给R2;
- 由于R2 是从201 的PVC 上接收到该IARP 包的,因此R2 会建立一个映射;12.12.12.1→201;
- 同样,R2 也发送IARP 数据包,R1 收到该IARP 包,也会自动建立一个映射12.12.12.2→102;
8.1.7 子接口
子接口实际上是一个逻辑的接口,并不存在真正物理上的子接口。子接口有两种类型:占到点和点到多点。当采用点到点子接口时,每一个子接口用来连接一条PVC,每条PVC 的另一端连接到另一路由器的一个子接口或物理接口,这种子接口的连接与通过物理接口连接的点对点连接交换果是一样的。每一对点对点的连接都是在不同的子网上。
一个点到多点子接口被用来建立多条PVC,这些PVC 连接到远端路由器的多点子接口或物理接口。这时,所有加入连接的接口(不管是物理接口还是子接口)都应该在同一个子网上。点到多点子接口和一个没有配置子接口的物理主接口相同,路由更新要受到水平分割的限制。默认情况下,多点子接口水平分割是开启的。
8.2 实验1:把一台Cisco 路由器配置为帧中继交换机
1.实验目的
通过本实验,可以掌握如下技能:
①理解帧中继交换机的工作原理;
②理解PVC 的概念;
③用路由器充当帧中继交换机的配置。
2.实验拓扑
3.实验步骤
这里我们只关心R2 的配置
(1)步骤1:开启帧中继交换功能
R2(config)frame-relay switching //把该路由器当成帧中继交换机
(2)步骤2:配置接口封装
R2(config)#int s0/0/0
R2(config-if)#no shutdown
R2(config-if)#clock rate 128000 该接口为DCE,要配置时钟
R2(config-if)#encapsulation frame-relay
//”encapsulation frame-relay [ietf]”命令用来配置接口封装成帧中继,封装类型为frame-relay(为了配置帧中继接口,必须选择在每一端封装数据流量的封装类型。有两种可能的帧中继封装:Cisco封装和IETF封装。缺省情况下,一个接口使用Cisco帧中继封装方法。该方法在Cisco中优先选用,但如果路由器在帧中继网络中与另一个厂商的网络设备相连,则不应该使用这种方法。
R2(config)#int s0/0/1
R2(config-if)#no shutdown
R2(config-if)#clock rate 128000
R2(config-if)#encapsulation frame-relay
R2(config)#int s0/1/0
R2(config-if)#no shutdown
R2(config-if)#clock rate 128000
R2(config-if)#encapsulation frame-relay
(3)步骤3:配置LMI 类型
R2(config)int s0/0/0
R2(config-if)frame-relay lmi-type cisco
//”frame-relay lmi-type{ansi | cisco |q933a}”命令用来配置LMI 的类型,默认时是cisco
R2(config-if)frame-relay lmi-type dce
“frame-relay lmi-type{dec | dte}”命令用来配置接口是帧中继的DCE 还是DTE,要注意的是这里的帧中继DEC 和s0/0/0 接口是DCE 还是DTE 无关,也就是说即使s0/0/0 是DTE,也可以把它配置成帧中继的DCE
R2(config)int s0/0/1
R2(config-if)frame-relay lmi-type cisco
R2(config-if)frame-relay lmi-type dce
R2(config)int s0/1/0
R2(config-if)frame-relay lmi-type cisco
R2(config-if)frame-relay lmi-type dce
(4)步骤4:配置帧中继交换表
R2(config)#int s0/0/0
R2(config-if)#frame-relay route 103 interface s0/0/1 301
R2(config-if)#frame-relay route 104 interface s0/0/1 401
//”frame-relay route 103 interface s0/0/1 301”命令是配置帧中继交换表的,告诉路由器如果从该接口收到DLCI=103 的帧,从s0/0/1 交换出去,并且将DLCI 改为301
R2(config)#int s0/0/1
R2(config-if)#frame-relay route 301 interface s0/0/1 103
R2(config)#int s0/1/0
R2(config-if)#frame-relay route 401 interface s0/0/1 104
4.实验调试
可以使用”show frmae-relay route”,”show frame pvc”和”show frame lmi”等命令检查帧中继交换机是否正常。
(1)”show frame-relay route”
R2#show frame-relay route
Input Intf Input Dlci Output Intf Output Dlci Status
Serial0/0/0 103 Serial0/0/1 301 inactive
Serial0/0/0 104 Serial0/1/0 401 inactive
Serial0/0/1 301 Serial0/0/0 103 inactive
Serial0/0/1 401 Serial0/0/0 104 inactive
(2)”show frame pvc”
PVC Statistics for interface Serial0/0/0(Frame Relay DCE)
Active Inactive Deleted Static
Local 0 0 0 0
Switched 0 2 0 0
Unused 0 0 0 0
DLCI = 103,DLCI USAGE = SWITCHED,PVC STATUS = INACTIVE,INTERFACE = Serial0/0/0
//由于PVC 还未被使用,所以状态为inactive
input pkts 0 output pkts 0 in bytes 0
out bytes 0 dropped pkts 0 in pkts dropped 0
out pkts dropped 0 out bytes dropped 0
in FECN pkts 0 in BECN pkts 0 out FECN pkts 0
out BECN pkts 0 in DE pkts 0 out DE pkts 0
out bcast pkts 0 out bcast bytes 0
30 second input rate 0 bits/sec, 0 packets/sec
30 second output rate 0 bits/sec, 0 packets/sec
switched pkts 0
Detailed packet drop counters;
no out intf 0 out intf down 0 no out PVC0
in PVC down 0 out PVCdown 0 pkt too big 0
shaping Q full 0 pkt above DE 0 policing drop 0
pvc create time 00;07;31,last time pvc status changed 00;06;01
8.3 实验2:帧中继基本配置和帧中继映射
1.实验目的
通过本实验,可以掌握如下技能:
①帧中继的基本配置;
②帧中继的动态映射;
③帧中继的静态映射。
2.实验拓扑
3.实验步骤
在实验1 的基础上进行实验2.在图8-4 中,我们已经模拟出了帧中继交换机,现配置R1,R3 和R4,使它们能够互相通信,配置步骤如下:
(1)帧中继接口基本配置
R1(config)#int s0/0/0
R1(config-if)#ip address 192.168.123.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)encapsulation frame-relay
//使用”encapsulation frame-relay[ietf]”命令配置帧中继封装类型。帧中继有两种封装类型:cisco 和(InternetEngineering Task Force)。对于cisco 路由器,cisco 是它的默认值;对于非cisco 路由器,须选用ietf 类型。但国内帧中继线路一般为ietf 类型的封装,我们这里由于上面的帧中继交换机中封装类型是cisco,所以选择cisco
R1(config-if)#frame-relay lmi-type cisco
//如果采用的IOS 是11.2 或以后版本的,路由器可以自动适应LMI 类型,则本步骤可不做。国内帧中继线路一般采用ansi 的LMI 信令类型,这里采用的是cisco
R3(config)#int s0/0/0
R3 (config-if)#ip address 192.168.123.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)encapsulation frame-relay
R4(config)#int s0/0/0
R4(config-if)#ip address 192.168.123.4 255.255.255.0
R4(config-if)#no shutdown
R4(config-if)encapsulation frame-relay
(2)测试连通性
从各个路由器ping 其他路由器
R1#ping 192.168.123.3
Type escape sequence to abort.
Sending 5,100-byte ICMP Echos to 192.168.123.3,timeout is 2 seconds;
!!!!!
Success rate is 100 percent (5/5),round-trip min/avg/max = 28/28/28 ms
R1#ping 192.168.123.4
Type escape sequence to abort.
Sending 5,100-byte ICMP Echos to 192.168.123.4,timeout is 2 seconds;
!!!!!
Success rate is 100 percent (5/5),round-trip min/avg/max = 28/28/28 ms
R1#show frame-relay map
Serial0/0/0(up); ip 192.168.123.3 dlci 103(0x67,0x1870),dynamic,
broadcast,status defined,active
Serial0/0/0(up); ip 192.168.123.4 dlci 103(0x68,0x1880),dynamic,
broadcast,status defined,active
//时,帧中继接口开启了动态映射,会自动建立帧中继,”dynamic”表明这是动态映射
R1#show frame-relay pvc
PVC Statistics for interface Serial0/0/0 (Frame Relay DTE)
Active Inactive Deleted Static
Local 2 0 0 0
Switched 0 0 0 0
Unused 0 0 0 0
DLCI = 103,DLCI USAGE = LOCAL,PVC STATUS = ACTIVE,INTERFACE = Serial0/0/0
//可以看到DLCI=103 的PVC 状态为inactive
input pkts 11 output pkts 11 in bytes 1074
out bytes 1074 dropped pkts 0 in pkts dropped 0
out pkts dropped 0 out bytes dropped 0
in FECN pkts 0 in BECN pkts 0 out FECN pkts 0
out BECN pkts 0 in DE pkts 0 out DE pkts 0
out bcast pkts 1 out bcast bytes 34
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
switched pkts 0
Detailed packet drop counters;
No out intf 0 out intf down 0 no out PVC0
In PVC down 0 out PVCdown 0 pkt too big 0
Shaping Q full 0 pkt above DE 0 policing drop 0
pvc create time 00;07;31,last time pvc status changed 00;06;01
(3)手工配置帧中继映射
默认情况,路由器支持IARP。若IARP 未打开,可以用下列命令设置:
R1(config-if)#frame-relay inverse-arp
也可以关闭IARP,使用静态映射,命令:“frame-relay map ip address dlci[broadcast]”
这里的broadcast 参数是允许该帧中继链路通过多播或广播包,如果帧中继链路上要运行路由协议,该参数则非常重要。
R1(config)#int s0/0/0
R1(config-if)#no frame-relay inverse-arp //关闭自动映射
R1(config-if)frame-relay map ip 192.168.123.3.103 broadcast
R1(config-if)frame-relay map ip 192.168.123.4.104 broadcast
R1(config)#int s0/0/0
R1(config-if)#no frame-relay inverse-arp
R1(config-if)frame-relay map ip 192.168.123.1.301 broadcast
R1(config)#int s0/0/0
R1(config-if)#no frame-relay inverse-arp
R1(config-if)frame-relay map ip 192.168.123.1.401 broadcast
4.实验调试
可以使用”show frame-relay map”,”show frame pvc”和”show frame lmi”等命令检查帧中继交换机是否正常。
R1#show frame-relay map
Serial0/0/0(up);ip 192.168.123.3 dlci 103(0x67,0x1870),dynamic,
broadcast,status defined,active
从命令输出中可以得到的信息如下所述。
- 192.168.123.3:映射到103;
- Dynamic:表明是动态映射;
- Broadcast:该PVC 允许广播包的通过;
- Active:该PVC 是激活的。
以上命令很重要,如果在映射表中不存在映射,路由器将无法通信。可以使用”clear frame-relay inarp”命令清除无效的帧中继映射表。
R1#show frame-relay pvc
DLCI = 103,DLCI USAGE=LOCAL,PVC STATUS=ACTIVE,INTERFACE= Serial0/0/0
input pkts 102024 output pkts 116191 in bytes 13974906
out bytes 14707805 dropped pkts 0 in FECN pkts 287
in BECN pkts 290 out FECN pkts 0 out BECN pkts 0
in DE pkts 102024 out DE pkts 0
pvc create time 1w1d,last time pvc status changed 1w1d
从命令输出中可以得到的信息如下所述。
- DLCI = 103:表明该PVC 的DLCI 为103.
- PVC STATUS = ACTIVE:表明PVC 的状态是激活的;若PVCSTATUS = INACTIVE——表明远端路由器没有正确配置;若PVC STATUS = DELETED——表明输入了错误的DLCI,该PVC 不存在。
R1#show frame-relay lmi
LMI Statistics for interface Serial0/0(Frame Relay DTE)LMI TYPE = CISCO
Invalid Unnumbered info 0 Invalid Port Disc 0
Invalid dummy Call Ref 0 Invalid Msg Type 0
Invalid Status Message 0 Invalid Lock Shift 0
Invalid Information ID 0 Invalid Report IE Len 0
Invalid Report Request 0 Invalid Keep Ie Len 0
Num Status Enq.Sent 74859 Num Status msgs Rcvd 74857
Num Update Status Rcvd 0 Num Status Timeouts 2
从命令输出中可以得到的信息如下所述。
- LMI TYPE = CISCO:表明帧中继LMI 类型为cisco;
- Frame Relay DTE:这是帧中继DTE;
- Num Status Enq.Sent 74859:表明路由器向帧中继交换机发送的LMI 状态查询消息的数量;
- Num Status msgs Rcvd 74857:表明路由器从帧中继交换机收到的LMI 状态信息的数量。
8.7 帧中继命令汇总
命令 作用
frame-relay switching 把路由器当成帧中继交换机
encapsulation frame-relay 接口封装成帧中继
frame-relay lmi-type cisco 配置LMI 的类型
frame-relay intf-type dce 配置接口是帧中继的DCE 还是DTE
frame-relay route 配置帧中继交换表
show frame-relay route 显示帧中继交换表
show frame pvc 显示帧中继PVC 状态
show frame lmi 显示帧中继LMI 信息
show frame-relay map 查看帧中继映射
no frame-relay inverse-arp 关闭帧中继自动映射
ip split-horizon 打开水平分割
int s0/0/0.1 multipoint 创建点到多点子接口
int s0/0/0.3 point-to-point 创建点到点子接口
frame-relay interface-dlci 104 在点到点子接口上配置DLCI