session 1 Frame-relay 帧中继
FR于1990年首次被标准化。已经取代X.25技术,它简化了第2层的功能,是一种面向连接的数据链路技术,为提供高性能和高效率数据传输迚行了技术简化,它靠高层协议迚行差错校正,幵充分利用了当今光纤和数字网络技术。只提供基本的错误检测功能。典型速率56K-2M/s内。
FR工作在第二层(数据链接层),是是由国际电信联盟通信标准化组合美国国家标准化协会制定的一种WAN连接标准。FR可以说是一种二层的VPN
1、用户和服务商之间的连接称为用户-网络接口(UNI)。[UNI: User Network Interface]
2、不同服务商乊间的连接称为网络-网络接口(NNI)。[NNI: Network-Network Interface]
3、用户前端设备(CPE)(Customer Premises Equipment)
4、数据终端设备(DTE)连接帧中继交换机的路由器都作为数字终端设备[DTE: Data Terminal Equipment]
5、数据通信设备(DCE)连接路由器的帧中继交换机都作为数据设备[DCE: Data Circuit-Terminating Equipment]
6、帧中继网络的类型和途径:
FR网络是非广播多路访问(NBMA)网络。
FR连接运行在虚电路(VC)上,每条VC都由一个数据链路连接标识符(DLCI)标识。幵将此DLCI映射到一个IP地址。[DLCI: Data-Link Connection Identifier 用户数字控制标识]
VC分为:永久虚电路(PVC)、交换虚电路(SVC)。
PVC:需要丌断通过FR在DTE乊间传输数据时使用。PVC遵从LAP-D标准,没有控制字段;
SVC:用于间歇性的通过FR在DTE乊间传输数据。要考虑ISP是否支持。SVC遵从LAP-F标准
拓扑如下:
7、DLCI数据链路连接标识(Data Link Connection Identifier):
FR交换机将2台路由器的DLCI关联起来,从而创建1条PVC。
DLCI只具有本地意义。
DLCI的范围(16-1007)0-15和1008-1023被保留,1019和1020保留用于广播,1023保留用于Cisco LMI
0保留用于LMI类型的ANSI和Q.933A
DLCI地址映射:
要通过FR传输数据,必须将本地DLCI和目的IP地址关联。地址映射可手工静态配置,也可动态学习生成。动态生成时使用帧中继反向地址解析协议(IARP),一般不建议用,在复杂网络中不稳定。
8、本地管理接口(LMI)[LMI: Local Management Interface]
LMI是用于CPE和FR交换机乊间的一种信令标准,负责管理设备间的连接以及维护连接状态。LMI 信令协议可以通告PVC的增加和删除,也可以使帧中继交换机和帧中继数据终端设备乊间的数据丌被破坏
LMI是可以配置的,但路由器尝试自劢检测FR交换机使用的LMI类型。LMI 分为三种
Cisco. Cisco.
ANSI T1.617 Annex D. ANSI T1.617 Annex D. ANSI T1.617 Annex D.ANSI T1.617 Annex D. ANSI T1.617 Annex D. ANSI T1.617 Annex D. ANSI T1.617 Annex D. ANSI T1.617 Annex D.
ITU -T Q.933 Annex A T Q.933 Annex AT Q.933 Annex A T Q.933 Annex A T Q.933 Annex A T Q.933 Annex AT Q.933 Annex A T Q.933 Annex A .
在帧中继交换机和相连的帧中继数据终端设备中,LMI必须是同一种,帧中继提供商(帧中继交换机)一般会告诉用户他们使用的是哪种LMI
ANSI和Q933.A使用的DLCI值为0, CISCO使用的DLCI为1023。
9、Inverse ARP (逆向ARP,在帧中继中也有arp和I-arp和以外网的arp和r-arp一样)通过ip地址请求DLCI号
DTE端通过DCE端学习到PVC条目以后,逆向解析到对端DTE设备接口IP地址,缺省开启,通过接口命令no frame-relay invers-arp关闭.关闭解析会影响PVC的学习先打开逆向解析,完成解析后再把逆向解析no掉,将会导致不停报错。如果已经存在逆向解析,需要clear使用特权模式命令clear frame-relay inarpArp Frame-relay
关掉后,得到的结果是:对方如果解析我,我不做出任何回应。关闭逆向劢态映射后,FR接口下所有映射通过手工配置完成。
session 2 FR网络拓扑
1、全互联:每个站点之间都相互连接
2、星型:每个站点连接到总站点,通过总站点来通信
3、部分互联:每个站点连接到总站点,通过总站点来通信。子站点之间可以部分相连。
session 3 帧中继转发原理
1、现在已经没有帧中继交换机硬件了,都是使用路由器代替帧中继交换机。
2、帧中继交换机的转发原理:查看FR-Route表
上图为例子说明frame-relay的转发原理:
1、两端企业网关设备R2、R3分别需要配置帧中继arp,也就是需要将目的ip地址和出VC(DLCI号)号对应
2、FR-SW查看FR路由表,当从S4/0口收到一个DLCI为100的帧中继帧时,查看FR路由表发现路由条目中DLCI=100的目的对应的接口为S4/1,于是通过S4/1接口转发出去,从S4/1接口出去后DLCI变为50,这样当R3收到DLCI=50帧后就知道是给自己的,同理R3返回给R2的数据帧DLCI=50,R3查看自己的帧中继arp映射发现R2的ip地址对应的出VC(DLCI=50),于是从这条VC发出去被FR-SW收到,FR-SW收到DLCI=50的帧后查看帧中继路由表发现DLCI=50的帧需要从接口S4/0发出,于是就从S4/0接口发出去,并将DLCI换成100,这样R2收到后就知道是R3回给自己的帧了,就完成数据帧的转发。(当然DLCI的值是提前设置好的,需要再FR-SW中配置,而两端站点出口的R设备需要配置FR的arp映射,也就是目的ip对应的出VC的DLCI的号)
具体配置如下:
一、FR-SW中定义好VC的DLCI号,比如R2到R3的VC的DLCI=100,R3到R2的VC的DLCI=50。
FR-SW(config)#frame-relay switching 打开帧中继交换机功能
FR-SW(config)#interface s4/0 进入接口S4/0
FR-SW(config-if)#encapsulation frame-relay ? 接口封装帧中继默认是cisco标准,不过一般大多厂商的设备都支持(一般建议用子接口,后面介绍)
MFR Multilink Frame Relay bundle interface 多个帧中继捆绑,类似于EC多端口捆绑
ietf Use RFC1490/RFC2427 encapsulation ietf公有标准
FR-SW(config-if)#frame-relay intf-type dce 配置帧中继接口为dce,否则无法工作
FR-SW(config-if)#frame-relay route 100 interface s4/1 50 broadcast 帧中继路由配置,当从S4/0接口收到一个DLCI=100的帧后从S4/1接口转发出去,并将DLCI变为50,并支持广播/组播。如果没有路由条目将丢包,而不是泛红。
FR-SW(config)#exit
FR-SW(config)#interface s4/1
FR-SW(config-if)#encapsulation frame-relay
FR-SW(config-if)#frame-relay intf-type dce
FR-SW(config-if)#frame-relay route 50 interface s4/0 100 broadcast 从S4/1收到DLCI=100的从S4/0转发并DLCI=50,并支持广播/组播。
FR-SW(config)#exit
OK,帧中继交换机配置完成
二、两端的出口R配置
R2上面
R2(config)#intface S4/0
R2(config)#ip address 192.168.1.1 255.255.255.0
R2(config-if)#encapsulation frame-relay 封装FR
R2(config-if)#no frame-relay inverse-arp 关闭FR的I-arp自动学习功能,建议关闭否则网络复杂时出问题。
R2(config-if)#frame-relay map ip 192.168.1.2 100 手动映射FR的arp表,将目的ip1.2映射在出VC100(DLCI=100)中,就是说只要去往192.168.1.2的数据帧全部走DLCI=100的VC虚链路。有多个不同网段的目的ip的话就需要创建多个映射关系,就需要用到子接口了,因为主接口只能配置一个ip。至于DLCI为何=100,这是由FR-SW定义的,FR-SW通过接口发送LMI数据报文来告知两端R的(类似于LSA报文)。
R3上面
R2(config)#intface S4/1
R2(config)#ip address 192.168.1.2 255.255.255.0
R2(config-if)#encapsulation frame-relay 封装FR
R2(config-if)#no frame-relay inverse-arp
R2(config-if)#frame-relay map ip 192.168.1.1 50
查看帧中继配置
FR-SW#show frame-relay route
Input Intf Input Dlci Output Intf Output Dlci Status
Serial4/0 100 Serial4/1 50 active
Serial4/1 50 Serial4/0 100 active
R2#show frame-relay map
Serial4/0 (up): ip 192.168.1.2 dlci 100 (0x64,0x1840), static,
CISCO, status defined, active
R3#show frame-relay map
Serial4/1 (up): ip 192.168.1.1 dlci 50 (0x32,0xC20), static,
CISCO, status defined, active
R2#ping 192.168.1.2 repeat 9
Type escape sequence to abort.
Sending 9, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!!!!!
Success rate is 100 percent (9/9), round-trip min/avg/max = 20/27/64 ms
session 4 FR-SW的远程连接
拓扑如下:
1、帧中继交换机在跨远距离通信时会遇到中间设备无法识别帧中继帧而无法传输数据的情况,比如上图中R1分别需要和R2、R3建立PVC,R1为某企业上海的总部,R2、R3分别为深圳的两个分部,现在需要将2个分部通过FR技术与R1总部相连,但是由于跨距离较远上海的isp的FR-SW1与深圳的isp的FR-SW中间经过了iInternet的N个设备(这里用了2台交换机代替),由于这些设备没有使用FR技术,无法识别FR的数据帧,造成FR-SW1与FR-SW2的数据帧没有办法直接进行传输,如果要传输需要再两台FR-SW上做一条(以太网)隧道,这样帧中继数据传输的时候就被封装成以太网帧在隧道中传输了(相当于以太网帧做了载具,而帧中继帧在这个载具内,外面的设备根本不知道这个载具内承载的是什么,只是这个载具本身就是以太网帧,可以在Internet的封装和传输)。
2、R1要与R2、R3分别连接。而R2、R3两个分公司由各自有自己的网络,网络地址不一样(不同网段)。这就必须要求R1端设备支持2个以上的ip地址,所以在R1的S4/0接口上需要启用帧中继子接口来配置多ip地址和多VC。
假设R1总部网络使用192.168.1.0/24,R2子公司网络使用192.168.2.0/24,R3子公司网络使用192.168.3.0/24
具体配置如下:
第一步、R1子接口
R1(config)#interface s4/0
R1(config-if)#encapsulation frame-relay 物理接口需要先封装帧中继,才能创建FR的子接口
R1(config-if)#exit
R1(config)#interface s4/0.1 ?
multipoint Treat as a multipoint link 需要建立多条VC的时候(一般都用这个)
point-to-point Treat as a point-to-point link 只需要建立一条VC的时候,与物理端口上直接做相同
R1(config)#interface s4/0.1 multipoint 创建多点(VC)子接口
R1(config-subif)#no frame-relay inverse-arp 关闭arp自动学习
R1(config-subif)#ip address 192.168.2.1 255.255.255.0 配置与R2相连接的ip地址
R1(config-subif)#frame-relay map ip 192.168.2.2 122 建立目的R2的ip+DLCI的arp映射
R1(config)#interface s4/0.2 multipoint
R1(config-subif)#no frame-relay inverse-arp
R1(config-subif)#ip add 192.168.3.1 255.255.255.0 配置与R3相连接的ip地址
R1(config-subif)#frame-relay map ip 192.168.3.2 123 建立目的R3的ip+DLCI的arp映射
show frame-relay map
第二步、R2、R3配置映射,是否启用子接口看具体情况定,一般建议做子接口
R2(config)#interface s4/2
R2(config-if)#encapsulation frame-relay
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#interface s4/2.1 multipoint
R2(config-subif)#no frame-relay inverse-arp
R2(config-subif)#ip address 192.168.2.2 255.255.255.0
R2(config-subif)#frame-relay map ip 192.168.2.1 221
R2(config-subif)#exit
show frame-relay map
R3(config)#interface s4/3
R3(config-if)#encapsulation frame-relay
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#interface s4/3.1 multipoint
R3(config-subif)#no frame-relay inverse-arp
R3(config-subif)#ip address 192.168.3.2 255.255.255.0
R3(config-subif)#frame-relay map ip 192.168.3.1 321
R3(config-subif)#exit
show frame-relay map
第三步、FR-SW1和FR-SW2上配置tunnel及frame-relay
FR-SW1(config)#frame-relay switching
FR-SW1(config)#interface s4/0
FR-SW1(config-if)#encapsulation frame-relay
FR-SW1(config-if)#frame-relay intf-type dce
FR-SW1(config-if)#frame-relay route 122 f0/0 888
^
% Invalid input detected at ‘^‘ marker. 看到提示无此命令,是因为以外网接口不认识FR的帧,所以无法传出FR帧数据,这里就需要做tunnel隧道来和FR-SW2建立能传输FR的连接了。
FR-SW1(config-if)#exit
FR-SW1(config)#interface f0/0
FR-SW1(config-if)#ip address 56.1.1.1 255.255.255.0 配置ip用于隧道接口
FR-SW1(config-if)#exit
FR-SW1(config)#interface tunnel 1 创建虚拟隧道1,为R1与R2用
FR-SW1(config-if)#tunnel source f0/0 隧道1使用的接口f0/0
FR-SW1(config-if)#tunnel destination 56.1.1.2 隧道1的目的地址56.1.1.2
FR-SW1(config-if)#exit
FR-SW1(config)#interface tunnel 2 创建虚拟隧道2,为R1与R3用
FR-SW1(config-if)#tunnel source f0/0 隧道2使用的接口f0/0
FR-SW1(config-if)#tunnel destination 56.1.1.2 隧道1的目的地址56.1.1.2
FR-SW1(config-if)#exit
FR-SW1(config)#interface s4/0
FR-SW1(config-if)#frame-relay route 122 interface tunnel 1 888 帧中继路由条目(使用隧道),发给FR-SW2的(隧道)地址。当收到DLCI=122的帧时,通过tunnel 1口转发出去并将DLCI变为888。
FR-SW1(config-if)#frame-relay route 123 interface tunnel 1 999 帧中继路由条目(使用隧道),发给FR-SW2的(隧道)地址。当收到DLCI=123的帧时,通过tunnel 1口转发出去并将DLCI变为999。
FR-SW2
FR-SW2(config)#frame-relay switching
FR-SW2(config)#interface s4/2
FR-SW2(config-if)#encapsulation frame-relay
FR-SW2(config-if)#frame-relay intf-type dce
FR-SW2(config-if)#exit
FR-SW2(config)#interface s4/3
FR-SW2(config-if)#encapsulation frame-relay
FR-SW2(config-if)#frame-relay intf-type dce
FR-SW2(config-if)#exit
FR-SW2(config)#interface f0/0
FR-SW2(config-if)#no shutdown
FR-SW2(config-if)#ip address 56.1.1.2 255.255.255.0
FR-SW2(config-if)#exit
FR-SW2(config)#interface tunnel 1 创建隧道1,为R1与R2用
FR-SW2(config-if)#tunnel source f0/0 使用f0/0作为源
FR-SW2(config-if)#tunnel destination 56.1.1.1 隧道1对端ip56.1.1.1
FR-SW2(config-if)#exit
FR-SW2(config)#interface tunnel 2 创建隧道2,为R1与R3用
FR-SW2(config-if)#tunnel source f0/0 使用f0/0作为源
FR-SW2(config-if)#tunnel destination 56.1.1.1 隧道2对端ip56.1.1.1
FR-SW2(config-if)#exit
FR-SW2(config)#interface s4/2
FR-SW2(config-if)#frame-relay route 221 interface tunnel 1 888 创建FR路由R2到R1
FR-SW2(config-if)#exit
FR-SW2(config)#interface s4/3
FR-SW2(config-if)#frame-relay route 321 interface tunnel 2 999 创建FR路由R3到R1
FR-SW2(config-if)#exit
FR-SW2#show frame-relay route
Input Intf Input Dlci Output Intf Output Dlci Status
Serial4/2 221 Tunnel1 888 inactive
Serial4/3 321 Tunnel2 999 inactive
Tunnel1 888 Serial4/2 221 inactive
Tunnel2 999 Serial4/3 321 inactive
FR-SW1#show frame-relay route
Input Intf Input Dlci Output Intf Output Dlci Status
Serial4/0 122 Tunnel1 888 inactive
Serial4/0 123 Tunnel2 999 inactive
Tunnel1 888 Serial4/0 122 inactive
Tunnel2 999 Serial4/0 123 inactive
测试结果,R1pingR2
R1#ping 192.168.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.2, timeout is 2 seconds:
!!!!!
R1pingR3
R1#ping 192.168.3.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.3.2, timeout is 2 seconds:
!!!!!
都通了,说明FR配置正确。
show framr-relay pvc
show framr-relay lmi
再补充:frame-relay的PVC状态
PVC status
active-代表本段PVC可用,对端PVC可用
inactive-代表本端PVC可用,对端PVC丌可用
delete- 代表本端PVC丌可用,通常是因为这条PVC没有通过LMI学到
static-代表 DTE不DCE之间没有存活检测,DTE戒DCE端单方面认为本地接口UP,此时没有LMI更新,所有DTE端学到的PVC条目状态成为static ,然后此时该PVC不能用了 no keepalive (keepalive10秒一个,30秒收不到就up down,因为每15秒会发送一个DCE的通告告诉你我没收到keepalive,两次后就up down)
要配置不检测存活状态的话需要两端(用户端、帧中继交换机端)相连接的端口都配置no keepalive,否则单方面配置的话会因为一方不进行LMI报文的接收和发送而导致对端认为对面状态失败而把接口在协议层down,接口状态就会变为up down状态,无法收发数据。
PVC的状态对应的本地及远端帧中继交换机的PVC链路、接口状态:
Local Remote
Active √ √ 说明本地PVC没问题,远端PVC也没问题
Inactive √ × 说明本地PVC没问题,远端PVC出故障
Delete × ? 说明本地PVC故障,远端PVC没问题
补充:在FR网络中,FR主接口和FR的多点子接口下是默认关闭cdp的,只有p2p子接口默认是开启cdp的。要开启cdp需要在主接口和多点子接口下enable cdp,让接口开启cdp发现协议。不开cdp会影响某些协议的运行,比如ODR按需路由协议就需要以来cdp协议来收发报文。