Frame Relay
最流行的WAN的服务了,比专线省钱,带宽也有保证
源自比较古老的X.25协议,不过省略了.25里面的有些冗长的功能,比如什么窗口控制啊,数据重传啊。
针对OSI下2层,而.25还提供3层的服务,所以Frame Relay比.25有更好的效率和性能。
路由器到Frame Relay Switch之间的链路叫帧中继
Frame Relay采用虚拟链路,路由器看到的就是2台路由器之间的PVC链路。属于包交换技术,实现多路复用;
Frame Relay和点到点租用线路一样;
转换中使用到的2种设备:
CSU(信道服务单元):将LAN的帧转换成适合广域网的数据帧,反向也是。
DSU(数据服务单元):对电信线路进行保护和故障诊断。
CSU/DSU现在就一个设备连接电信网络和用户网络。类似调试解调器,就是比那个贵。CSU/DSU属于DCE设备
CSU/DSU工作原理:
- 用户在本地网络中的主机发送一个帧
- 路由器提出数据包,丢弃剩下的帧
- 路由器从它认为可以到达远端网络的接口转发数据
- CSU/DSU接收数字信号后,并编码为包交换机可以理解的数据信号类型
- CSU/DSU连接分界,分界点有服务商安装并位于服务商的第一个负责点
- 典型的分解时连接到本地回路的双绞线电缆
- CO收到帧,通过帧中继网云发送至目的地
- 一旦帧到达最靠近目的的交换局,就发送到本地回路
确实有点丑……
帧中继的术语:
访问速率Access Rate:每个帧中继接口可以传输的最大带宽
约定信息速率CIR:正常情况下帧中继网络传输数据的速率,它是在最小单位时间内传输数据平均值,单位为bps
约定猝发速率CBR:帧中继网络可通过的数据最大的传输速率,单位是bps
动态带宽控制:
当线路空闲的时候,能使用超过CIR低于CBR的带宽。在拥塞的时候,丢弃超过CIR的某些帧丢弃,不过保证不超过CIR的可靠数据传输。
虚电路
虚电路实现帧中继包交换网络中的DTE的逻辑连接(非物理连接)
虚电路在DTE设备之间提供双向信道,并且通过数据链路连接标识符(Data Link Connection Identifiers,DLCIs)进行识别
2种虚电路:
SVC-交换式虚电路,类似打电话,拨打、使用、终止(基本国内不提供)
PVC-永久性虚电路,永久连接。只有2种状态,空闲和数据传输
DLCI
用于识别在DTE和FR Switch之间的逻辑虚电路。每条电路都对应一个DLCI,一般由电信公司提供,DLCI是局部性的,所有DLCI在帧中继网络中不是唯一的。
配置DLCI号:
Router(config-if)#frame-relay interface dlci-100
LMI(Local management Interface)本地管理接口:不是用于Router之间通讯的,而是router和离你最近的FR switch的信令标准
LMI使得DLCI具有全局性而不再是局部性,即DLCI的值成了DTE设备的地址。可以这样理解,前面说过DLCI不是唯一的,这个东西就相当于电话号码前加了个区号,变得全局唯一了。
3中LMI类型
CISCO
ANSI
Q.933A
不过从IOS版本11.2开始就支持自动检测了。如果没有就手动配置
router(config-if)#frame-relay lmi-type cisco
router上定义了帧中继封装的从服务商的fr-switch接受和更新虚电路的3种状态:
1、active:正常,router之间可以交换信息;
2、inactive:router接口为up状态,而且可以和帧中继交换机通讯,但远端router没有工作;
3、deleted:没有LMI信息在router和FR-switch之间传递,可能是线路问题或者是映射出错。
Frame-relay拥塞控制机制:
帧中继帧中的3种拥塞位和含义
1、丢弃适选者位(DE):1bit,表示一个帧重要性比其他帧低,当网络堵塞时优先丢弃那些设置了DE位的帧。
2、向前显式拥塞通知(FECN):1bit,这个被置1时,说明帧从源地址到目标地址的传输线路出现了拥塞
3、向后显式拥塞通知(BECN):1bit,这个被置1时,说明帧从源地址到目标地址的传输线路的反方向出现了拥塞。
配置:
RB模拟帧中继交换机
RA(config)#int s0/1
RA(config-if)#encapsulation frame-relay
RA(config-if)#ip add 12.1.1.1 255.255.255.0
RA(config-if)#no frame-relay invert-arp
RA(config-if)#no arp frame-relay
RA(config-if)#frame-relay lmi-type cisco
RA(config-if)#frame-relay interface-dlci 100 #出口DLCI号100
[RA(config-if)#frame-relay map ip 12.1.1.2 100 broadcast] #这条命令也可以 ,静态FR映射
RA(config-fr-dlci)#exit
RA(config-if)#no shu
RB(config)#frame-relay switching #模拟Frame-Relay交换机
RB(config)#int s0/1
RB(config-if)#encapsulation frame-relay #配封装
RB(config-if)#frame-relay lmi-type cisco #配置LMI类型为cisco
RB(config-if)#frame-relay intf-type dce #配置为DCE端,提供时钟频率
RB(config-if)#clock rate 64000
RB(config-if)#frame-relay route 100 interface s0/2 101 #从100 DLCI进,从S0/2去101的DLCI
RB(config)#int s0/2
RB(config-if)#encapsulation frame-relay
RB(config-if)#frame-relay lmi-type ansi #配置LMI类型为ANSI
RB(config-if)#frame-rela intf-type dce
RB(config-if)#clock rate 64000
RB(config-if)#frame-relay route 101 inter s0/1 100
RB(config-if)#no shu
RC(config)#int s0/2
RC(config-if)#encapsulation frame-rela
RC(config-if)#ip add 12.1.1.2 255.0.0.0
RA(config-if)#no frame-relay invert-arp
RA(config-if)#no arp frame-relay
RC(config-if)#frame-relay lmi-ty ansi
RC(config-if)#frame-relay interface-dlci 101
[RC(config-if)#frame-relay map ip 12.1.1.1 101 broadcast] #同上条命令同样效果
RC(config-fr-dlci)#exit
RC(config-if)#no shu
查看Frame-Relay Switch的PVC状态
RB#sh frame-relay route
Input Intf Input Dlci Output Intf Output Dlci Status
Serial0/1 100 Serial0/2 101 active
Serial0/2 101 Serial0/1 100 active
RB#sh frame-relay pvc
PVC Statistics for interface Serial0/1 (Frame Relay DCE)
Active Inactive Deleted Static
Local 0 0 0 0
Switched 1 0 0 0
Unused 0 0 0 0
DLCI = 100, DLCI USAGE = SWITCHED, PVC STATUS = ACTIVE, INTERFACE = Serial0/1
……………………………………………………………………………………………………
查看DTE端
RA#sh frame-relay map
Serial0/1 (up): ip 12.1.1.2 dlci 100(0x64,0x1840), static,
broadcast,
CISCO, status defined, active
点到点子接口:
子接口看作专线
每一个点到点连接的子接口要求有自己的子网
适用于星型拓扑结构
int s0/0.1 point-to-point
frame-relay interface-dlci XXX
多点子接口:(和父物理接口一样的性质)
一个单独的子接口来建立多条PVC,这些PVC连接到远端路由器的多点子接口或者物理接口
所有加入的接口都处于同一子网中
适用于Full mesh和partial-mesh拓扑结构
int s0/0.2 multipoint
frame-relay map ip X.X.X.X DLCI broadcast
点对点配置,在一天物理链路上跑多条PVC
还是上面的图,只不过RA和RC上起2个子接口做2条pvc
RA:
R1(config)#int s0/1
R1(config-if)#encapsulation frame-relay
R1(config-if)#frame-relay lmi-ty cisco
R1(config-if)#no shu
R1(config-if)#int s0/1.1
R1(config)#int s0/1.1 point-to-point
R1(config-subif)#ip add 1.1.1.1 255.255.255.0
R1(config-subif)#frame-relay interface-dlci 100
R1(config-fr-dlci)#exit
R1(config-subif)#exit
R1(config)#int s0/1.2 point-to-point
R1(config-subif)#ip add 2.2.2.2 255.255.255.0
R1(config-subif)#frame-relay interface-dlci 200
R1(config-fr-dlci)#exit
R1(config-subif)#exit
RB:
R2(config)#frame-relay switching
R2(config)#int s0/1
R2(config-if)#encapsulation frame-relay
R2(config-if)#frame-relay lmi-type cisco
R2(config-if)#frame-relay intf-type dce
R2(config-if)#frame-relay route 100 int s0/2 101
R2(config-if)#frame-relay route 200 int s0/2 202
R2(config-if)#no shu
R2(config-if)#int s0/2
R2(config-if)#encapsulation frame-relay
R2(config-if)#frame-relay lmi-type cisco
R2(config-if)#frame-relay intf-type dce
R2(config-if)#frame-relay route 101 int s0/1 100
R2(config-if)#frame-relay route 202 int s0/1 200
R2(config-if)#no shu
RC:
R3(config)#int s0/2
R3(config-if)#encapsulation frame-relay
R3(config-if)#frame-relay lmi-ty cisco
R3(config-if)#no shu
R3(config)#int s0/2.1 point-to-point
R3(config-subif)#ip add 1.1.1.2 255.255.255.0
R3(config-subif)#frame-relay interface-dlci 101
R3(config-fr-dlci)#exit
R3(config-subif)#exit
R3(config)#int s0/1.2 point-to-point
R3(config-subif)#ip add 2.2.2.3 255.255.255.0
R3(config-subif)#frame-relay interface-dlci 202
R3(config-fr-dlci)#exit
R3(config-subif)#exit