广域网经常使用串行链路来提供远距离的数据传输。而高级链路控制协议HDLC(High-level Data Link Control)和点对点ppp协议(Point to point)协议是两种典型的串口封装协议。还有一种FR(frame-relay)帧中继协议不太常用。这三个协议都是广域网二层封装协议,而注意区分我们常用的以太网二层是用的以太网帧封装的,使用的是mac地址。
1.ppp协议
ppp协议比较重要的是可以对链路做二层认证。ppp链路的认证方式包括两种(1)PAP认证 (password authentication potocol) (2)CHAP认证。接下来我们来实现一下这两种认证方式。
- PAP认证
拓扑如下:
这里需要注意一下,两个路由之间是用serial 串口线连接的,而且需要在路由器的设置中手动添加串口组件。

接下来配置两个路由,命令如下:
AR3 认证端命令:
[AR3]int s4/0/0
[AR3-Serial4/0/0]ip add 12.0.0.2 24
[AR3-Serial4/0/0]aaa
[AR3-aaa]local-user zhongxia password cipher 123
Info: Add a new user. 进入aaa 模式,新建一个用户名及密码
[AR3-aaa]local-user zhongxia service-type ppp
#配置新建的用户的服务类型为 ppp
[AR3-Serial4/0/0]ppp authentication-mode pap
# 开始pap认证
接下来需要将认证端的s4/0/0 口用shutdown / undoshutdown重启一下才能使配置生效。
AR2 客户端命令:
[AR2-Serial4/0/0]ppp pap local-user zhongxia password simple 123
客户端认证命令,发送用户名及密码进行验证。
注:PAP认证的密码是明文传输的,因此不安全,通过抓包可以直接查看密码。
- CHAP认证
配置命令如下:
AR3认证端命令基本没变,只有最后一句变化。
[AR3]int s4/0/0
[AR3-Serial4/0/0]ip add 12.0.0.2 24
[AR3-Serial4/0/0]aaa
[AR3-aaa]local-user zhongxia password cipher 123
Info: Add a new user. 进入aaa 模式,新建一个用户名及密码
[AR3-aaa]local-user zhongxia service-type ppp
#配置新建的用户的服务类型为 ppp
[AR3-Serial4/0/0]ppp authentication-mode chap
# 开始chap认证
AR2客户端配置命令:
[AR2]int s4/0/0
[AR2-Serial4/0/0]ppp chap user zhongxia
[AR2-Serial4/0/0]ppp chap password simple 123
注:这里更改原配置也要重启一下端口才能生效
接下来我们抓包看一下,其实这个包也能说明chap认证的过程其实是包括三次握手的(相比较于pap认证的两次握手)。
2. HDLC协议
PPP协议是点到点,只能是2个点之间通信,不具备多点寻址的功能;HDLC具备多点寻址的功能。另外HDLC,传输效率高。在高级数据链路控制中,额外的开销比特少,允许高效的差错控制和流量控制。PPP具有处理错误检测、支持多个协议、允许在连接时刻协商IP地址、允许身份认证等功能。所以广域网具体使用哪种封装协议要根据实际情况来决定。
更改端口使用的协议也比较简单 link-protocol hdlc 即可,但是需要注意,广域网链路的两端要使用同样的二层封装协议。
[AR3-Serial4/0/0]link-protocol hdlc
Warning: The encapsulation protocol of the link will be changed. Continue? [Y/N]
:y
[AR3-Serial4/0/0]dis this
[V200R003C00]
#
interface Serial4/0/0
link-protocol hdlc #注意这里已经更改了
ip address 12.0.0.2 255.255.255.0
#
return
[AR3-Serial4/0/0]
注:华为 H3C 串行接口默认的封装方式是ppp而思科的默认是HDLC
