++++++++Background++++++++
FR最初是對ISDN的擴展,其設計目的是在包交換的網絡上實現電路交換技術。發展到後來FR成爲一種獨立、經濟的廣域網技術。
++++++++Overview++++++++
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與出DLCI之間的映射。保存於交換機上。通常靜態指定(PVC)。
交換過程: 具體來講,當與幀中繼網絡相連的路由器接收到一個數據包時,它首先根據目的地址查找它的路由表,並找到下一跳路由器;而後根據下一跳路由器查找幀中繼映射表,找到能夠到達下一跳路由器的對應虛鏈路的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
|