Frame-Relay基础及配置
++++++++++++++++
FR是工作在数据链路层的协议,使用的是HDLC的一个变种子集LAPF(Link Access Procedure for Frame-relay)。它是面向连接的,采用包交换(packet-switch)技术。FR采用虚电路(VC)为终端用户建立连接。有SVC和PVC两种形式。SVC指通信前双方通过信令消息来动态建立链路;而PVC(永久虚电路)是预设在交换机里面的。一般情况下FR采用的是PVC。
FR被认为是工作于高质量的数字链路上,因此它不提供差错恢复机制,一旦发现数据包出错就直接丢弃,且不会以任何形式通知源设备。
FR之所以被认为是经济的,是由于它把多条虚电路复用于一条物理链路上,采用统计多路复用的方式。
FR的工作范围如图。一般情况下,用户端路由器为DTE设备,而FR交换机为DCE设备。
++++++++工作原理++++++++
1.FR封装
在cisco路由器上,第二层封装默认为cisco专有的HDLC。要配置帧中继,则必须改为FR封装。FR有两种封装方式:cisco和ietf。
2.DLCI
FR使用DLCI(Data Link Control Identifier)来标识一条VC,相当于一个二层地址。DLCI的取值为0~1023(某些值具有特殊意义),一般是由服务提供商提供的(一般为16~1007)。DLCI一般只具有本地意义,即它只在必须直连的两台设备之间那条链路上唯一,不同物理链路上的DLCI值可以相同,而连接两台远端路由器的一条PVC两端的DLCI值可以不同。某些特殊情况下,比如使用了LMI的某些特性时,DLCI可以被赋予全局意义用于全局寻址。
3.LMI
帧中继利用LMI进行链路和用户的管理。LMI是FR的一个扩展,用于在DTE和DCE之间动态获得网络状态信息。
由于厂商和标准组织分别开发,导致LMI有三种互不兼容的类型:ansi(ANSI);cisco(cisco+Nortel+DEC);q933a(ITU-T)。提供商的FR交换机和用户的DTE设备间的LMI类型必须匹配。在cisco IOS版本11.2以后,LMI类型可以由LMI信令自动感知,因此用户DTE设备上可以不用配置LMI类型。
LMI使用保留的DLCI值。比如DLCI=0表示ANSI和ITU-T定义的LMI,而DLCI=1023为cisco定义的LMI。
LMI的作用:
>>keepalive机制:用以验证数据正在流动
>>状态机制:定期报告PVC的存在和加入/删除情况
三种PVC状态:
>>active:连接活跃,路由器可以交换数据
>>inactive:本地路由器到FR交换机是可工作的,但远程路由器到FR交换机的连接不能工作
>>deleted:没有从FR交换机收到LMI
>>多播机制:允许发送者发送一个单一帧但能够通过网络传递给多个接受者
>>全局寻址:赋予DLCI全局意义
4.映射表和交换表
FR利用帧中继映射表和帧中继交换表进行数据包的传递和交换。
===============================================================
映射表:IP到DLCI的映射。保存于路由器上。静态或Inverse-ARP生成。
远端路由器地址 |
DLCI |
192.168.1.2 |
100 |
交换表:入DLCI与出DLCI之间的映射。保存于交换机上。一般静态指定(PVC)。
IN Port |
IN DLCI |
OUT Port |
OUT DLCI |
s0 |
100 |
s1 |
200 |
===============================================================
交换过程:
具体来说,当与帧中继网络相连的路由器接收到一个数据包时,它首先根据目的地址查找它的路由表,并找到下一跳路由器;然后根据下一跳路由器查找帧中继映射表,找到可以到达下一跳路由器的对应虚链路的DLCI号;接着把数据包从此虚链路中传送出去。当帧中继交换机接收到后,它根据数据包进来的端口和DLCI号,查找帧中继交换表并找到出去的端口和DLCI号;然后将数据包交换到出口的DLCI上去,完成数据包的传递工作。在FR网络中的其它交换机也作类似的处理,最后达到下一跳路由器上,完成帧中继网络的中继功能。
5.Inverse-ARP
Inverse-ARP(逆向ARP)用于完成第三层协议地址(如IP)向DLCI的映射,类似Ethernet中的RARP:根据DLCI请求对应的远端路由器IP。
如前所述,Inverse-ARP用于自动生成帧中继映射表。路由器在每条VC上发送IARP查询,交换机根据已有的交换表传送到所有对端路由器,目的路由器响应查询包,送回其IP。
需要注意的是,使用子接口时,IARP会失效。解决方法有两个:用frame-relay map命令手动配置映射表;在子接口中显式地指定DLCI(指定后能用IARP自动生成map)。
6.子接口
由于FR是一个NBMA(NonBroadcast MultiAccess)网络,一条物理链路上存在多条VC时,如果启用了水平分割,则会导致不同VC之间的路由信息无法相互传递;而如果关闭水平分割,则可能导致路由环路问题。采用子接口可以解决上述问题。
子接口为逻辑创建的模拟物理接口的实体,它的功能与物理接口的功能没有什么区别,因此我们可以在一个物理端口上建立多个逻辑接口。这样每一个接口在功能上等价与一个物理接口,因此可以打破水平分割的原理限制。
子接口有两种模式:点对点(point-to-point)和多点(multipoint)模式。没有默认值,在配置时必须指明任何一个模式。
1)点对点模式:一个单独子接口建立一条PVC,这PVC连接到远端路由器一个子接口或物理端口,每个子接口就可以有自己独立的DLCI;
2)多点模式:一个单独子接口可建立多条PVC,不过加入的接口都应该处在同一子网。这种情况下,每个子接口与不划分子接口直接采用物理接口的情况相似,但其好处在于可以提高物理链路的利用率,还可以简化NBMA拓扑下的OSPF的配置。
++++++++FR配置++++++++
FR配置在串口上进行。当做实验用路由器模拟FR交换机时,必须注意DCE一端连在模拟FR交换机上。
1.配置FR交换机
switch(config)#frame-relay switching //将一台路由器模拟成交换机
switch(config)#int s0/0
switch(config-if)#encapsulation frame-relay //配置封装类型,cisco|ietf,缺省为cisco
switch(config-if)#frame-relay intf-type dce //设置端口类型,dce|dte
switch(config-if)#frame-relay lmi-type cisco //设置管理类型,cisco|ansi|q933a
switch(config-if)#frame-relay route 100 interface s0/1 200 //建立交换表条目
switch(config-if)#clock rate 56000
switch(config-if)#no shut
2.配置用户路由器
1)配置端口IP地址、配置FR封装
2)由于LMI类型可以自动发现,路由器上可不配置
3)采用Inverse-ARP会自动生成帧中继映射表;若对端路由器不支持Inverse-ARP,可以静态设置:
RTA(config-if)#frame-relay map ip <remoteIP> <DLCI> [broadcast]
4)若要启用子接口,则对物理接口先做如下配置:
RTC(config)#int s0
RTC(config-if)#no ip address //去掉物理接口IP子接口才起作用
RTC(config-if)#encap frame-relay //物理接口需要帧中继封装
RTC(config-if)#frame-relay lmi-type cisco //设置管理类型
RTC(config-if)#no shut //物理接口必须no shut子接口才能up
再配置RTC子接口:
RTC(config)#int s0.1 point-to-point //进入子接口并指明是点对点类型
RTC(config-subif)#ip address 192.168.1.2 255.255.255.0
RTC(config-subif)#frame-relay interface-dlci 200 //设置本地DLCI号(显示指定DLCI才能用IARP自动生成map,否则要手动map)
RTC(config-subif)#exit
3.验证FR配置
测试连通性:在路由器上互ping
查看交换机上虚电路:show frame-relay pvc
查看交换机交换表:show frame-relay route
查看路由器上映射表:show frame-relay map
查看路由器LMI信息:show frame-relay lmi
查看端口封装:show int s0/0
++++++++命令小结++++++++
switch(config)#frame-relay switching
将一台路由器模拟成交换机
switch(config-if)#encapsulation frame-relay [cisco|ietf]
配置封装类型,缺省为cisco
switch(config-if)#frame-relay intf-type [dce|dte]
指明端口类型
switch(config-if)#frame-relay lmi-type [cisco|ansi|q933a]
设置管理类型(只在FR交换机上)
Router(config-if)#frame-relay map ip <remoteIP> <DLCI> [broadcast]
建立静态的本地DLCI和远端IP映射。broadcast参数表明该链路允许广播。由于FR是NBMA,拓扑为hub-and-spoke,默认不支持广播,收到广播/组播地址的包会忽略。如果FR要支持广播/组播(比如很多路由协议的更新包就使用广播/组播地址),则必须使用broadcast参数。这个广播指的是“伪广播”。当hub收到一个广播/组播包时,把更新复制多份发给每个spoke端,从而支持所谓的“广播”。
switch(config-if)#frame-relay route <IN DLCI> <OUT Port> <OUT DLCI>
建立交换表记录
Router(config-subif)#frame-relay interface-dlci <DLCI>
设置本地DLCI号。在子接口中,必须显示指定DLCI才能用Inverse-ARP自动生成map,否则只能使用静态map