02-HDLC配置
本章節下載: 02-HDLC配置 (247.07 KB)
目 錄
HDLC(High-level Data Link Control,高級數據鏈路控製)是一種麵向比特的鏈路層協議,其最大特點是對任何一種比特流,均可以實現透明的傳輸。
· HDLC協議隻支持點到點鏈路,不支持點到多點。
· HDLC不支持IP地址協商,不支持認證。協議內部通過Keepalive報文來檢測鏈路狀態。
· HDLC協議隻能封裝在同步鏈路上。目前應用的接口為:POS接口。
HDLC有信息幀(I幀)、監控幀(S幀)和無編號幀(U幀)3種不同類型的幀。
· 信息幀用於傳送有效信息或數據,通常簡稱為I幀。
· 監控幀用於差錯控製和流量控製,通常稱為S幀。
· 無編號幀用於提供對鏈路的建立、拆除以及多種控製功能,簡稱U幀。
HDLC幀由標誌、地址、控製、信息和幀校驗序列等字段組成。
· 標誌字段為01111110,標誌一個HDLC幀的開始和結束;
· 地址字段是8比特,用於標識接收或發送HDLC幀的地址;
· 控製字段是8比特,用來實現HDLC協議的各種控製信息,並標識是否是數據;
· 信息字段可以是任意的二進製比特串,長度未作限定,其上限由FCS(幀校驗序列)字段或通訊節點的緩衝容量來決定。目前國際上用得較多的是1000-2000比特,而下限可以是0,即無信息字段。但是監控幀中不可有信息字段。
· 幀檢驗序列字段可以使用16位CRC(循環冗餘校驗),對兩個標誌字段之間的整個幀的內容進行校驗。
表1-1 配置接口封裝HDLC協議
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入相應的接口視圖 |
interface interface-type interface-number |
- |
在接口上封裝HDLC協議 |
link-protocol hdlc |
必選 缺省情況下,接口封裝的鏈路協議是PPP協議 |
表1-2 配置接口IP地址
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入接口視圖 |
interface interface-type interface-number |
- |
|
配置接口IP地址 |
配置接口的IP地址 |
ip address ip-address { mask | mask-length } [ sub ] |
二者必選其一 缺省情況下,沒有為接口配置IP地址也不借用其它接口的IP地址 |
配置本接口借用指定接口的IP地址 |
ip address unnumbered interface interface-type interface-number |
如果對封裝HDLC的接口配置IP地址借用,借用地址的一端必須能夠學到對端的網絡路由,否則將無法達到對端。
在配置IP地址借用時,可以使用路由協議或靜態路由來學習到對端的路由,並注意以下原則:
· 如果使用路由協議,由於路由查找采用最長匹配原則,應確保學到路由的掩碼長度大於被借用方IP地址的掩碼長度;
· 如果使用靜態路由,且被借用方的IP地址使用32位掩碼,靜態路由的掩碼長度應小於被借用方IP地址的掩碼長度;
· 如果使用靜態路由,且被借用方的IP地址掩碼小於32位,靜態路由的掩碼長度應大於被借用方IP地址的掩碼長度。
關於配置接口IP地址的詳細介紹請參見“三層技術-IP業務配置指導”中的“IP地址”。
HDLC協議使用定時器來確認鏈路狀態是否正常。在配置輪詢時間的間隔時,建議鏈路兩端的設置保持一致。如果將兩端的輪詢時間間隔都設為0,則禁止鏈路狀態檢測功能。
表1-3 配置輪詢時間
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置狀態輪詢定時器的輪詢時間間隔 |
timer hold seconds |
可選 缺省情況下,接口的狀態輪詢時間間隔為10秒 |
輪詢時間可使用缺省配置,也可根據網絡實際情況進行調整。如果網絡的延遲比較大,或擁塞程度較高,可以適當加大輪詢時間的間隔,以減少網絡震蕩的發生。
· Switch A和Switch B通過POS接口相連,要求運行HDLC。
· Switch A的POS3/1/1接口借用本端Loopback接口的IP地址,Loopback接口使用32位掩碼。
· Switch A通過靜態路由學習對端路由信息,可以到達12.1.2.0/24這個網段。
圖1-1 配置IP地址借用HDLC
配置Switch A
<SwitchA> system-view
[SwitchA] interface LoopBack 1
[SwitchA-LoopBack1] ip address 12.1.1.2 32
[SwitchA-LoopBack1] quit
[SwitchA] interface Pos 3/1/1
[SwitchA-Pos3/1/1] clock master
[SwitchA-Pos3/1/1] link-protocol hdlc
[SwitchA-Pos3/1/1] ip address unnumbered interface LoopBack 1
[SwitchA-Pos3/1/1] quit
配置Switch B
<SwitchB> system-view
[SwitchB] interface Pos 3/1/1
[SwitchB-Pos3/1/1] link-protocol hdlc
[SwitchB-Pos3/1/1] ip address 12.1.1.1 24
在Switch A上配置兩條靜態路由
[SwitchA] ip route-static 12.1.1.0 24 Pos 3/1/1
[SwitchA] ip route-static 12.1.2.0 24 12.1.1.1
配置完成後Switch A可以ping通12.1.2.0/24網段。
[SwitchA] ping 12.1.2.1
PING 12.1.2.1: 56 data bytes, press CTRL_C to break
Reply from 12.1.2.1: bytes=56 Sequence=1 ttl=255 time=35 ms
Reply from 12.1.2.1: bytes=56 Sequence=2 ttl=255 time=1 ms
Reply from 12.1.2.1: bytes=56 Sequence=3 ttl=255 time=10 ms
Reply from 12.1.2.1: bytes=56 Sequence=4 ttl=255 time=1 ms
Reply from 12.1.2.1: bytes=56 Sequence=5 ttl=255 time=1 ms
--- 12.1.2.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/9/35 ms
在Switch A執行display ip routing-table命令可以看到路由表信息正確。
[SwitchA] display ip routing-table
Routing Tables: Public
Destinations : 5 Routes : 5
Destination/Mask Proto Pre Cost NextHop Interface
12.1.1.0/24 Static 60 0 12.1.1.2 POS3/1/1
12.1.1.2/32 Direct 0 0 127.0.0.1 InLoop0
12.1.2.0/24 Static 60 0 12.1.1.1 POS3/1/1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
HDLC鏈路捆綁是將多個封裝相同鏈路層協議為HDLC的接口捆綁到一起,形成一條邏輯上的數據鏈路。
HDLC鏈路捆綁的作用如下:
· 流量負載分擔:出/入流量可以在多個成員接口之間分擔。
· 增加帶寬:鏈路捆綁接口的帶寬是各可用成員接口帶寬的總和。
· 提高連接可靠性:當某個成員接口出現故障時,流量會自動切換到其他可用的成員接口上,從而提高整個捆綁鏈路的連接可靠性。
HDLC捆綁接口是一個邏輯接口。一個HDLC捆綁接口對應一個HDLC捆綁。
HDLC捆綁是一組HDLC接口的集合。HDLC捆綁是隨著HDLC捆綁接口的創建而自動生成的,其編號與HDLC捆綁接口編號相同。
加入HDLC捆綁後的接口稱為成員接口。
目前,隻有POS接口可以加入HDLC捆綁,並且加入HDLC捆綁的成員接口的鏈路層協議類型必須是HDLC。
成員接口有下列4種狀態:
· 初始狀態:成員接口的鏈路層協議處於down狀態。
· 協商狀態:成員接口的鏈路層協議處於up狀態,但是成員接口不滿足選中條件。
· 就緒狀態:成員接口的鏈路層協議處於up狀態,且成員接口滿足選中條件,但由於最多選中成員接口數目/最少選中成員接口數目/最小激活帶寬的限製,使得該成員接口沒有被選中,那麼該成員接口將處於就緒狀態。
· 選中狀態:成員接口的鏈路層協議處於up狀態,且成員接口滿足選中條件,處於選中狀態。隻有處於選中狀態的成員接口才能轉發流量。設備允許不同速率的成員接口同時被選中,但此時每個接口的轉發能力在業務流量不丟失的情況下隻能達到最低的接口水平。建議用戶不要將不同速率的接口加入到同一個HDLC捆綁。
關於如何確定成員接口的狀態,將在“2.1.3 HDLC鏈路捆綁的工作機製”中詳細介紹。
成員接口狀態的確定原則如下:
鏈路層協議處於down狀態的成員接口處於初始狀態。
鏈路層協議處於up狀態的成員接口處於協商狀態。
處於協商狀態的成員接口經過下麵的選擇過程可能變為選中狀態或就緒狀態。如果選出的成員接口有M個:
· 如果設備沒有限製最多選中成員接口數目,則這M個成員接口均處於選中狀態。
· 如果設備限製最多選中成員接口數目為N,當M<=N時,這M個成員接口均處於選中狀態;當M>N時,依次按照成員接口的速率/波特率、捆綁優先級和接口索引號來為這些成員接口進行排序(速率/波特率大的排在前麵,捆綁優先級高的排在前麵,接口索引號小的排在前麵),排在前N個的成員接口將處於選中狀態,排在後麵的(M-N)個成員接口將處於就緒狀態。
假設滿足上述選中原則的成員接口有P個,而設備限製的最少選中成員接口數目為Q,當P<Q時,這P個成員接口都不會被選中,將處於就緒狀態。或者,當這P個成員接口的總帶寬小於配置的最小激活帶寬時,這P個成員接口也都不會被選中,也將處於就緒狀態。
如果HDLC捆綁中沒有處於選中狀態的成員接口,則HDLC捆綁將處於down狀態,不能轉發流量;隻有HDLC捆綁中有處於選中狀態的成員接口,HDLC捆綁接口才會處於up狀態,才能進行流量轉發。HDLC捆綁的帶寬是所有處於選中狀態的成員接口的帶寬之和。
設備限製的最多選中成員接口數目的確定方法如下:首先采用用戶通過bundle max-active links命令配置的值;如果用戶未配置,則以設備支持的最多選中成員接口數目為準。目前設備支持的最多選中成員接口數目為8。
HDLC捆綁是通過選中成員接口來轉發流量的。當捆綁中存在多個選中成員接口時,設備會根據負載分擔方式來選擇某些選中成員接口發送流量。負載分擔方式分為逐流負載分擔和逐包負載分擔兩種,原理如下:
· 逐流負載分擔:通過五元組(源IP地址、目的IP地址、協議號、源端口、目的端口)將報文分成不同的流,同一條流的報文將在同一個選中成員接口上發送。
· 逐包負載分擔:以報文為單位,輪流選擇所有選中成員接口發送報文。
目前,本設備僅支持逐流負載分擔。
表2-1 配置HDLC捆綁接口
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建HDLC捆綁接口並進入HDLC捆綁接口視圖 |
interface hdlc-bundle bundle-id |
必選 |
配置HDLC捆綁接口的IP地址 |
ip address ip-address { mask | mask-length } [ sub ] |
必選 缺省情況下,沒有為接口配置IP地址 |
配置最少選中成員接口數目 |
bundle min-active links number |
可選 缺省情況下,不進行限製 |
配置最多選中成員接口數目 |
bundle max-active links number |
可選 缺省情況下,不進行限製 |
配置最小激活帶寬 |
bundle min-active bandwidth bandwidth |
可選 缺省情況下,不進行限製 |
配置HDLC捆綁接口的描述信息 |
description text |
可選 缺省情況下,接口的描述信息為“接口名 Interface” |
配置HDLC捆綁接口的MTU值 |
mtu size |
可選 缺省情況下,HDLC捆綁接口的MTU值為1500Bytes MTU參數會影響IP報文的分片與重組,可以通過本命令來設置合適的MTU值 |
恢複HDLC捆綁接口的缺省配置 |
default |
可選 |
打開HDLC捆綁接口 |
undo shutdown |
可選 缺省情況下,HDLC捆綁接口處於打開狀態 打開/關閉捆綁接口時,不會影響成員接口的打開/關閉狀態,但是會影響到捆綁接口下的成員接口的選擇過程 |
· 配置的最少選中成員接口數目不能大於最多選中成員接口數目。
· 為保證轉發正常,建議在同一條HDLC捆綁鏈路兩端的HDLC捆綁接口上配置相同的最少選中成員接口數目、最多選中成員接口數目、最小激活帶寬。
· 關於ip address命令的介紹請參見“三層技術-IP業務命令參考”中的“IP地址”。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入POS接口視圖 |
interface interface-type interface-number |
必選 |
配置接口的鏈路層協議類型為HDLC |
link-protocol hdlc |
必選 缺省情況下,接口的鏈路層協議為PPP |
配置接口加入HDLC捆綁 |
bundle id bundle-id |
必選 |
配置接口的捆綁優先級 |
bundle member-priority priority |
可選 缺省情況下,接口的捆綁優先級為32768 |
· 下列接口不能加入HDLC捆綁:配置IPv4地址和地址借用的接口、配置IPv6地址的接口、配置URPF的接口。並且,接口加入HDLC捆綁之後也不能配置這些功能。
· 一個接口隻能加入一個HDLC捆綁,如果需要加入其他HDLC捆綁,必須先退出原來的HDLC捆綁。
· 加入HDLC捆綁的接口封裝的鏈路層協議必須為HDLC。接口加入HDLC捆綁之後不允許修改切換鏈路層協議。
· HDLC捆綁接口沒有創建的情況下,也允許將接口加入HDLC捆綁。
· 可以將不同接口板上的接口加入到同一個HDLC捆綁。
· HDLC鏈路捆綁配置完成後,如果用戶又修改了某成員接口的捆綁優先級,那麼設備會重新確定各成員接口的狀態。
· 成員接口加入HDLC捆綁前,請不要在該接口上配置三層業務(如MPLS、VPN等),如果成員接口上已有三層業務配置,請先取消該接口上所有的三層業務配置,再加入HDLC捆綁;加入HDLC捆綁後,相關業務也隻能在HDLC捆綁接口上進行配置,如果在成員接口上誤操作配置了三層業務,請先取消該成員接口上的所有三層業務配置,並在HDLC捆綁接口上執行shutdown、undo shutdown命令即可恢複。
· 如果本地設備使用了HDLC捆綁,與成員接口直連的對端接口也必須相應的加入HDLC捆綁。
· bundle member-priority命令一般需要和bundle max-active links命令一般需要配合使用,以保證兩台設備相互連接的接口同時處於選中狀態(隻有兩端接口同時處於選中狀態,報文才能發送成功),避免出現一端接口處於選中狀態,而另一端接口沒有處於選中狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後HDLC鏈路捆綁的運行情況,通過查看顯示信息驗證配置的效果。
表2-3 HDLC鏈路捆綁顯示和維護
操作 |
命令 |
顯示HDLC捆綁信息 |
display bundle member hdlc-bundle [ bundle-id ] [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
顯示HDLC捆綁接口的相關信息 |
display interface [ hdlc-bundle [ bundle-id ] ] [ brief [ description ] ] [ | { begin | exclude | include } regular-expression ] display interface [ hdlc-bundle ] [ brief [ down ] ] [ | { begin | exclude | include } regular-expression ] |
清除HDLC捆綁接口的統計信息 |
reset counters interface [ hdlc-bundle [ bundle-id ] ] |
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP。
為了增加Switch A和Switch B之間的鏈路帶寬,並提高連接可靠性,在設備之間建立HDLC捆綁邏輯鏈路。
圖2-1 配置HDLC鏈路捆綁組網圖
配置Switch A
# 創建HDLC捆綁接口1,並配置IP地址。
<SwitchA> system-view
[SwitchA] interface Hdlc-bundle 1
[SwitchA-Hdlc-bundle1] ip address 1.1.1.1 24
[SwitchA-Hdlc-bundle1] quit
# 將POS5/1/1、POS5/1/2加入到HDLC捆綁1(POS接口采用主時鍾模式)。
[SwitchA] interface Pos 5/1/1
[RouterA-Pos5/1/1] clock master
[SwitchA-Pos5/1/1] link-protocol hdlc
[SwitchA-Pos5/1/1] bundle id 1
[SwitchA-Pos5/1/1] quit
[SwitchA] interface Pos 5/1/2
[RouterA-Pos5/1/2] clock master
[SwitchA-Pos5/1/2] link-protocol hdlc
[SwitchA-Pos5/1/2] bundle id 1
[SwitchA-Pos5/1/2] quit
配置Switch B
# 創建HDLC捆綁接口1,並配置IP地址。
<SwitchB> system-view
[SwitchB] interface Hdlc-bundle 1
[SwitchB-Hdlc-bundle1] ip address 1.1.1.2 24
[SwitchB-Hdlc-bundle1] quit
# 將POS5/1/1、POS5/1/2加入到HDLC捆綁1。
[SwitchB] interface Pos 5/1/1
[SwitchB-Pos5/1/1] link-protocol hdlc
[SwitchB-Pos5/1/1] bundle id 1
[SwitchB-Pos5/1/1] quit
[SwitchB] interface Pos 5/1/2
[SwitchB-Pos5/1/2] link-protocol hdlc
[SwitchB-Pos5/1/2] bundle id 1
[SwitchB-Pos5/1/2] quit
驗證配置結果
在Switch A或Switch B上執行display interface hdlc-bundle命令,可以看到HDLC捆綁接口1的狀態為UP。
以Switch A的顯示為例。
[SwitchA] display interface Hdlc-bundle 1
Hdlc-bundle1 current state: UP
Line protocol current state: UP
Description: Hdlc-bundle1 Interface
The Maximum Transmit Unit is 1500
Internet Address is 1.1.1.1/24 Primary
Link layer protocol is HDLC
Physical is HDLC-BUNDLE, baudrate: 155520 kbps
Output queue : (Urgent queuing : Size/Length/Discards) 0/100/0
Output queue : (Protocol queuing : Size/Length/Discards) 0/500/0
Output queue : (FIFO queuing : Size/Length/Discards) 0/75/0
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes, 0 drops
0 packets output, 0 bytes, 0 drops
Switch A和Switch B的HDLC捆綁接口能夠互相Ping 通。
[SwitchA] ping –a 1.1.1.1 1.1.1.2
PING 1.1.1.2: 56 data bytes, press CTRL_C to break
Reply from 1.1.1.2: bytes=56 Sequence=1 ttl=255 time=6 ms
Reply from 1.1.1.2: bytes=56 Sequence=2 ttl=255 time=3 ms
Reply from 1.1.1.2: bytes=56 Sequence=3 ttl=255 time=3 ms
Reply from 1.1.1.2: bytes=56 Sequence=4 ttl=255 time=3 ms
Reply from 1.1.1.2: bytes=56 Sequence=5 ttl=255 time=3 ms
--- 1.1.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 3/3/6 ms
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!