资源描述
Frame-Relay 技术详解与其技术讲解45.1.1 Frame-Relay技术背景 Frame-Relay 技术创立于 80 年代,到 90 年代获得了巨大的发展。它结合了 X.25 统计多路复用和端口共享技术,以及 TDM 电路交换的高速度低延迟的特点。 帧中继思想源于 X.25,但是为了更好的实现互联互通,去掉了 X.25 的第 3 层协议,并将寻址和多路复用集中在第二层。这样和 OSI 模型更加兼容,同时在2 层实现了 PVC 的控制,并且在错误发生时,仅检查是不是无错的有效帧,而不要求重发,从而丢弃了顺序,窗口,应答以及监督帧等高层协议功能。 在帧中继结构中主要包括帧模式承载服务的连接访问过程(LAPF的核心和控制协议。 帧中继使用可变长度的帧结构,该特点会影响延迟敏感用户,因为分组大小是延迟的一个决定性因素,尽管在帧中继压缩中起重要作用,但处理语音传输时会成为一个缺点。尽管如此,帧中继依然是作为数据传输的一个很好选择,因为帧中继仅在数据传送时占用带宽,带宽利用率较高,同时对于通信线路的可靠性加强以及在端系统增加错误处理机制使得帧中继可以丢弃帧,使得错误处理过程加快。 帧中继实现过程中有ANSI和 ITU-T两种标准, 后期为了帧中继发展,创立了FRF(Frame-Relay Forum)来改进已经存在的标准,使不同发行商产品间的互操作更为容易。 45.1.2 Frame-Relay体系结构 帧中继协议的体系结构,它包括两个操作平面: 控制平面:用于建立和释放逻辑连接。控制平面使用Q.921/Q.931协议,在用户和网络之间操作。 用户平面:用于传送用户数据。用户平面协议则提供端到端的功能,并处理64kbit/s 信道B,16 或64kbit/s的信道D或者信道 H(384,1472,1536kbit/s) 45.1.3 DLCI寻址 帧中继是一个第二层的面向链接的协议,两个端点之间的帧中继链路可以是永久的或可交换的。一个永久的帧中继虚链路称为PVC,而一个可交换的帧中继虚链路称为SVC。 一条点到点的PVC连接两个端点,每一个端点通过一个DLCI 使用PVC。这些 DLCI的值是局部有效的,也就是说在帧中继网络中,不同的端口的DLCI值是无需不同的。帧中继网络的基础工作是从一个端口接收业务,检测与这个业务相连的DLCI值,并以适当的DLCI 值将这个业务从适当的端口发送到目标结点去。在这个电路两旁的前后两个DLCI值可以相同,亦可不同。如果不同,帧中继交换网络负责DLCI 标志的转换。 45.1.4 LAPF核心及T1.618帧格式 LAPF(Link Access Procedures to Frame Mode Bearer Services)是帧方式承载业务的数据链路层协议和规程,包含在 ITU-T 建议 Q.922 中。LAPF 的作用是在用户-网络接口的 B、D 或 H 通路上为帧方式承载业务,在用户平面上的数据链路(DL)业务用户之间传递数据链路层业务数据单元(SDU)。 LAPF 使用 I.430和 I.431 支持的物理层服务,并允许在 ISDN B/D/H 通路上统计复用多个帧方式承载连接。LAPF也可以使用其它类型接口支持的物理层服务。 LAPF的一个子集,对应于数据链路层核心子层,用来支持帧中继承载业务。这个子集称为数据链路核心协议(DL-CORE)。LAPF 的其余部分称为数据链路控制协议(DL-CONTROL)。APF 核心用于帧中继,它在一个单独的信道上,使用DLCI实现了多个连接的统计多路复用。并且实现了帧的界定,顺序控制,端到端的错误控制和流控。 帧中继吸引人的原因之一就是它的高效性。用户的数据最多可以达到 8K,其中只有 2 个节的地址额外开销。下图给出了帧中继的帧格式。 网络层LAPF控制DTEFCS Flags用户-网络LAPF核心标志(Flag):帧中继帧的开头和结尾必须包含至少一个7Eh分隔符。这个比特序列使得接收方能够与帧的开始、结束保持同步。发送方检查数据流中的011111 串,如果发现该串,则在第五个1后面插入0,在接收方去掉这个0,这样就保证7Eh字符不会出现在用户的数据业务中; 地址(Address):地址域可以为2.3或 4字节。常用的为2 字节。在2字节的地址域中包含如下子域: DLCI:缺省情况下这个域 10 比特长,包含了标志虚链路的 DLCI 值。扩展的地址帧格式可以为3字节(16 或17位)或者 4字节(23位), 在帧中继中DLCI值得使用情况如下: 0 保留给呼叫控制信令 1-15 保留 16-1007 用于PVC 1008-1022 有些发行商用于组播 1023 开始时被定义用于LMI,在T1.618中用于统一的连接层管理消息 对于Cisco LMI 可以提供992 个虚拟信道,而对于ANSI可以提供976个虚拟信道。 3字节和 4字节的地址域如下图所示: C/R:这一位是命令响应位,在一般的帧中继中并不使用。 EA:这一位是地址扩展位,用来指示报头是 2 字节还是 3 字节、4 字节的,在报头的最后一字节中将其置1(如上图所示)。 FECN:这个比特是向前阻塞标志位,它用来告诉接收帧中继帧的用户方在发送方向上发生了帧阻塞。 BECN:这一位是向后直接阻塞标志位。它用来告诉接收方在帧发送相反的方向上出现了直接阻塞。 DE:这一位是可丢弃位。这一位可由帧中继 DTE 设备(如路由器)或帧中继交换网络来设置。当帧中继网络拥塞时,如果 DE 位为 1,分组是适合丢弃的,在拥塞情况下, 它会被丢弃而不进行任何通知。 有效载荷(Payload):有效载荷包含了封装好的上层数据,用于将高层的PDU通过帧中继网络传输,该字段为可变长度,最大长度为16000字节, 帧检查序列域(FCS): 该字段用于数据侦错,它是一个发送方CRC校验后的数据,当接受方收到该帧后,再做一次CRC 校验,如果发现结果不同,则认为该帧为错误帧。但是这个字段仅有2个字节,采用CRC-16多项式,仅能对4096个字节进行错误检测,远远小于有效载荷的最大长度。 45.1.5 LAPF控制协议 为了提供帧交换服务,LAPF 控制协议和 LAPF 核心协议配合使用,这个协议就是完整个的 Q.922,它既在用户的系统也在网络(帧处理器)中实现,控制协议提供粗无控制和流控功能,如下图所示: LAPF帧结构如下:地址段,标志段和 FCS 和 LAPF 核心完全相同。信息域用于携带高层的 PDU。控制域与 D 信道链路接入过程(LAPD)有相同的格式和功能,Q.922有两种格式,其区别为控制域的位置, 帧中继控制域是信息域的一部分,因为帧中继不监视信息域,使端对端的流控和错误控制成为可能。同时信息域可以包含网络和传输层PDU。 用于交换承载服务的帧结构如下,控制域不是信息域的一部分,从而对网络层可见,错误控制放在用户-网络的结构中,不管这第二层控制特性,错误控制和流控功能仍然在高层协议中能够采用。 对于控制字段可以分为3种类型的帧。 信息传输帧(I 帧)用来传送用户数据,但在传用户数据的同时,I 帧还捎带传送流量控制和差错控制信息,以保证用户数据的正确传送,帧格式如下,P/F 为Polling/Final位。 监视帧(S帧)专门用来传送控制信息,当流量和差错控制信息没有I帧可以“搭乘”时,需要用S帧来传送,帧格式如下,S为监督功能位。 无编号帧(U 帧),有两个用途:传送链路控制信息以及按非确认方式传送用户数据。帧格式如下,M为修改功能位。 一般而言信息域有两种格式,图中的IE指信息元素: IE域携带了高层的协议信息,例如用户数据,高层开销以及路由更新等,它们对帧中继网络是透明的。对这个与并不做检查和改变。而4种信令消息都是用Q.931消息头携带。 45.1.6 LAPF帧交换 LAPF的帧交换过程是对等实体之间在D/B/H通路或其它类型物理通路上传送和交换信息的过程,进行交换的帧就是I 帧、S帧和 U 帧。 采用非确认信息传送方式时,LAPF的工作方程十分简单,用到的帧只有一种,即无编号帧。U帧的信息字段包含了用户发送的数据,U 帧到达接收端后,LAPF 实体按 FCS 字段的内容检查传输错误,如没有错误,则将信息字段的内容送到第 3 层实体,如有错误,则将该帧丢弃,但不论接收是否正确,接收端都不给发送端任何回答。 采用确认信息传送方式时,LAPF的帧交换分为3个阶段:连接建立、数据传送和连接释放。 1)连接建立 任何一端都可以通过发送一个SABME帧来申请一条逻辑连接,这通常是对来自一个第3层实体的申请的响应。SABME 帧含有数据链路连接标识符(DLCI)。LAPF 实体接收该 SABME 帧,并发送一个连接申请指示给合适的第 3 层实体;如果该第 3 层实体以接受连接来响应,则该 LAPF实体发送一个UA帧返回给对方。当对方的LAPF实体收到表示接受的UA帧时,就向上送一个证实信息给提出申请的用户。如果终点用户拒绝该连接申请,其 LAPF 实体就回送一个 DM 帧,接收DM的LAPF 实体则通知其用户对方拒绝建立连接。 2)数据传递 当连接请求已被接受和证实,就建立起该连接,双方就可以在 I 帧中发送用户数据,并以序号0开始,I 帧中的N(S)及 N(R)两个字段用于流量控制和差错控制,一个发送I帧序列的LAPF将对这些帧编制序号(mod 128),并将顺序号放进N(S)中,N(R)是已接收的 I 帧的捎带确认,它使LAPF实体能够指示它期望接收的下一个I 帧的序号。 3)连接释放 任何一方LAPF实体均可启动一次切断(操作),可以是出于它本身的原(例如出了某种故障),或者根据它的第3层用户的请求。LAPF实体通过发送一个DISC帧给对等的实体来切断连接。对方的 LAPF 实体必须通过回答一个 UA 而接受该切断,并通知第 3 层用户连接已经终止。在途中的任何还未被确认的I帧均会被丢失,由较高层负责恢复。 IE2 IE.45.1.7 LMI 帧中继提供了一个在帧中继交换机和帧中继 DTE(路由器)之间的简单的信令协议。这个信令协议就是本地管理接口(Local Management Interface ,LMI)协议。LMI 消息提供了关于当前DLCI值,虚电路状态等信息。 LMI信令协议可通告PVC 的增加和删除,也使帧中继交换机和帧中继数据终端设备间的数据不被破坏。 LMI包括以下机制: Keepalive机制-用于检验数据正在流动。 状态机制-用于提供网络和用户设备间的通信和同步,它们定期报告新的PVC存在和已 有 PVC 删除。通常还提供关于 PVC 完整性的信息,VC 状态消息可以防止数据发送到黑洞。 多播机制-允许发送者发送一个单一帧,能够通过网络传递给多个接收者。 全局寻址-它使帧中继网络在寻址方面类似于一个LAN,给予连接标识符全局意义。 LMI 分为三种,在帧中继交换机和相连的 DTE 中,LMI 必须是同一种。帧中继提供商一般会告诉用户他们使用的是哪种LMI,三种LMI分别如下: ANSI附件D:ANSI AnnexD的DLCI值为 0,在帧中继交换机和帧中继DTE 之间传输状态信息,在Cisco中称这种LMI 为 ANSI。 ITU-T附件A:附件A的 DLCI 值也为0,也是在帧中继交换机和帧中继DTE之间传输状态信息。附件 A 信令也提供每条 PVC 的 CIR 值,也是由帧中继交换机的端口提供的状态规定的。在Cisco 中称这种LMI 为Q933A。 LMI: LMI的 DLCI值为1023,它在帧中继交换机和帧中继DTE之间传输状态信息。在Cisco中,这种LMI 称为Cisco。 Q933A LMI 目前帧中继解决方案绝大部分基于PVC,但是对于SVC可以使用ITU Q933A LMI。同时对于不同厂商之间的设备,可以通过Q933A LMI很好的兼容。 Cisco LMI Cisco LMI协议主要用于完成如下功能: 允许网络通知FRAD(frame relay access device)活动的DLCI和当前的DLCI 如果DLCI被删除或失败,允许网络通知FRAD 通过Keepalive消息,实时监视路由器到网络的链路状态 Cisco LMI定义了两种消息:状态查询和状态。这两种消息都以HDLC UI 帧发送,控制字段为03H,3字节消息头基于 Q.931 并且包含一个协议鉴别字节(09H),一个呼叫参考值(00H)以及一个消息类型鉴别符,消息类型值为75H(01110101)是状态查询,7DH(01111101)是状态。 这种LMI 类型的格式如下图所示: 在如上的 IE 字段中,IE1 为报告类型,当值为 00H 时,表示全状态消息。IE2 为 Keepalive 序列。最后为PVC状态IE,用于表示PVC的DLCI,链路状态和可分配带宽等参数。 ANSI LMI T1.617Annex D定义了一个轮询协议,用于在路由器和网络之间交换接口状态信息和定义PVC信息。 通知PVC的增加 通知PVC的删除 通知配置的PVC是否可用 链路完整性验证 路由器周期性的轮询网络,发送状态查询消息,而网络用状态消息响应。缺省轮询周期为 10s。第一次轮询请求链路的完整性,来决定信道内信令链路的状态 。另外轮询周期(默认为每 6 个轮训周期)发生于用户在接口上请求所有PVC 状态。响应是一个状态消息,包含配置在物理信道上的每个PVC信息。信息包括PVC最近的历史和它的可用性。ANSI LMI的轮询也能检测错误状态,如DLCI 0的可信性错误,信号链路协议错误或内部网络问题。 在如上的IE字段中,IE1为报告类型,当值为00H时,表示全状态消息,01H仅链路完成性验证,16H为单个PVC异步状态,IE2为链路完整性字段。最后为PVC状态IE。 在ANSI LMI中, ANSI提供一个源自LMI协议的信令模式,其目的是创造一种多厂商LMI类型,而Cisco LMI由Cisco,Digital,Nortelhe 和 StrataCom联合推出,使用上具有一定局限性。Q933A LMI由ITU推出,众多厂商支持这种方式,例如当Cisco路由器和 Huawei等路由器进行连接时,LMI类型需要设置为Q933A。 LMI消息使用Q.931结构,周期性的对网络轮询,用HDLC UI帧传送。为了指示LMI消息,Cisco 使用DLCI 值为 1023 的链路,而 Q933A 和 ANSI-LMI 使用 DLCI 值为 0 的链路。这两种情况下,FECN BECN 和 DE位均为0。在ANSI 消息头中PD域为08H,而Cisco LMI 为 09H。 LMI对于帧中继网络十分重要,当一个帧中继链路在Cisco DTE设备上激活并开始工作时,会连续的乡路由器传送3 个LMI消息,这个3个消息的顺序是ANSI,ITU Q933A, Cisco.路由器在DLCI 1023上监听Cisco的消息,在 DLCI 0 上监听 ANSI 和 ITU 消息 i。帧中继会对所配置的 LMI 类型做出响应,然后路由器设定接口的 LMI 类型与所接收的 LMI 类型匹配,如果收到多个类型 LMI,路由器设定为最后接受到的 LMI 类型。Cisco采用这种方式实现了LMI autosense。详细工作流程如下图: Step 1:在每经过 6 个 LMI 状态请求时,DTE 设备会发出一个完整状态请求,该请求也是一种用于保持连接的信号,帧中继交换机会以链路定义的所有DLCI 列表作为响应。 Step 2:帧中继交换机接收状态请求信号后,发送完整的状态响应消息,该消息包含该接口所有处于工作状态的DLCI列表。 Step 3:对于每个工作中的DLCI,路由器都会根据接口配置的第三层网络协议的情况发送一个Inverse ARP 请求,例如接口配置了 IP 和 IPX,路由器就会发送两个 InverseARP 请求,请求含有响应网络层地址的路由器做出应答。 Step 4:路由器会根据收到的InverseARP信息里所包含的每条DLCI在其帧中继映射表中建立一个映射项。这个映射表包括本地DLCI 和发出请求的远端路由器的网络层地址信息。还有PVC 状态,PVC状态有 3 种: ACTIVE-表明PVC处于工作状态,信息可以进行交换 INACTIVE-表明帧中继的本地连接正常,但远端路由器到帧中继的连接没有工作 DELETED-表明帧中继没有收到LMI或者没有建立物理层连接 Step 5:路由器继续每 10 秒交换一次 Keepalive 数据,每 60s 发送一个完整的 LMI 状态请求,如此循环。如果3次完整状态请求没有收到LMI 信号,就表明链路断开了。 45.1.8 InverseARP 对于 ARP,在 Frame-Relay 网络中,可以通过 SNAP 中的标准 ARP 封装来完成,但是 DLCI 具有局部意义。所以全局来看,ARP 请求和 ARP 回复的目标地址无法确定。考虑 RARP,RARP 为反向解析,但仅支持将IP地址解析成为MAC地址。所以在FR网络中,需要新的协议来支持ARP。 InverseARP可以使帧中继站点发现与虚电路相关的站点协议地址。 它比每一个虚电路上详细同希望解析的每一个地址都发送ARP消息有效得多,也比依赖静态设置要灵活得多。 除了InverseARP没有广播请求,InverseARP 的基本操作和 ARP 类似。一个请求站点仅需将硬件地址,协议地址和所知道的地址插入就形成一个请求,然后目的协议地址设置为0。最后针对特定网络封装好分组,然后直接发送给目的站点。 在支持数据链路管理的帧中继接口中,使用InverseARP 的接口将发送一个InverseARP请求,然后发给新的虚电路。如果另一方支持 Inverse-ARP,它会返回一个提供请求协议地址的响应。在帧中继环境中,InverseARP使用NLPID/SNAP 格式封装。在Cisco路由器中,InvereseARP默认开启。但是如果LMI没有正常工作,InverseARP将会无效。如果DLCI实效,Cisco路由器仍然处理并映射InverseARP,但并不使用它,直到报告DLCI 为 Active状态。 45.1.9 帧中继封装 标准的 FR 头和尾由 Q.922A 定义,对于多协议传输,通常将它们封装成一个基本的 FR 帧。在实现过程中可以使用Cisco私有的封装协议也可以使用ITEF RFC1490的方式。如下图: FCS Flags他们都能够支持Frame-Relay的多协议扩展。区别在于, RFC1490插入的为网络层协议ID(NLPID)而Cisco私有封装插入的为Protocol Type。对于Cisco路由器支持这两种封装。默认使用Cisco私有封装方式。同时封装后的报文为透明传输。所以对于一条VC,端到端的封装类型应该相同。 对于封装,可以使用IP封装,Q.933封装以及SNAP封装。以RFC1490为例,当使用IP封装时,NLPID字段的值为0xCC,CLNP为0x81,SNAP为0x80。当没有制定具体的网络协议时,要使用Q.933封装格式。 SNAP常用来封装供路由和桥接分组使用的 IEEE802.3桥接帧,分组含局域网间的流量,NLPID设置为0x80,然后跟一个5字节的SNAP头,其中包含3字节的 OUI 和2字节的PID,路由分组使用OUI 0x000000,而桥接分组使用OUI 0x0080C2。而PID用于标示协议和是否使用FCS, 802.3桥接帧在使用FCS时PID为0x0001,而不使用时为0x0007,IPX也采用SNAP封装,OUI为0x000000,而PID使用0x8137。 下图显示了Q.933,IP和SNAP的封装格式: 在封装前,一般需要对原有数据进行分段,分段头包括一个 2 字节顺序(Seq)域 ,该域每段递增。然后是一个4位的保留(Rsvd)域,然后是一个最终位(F),当表示为0时为第一个分段,为1时表示为最后一个分段。分段头的最后一个字段是一个 11 位的偏移(Offset)域,该值为 32 的倍数,第一个分段偏移量为 0。Frame-Relay对IP分组的分段方式如下图所示 针对不同端口访问速率和延迟要求,Cisco 对于分段大小做了如下推荐: Frame-Relay技术与其配置讲解FCS Flags45.2.1 接口封装 在cisco路由器上,仅有部分类型的接口可以配置Frame-Relay,例如同步串行接口,HSSI以及GSR上的POS口。而以太口以及ATM接口无法配置。以同步串口为例,默认情况下它的封装类型为HDLC。此时可以在接口上配置如下命令,完成Frame-Relay 封装 R1(config)#interface serial4/2 R1(config-if)#encapsulation frame-relay ietf 其中,封装类型默认为Cisco 的封装方式,如果需要与其它非Cisco设备相连接,则需要在命令后面加入可选参数ietf。 Cisco 和 Ietf 的 Frame-Relay 封装也可以在每个 VC 上配置,这样就可以一个多设备提供商的帧中继网络中在一个接口上,对端为Cisco设备的VC 采用Cisco封装,对端为非Cisco设备采用ietf 封装。 R1(config)#interface serial 4/2 R1(config-if)#encapsulation frame-relay R1(config-if)#frame-relay map ip 172.16.1.1 102 broadcast ietf R1(config-if)#frame-relay map ip 192.168.1.1 103 broadcast cisco 当使用no encapsulation frame-relay命令后,接口上所有与帧中继有关的配置将会清除。配置完封装类型后,需要使用no shut命令打开接口。 R1(config)#inter serial4/2 R1(config-if)#no shutdown R1(config-if)# 02:46:09: %LINK-3-UPDOWN: Interface Serial4/2, changed state to up 02:46:10: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial4/2, changed state to up 可以使用show interface命令查看接口状态封装类型, FRAME-RELAY代表Cisco封装,而FRAME-RELAY IETF代表IETF 封装。 R1#show interface serial 4/2 Serial4/2 is up, line protocol is up Hardware is M4T Internet address is 172.16.1.1/24 MTU 1500 bytes, BW 2048 Kbit, DLY 20000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation FRAME-RELAY, crc 16, loopback not set Keepalive set (10 sec) LMI enq sent 76, LMI stat recvd 78, LMI upd recvd 0, DTE LMI up LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0 LMI DLCI 1023 LMI type is CISCO frame relay DTE FR SVC disabled, LAPF state down Broadcast queue 0/64, broadcasts sent/dropped 9/0, interface broadcasts 0 Last input 00:00:09, output 00:00:09, output hang never Last clearing of show interface counters 00:14:03 Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: weighted fair Output queue: 0/1000/64/0 (size/max total/threshold/drops) Conversations 0/1/256 (active/max active/max total) Reserved Conversations 0/0 (allocated/max allocated) Available Bandwidth 1536 kilobits/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 79 packets input, 1163 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 101 packets output, 1525 bytes, 0 underruns 0 output errors, 0 collisions, 4 interface resets 0 output buffer failures, 0 output buffers swapped out 4 carrier transitions DCD=up DSR=up DTR=up RTS=up CTS=up 45.2.2 配置LMI Cisco 支持 3 种 LMI,并且可以采用 LMI 自适应的特性,免去了人工配置 LMI 类型带来的问题, 。当使用 no shutdown 激活端口后,该端口会按顺序向外发出 3 个 LMI 请求。然后,帧中继交换机根据支持的类型,在收到最后一个 请求帧后,再做出回复。可以用debug frame-relay lmi看到这个过程 R1#debug frame-relay lmi 02:51:41: %LINK-3-UPDOWN: Interface Serial4/2, changed state to up *Jul 5 00:20:53.535: Annex D LMI requestSerial4/2(out): StEnq, myseq 1, yourseen 0, DTE up *Jul 5 00:20:53.535: datagramstart = 0x7000214, datagramsize = 14 *Jul 5 00:20:53.535: FR encap = 0x00010308 *Jul 5 00:20:53.535: 00 75 95 01 01 00 03 02 01 00 *Jul 5 00:20:53.535: *Jul 5 00:20:53.535: Serial4/2(out): StEnq, Annex A LMI requestmyseq 1, yourseen 0, DTE up *Jul 5 00:20:53.535: datagramstart = 0x70000D4, datagramsize = 13 *Jul 5 00:20:53.535: FR encap = 0x00010308 *Jul 5 00:20:53.535: 00 75 51 01 00 53 02 01 00 *Jul 5 00:20:53.535: *Jul 5 00:20:53.535: Serial4/2(out): StEnq, Cisco LMI requestmyseq 1, yourseen 0, DTE up *Jul 5 00:20:53.535: datagramstart = 0x7000214, datagramsize = 13 *Jul 5 00:20:53.535: FR encap = 0xFCF10309 *Jul 5 00:20:53.535: 00 75 01 01 00 03 02 01 00 *Jul 5 00:20:53.535: *Jul 5 00:20:53.547: Serial4/2(in): Status, Frame Switch reply to Cisco LMI status requestmyseq 1 *Jul 5 00:20:53.547: RT IE 1, length 1, type 0 *Jul 5 00:20:53.547: KA IE 3, length 2, yourseq 1 , myseq 1 *Jul 5 00:20:53.547: PVC IE 0x7 , length 0x6 , dlci 100, status 0x0 , bw 0 *Jul 5 00:21:03.535: Serial4/2(out): StEnq, myseq 2, yourseen 1, DTE up *Jul 5 00:21:03.535: datagramstart = 0x7000214, datagramsize = 13 *Jul 5 00:21:03.535: FR encap = 0xFCF10309 *Jul 5 00:21:03.535: 00 75 01 01 01 03 02 02 01 *Jul 5 00:21:03.535: *Jul 5 00:21:03.539: Serial4/2(in): Status, myseq 2 *Jul 5 00:21:03.539: RT IE 1, length 1, type 0 *Jul 5 00:21:03.539: KA IE 3, length 2, yourseq 2 , myseq 2 *Jul 5 00:21:03.539: PVC IE 0x7 , length 0x6 , dlci 100, status 0x2 , bw 0 *Jul 5 00:21:03.543: Serial4/2(o): dlci 100(0x1841), pkt encaps 0x0300 0x8000 0x0000 0x806 (ARP), datagramsize 34 *Jul 5 00:21:03.543: FR: Sending INARP Request on interface Serial4/2 dlci 100 for link 7(IP) 完成LMI自适应过程后,可以使用show frame-relay lmi R1#show frame-relay lmi LMI Statistics for interface Serial4/2 (Frame Relay DTE) LMI TYPE = CISCO 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 144 Num Status msgs Rcvd 145 Num Update Status Rcvd 0 Num Status Timeouts 0 相对于帧中继封装,LMI仅能在接口上配置,而不能对不同的VC使用不同的LMI。LMI 类型应该和邻接的交换机所支持的 LMI 类型相匹配,而帧中继封装则需要与远端的帧中继设备的封装类型相匹配。LMI也可以不使用自适应过程,使用命令配置。 R1(config)#interface serial4/2 R1(config-if)#frame-relay lmi-type ? cisco ansi q933a R1(config-if)#frame-relay lmi-type q933a R1(config-if)#no shutdown 当手动指定 LMI 类型后,则需要设置 Keepalive 消息的间隔时间,默认时间为 10s,但路由器上的keepalive 消息的间隔时间必须小于等于帧中继交换机设置的间隔时间, R1(config)#interface serial4/2 R1(config-if)#keepalive 30 当 Keepalive 消息时间间隔不匹配时,会产生接口振荡,在帧中继交换机上,使用如下命令,可以查看到相应的接口状态。 SW#show frame-relay route Input Intf Input Dlci Output Intf Output Dlci Status Serial1/0 102 Serial1/1 201 active Serial1/1 201 Serial1/0 102 inactive LMI还有多个用于调整LMI信令的可选配置参数。 T391 用于定义短状态查询帧的时间间隔,以秒为单位,默认10秒 N391 用于定义一个倍数,用于计算状态查询的频度,默认值为6如果T391 设置为 10, 那么使得长状态查询帧每60 秒发送一次 。 Router(config-if)#frame-relay lmi-n391dte keep-exchange T392 用于定义预期的状态查询之间的时间间隔,默认为15秒。这个值应该大于FRAD 上定义的T391。如果T392计时器超时且未收到状态查询帧,则计算一次超时。 N392 设置DCE或者 DTE 和NNI接口错误的阀值,默认值DCE 为2,DTE为3 Router(config-if)#frame-relay lmi-n392dce threshold Router(config-if)#frame-relay lmi-n392dte threshold N393 设置DTE/DCE 和NNI监视事件计数,默认值DCE 为2,DTE为4 Router(config-if)#frame-relay lmi-n393dce events Router(config-if)#frame-relay lmi-n393dte events T392 用于NNI接口上的循环认证计时器,默认为15s Router(config-if)#frame-relay lmi-t392dce seconds N200 帧重传的最大次数,默认为3次 Router(config-if)#frame-relay lapf n200 retries T200 最大重传计时器,默认15s Router(config-if)#frame-relay lapf t200 seconds T203 空闲计时器值(必须T203T200) Router(config-if)#frame-relay lapf t203 seconds 45.2.3 配置帧中继映射 帧中继地址映射可以使用InverseARP协议自动实现。使用命令show fram-relay map可以看到映射的结果,对于IP/IPX协议,还需要在全局模式下输入ip/ipx routing 激活IP/IPX 路由功能。 R1#show frame-relay map Serial4/2 (up): ip 172.16.1.2 dlci 102(0x64,0x1840), dynamic, broadcast, status defined, active 在很多情况下为了网络安全等需求,需要禁止一些 DLCI 的接入。此时,我们需要关闭 Inverse-ARP。关闭InverARP可以在接口模式下输入no frame-relay inverse-arp。同时也可以对某些协议禁用Inverse-ARP,同时也可以对某些DLCI所对应的PVC禁止InverseARP。 R1(config)#interface serial4/2 R1(config-if)#no frame-relay inverse-arp ? apollo Apollo Domain appletalk AppleTalk bridge Bridging decnet DECnet interval Set inarp time interval on an interface ip IP ipx Novell IPX pppoe PPP over Ethernet qllc qllc protocol vines Banyan VINES xns Xerox Network Services R1(config-if)#no frame-relay inverse-arp ip ? Set DLCI for inverse ARP R1(config-if)#no frame-relay inverse-arp ip 102 在执行no frame-relay inversearp的同时,通常一起执行no arp frame-relay。 当网络发生改变或者需要重新分配DLCI值以及需要改变协议层地址时,可以在特权模式下使用 clear frame-relay inarp来清除。当该命令被执行时,路由器的动态地址映射表会被清空,同时强制要求路由器立即发送InverseARP查询消息。在清除动态映射DLCI 时,还可以仅对某些接口,或者某些PVC清除,清除方式clear frame-relay inarp interface type/num dlci dlci_number 在清除动态映射,首先需要no frame-relay inverse-arp 关闭inverse-ARP,然后clear frame-relay inarp 清除 inarp 动态映射的地址。但是有些设备上,需要 shutdown 端口,然后重新配置帧中继封装,并对无用的DLCI 进行DLCI关闭的操作,然后再打开接口,才能实现。同时还有一个命令为clear frame-relay counter清除计数器。 当然,在帧中继环境中也可以使用静态映射的方法来配置: Router(config-if)#frame-relay map protocol protocol-addr dlci broadcast ietf | cisco 静态映射支持的协议有ip/DECnet/AppleTalk/XNS/IPX/vines/clns 例如: R2(config)#interface serial3/0 R2(config-if)#frame-relay map ip 172.16.1.1 201 broadcast cisco R2#show frame-relay map Serial3/0 (up): ip 172.16.1.1 dlci 201(0xC8,0x3080), static, broadcast, CISCO, status defined, active 45.2.4 配置帧中继接口 对于支持帧中继的接口,可以使用子接口的模式,进行配置,子接口类型分为两类,点到点子接口和点到多点子接口,点到多点子接口通常使用frame-relay map命令进行静态寻址,而点到点子接口通常使用 frame-relay interface-dlci命令进行动态寻址。下图拓扑中各个路由器的配置如下 R1 interface Serial4/2 ip address 172.16.1.1 255.255.255.248 encapsulation frame-relay frame-relay map ip 172.16.1.2 103 broadcast R2 interface Serial3/0 ip address 172.16.1.2 255.255.255.248 encapsulation frame-relay frame-relay map ip 172.16.1.1 203 broadcast R3 interface Serial3/1 no ip address encapsulation frame-relay ! interface Serial3/1.304 point-to-point ip address 192.168.1.1 255.255.255.252 frame-relay interface-dlci 304 ! interface Serial3/1.301 multipoint ip address 172.16.1.3 255.255.255.248 frame-relay map 172.16.1.1 301 broadcast frame-relay map 172.16.1.2 302 broadcast R4 interface Serial1/2 no ip address encapsulation frame-relay ! interface Serial1/2.403 point-to-point ip address 192.168.1.2 255.255.255.252 frame-relay interface-dlci 403 注意:对于DV 路由协议,RIP需要使用no ip split-horizon关闭水平分割。对于IGRP/EIGRP则需要在接口模式下使用no ip splithorizon eigrp as-num 来关闭,同时要需要加入bandwidth命令。对于OSPF路由协议,则需要使用ip ospf network type或者使用neighbor进行单播通告。对于点到多点接口所在的路由器还需要将其优先级设置为1使其成为 DR路由器。 在点到多点结构中,对于Hub接口,还可以使用动态地址映射来配置,R3的配置方式如下: interface Serial3/1 no ip addre
展开阅读全文