CCNA26-帧中继frame-relay详解

*1*.帧中继概述

Frame Relay,简称FR,可以将它看做X.25协议的简化版本,帧中继网络中不考虑传输差错问题,其中的结点只做帧的转发操作,不需要执行接收确认和请求重发等操作。帧中继是一种严格意义上的二层协议。

在帧中继网络中使用VC(Virtual Circuit,虚电路)来互连各个分支,并不需要两个分支之间有单独的物理链路。下面是物理专线和帧中继虚电路的示意图:


140745863.jpg



使用虚电路的最主要好处就是配置方便,建立和拆除虚电路只需要使用命令配置即可,所以虚电路并非真正的物理链路,只是在现有网络的基础上添加的一系列转发规则,就好像在源和目的间存在一条专线一样;相比之下专线则需要综合布线施工,建立和拆除难度较大。

帧中继的工作范围在DTE设备和帧中继交换机之间。


*2*帧中继术语

1.VC(Virtual Circuit,虚电路)

帧中继网络中两台DTE设备之间的连接称为虚电路,现在常用的虚电路为PVC(Permanent Virtual Circuit,永久虚电路),PVC由运营商预先配置。

2.DLCI(Data Link Connection Identifier,数据链路连接标识符)

140932905.jpg

DLCI是源设备和目的设备之间标识逻辑电路的一个数据值,该数据值只具有本地意义。在图中,R1上的DLCI号103标识的是R1到R3的连接,R1上的DLCI号104标识的是R1到R4的连接。不同DTE设备上的DLCI号可以相同,但在同一台DTE设备上不能用相同的DLCI号来标识到不同的连接。

DLCI号的范围是0-1023,其中0-15以及1008-1023被保留用作特殊用途,所以用户可以配置的DLCI号为16-1007。

3.LMI(Local Management Interface,本地管理接口)

LMI是用户端和帧中继交换机之间的信令标准,负责管理设备之间的连接,维护设备的状态。LMI被用来获知路由器被分配了哪些DLCI,确定PVC的操作状态,有哪些可用的PVC,另外还用来发送维持分组,确保PVC处于激活状态。

LMI的类型有三种:ANSI、Cisco、Q933A,DTE端的LMI配置要和帧中继上的一致,否则LMI不能正常工作,进而导致PVC失败。思科路由上默认的LMI类型为Cisco。



□可以丢弃(DE)这个信息为帧设置了一个种级别指示,指示当拥塞发生时一个帧能否被丢弃。
□前行显示拥塞通告(FECN) 这个信息告诉路由器接收的帧在所经通路上发生过拥塞。
□倒行显示拥塞通告(BECN) 这个信息设置在遇到拥塞的帧上,而这些帧将沿着与拥塞帧相反的方向发送。这个信息用于帮助高层协议在提供流控时采取适当的操作。



访问速率:帧中继接口可以传输的最大速率

CIR:数据传输承诺的最大速率

NA的书上有这么一个例子:若购买了T1(1.544Mbps)的访问速率,CIR为256Kbps,则256Kbps是保证传输的,而高于CIR又在T1范围内的突发速率将“尽最大努力”发送。如果电信网络有足够资源,客户最大可达到的传输速度可达到访问速率(即T1)的速率。
访问速率:帧中继接口可以传输的最大速率

CIR:数据传输承诺的最大速率

NA的书上有这么一个例子:若购买了T1(1.544Mbps)的访问速率,CIR为256Kbps,则256Kbps是保证传输的,而高于CIR又在T1范围内的突发速率将“尽最大努力”发送。如果电信网络有足够资源,客户最大可达到的传输速度可达到访问速率(即T1)的速率。


访问速率  这是线路的速度,它决定在网上的数据传输的速度。一般T1的访问速率是1.544Mbps。

(CIR)承诺信息速率  是帧中继电路上最高的平均数据传输率。它通常比传输速率慢;当传输突发数据时,传输速度可以超过CIR。CIR是控制你的最大传输速度的,上面说了,如果电信网络有足够资源,客户最大可达到的传输速度可达到访问速率(即T1)的速率。相反如果没有足够资源,超过CIR的速率时,有可能被丢弃.

另:T1线路提供24个64Kbps带宽的信道,其中,用户可以根据自己的需要选择租用线路的数目。它产生1.536Mbps的带宽。另外需要64Kbps用作开销,总共是1.544Mbps。

帧中继的带宽控制技术既是帧中继技术的特点,更是帧中继技术的优点。帧中继的带宽控制通过CIR(承诺的信息速率)、Bc(承诺的突发大小)和Be(超过的突发大小)3个参数设定完成。Tc(承诺时间间隔)和EIR(超过的信息速率)与此3个参数的关系是:Tc=Bc/CIR;EIR=Be/Tc。
在传统的数据通信业务中,用户申请了一条64K的电路,那么他只能以64kbit/s的速率来传送数据;而在帧中继技术中,用户向帧中继业务运营商申请的是承诺的信息速率(CIR),而实际使用过程中用户可以以高于CIR的速率发送数据,却不必承担额外的费用。
举例来说,某用户申请了CIR为64kbit/s的帧中继电路,并且与电信运营商签定了另外两个指标,Bc(承诺突发量)、Be(超过的突发量),当用户以等于或低于64kbit/s的速率发送数据时,网络将确保此速率传送,当用户以大于64kbit/s的速率发送数据时,只要网络不拥塞,且用户在承诺时间间隔(Tc)内发送的突发量小于Bc+Be时,网络还会传送,当突发量大于Bc+Be时,网络将丢弃帧。所以帧中继用户虽然支付了64kbit/s的信息速率费(收费依CIR来定),却可以传送高于64kbit/s的数据,这是帧中继吸引用户的主要原因之一。

DE:

拥塞控制当帧中继网拥塞时,帧可以适宜地丢弃(端节点负责重发它们),或根据用户指定的级别丢弃。例如,用户可以指明一些对事务运作不是很关键的通信帧是可以丢弃的(DE)。路由器或帧中继交换器可以用DE来标识帧,DE的使用提供了一个方法,确保重要的信息通过网络传送,而不重要的信息可以在网络不太忙时重传。

*3* 帧中继运行方式

这一部分结合下面的图来介绍帧中继是如何工作的,数据包是如何被转发的。

141556722.jpg

1,帧中继帧格式

帧中继的帧和以太网帧一样,也工作在数据链路层,帧的格式如下图:

141712249.jpg

帧中继帧的各字段解释如下:

  • Flag标志:标志帧的开始和结束

  • 地址:地址字段2个字节中包含了DLCI号(帧中继的帧中只有一个DLCI号,即去往的目的地的DLCI号,2个字节中的10个比特用来储存这个DLCI号);拥塞控制(Congestion Control)占3比特,其中包括1比特的FECN位,1比特的BECN位和1比特的DE位;除此之外地址域中还包含3个比特的其他值。

  • 数据:是一个可变长的字段,包含了封装的上层协议数据。

  • 帧效验序列:用来保证传输数据的完整性。

2.帧中继中的帧转发方式

在图中,假设R1要将数据发往R3,R1封装DLCI号103(至于为什么R1知道发往R3要封装103这个在下面的帧中继寻址方式中会详细的介绍),将封装好的帧发往帧中继交换机FR1。根据FR1上管理员的配置,FR1知道如果从接口1接收到DLCI号为103的帧,应该将DLCI号修改成112并从接口3发出。此时帧到达FR3,FR3也根据配置得知,从自己的1接口接收到的DLCI号为112的帧,应该将DLCI号修改成301,并从3号接口发出。此时R3接收到FR3发过来的帧中继帧,解封装后交给上层处理。

从上面的工作方式中可以看出,只要R1封装DLCI号103的帧,就能将数据发往R3,帧中继网云使用DLCI号103和DLCI号301在R1和R3之间建立了一条永久虚电路(PVC),同理R1到R4可以封装104,R4到R1可以封装401。

3.帧中继交换表

在图的帧中继网络中,FR1-3三台帧中继交换机上都维护着一个帧中继交换表,下面是FR1的帧中继交换表的样式:

142045467.jpg



*4* 帧中继寻址方式

这一部分将介绍”反向ARP(Inverse ARP)”,帧中继中的反向ARP是根据DLCI号解析IP的一个过程,和以太网中通过ARP解析MAC地址很相似。下图演示了这一过程是如何进行的:

142305248.jpg


以上图R1和R3之间的通信为例,假设R1和帧中继交换机相连的物理接口IP是123.1.1.1,R3和帧中继交换机相连的物理接口IP是123.1.1.3,首先第一步在R1和R3的物理接口上配置帧中继封装(图中第1步),接口开启后,R1和R3会自动向帧中继交换机发送查询信息,该消息可以向帧中继交换机通知本路由状态,还可以查询有哪些可用的DLCI号(图中第2步)。

帧中继交换机通知R1,DLCI号103和104是激活的(图中第3步),可以使用。对于每个激活的DLCI号,R1发送一个反向ARP请求分组,宣告自己的IP,并且封装对应的DLCI号(图中第4步)。

从这一点可以看出,帧中继是不支持广播的,帧中继网络默认是NBMA(Non-Broadcast Multiple Access,非广播多路访问),但可以通过发送多个帧拷贝来解决广播问题。

帧中继网云将R1发来的DLCI号103替换成301发往R3(图中第5步,实际帧中继网络中可能存在很多帧中继交换机,这里假设中间只有一台,便于讲解)。

R3收到帧中继交换机发来的帧,DLCI号是301,R3处理该数据帧并进行应答,R3封装DLCI号为301,并且告知自己的IP是123.1.1.3(图片中第6步),然后从自己的物理接口发回。

帧中继交换机收到这个DLCI号是301的帧,根据自己的交换表,将DLCI号改成103发往R1,R1收到这个应答后在本地的映射中添加R3的IP123.1.1.3和对应的DLCI号103,以后发往123.1.1.3的数据帧就用DLCI号103封装。

最后图中第7步,R1继续发送维持消息,默认10秒一次,此维持消息可以验证帧中继交换机是否处于激活状态。反向ARP默认的发送时间是60秒。

同理R3和R4也可以使用相同的方法获得对方的IP地址和对应的DLCI号。


*5*帧中继水平分隔潜在问题

有时候不需要建立全互连型帧中继网络,比如下面这中情况:

142605704.jpg

在这种星型拓扑结构中R1和R2以及R3通过虚电路相连,R2和R3之间没有建立虚电路,R1就像以太网中的一个Hub,R2或R3将路由信息发给R1,因为水平分隔的原因,R1不会将从一个接口接收到的路由信息再从这个接口发回,导致R1上面有所有分支的路由信息,而分支路由间无法学习到路由信息。

解决这一问题的方法是关闭水平分隔,或者使用多个点到点子接口


*6* 配置帧中继交换机

帧中继的所有实验都在GNS3中完成,配置下面这张拓扑图,其中R2是一台3640路由器,这里将它配置成帧中继交换机,用来模拟帧中继网云,R1、R3、R4是DTE端的路由器配置了帧中继封装。

143000719.jpg

这一部分首先配置R2成为帧中继交换机。


    Router>en
Router#conf t
Router(config)#host Frame-relay-SW
Frame-relay-SW(config)#frame-relay switch  /*配置成帧中继交换机*/
Frame-relay-SW(config)#int s 0/0        /*进入和R1相连的接口*/
                                                                                                                                                                                                         
                                           /*使用帧中继封装*/
Frame-relay-SW(config-if)#encapsulation frame-relay
                                                                                                                                                                                                         
/*
 * 配置帧中继LMI类型为ANSI,这一句是可选配置,
     * 如果不配置,思科使用Cisco作为默认的LMI类型
     */
    Frame-relay-SW(config-if)#frame-relay lmi-type ansi
                                                                                                                                                                                                             
    /*
     * 为了帧中继交换需要将接口改变成DCE,
     * 这和具体链接的是DCE还是DTE接口无关。
     */
    Frame-relay-SW(config-if)#frame-relay intf-type dce
                                                                                                                                                                                                             
    /*
     * 这两条命令的作用是将s0/0接口接收到的DLCI号是103的帧,
     * DLCI号替换成301从s0/1接口发出。
     * 将s0/0接收到的DLCI号是104的帧,DLCI号替换成401从s0/2接口发出。
     */
    Frame-relay-SW(config-if)#frame-relay route 103 interface s 0/1 301
    Frame-relay-SW(config-if)#frame-relay route 104 interface s 0/2 401
    Frame-relay-SW(config-if)#no shut  /*一定不要忘记打开接口*/
                                                                                                                                                                                                             
    /*配置和R3相连的s0/1接口*/
    Frame-relay-SW(config-if)#int s 0/1
    Frame-relay-SW(config-if)#encapsulation frame-relay
    Frame-relay-SW(config-if)#frame-relay lmi-type ansi
    Frame-relay-SW(config-if)#frame-relay intf-type dce
    Frame-relay-SW(config-if)#frame-relay route 301 interface s 0/0 103
    Frame-relay-SW(config-if)#frame-relay route 304 interface s 0/2 403
    Frame-relay-SW(config-if)#no shut
                                                                                                                                                                                                             
    /*配置和R4相连的s0/2接口*/
    Frame-relay-SW(config-if)#int s 0/2
    Frame-relay-SW(config-if)#encapsulation frame-relay
    Frame-relay-SW(config-if)#frame-relay lmi-type ansi
    Frame-relay-SW(config-if)#frame-relay intf-type dce
    Frame-relay-SW(config-if)#frame-relay route 403 interface s 0/1 304
    Frame-relay-SW(config-if)#frame-relay route 401 interface s 0/0 104
    Frame-relay-SW(config-if)#no shut
    Frame-relay-SW(config-if)#end
    Frame-relay-SW#



帧中继交换机配置完成后继续下面的配置,配置帧中继网络中其他路由器(R1、R3、R4)。

R1配置:
    /*配置与帧中继相连的接口使用帧中继封装,再配置IP地址*/
    R1(config)#int s 0/0
    R1(config-if)#encapsulation frame-relay
    R1(config-if)#ip add 123.1.1.1 255.255.255.0
    R1(config-if)#no shut
    R1(config-if)#end
    R1#
R3配置:
    R3(config)#int s 0/1
    R3(config-if)#encapsulation frame-relay
    R3(config-if)#ip add 123.1.1.3 255.255.255.0
    R3(config-if)#no shut
    R3(config-if)#end
    R3#
R4配置:
    R4(config)#int s 0/2
    R4(config-if)#ip add 123.1.1.4 255.255.255.0
    R4(config-if)#encap frame   /*命令简写,配置帧中继封装*/
    R4(config-if)#no shut
    R4(config-if)#end
    R4#


配置完成后测试R1、R3、R4都能互相ping通,使用下面的命令可以查看帧中继DLCI号的映射情况:

R1#show frame-relay map
/*
 * "ip 123.1.1.3 dlci 103"
     * 由此可以得出,去往123.1.1.3的帧,封装的DLCI号是103,
     * 前面在帧中继的反向ARP中介绍过这个映射是如何得到的。
     *
     * "dynamic"表示这种映射关系是动态学习到的。
     *
     * "broadcast"表示帧中继上支持广播。
     *
     * "active"表示链路是正常的。
     */
    Serial0/0 (up): ip 123.1.1.3 dlci 103(0x67,0x1870), dynamic,
                  broadcast,, status defined, active
                                                                                                                                                                                               
    /*同理,发往123.1.1.4的帧用DLCI号104封装。*/
    Serial0/0 (up): ip 123.1.1.4 dlci 104(0x68,0x1880), dynamic,
                  broadcast,, status defined, active
    R1#


通过下面的命令查看PVC建立和DLCI号的分配情况:

R1#show frame-relay pvc
                                                                                                                                                                                   
PVC Statistics for interface Serial0/0 (Frame Relay DTE)
                                                                                                                                                                                   
              Active     Inactive      Deleted       Static
  Local          2            0            0            0
  Switched       0            0            0            0
  Unused         0            0            0            0
                                                                                                                                                                                   
/*
 * 主要是看下面这两句,其中的详细参数这里暂时不需要了解,
 * R1使用LMI从帧中继交换机(R2)那学到了两条本地可用的DLCI号,
 * 103和104,"STATUS=ACTIVE"表示正常,
 * 如果"STATUS=INACTIVE"表示不可用,一般是远端配置有问题,
 * "STATUS=DELETED"则表示本地配置可能有问题。
 */
DLCI=103,DLCI USAGE=LOCAL, PVC STATUS=ACTIVE, INTERFACE=Serial0/0
....
                                                                                                                                                                                   
DLCI=104,DLCI USAGE=LOCAL, PVC STATUS=ACTIVE, INTERFACE=Serial0/0
....

通过下面的命令查看R1接口的LMI类型:

R1#show frame-relay lmi
                                                                                                                                                                           
/*
 * R1会自动调整默认的LMI类型和帧中继交换机上配置的一致,
 * "TYPE=ANSI"表示R1的s0/0接口的LMI类型是ANSI。
 */
LMI Statistics for interface Serial0/0(Frame Relay DTE) LMI TYPE=ANSI
  Invalid Unnumbered info 0             Invalid Prot 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 116              Num Status msgs Rcvd 117
  Num Update Status Rcvd 0              Num Status Timeouts 0
  Last Full Status Req 00:00:21         Last Full Status Rcvd 00:00:21
R1#

在上面的这些配置中可能出现的问题是:

如果使用”show frame-relay pvc”查看路由器上面学不到DLCI号,请检查物理接口是否打开(包括帧中继交换机上的物理接口),本地和帧中继交换机相连的接口的封装协议是否被配置成了帧中继,本地接口的LMI类型是否和帧中继交换机的一致。

可以通过查看接口信息来验证:

/*
 * 接口信息中的下面这几点:
 * 接口是否开启"Serial0/0 is up, line protocol is up"
 * 封装协议"Encapsulation FRAME-RELAY"
 * LMI类型"LMI type is ANSI"
 */
R1#show interfaces s 0/0
Serial0/0 is up, line protocol is up
....
  Encapsulation FRAME-RELAY, crc 16, loopback not set
  Keepalive set (10 sec)
  Restart-Delay is 0 secs
  LMI enq sent  150, LMI stat recvd 151, LMI upd recvd 0, DTE LMI up
  LMI enq recvd 0, LMI stat sent  0, LMI upd sent  0
  LMI DLCI 0  LMI type is ANSI Annex D  frame relay DTE
....


到此,R1、R3、R4都能互相ping通对方,但是还存在一个问题,他们ping不同自己的IP,从上面的”show frame-relay map”也可以看出,R1的帧中继映射中没有自己的”123.1.1.1″的映射,它不知道发往这个IP需要封装什么DLCI号,下面继续配置,让他们都能ping通自己。



*7* 配置帧中继能够ping通本端

为了它们能够ping通自己的IP,需要使用静态映射命令:

/*
 * 其中IP地址是要去往的目的地址,DLCI号是这个IP对应的DLCI,
 * 后面的broadcast参数是让链路支持广播,
 * 配置动态路由协议时必须携带此参数,
 * 最后面的[cisco|ietf]中有两个可选参数,
 * 如果网络中不是全思科设备,存在不同设备互连,
 * 建议携带ietf参数。
 */
R1(config-if)#frame-relay map ip ip地址 DLCI号 [broadcast] [cisco|ietf]

下面就用这条命令给R1、R3、R4添加能ping通自己的静态映射。

R1配置:
    R1(config)#int s 0/0
    R1(config-if)#frame-relay map ip 123.1.1.1 103 broadcast
    R1(config-if)#end
    R1#
R3配置:
    R3(config)#int s 0/1
    R3(config-if)#frame-relay map ip 123.1.1.3 301 broadcast
    R3(config-if)#end
    R3#
R4配置:
    R4(config)#int s 0/2
    R4(config-if)#frame-relay map ip 123.1.1.4 401 broadcast
    R4(config-if)#end
    R4#

这样R1、R3、R4就能够ping通自己的IP了:

/*查看帧中继映射*/
R1#show frame-relay map
Serial0/0 (up): ip 123.1.1.3 dlci 103(0x67,0x1870), dynamic,
              broadcast,, status defined, active
Serial0/0 (up): ip 123.1.1.4 dlci 104(0x68,0x1880), dynamic,
              broadcast,, status defined, active
                                                                                                                                   
/*
 * 这一条是我们添加的静态映射,在没有指定ieft的时候,
 * 默认的帧中继封装是CISCO。
 */
Serial0/0 (up): ip 123.1.1.1 dlci 103(0x67,0x1870), static,
              broadcast,
              CISCO, status defined, active
R1#
                                                                                                                                   
/*
 * 测试ping自己,虽然是ping自己,但是根据前面的映射可以得知,
 * 数据是到达了R3后再返回的,如果R3关闭物理接口s0/2,
 * 这里就会ping不通,大家可以测试一下。
 */
R1#ping 123.1.1.1
                                                                                                                                   
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 123.1.1.1, timeout is 2 seconds:
!!!!!
R1#

到这里为止,帧中继网络中的三台路由器都使用了反向ARP从帧中继交换机上获取到DLCI和对应的IP地址,下面一部分将介绍如何关闭反向ARP,使用全手动静态配置来配置帧中继映射。


*8*配置帧中继使用静态映射

这一部分手动配置DLCI的静态映射,首先关闭反向ARP,然后清除通过反向ARP学习到的动态映射缓存,然后使用手动配置。

R1配置:
    R1(config)#int s 0/0
    R1(config-if)#no frame-relay inverse-arp /*关闭反向ARP*/
    R1(config-if)#end
    R1#clear frame-relay inarp  /*清除反向ARP学到的映射缓存*/
    R1#conf t
    R1(config)#int s 0/0  /*在接口下添加静态映射*/
    R1(config-if)#frame-relay map ip 123.1.1.3 103 broadcast
    R1(config-if)#frame-relay map ip 123.1.1.4 104 broadcast
    R1(config-if)#end
    R1#
R3配置:
    R3(config)#int s 0/1
    R3(config-if)#no frame-relay inverse-arp
    R3(config-if)#end
    R3#clear frame-relay inarp
    R3#conf t
    R3(config)#int s 0/1
    R3(config-if)#frame-relay map ip 123.1.1.1 301 broadcast
    R3(config-if)#frame-relay map ip 123.1.1.4 304 broadcast
    R3(config-if)#end
    R3#
R4配置:
    R4(config)#int s 0/2
    R4(config-if)#no frame-relay inverse-arp
    R4(config-if)#end
    R4#clear frame-relay inarp
    R4#conf t
    R4(config)#int s 0/2
    R4(config-if)#frame-relay map ip 123.1.1.1 401 broadcast
    R4(config-if)#frame-relay map ip 123.1.1.3 403 broadcast
    R4(config-if)#end
    R4#

配置完成后在R1上查看帧中继映射表:

/*可以看到状态全部变成了"static"即静态映射。*/
R1#show frame-relay map
Serial0/0 (up): ip 123.1.1.3 dlci 103(0x67,0x1870), static,
              broadcast,
              CISCO, status defined, active
Serial0/0 (up): ip 123.1.1.4 dlci 104(0x68,0x1880), static,
              broadcast,
              CISCO, status defined, active
Serial0/0 (up): ip 123.1.1.1 dlci 103(0x67,0x1870), static,
              broadcast,
              CISCO, status defined, active
R1#


*9* 配置帧中继子接口

这一部分来配置一个稍微复杂一点的拓扑,在这个拓扑中会综合运用到两种子接口:点到点子接口(Point-to-Point)、多点子接口(Multipoint)。

160034103.jpg


如图所示,R5被配置成帧中继交换机,其中有三条虚电路R1-R2,R1-R3,R1-R4,在R1的s0/0上启用了子接口,其中s0/0.1用来连接R2,是一个点到点子接口,s0/0.2被用来连接R3和R4,是一个多点子接口。R1 s0/0.1的IP为12.1.1.1、s0/0.2的IP地址为134.1.1.1,R2的s0/1的IP地址为12.1.1.2,R3的s0/2的IP地址为134.1.1.3,R4的s0/3的IP地址为134.1.1.4。每个路由上都有一个回环接口,IP如图所示。在这个帧中继网络上运行RIP协议,测试多点子接口存在的水平分隔问题。

首先配置R5成为帧中继交换机:

Router>en
Router#conf t
Router(config)#host RF-SW
RF-SW(config)#frame-relay switch
RF-SW(config)#int s 0/0
RF-SW(config-if)#encap frame
RF-SW(config-if)#frame lmi-type ansi
RF-SW(config-if)#frame intf-type dce
RF-SW(config-if)#frame route 102 int s 0/1 201
RF-SW(config-if)#frame route 103 int s 0/2 301
RF-SW(config-if)#frame route 104 int s 0/3 401
RF-SW(config-if)#no shut
RF-SW(config-if)#int s 0/1
RF-SW(config-if)#encap frame
RF-SW(config-if)#frame lmi-type ansi
RF-SW(config-if)#frame intf-type dce
RF-SW(config-if)#frame route 201 int s 0/0 102
RF-SW(config-if)#no shut
RF-SW(config-if)#int s 0/2
RF-SW(config-if)#encap frame
RF-SW(config-if)#frame lmi-type ansi
RF-SW(config-if)#frame intf-type dce
RF-SW(config-if)#frame route 301  s 0/0 103
RF-SW(config-if)#frame route 301 int s 0/0 103
RF-SW(config-if)#no shut
RF-SW(config-if)#int s 0/3
RF-SW(config-if)#encap frame
RF-SW(config-if)#frame lmi-type ansi
RF-SW(config-if)#frame intf-type dce
RF-SW(config-if)#frame route 401 int s 0/0 104
RF-SW(config-if)#no shut
RF-SW(config-if)#end
RF-SW#


在R1上配置点到点和多点子接口:

R1(config)#int s 0/0
R1(config-if)#encap frame  /*使用帧中继封装*/
R1(config-if)#no frame inverse-arp /*关闭反向ARP*/
R1(config-if)#no shut            /*物理接口只需要打开即可*/
                                                                              
/*配置点到点子接口*/
R1(config-if)#int s 0/0.1 point-to-point
R1(config-subif)#ip add 12.1.1.1 255.255.255.0
/*
 * 点到点子接口不需要和物理接口一样配置静态映射,
 * 只要指明该接口使用的DLCI号即可,
 * 点到点子接口去往该子接口的IP地址(12.1.1.1)
 * 或远端(R2的12.1.1.2)的数据都使用这个DLCI号封装。
 */
R1(config-subif)#frame-relay interface-dlci 102
                                                                              
/*配置多点子接口*/
R1(config-fr-dlci)#int s 0/0.2 multipoint
R1(config-subif)#ip add 134.1.1.1 255.255.255.0
                                                                              
/*多点子接口的静态映射和物理接口相同*/
R1(config-subif)#frame-relay map ip 134.1.1.1 103 broadcast
R1(config-subif)#frame-relay map ip 134.1.1.4 104 broadcast
R1(config-subif)#frame-relay map ip 134.1.1.3 103 broadcast
R1(config-subif)#int lo 0
R1(config-if)#ip add 1.1.1.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#router rip  /*启用RIP协议*/
R1(config-router)#net 1.0.0.0
R1(config-router)#net 12.0.0.0
R1(config-router)#net 134.1.0.0
R1(config-router)#end
R1#


R2配置:

R2(config)#int s 0/1
R2(config-if)#encapsulation frame-relay
R2(config-if)#no frame-relay inverse-arp
R2(config-if)#frame-relay map ip 12.1.1.1 201 broadcast
R2(config-if)#frame-relay map ip 12.1.1.2 201 broadcast
R2(config-if)#ip add 12.1.1.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#int lo 0
R2(config-if)#ip add 2.2.2.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#router rip
R2(config-router)#net 2.0.0.0
R2(config-router)#net 12.0.0.0
R2(config-router)#end
R2#

R3配置:

R3(config)#int s 0/2
R3(config-if)#encapsulation frame-relay
R3(config-if)#no frame-relay inverse-arp
/*配置静态映射,去往R1*/
R3(config-if)#frame-relay map ip 134.1.1.1 301 broadcast
/*因为R3和R4之间没有配置虚电路,所以去往R4要先发往R1*/
R3(config-if)#frame-relay map ip 134.1.1.4 301 broadcast
/*配置R3能够ping通自己*/
R3(config-if)#frame-relay map ip 134.1.1.3 301 broadcast
R3(config-if)#ip add 134.1.1.3 255.255.255.0
R3(config-if)#no shut
    R3(config-if)#int lo 0
R3(config-if)#ip add 3.3.3.3 255.255.255.0
     R3(config-if)#no shut
R3(config-if)#router rip    /*配置RIP*/
R3(config-router)#net 3.0.0.0
R3(config-router)#net 134.1.0.0
R3(config-router)#end


R4配置:

R4(config)#int s 0/3
    R4(config-if)#encapsulation frame-relay
R4(config-if)#no frame-relay inverse-arp
R4(config-if)#frame-relay map ip 134.1.1.1 401 broadcast
R4(config-if)#frame-relay map ip 134.1.1.3 401 broadcast
R4(config-if)#frame-relay map ip 134.1.1.4 401 broadcast
R4(config-if)#ip add 134.1.1.4 255.255.255.0
R4(config-if)#no shut
R4(config-if)#int lo 0
R4(config-if)#ip add 4.4.4.4 255.255.255.0
R4(config-if)#no shut
R4(config-if)#router rip
R4(config-router)#net 4.0.0.0
R4(config-router)#net 134.1.0.0
R4(config-router)#end
R4#

可以在R1上查看子接口信息来验证默认情况下,点到点子接口和多点子接口的水平分隔都是打开的:

R1#show ip interface s 0/0.1
Serial0/0.1 is up, line protocol is up
....
  Split horizon is enabled
....
                                                       
R1#show ip interface s 0/0.2
Serial0/0.2 is up, line protocol is up
....
  Split horizon is enabled

在R2的多点子接口上连接了两台路由器R3和R4,查看R3的路由表:

R3#show ip route
/*从路由表中看不到R4的回环接口的信息*/
R    1.0.0.0/8 [120/1] via 134.1.1.1, 00:00:28, Serial0/2
R    2.0.0.0/8 [120/2] via 134.1.1.1, 00:00:28, Serial0/2
     3.0.0.0/24 is subnetted, 1 subnets
C       3.3.3.0 is directly connected, Loopback0
R    12.0.0.0/8 [120/1] via 134.1.1.1, 00:00:28, Serial0/2
     134.1.0.0/24 is subnetted, 1 subnets
C       134.1.1.0 is directly connected, Serial0/2
R3#

同样,在R4上面也看不到R3回环接口的信息,这就是因为R1上s0/0.2接口上默认的水平分隔设置导致的,用下面的命令关闭R1的s0/0.2子接口的水平分隔:

R1(config)#int s 0/0.2
R1(config-subif)#no ip split-horizon
R1(config-subif)#end

再次查看R3的路由表:

R3#show ip route
                                 
R    1.0.0.0/8 [120/1] via 134.1.1.1, 00:00:13, Serial0/2
R    2.0.0.0/8 [120/2] via 134.1.1.1, 00:00:13, Serial0/2
     3.0.0.0/24 is subnetted, 1 subnets
C       3.3.3.0 is directly connected, Loopback0
/*已经学习到了R4的回环接口信息*/
R    4.0.0.0/8 [120/2] via 134.1.1.1, 00:00:13, Serial0/2
R    12.0.0.0/8 [120/1] via 134.1.1.1, 00:00:13, Serial0/2
     134.1.0.0/24 is subnetted, 1 subnets
C       134.1.1.0 is directly connected, Serial0/2
                                 
/*测试ping R4回环接口*/
R3#ping 4.4.4.4
                                 
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds:
!!!!!  /*成功*/
Success rate is 100 percent (5/5), round-trip min/avg/max = 80/118/184 ms
R3#

这一部分演示了路由器子接口配置(点到点子接口和多点子接口)以及多点子接口上面需要注意的水平分隔问题。





你可能感兴趣的:(详解)