04-HDLC配置
本章节下载 (265.73 KB)
HDLC(High-level Data Link Control,高级数据链路控制)是一种面向比特的链路层协议,其最大特点是对任何一种比特流,均可以实现透明的传输。
· HDLC协议只支持点到点链路,不支持点到多点。
· HDLC不支持IP地址协商,不支持认证。协议内部通过Keepalive报文来检测链路状态。
· HDLC协议只能封装在同步链路上,如果是同异步串口的话,只有当同异步串口工作在同步模式下才可以应用HDLC协议。目前应用的接口为:工作在同步模式下的Serial接口和POS接口等。
HDLC有信息帧(I帧)、监控帧(S帧)和无编号帧(U帧)3种不同类型的帧。
· 信息帧用于传送有效信息或数据,通常简称为I帧。
· 监控帧用于差错控制和流量控制,通常称为S帧。
· 无编号帧用于提供对链路的建立、拆除以及多种控制功能,简称U帧。
HDLC帧由标志、地址、控制、信息和帧校验序列等字段组成。
· 标志字段为01111110,标志一个HDLC帧的开始和结束,所有的帧必须以7E开头,并以7E结束;在邻近两帧之间的7E,即作为前面帧的结束,又作为后续帧的开头;
· 地址字段是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协议 |
· 可以通过display interface命令查看配置结果。
· 可以通过reset counters interface命令清除HDLC接口的统计信息,使接口重新开始统计流量。
表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 retries |
可选 缺省情况下,接口的状态轮询时间间隔为10秒,轮询次数为5 |
轮询时间可使用缺省配置,也可根据网络实际情况进行调整。如果网络的延迟比较大,或拥塞程度较高,可以适当加大轮询时间的间隔,以减少网络震荡的发生。
路由器Router A和Router B通过POS接口相连,要求运行HDLC。
图1-1 配置HDLC基本功能组网图
(1) 配置Router A
<RouterA> system-view
[RouterA] interface pos 1/0/1
[RouterA-Pos1/0/1] clock master
[RouterA-Pos1/0/1] link-protocol hdlc
[RouterA-Pos1/0/1] ip address 12.1.1.1 24
[RouterA-Pos1/0/1] quit
(2) 配置Router B
<RouterB> system-view
[RouterB] interface pos 1/0/1
[RouterB-Pos1/0/1] link-protocol hdlc
[RouterB-Pos1/0/1] ip address 12.1.1.2 24
配置完成后Router A和Router B可以互相ping通。以Router A的显示为例。
[RouterA] ping 12.1.1.2
PING 12.1.1.2: 56 data bytes, press CTRL_C to break
Reply from 12.1.1.2: bytes=56 Sequence=1 ttl=255 time=126 ms
Reply from 12.1.1.2: bytes=56 Sequence=2 ttl=255 time=1 ms
Reply from 12.1.1.2: bytes=56 Sequence=3 ttl=255 time=1 ms
Reply from 12.1.1.2: bytes=56 Sequence=4 ttl=255 time=1 ms
Reply from 12.1.1.2: bytes=56 Sequence=5 ttl=255 time=10 ms
--- 12.1.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/27/126 ms
· 路由器Router A和Router B通过POS接口相连,要求运行HDLC。
· Router A的POS1/0/1接口借用本端Loopback接口的IP地址,Loopback接口使用32位掩码。
· Router A通过静态路由学习对端路由信息,可以到达12.1.2.0/24这个网段。
图1-2 配置IP地址借用的HDLC组网图
(1) 配置Router A
<RouterA> system-view
[RouterA] interface loopback 1
[RouterA-LoopBack1] ip address 12.1.1.2 32
[RouterA-LoopBack1] quit
[RouterA] interface pos 1/0/1
[RouterA-Pos1/0/1] clock master
[RouterA-Pos1/0/1] link-protocol hdlc
[RouterA-Pos1/0/1] ip address unnumbered interface loopback 1
[RouterA-Pos1/0/1] quit
(2) 配置Router B
<RouterB> system-view
[RouterB] interface pos 1/0/1
[RouterB-Pos1/0/1] link-protocol hdlc
[RouterB-Pos1/0/1] ip address 12.1.1.1 24
(3) 在Router A上配置静态路由
[RouterA] ip route-static 12.1.1.0 24 pos 1/0/1
[RouterA] ip route-static 12.1.2.0 24 12.1.1.1
配置完成后Router A可以ping通12.1.2.0/24网段。
[RouterA] 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
在Router A执行display ip routing-table命令可以看到路由表信息正确。
[RouterA] 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 POS1/0/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 POS1/0/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接口和Serial接口可以加入HDLC捆绑,并且加入HDLC捆绑的成员接口的链路层协议类型必须是HDLC。
成员接口有下列4种状态:
· 初始状态:成员接口的链路层协议处于down状态。
· 协商状态:成员接口的链路层协议处于up状态,但是成员接口不满足选中条件。
· 就绪状态:成员接口的链路层协议处于up状态,且成员接口满足选中条件,但由于最多选中成员接口数目/最少选中成员接口数目/最小激活带宽的限制,使得该成员接口没有被选中,那么该成员接口将处于就绪状态。
· 选中状态:成员接口的链路层协议处于up状态,且成员接口满足选中条件,处于选中状态。只有处于此状态的成员接口才能转发流量。
关于如何确定成员接口的状态,将在“2.1.3 HDLC链路捆绑的工作机制”中详细介绍。
成员接口状态的确定原则如下:
(1) 链路层协议处于down状态的成员接口处于初始状态。
(2) 链路层协议处于up状态的成员接口处于协商状态。
(3) 处于协商状态的成员接口经过下面的选择过程可能变为选中状态或就绪状态。根据设备是否允许不同速率的成员接口同时被选中,选择过程分为两种:
· 如果设备不允许不同速率的成员接口同时被选中,则选出速率/波特率最大的成员接口。如果选出的成员接口有M个(其余没有被选出的速率/波特率小的成员接口仍处于协商状态)、设备限制最多选中成员接口数目为N,当M<=N时,这M个成员接口均处于选中状态;当M>N时,依次按照成员接口的捆绑优先级和接口索引号来为这些成员接口进行排序(捆绑优先级高的排在前面,接口索引号小的排在前面),排在前N个的成员接口将处于选中状态,排在后面的(M-N)个成员接口将处于就绪状态。
· 如果设备允许不同速率的成员接口同时被选中,假设处于协商状态的成员接口有M个、设备限制最多选中成员接口数目为N,当M<=N时,这M个成员接口均处于选中状态;当M>N时,依次按照成员接口的速率/波特率、捆绑优先级和接口索引号来为这些成员接口进行排序(速率/波特率大的排在前面、捆绑优先级高的排在前面,接口索引号小的排在前面),排在前N个的成员接口将处于选中状态,排在后面的(M-N)个成员接口将处于就绪状态。
· SR6600/SR6600-X路由器允许不同速率的成员接口同时被选中。
· 设备限制的最多选中成员接口数目的确定方法如下:首先采用用户通过bundle max-active links命令配置的值;如果用户未配置,则以设备支持的最多选中成员接口数目为准。SR6600/SR6600-X路由器支持最多选中8个成员接口。
(4) 假设满足上述选中原则的成员接口有P个,而设备限制的最少选中成员接口数目为Q,当P<Q时,这P个成员接口都不会被选中,将处于就绪状态;或者,当这P个成员接口的总带宽小于配置的最小激活带宽时,这P个成员接口也都不会被选中,也将处于就绪状态。
如果HDLC捆绑中没有处于选中状态的成员接口,则HDLC捆绑接口将处于down状态,不能转发流量;只有HDLC捆绑中有处于选中状态的成员接口,HDLC捆绑接口才会处于up状态,才能进行流量转发。HDLC捆绑的带宽是所有处于选中状态的成员接口的带宽之和。
HDLC捆绑是通过选中成员接口来转发流量的。当HDLC捆绑中存在多个选中成员接口时,设备会根据负载分担方式来选择某些选中成员接口发送流量。目前SR6600/SR6600-X路由器支持逐流负载分担方式,即通过二元组(源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地址 |
缺省情况下,采用逐包负载分担 |
||
指定转发当前接口流量的业务处理板(非IRF模式) |
service slot slot-number |
可选 缺省情况下,对于本板绑定(即捆绑接口的所有成员端口都在同一块单板上),处理或转发流量的业务处理板就是这些成员端口所在的单板;而对于跨板绑定(即捆绑接口的成员端口在不同的单板上),处理或转发流量的业务处理板则是成员端口列表中第一个选中端口所在的单板 SR6602不支持此特性 |
指定转发当前接口流量的业务处理板(IRF模式) |
service chassis chassis-number slot slot-number |
|
配置最少选中成员接口数目 |
bundle min-active links number |
可选 缺省情况下,不进行限制 |
配置最多选中成员接口数目 |
bundle max-active links number |
可选 缺省情况下,不进行限制 |
配置最小激活带宽 |
bundle min-active bandwidth bandwidth |
可选 缺省情况下,不进行限制 |
配置接口的期望带宽 |
bandwidth bandwidth-value |
可选 |
配置HDLC捆绑接口的MTU值 |
mtu size |
可选 缺省情况下,HDLC捆绑接口的MTU值为1500Bytes MTU参数会影响IP报文的分片与重组,可以通过本命令来设置合适的MTU值 需要注意的是,需保证HDLC捆绑中的成员接口支持的最大MTU不小于HDLC捆绑接口配置的MTU值,否则可能会导致数据无法传输。 |
打开HDLC捆绑接口 |
undo shutdown |
可选 缺省情况下,HDLC捆绑接口处于打开状态 打开/关闭捆绑接口时,不会影响成员接口的打开/关闭状态,但是会影响到捆绑接口下的成员接口的选择过程 |
· 配置的最少选中成员接口数目不能大于最多选中成员接口数目。
· 为保证转发正常,建议在同一条HDLC捆绑链路两端的HDLC捆绑接口上配置相同的最少选中成员接口数目、最多选中成员接口数目、最小激活带宽。
· 关于ip address命令的介绍请参见“三层技术-IP业务命令参考”中的“IP地址”。
· 在跨板绑定时,建议使用service slot命令指定处理或转发聚合接口流量的业务处理板。
· 对于SR6604/SR6608/SR6616/SR6604-X/SR6608-X/SR6616-X,因为各种业务和流量转发都在业务板上进行,禁止使用service slot命令指定主控板转发当前接口流量。
· FIP-600线卡的接口只能与FIP-600线卡进行HDLC捆绑,不能与其它类型线卡的接口捆绑。
表2-2 配置接口加入HDLC捆绑
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入POS接口或者Serial接口视图 |
interface interface-type interface-number |
必选 |
配置接口的链路层协议类型为HDLC |
link-protocol hdlc |
必选 缺省情况下,接口的链路层协议为PPP |
配置接口加入HDLC捆绑 |
bundle id bundle-id |
必选 |
配置接口的捆绑优先级 |
bundle member-priority priority |
可选 缺省情况下,接口的捆绑优先级为32768 |
· 下列接口不能加入HDLC捆绑:配置IPv4地址和IPv4地址借用的接口、配置IPv6地址的接口、配置URPF的接口、配置NetStream的接口、配置IPv6 NetStream的接口。并且,接口加入HDLC捆绑之后也不能配置这些功能。
· 一个接口只能加入一个HDLC捆绑,如果需要加入其他HDLC捆绑,必须先退出原来的HDLC捆绑。
· 加入HDLC捆绑的接口封装的链路层协议必须为HDLC。接口加入HDLC捆绑之后不允许修改链路层协议。
· HDLC捆绑接口没有创建的情况下,也允许将接口加入HDLC捆绑。
· 可以将不同接口板上的接口加入到同一个HDLC捆绑。
· HDLC链路捆绑配置完成后,如果用户修改了某成员接口的捆绑优先级,那么设备会重新确定各成员接口的状态。
· 如果本地设备使用了HDLC捆绑,与成员接口直连的对端接口也必须相应的加入HDLC捆绑。
· bundle member-priority命令和bundle max-active links命令一般需要配合使用,以保证两台设备相互连接的接口能够同时处于选中状态(只有两端接口同时处于选中状态,报文才能发送成功),避免出现一端接口处于选中状态,而另一端接口没有处于选中状态的情况。
在完成上述配置后,在任意视图下执行display命令可以显示配置后HDLC链路捆绑的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除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 ] ] |
为了增加Router A和Router B之间的链路带宽,并提高连接可靠性,在设备之间建立HDLC捆绑逻辑链路。
图2-1 配置HDLC链路捆绑组网图
(1) 配置Router A
# 创建HDLC捆绑接口1,并配置IP地址。
<RouterA> system-view
[RouterA] interface hdlc-bundle 1
[RouterA-Hdlc-bundle1] ip address 1.1.1.1 24
[RouterA-Hdlc-bundle1] quit
# 将POS1/0/1、POS2/0/1加入到HDLC捆绑1(POS接口采用主时钟模式)。
[RouterA] interface pos 1/0/1
[RouterA-Pos1/0/1] clock master
[RouterA-Pos1/0/1] link-protocol hdlc
[RouterA-Pos1/0/1] bundle id 1
[RouterA-Pos1/0/1] quit
[RouterA] interface pos 2/0/1
[RouterA-Pos2/0/1] clock master
[RouterA-Pos2/0/1] link-protocol hdlc
[RouterA-Pos2/0/1] bundle id 1
[RouterA-Pos2/0/1] quit
(2) 配置Router B
# 创建HDLC捆绑接口1,并配置IP地址。
<RouterB> system-view
[RouterB] interface hdlc-bundle 1
[RouterB-Hdlc-bundle1] ip address 1.1.1.2 24
[RouterB-Hdlc-bundle1] quit
# 将POS1/0/1、POS2/0/1加入到HDLC捆绑1。
[RouterB] interface pos 2/0/1
[RouterB-Pos2/0/1] link-protocol hdlc
[RouterB-Pos2/0/1] bundle id 1
[RouterB-Pos2/0/1] quit
[RouterB] interface pos 2/0/1
[RouterB-Pos2/0/1] link-protocol hdlc
[RouterB-Pos2/0/1] bundle id 1
[RouterB-Pos2/0/1] quit
(3) 验证配置结果
在Router A或Router B上执行display interface hdlc-bundle命令,可以看到HDLC捆绑接口1的状态为UP。
以Router A的显示为例。
[RouterA] 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
Router A和Router B的HDLC捆绑接口能够互相Ping 通。
[RouterA] 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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!