以太网链路聚合简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的。同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性。
二层聚合组/二层聚合接口:二层聚合组的成员端口全部为二层以太网接口,其对应的聚合接口称为二层聚合接口(Bridge-aggregation Interface,BAGG)。
• 三层聚合组/三层聚合接口:三层聚合组的成员端口全部为三层以太网接口,其对应的聚合接口称为三层聚合接口(Route-aggregation Interface,RAGG)。
聚合组内的成员端口具有以下两种状态:
• 选中(Selected)状态:此状态下的成员端口可以参与用户数据的转发,处于此状态的成员端口简称为“选中端口”。
• 非选中(Unselected)状态:此状态下的成员端口不能参与用户数据的转发,处于此状态的成员端口简称为“非选中端口”。
基于 IEEE802.3ad 标准的 LACP(Link Aggregation Control Protocol,链路聚合控制协议)协议是一种实现链路动态聚合的协议,运行该协议的设备之间通过互发 LACPDU(Link Aggregation Control Protocol Data Unit,链路聚合控制协议数据单元)来交互链路聚合的相关信息。
根据成员端口上是否启用了LACP协议,可以将链路聚合分为静态聚合和动态聚合两种模式。
静态聚合模式的成员端口不开启LACP协议,一旦配置好后,端口的选中/非选中状态
就不会受网络环境的影响,比较稳定;不能根据对端的状态调整端口的选中/非选中状态,不够灵活。
动态聚合模式的成员端口开启LACP协议,能够根据对端和本端的信息调整端口的
选中/非选中状态,比较灵活;端口的选中/非选中状态容易受网络环境的影响,不够稳定。
在静态聚合模式下,聚合组内的成员端口上不启用 LACP 协议,其端口状态通过手工进行维护。
int bridge-aggregation 10 //创建二层聚合接口,编号为10,缺省为静态聚合模式
int g0/0/0
port link-aggregation group 10 //端口加入聚合接口10
int route-aggregation 20 //创建三层聚合接口,编号为20,缺省为静态聚合模式
int g0/0/1
port link-aggregation group 20 //端口加入聚合接口20
lacp system-priority 32768 //可选,配置系统LACP优先级,缺省为32768
int bridge-aggregation 10 //创建二层聚合接口,编号为10,缺省为静态聚合模式
link-aggregation mode dynamic //配置为动态聚合模式
int g0/0/0
port link-aggregation group 10 //端口加入聚合接口10
int route-aggregation 20 //创建三层聚合接口,编号为20,缺省为静态聚合模式
link-aggregation mode dynamic //配置为动态聚合模式
int g0/0/1
port link-aggregation group 20 //端口加入聚合接口20
dis interface bridge-aggregtation 10 brief //显示制定聚合口相关信息
dis interface bridge-aggregtation summary //显示所有聚合口摘要
dis interface bridge-aggregtation 10 verbose //显示制定聚合口详细信息
为了实现报文之间的二层隔离,可以将不同的端口加入不同的 VLAN,但会浪费有限的 VLAN 资源。采用端口隔离特性,可以实现同一 VLAN 内端口之间的隔离。用户只需要将端口加入到隔离组中,就可以实现隔离组内端口之间二层数据的隔离。端口隔离功能为用户提供了更安全、更灵活的组网方案。
为了使隔离组内端口与隔离组外二层互通,用户必须为隔离组配置上行口。
对于属于不同VLAN的端口,只有同一个隔离组的普通端口到上行端口的二层报文可以单向通过,其它情况的端口二层数据是相互隔离的。
system-view
port-isolate group group-number //创建隔离组
int g0/0/0
port-isolate enable group group-number //加入制定隔离组
int g0/0/1
port-isolate uplink-port group group-number //设置为隔离组的上行接口
加入隔离组的端口和其他端口二层隔离,但和上行接口单向通行。
目前,网络设备的种类日益繁多且各自的配置错综复杂,为了使不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息,需要有一个标准的信息交流平台。
LLDP(Link Layer Discovery Protocol,链路层发现协议)就是在这样的背景下产生的,它提供了一种标准的链路层发现方式,可以将本端设备的主要能力、管理地址、设备标识、接口标识等信息组织成不同的 TLV(Type/Length/Value,类型/长度/值),并封装在 LLDPDU(Link Layer Discovery Protocol Data Unit,链路层发现协议数据单元)中发布给与自己直连的邻居,邻居收到这些信息后将其以标准 MIB(Management Information Base,管理信息库)的形式保存起来,以供网络管理系统查询及判断链路的通信状况。
(1). LLDP的工作模式
LLDP 有以下四种工作模式:
• TxRx:既发送也接收 LLDP 报文。
• Tx:只发送不接收 LLDP 报文。
• Rx:只接收不发送 LLDP 报文。
• Disable:既不发送也不接收 LLDP 报文。
当端口的 LLDP 工作模式发生变化时,端口将对协议状态机进行初始化操作。为了避免端口工作模式频繁改变而导致端口不断执行初始化操作,可配置端口初始化延迟时间,当端口工作模式改变时延迟一段时间再执行初始化操作。
(2).当端口工作在 TxRx 或 Tx 模式时,设备会周期性地向邻居设备发送 LLDP 报文。如
当端口工作在 TxRx 或 Rx 模式时,设备会对收到的 LLDP 报文及其携带的 TLV 进行有效性检查,通过检查后再将邻居信息保存到本地,并根据 LLDP 报文中携带的 TTL(Time To Live,生存时间)TLV 值来设置邻居信息在本地设备上的老化时间,若该值为零,则立刻老化该邻居信息。
system-view
lldp enable //全局使能LLDP,缺省为关闭
int g0/0/0
lldp enable //端口使能LLDP,缺省为开启
lldp admin-status {disable|rx|tx|txrx} //配置LLDP工作模式,缺省为TXRX
lldp timer reinit-delay 2 //配置接口初始化延迟,缺省为2秒
lldp notification remote-change enable //配置LLDP Trap功能,缺省为关闭
lldp timer notification-interval 5 //配置LLDP Trap信息发送间隔,缺省为 5秒
dis lldp local-information global|int g0/0/1 //显示待发送的LLDP信息
dis lldp status interface g0/0/1 //显示LLDP状态信息
PPP(Point to Point Protocol)协议是在点到点链路上承载网络层数据包的一种链路层协议,由于它能够提供用户验证、易于扩充,并且支持同/异步通信,因而获得广泛应用。
PPP 定义了一整套的协议,包括链路控制协议(LCP)、网络层控制协议(NCP)和验证协议(PAP、CHAP、MS-CHAP 和 MS-CHAP-V2)。
• 链路控制协议(Link Control Protocol,LCP):主要用来建立、拆除和监控数据链路。
• 网络控制协议(Network Control Protocol,NCP):主要用来协商在该数据链路上所传输的数据包的格式与类型。
• 用于网络安全方面的验证协议族 PAP、CHAP、MS-CHAP 和 MS-CHAP-V2.
(1)PAP验证
PAP(Password Authentication Protocol)验证为两次握手验证,密码为明文,PAP 验证的过程如下:
被验证方发送用户名和密码到验证方;
验证方根据本端用户表查看是否有此用户以及密码是否正确,然后返回不同的响应(Acknowledge or Not Acknowledge)。
(2)CHAP验证
CHAP(Challenge-Handshake Authentication Protocol)验证为三次握手验证,密码为密文(密钥)。CHAP 单向验证是指一端作为验证方,另一端作为被验证方。双向验证是单向验证的简单叠加,即两端都是既作为验证方又作为被验证方。在实际应用中一般只采用单向验证。
CHAP 单向验证过程分为两种情况:验证方配置了用户名和验证方没有配置用户名。推荐使用验证
方配置用户名的方式,这样可以对验证方的身份进行确认。
• 验证方配置了用户名的 CHAP 验证过程如下:
验证方主动发起验证请求,验证方向被验证方发送一些随机产生的报文(Challenge),并同时将本端的用户名附带上一起发送给被验证方;
被验证方接到验证方的验证请求后,根据此报文中验证方的用户名在本端的用户表查找该用户对应的密码,如果在用户表找到了与验证方用户名相同的用户,便利用报文 ID、此用户的密钥(密码)和 MD5 算法对该随机报文进行加密,将生成的密文和被验证方自己的用户名发回验证方(Response);验证方用自己保存的被验证方密码和 MD5 算法对原随机报文加密,比较二者的密文,根据比较结果返回不同的响应(Acknowledge or Not Acknowledge)。
• 验证方没有配置用户名的 CHAP 验证过程如下:
验证方主动发起验证请求,验证方向被验证方发送一些随机产生的报文(Challenge);
被验证方接到验证方的验证请求后,利用报文 ID、缺省的 CHAP 密码和 MD5 算法对该随机报文进行加密,将生成的密文和自己的用户名发回验证方(Response);
验证方用自己保存的被验证方密码和 MD5 算法对原随机报文加密,比较二者的密文,根据比较结果返回不同的响应(Acknowledge or Not Acknowledge)。
(3)MS-CHAP验证
MS-CHAP(Microsoft CHAP)验证为三次握手验证,密码为密文(密钥)。
MS-CHAP 与 CHAP 的不同之处在于:
• MS-CHAP 采用的加密算法是 0x80。
• MS-CHAP 支持重传机制。
MS-CHAP 验证的过程如下:
验证方主动发起验证请求,验证方向被验证方发送一些随机产生的报文(Challenge);
被验证方接到验证方的验证请求后,将报文中验证方的随机报文(Challenge)、自己的密钥(密码)用 0x80 算法加密,将生成的密文和自己的用户名发回验证方(Response);
验证方收到被验证方的响应报文后,根据报文中被验证方的用户名在本端的用户表查找对应的密码,然后利用自己保存的随机报文(Challenge)、查到的被验证方密码用 0x80 算法加密将生成的密文与被验证方响应报文中的密文进行比较,根据比较结果返回不同的响应
(Acknowledge or Not Acknowledge):
• 如果验证成功,成功报文(Acknowledge)中携带欢迎信息。
• 如果验证失败,失败报文(Not Acknowledge)中携带错误码、是否重传标记、新生成的随机报文(Challenge)。
被验证方收到验证方的成功报文,则验证成功。
被验证方收到验证方的失败报文后,如果失败报文中重传标记 R 为 1,被验证方将收到报文中的随机报文(Challenge)、自己的密钥(密码)用 0x80 算法加密,将生成的密文和自己的用户名发回验证方,验证方根据收到的重传响应报文重新进行验证;如果失败报文中重传标记 R为 0,则验证失败,直接拆链。验证方允许被验证方重传 3 次。
(4)MS-CHAP-V2 验证
MS-CHAP-V2(Microsoft CHAP Version 2)验证为三次握手验证,密码为密文(密钥)。
MS-CHAP-V2 与 CHAP 的不同之处在于:
• MS-CHAP-V2 采用的加密算法是 0x81。
• MS-CHAP-V2 通过报文捎带的方式实现了双向验证。
• MS-CHAP-V2 支持重传机制和修改密码机制
在开始建立 PPP 链路时,先进入到 Establish 阶段。
在 Establish 阶段 PPP 链路进行 LCP 协商,协商内容包括工作方式(是 SP 还是 MP)、验证方式和最大传输单元等。LCP 协商成功后进入 Opened 状态,表示底层链路已经建立。
如果配置了验证(远端验证本地或者本地验证远端)则进入 Authenticate 阶段,开始 PAP、CHAP、MS-CHAP 或 MS-CHAP-V2 验证。
如果验证失败进入 Terminate 阶段,拆除链路,LCP 状态转为 Down;如果验证成功就进入
Network 协商阶段(NCP),此时 LCP 状态仍为 Opened,而 IPCP 状态从 Initial 转到
Request。NCP 协商支持 IPCP 协商,IPCP 协商主要包括双方的 IP 地址。通过 NCP 协商来选择和配置一个网络层协议。只有相应的网络层协议协商成功后,该网络层协议才可以通过这条 PPP 链路发送报文。
PPP 链路将一直保持通信,直至有明确的 LCP 或 NCP 帧关闭这条链路,或发生了某些外部事件(例如用户的干预)。
为了增加带宽,可以将多个 PPP 链路捆绑使用,称为 MultiLink PPP,简称 MP。MP 会将报文分片(小于最小分片包长时不分片)后,从 MP 链路下的多个 PPP 通道发送到 PPP 对端,对端将这些分片组装起来递给网络层。
(1)、实现方式
MP 的配置利用了 MP-group 接口。MP-group 接口是 MP 的专用接口,不支持其他应用,不能利用对端的用户名来指定捆绑,也不能派生多个捆绑。但正因为它的简单,它才具有快速高效、配置简单、容易理解等优点。
(2)、协商过程
MP 的协商包括 LCP 协商和 NCP 协商两个过程:
• LCP 协商:两端首先进行 LCP 协商,除了协商一般的 LCP 参数外,还要验证对端接口是否也工作在 MP 方式下。如果两端工作方式不同,LCP 协商不成功。
• NCP 协商:在 LCP 协商成功后,根据 MP-group 接口的各项 NCP 参数(如 IP 地址等)进行NCP 协商,物理接口配置的 NCP 参数不起作用。
NCP 协商通过后,即可建立 MP 链路。
(1)配置PAP验证
验证方:
int s1/0/1
link-protocol ppp //可选,缺省封装链路层协议为PPP
ppp authentication-mode pap //配置为PAP验证,缺省为不进行验证
quit
local user huawei //创建用户
password {cipher|simple} password //配置密码
service-type ppp //配置本地用户的服务类型为PPP
quit
domain huawei-isp //创建或进入ISP域,域名为huawei-isp
authentication ppp local //配置PPP用户使用本地认证方案
被验证方:
int s0/0/1
ppp pap local-user huawei password {cipher|simple} password //配置pap方式的用户名和密码
(2)配置CHAP验证
验证方:
int s1/0/1
link-protocol ppp //可选,缺省封装链路层协议为PPP
ppp authentication-mode chap //配置为CHAP验证,缺省为不进行验证
ppp chap user huawei //配置验证方用户名,被验证方配置的本地用户的用户名必须跟此处配置一致
quit
local user huawei //创建用户
password {cipher|simple} password //配置密码
service-type ppp //配置本地用户的服务类型为PPP
quit
domain huawei-isp //创建或进入ISP域,域名为huawei-isp
authentication ppp local //配置PPP用户使用本地认证方案
被验证方:
int s0/0/1
ppp pap user huawei //配置CHAP方式的用户名
quit
local-user huawei
password {cipher|simple} password
service-type ppp
(3)PPP协商参数
可以配置的 PPP 协商参数包括:
• 协商超时时间间隔
• 协商 IP 地址
在 PPP 协商过程中,如果在这个时间间隔内没有收到对端的应答报文,则 PPP 将会重发前一次发送的报文。超时时间间隔可选范围为 1 秒到 10 秒。
int s0/0/1
ppp timer negotiate 3 //缺省为3秒
协商 IP 地址的方式有两种:
• 配置设备作为 Client 端:若本端接口封装的链路层协议为 PPP 但还未配置 IP 地址,而对端已有 IP 地址时,可为本端接口配置 IP 地址可协商属性,使本端接口接受 PPP 协商产生的由对端分配的 IP 地址。该配置主要用于在通过 ISP 访问 Internet 时,得到由 ISP 分配的 IP 地址。
• 配置设备作为 Server 端:若是设备作为 Server 为对端设备分配 IP 地址,则应首先在域视图或系统视图下配置本地 IP 地址池,指明地址池的地址范围,然后在接口视图下指定该接口使用的地址池。
client端:
interface s0/0/1
ip address ppp-negotiate //配置接口IP地址通过协商获取,也可以直接配置IP地址
server端:
ip pool pool-number 192.168.1.1 192.168.1.100 //配置地址池
interface s0/0/1
remote address pool pool-number //指定地址池
remote address 192.168.1.1 //直接指定对端