02-HDLC配置
本章节下载: 02-HDLC配置 (298.35 KB)
HDLC(High-level Data Link Control,高级数据链路控制)是一种面向比特的链路层协议,其最大特点是对任何一种比特流(传输的时候是以比特为单位进行传输),均可以实现透明的传输。
· HDLC协议只支持点到点链路,不支持点到多点。
· HDLC不支持IP地址协商,不支持认证。协议内部通过keepalive报文来检测链路状态。
HDLC协议只能封装在同步链路上。支持HDLC协议的接口有:工作在同步模式下的Serial接口
HDLC协议使用轮询机制来确认链路状态是否正常。
当接口上封装的链路层协议为HDLC时,链路层会周期性地向对端发送keepalive报文,keepalive报文中携带了本端发送序号和前一次收到的对端发送序号。当接口发送keepalive报文后,如果在keepalive周期内收到对端发来的keepalive应答报文(该报文携带有本端前一次发送序号),接口下次发送的keepalive报文中的发送序号将加一,否则,每经过一个keepalive周期,接口将重发一次keepalive报文,该报文的发送序号不变。如果Keepalive报文重发次数达到上限,在keepalive周期内仍然没有收到对端发来的keepalive应答报文,链路层会认为对端故障,上报链路层down。
本特性的支持情况与设备型号有关,请以设备的实际情况为准。
型号 |
说明 |
MSR1008 |
不支持 |
MSR2630E-X1 |
支持 |
MSR3610E-X1、MSR3610E-X1-DP |
支持 |
型号 |
说明 |
MSR2660-XS |
不支持 |
MSR2680-XS |
支持 |
型号 |
说明 |
MSR2600-12X-WiNet |
不支持 |
MSR2610-13X-WiNet |
支持 |
(1) 进入系统视图。
system-view
(2) 进入同步模式的Serial接口。
interface interface-type interface-number
(3) 在接口封装HDLC协议。
link-protocol hdlc
缺省情况下,接口封装PPP协议。
如果网络的延迟比较大,或拥塞程度较高,可以适当加大keepalive报文的发送周期,以避免链路被认为发生故障而被关闭。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口发送keepalive报文的周期。
timer-hold seconds
缺省情况下,接口发送keepalive报文的周期为10秒。
如果将keepalive报文的发送周期配置为0秒,则不发送keepalive报文。
建议链路两端的设置保持一致。
(4) 配置允许接口重传的keepalive报文个数。
timer-hold retry retries
缺省情况下,允许接口重传的keepalive报文个数为5。
可在任意视图下执行以下命令,显示接口的HDLC配置结果。
· display interface serial interface-number
请在用户视图下执行以下命令,清除封装HDLC协议接口的统计信息。
· reset counters interface [ serial [ interface-number ] ]
路由器Router A和Router B通过Serial接口相连,要求运行HDLC协议。
图1-1 配置HDLC组网图
(1) 配置Router A
<RouterA> system-view
[RouterA] interface serial 0/2/0
[RouterA-Serial0/2/0] clock master
[RouterA-Serial0/2/0] link-protocol hdlc
[RouterA-Serial0/2/0] ip address 12.1.1.1 24
[RouterA-Serial0/2/0] quit
(2) 配置Router B
<RouterB> system-view
[RouterB] interface serial 0/2/0
[RouterB-Serial0/2/0] link-protocol hdlc
[RouterB-Serial0/2/0] 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 (12.1.1.2): 56 data bytes, press CTRL_C to break
56 bytes from 12.1.1.2: icmp_seq=0 ttl=254 time=2.137 ms
56 bytes from 12.1.1.2: icmp_seq=1 ttl=254 time=2.051 ms
56 bytes from 12.1.1.2: icmp_seq=2 ttl=254 time=1.996 ms
56 bytes from 12.1.1.2: icmp_seq=3 ttl=254 time=1.963 ms
56 bytes from 12.1.1.2: icmp_seq=4 ttl=254 time=1.991 ms
--- Ping statistics for 12.1.1.2 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 1.963/2.028/2.137/0.062 ms
HDLC链路捆绑是将多个链路层协议为HDLC的接口(简称HDLC接口)捆绑到一起,形成一条逻辑上的数据链路。
HDLC链路捆绑的作用如下:
· 流量负载分担:出/入流量可以在多个成员接口之间分担。
· 增加带宽:链路捆绑接口的带宽是各可用成员接口带宽的总和。
· 提高连接可靠性:当某个成员接口出现故障时,流量会自动切换到其他可用的成员接口上,从而提高整个捆绑链路的连接可靠性。
HDLC捆绑接口是一个逻辑接口。一个HDLC捆绑接口对应一个HDLC捆绑。
HDLC捆绑是一组HDLC接口的集合。HDLC捆绑是随着HDLC捆绑接口的创建而自动生成的,其编号与HDLC捆绑接口编号相同。
加入HDLC捆绑后的接口称为成员接口。目前,只有Serial接口可以加入HDLC捆绑,并且加入HDLC捆绑的成员接口的链路层协议类型必须是HDLC。
加入HDLC捆绑后,成员接口的网络层将被置于down状态,成员接口上的三层业务相关的配置都不生效,成员接口通过HDLC捆绑接口的三层配置进行业务处理。
成员接口有下列4种状态:
· 初始状态:成员接口的链路层协议处于down状态。
· 协商状态:成员接口的链路层协议处于up状态,但是成员接口不满足选中条件。
· 就绪状态:成员接口的链路层协议处于up状态,且成员接口满足选中条件,但由于最多选中成员接口数目/最少选中成员接口数目/最小激活带宽的限制,使得该成员接口没有被选中,那么该成员接口将处于就绪状态。
· 选中状态:成员接口的链路层协议处于up状态,且成员接口满足选中条件,处于选中状态。只有处于此状态的成员接口才能转发流量。
如果HDLC捆绑中没有处于选中状态的成员接口,则HDLC捆绑接口将处于down状态,不能转发流量;只有HDLC捆绑中有处于选中状态的成员接口,HDLC捆绑接口才会处于up状态,才能进行流量转发。HDLC捆绑的带宽是所有处于选中状态的成员接口的带宽之和。
成员接口状态的确定过程如下:
(1) 当成员接口的链路层协议处于down状态时,成员接口将处于初始状态,当成员接口的链路层协议变为up状态后,成员接口先是处于协商状态,之后经过下面的选择过程可能变为选中状态或就绪状态。
(2) 假设处于协商状态的成员接口有M个、设备限制最多选中成员接口数目为N[1],当M<=N时,这M个成员接口均处于选中状态;当M>N时,依次按照成员接口的速率/波特率、捆绑优先级和接口索引号来为这些成员接口进行排序(速率/波特率大的排在前面、捆绑优先级高的排在前面,接口索引号小的排在前面),排在前N个的成员接口将处于选中状态,排在后面的(M-N)个成员接口将处于就绪状态。
(3) 假设步骤(2)中选出的处于选中状态的成员接口有P个、设备限制的最少选中成员接口数目为Q,当P<Q或者这P个成员接口的总带宽小于配置的最小激活带宽时,这P个成员接口都不会被选中,将处于就绪状态;当P>=Q或者设备没有限制最少选中成员接口数目和最小激活带宽时,这P个成员接口将处于选中状态。
[1]:设备限制的最多选中成员接口数目首先采用用户通过bundle max-active links命令配置的值;如果用户未配置或配置值大于设备支持的最多选中成员接口数目,则以设备支持的最多选中成员接口数目为准。
HDLC捆绑是通过选中成员接口来转发流量的。当HDLC捆绑中存在多个选中成员接口时,设备会根据负载分担方式来选择选中成员接口发送流量。负载分担方式分为逐流负载分担和逐包负载分担两种,原理如下:
· 逐流负载分担:通过源IP地址和目的IP地址等将报文分成不同的流,同一条流的报文将在同一个选中成员接口上发送。目前支持IPv4、IPv6报文根据源IP地址和目的IP地址进行分流(源IP地址和目的IP地址都相同的报文,属于同一条流),MPLS报文根据标签进行分流。
· 逐包负载分担:以报文为单位,将流量分担到不同的选中成员接口上进行发送。
· 为保证转发正常,建议在同一条HDLC捆绑链路两端的HDLC捆绑接口上配置相同的最少选中成员接口数目、最多选中成员接口数目、最小激活带宽。
· HDLC链路捆绑配置完成后,如果用户修改了最少选中成员接口数目、最多选中成员接口数目、最小激活带宽,那么设备会重新确定各成员接口的状态。
(1) 进入系统视图。
system-view
(2) 创建HDLC捆绑接口并进入HDLC捆绑接口视图。
interface hdlc-bundle bundle-id
(3) 配置负载分担方式。
bundle load-balance { per-flow | per-packet }
缺省情况下,采用逐包负载分担。
建议HDLC捆绑链路两端采用相同的负载分担方式。
(4) (可选)配置最小激活带宽。
bundle min-active bandwidth bandwidth
缺省情况下,不进行限制。
(5) 配置最少选中成员接口数目。
bundle min-active links number
缺省情况下,不进行限制。
配置的最少选中成员接口数目不能大于最多选中成员接口数目。
(6) 配置最多选中成员接口数目。
bundle max-active links number
缺省情况下,以设备支持的最多选中成员接口数目为准。
设备支持的最多选中成员接口数目为16。
(7) (可选)配置接口的期望带宽。
bandwidth bandwidth-value
缺省情况下,接口的期望带宽=接口的波特率÷1000(kbit/s)。
接口的期望带宽供业务模块使用(例如会影响OSPF模块链路开销值),不会对接口实际带宽造成影响。有关OSPF链路开销值的具体介绍请参见“三层技术-IP路由配置指导”中的“OSPF”。
(8) (可选)配置HDLC捆绑接口的描述信息。
description text
缺省情况下,接口的描述信息为“该接口的接口名 Interface”。
(9) (可选)配置HDLC捆绑接口的MTU值。
mtu size
缺省情况下,HDLC捆绑接口的MTU值为1500字节。
MTU参数会影响IP报文的分片与重组,可以通过本命令来设置合适的MTU值。
(10) 打开HDLC捆绑接口。
undo shutdown
缺省情况下,HDLC捆绑接口处于打开状态。
当打开HDLC捆绑接口时,会触发重新确定成员接口的状态;当关闭HDLC捆绑接口时,所有选中成员口都会变成协商状态。
接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行本配置前,完全了解其对网络产生的影响。
您可以在执行default命令后通过display this命令确认执行效果。对于未能成功恢复缺省的配置,建议您查阅相关功能的命令手册,手工执行恢复该配置缺省情况的命令。如果操作仍然不能成功,您可以通过设备的提示信息定位原因。
(1) 进入系统视图。
system-view
(2) 进入HDLC捆绑接口视图。
interface hdlc-bundle bundle-id
(3) 恢复HDLC捆绑接口的缺省配置。
default
· Serial接口支持加入HDLC捆绑。
· HDLC捆绑接口没有创建的情况下,也允许将接口加入HDLC捆绑。
· 如果本地设备使用了HDLC捆绑,与该HDLC捆绑的成员接口直连的对端设备上的接口也必须加入同一个HDLC捆绑。两端设备上的HDLC捆绑编号不要求相同,HDLC捆绑编号只具有本地意义。
· bundle member-priority命令和bundle max-active links命令一般需要配合使用,以保证两台设备相互连接的接口能够同时处于选中状态(只有两端接口同时处于选中状态,报文才能发送成功),避免出现一端接口处于选中状态,而另一端接口没有处于选中状态的情况。
(1) 进入系统视图。
system-view
(2) 进入Serial接口视图。
interface interface-type interface-number
(3) 配置接口的链路层协议类型为HDLC。
link-protocol hdlc
缺省情况下,接口的链路层协议为PPP。
加入HDLC捆绑的接口封装的链路层协议必须为HDLC。接口加入HDLC捆绑之后不允许修改链路层协议。
(4) 配置接口加入HDLC捆绑。
bundle id bundle-id
缺省情况下,接口不属于任何HDLC捆绑。
一个接口只能加入一个HDLC捆绑,如果需要加入其他HDLC捆绑,必须先退出原来的HDLC捆绑。
可以将不同接口板上的接口加入到同一个HDLC捆绑。
(5) 配置接口的捆绑优先级。
bundle member-priority priority
缺省情况下,接口的捆绑优先级为32768。
HDLC链路捆绑配置完成后,如果用户修改了某成员接口的捆绑优先级,那么设备会重新确定各成员接口的状态。
可在任意视图下执行以下命令,显示HDLC捆绑信息。
display bundle hdlc-bundle [ bundle-id ] slot slot-number
可在任意视图下执行以下命令,显示HDLC捆绑接口的相关信息。
display interface [ hdlc-bundle [ bundle-id ] ] [ brief [ description | down ] ]
请在用户视图下执行以下命令,清除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
# 将Serial0/2/0、Serial0/2/1加入到HDLC捆绑1。
[RouterA] interface serial 0/2/0
[RouterA-Serial0/2/0] clock master
[RouterA-Serial0/2/0] link-protocol hdlc
[RouterA-Serial0/2/0] bundle id 1
[RouterA-Serial0/2/0] quit
[RouterA] interface serial 0/2/1
[RouterA-Serial0/2/1] clock master
[RouterA-Serial0/2/1] link-protocol hdlc
[RouterA-Serial0/2/1] bundle id 1
[RouterA-Serial0/2/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
# 将Serial0/2/0、Serial0/2/1加入到HDLC捆绑1。
[RouterB] interface serial 0/2/0
[RouterB-Serial0/2/0] link-protocol hdlc
[RouterB-Serial0/2/0] bundle id 1
[RouterB-Serial0/2/0] quit
[RouterB] interface serial 0/2/1
[RouterB-Serial0/2/1] link-protocol hdlc
[RouterB-Serial0/2/1] bundle id 1
[RouterB-Serial0/2/1] quit
Router A和Router B的HDLC捆绑接口能够互相Ping通。
[RouterA] ping –a 1.1.1.1 1.1.1.2
Ping 1.1.1.2 (1.1.1.2) from 1.1.1.1: 56 data bytes, press CTRL_C to break
56 bytes from 1.1.1.2: icmp_seq=0 ttl=255 time=0.000 ms
56 bytes from 1.1.1.2: icmp_seq=1 ttl=255 time=0.000 ms
56 bytes from 1.1.1.2: icmp_seq=2 ttl=255 time=0.000 ms
56 bytes from 1.1.1.2: icmp_seq=3 ttl=255 time=0.000 ms
56 bytes from 1.1.1.2: icmp_seq=4 ttl=255 time=0.000 ms
--- Ping statistics for 1.1.1.2 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.000/0.000/0.000/0.000 ms
在Router A或Router B上执行display bundle hdlc-bundle命令,可以看到HDLC捆绑接口1的捆绑信息。以Router A的显示为例。
[RouterA] display bundle hdlc-bundle 1
Bundle: HDLC-bundle1
Selected members: 2, Total bandwidth: 1244160 kbps
Member State Bandwidth(kbps) Priority
Serial0/2/0 Selected 622080 32768
Serial0/2/1 Selected 622080 32768
上述信息表明,Serial0/2/0和Serial0/2/1都处于选中状态,可以进行流量的负载分担;HDLC捆绑的带宽为1244160 kbps,是两个Serial接口的带宽之和;当其中一个Serial接口出现故障时,流量可以通过另一个Serial接口发送,提高了链路的连接可靠性。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!