第 6 章 hdlc 和 ppp
DESCRIPTION
第 6 章 HDLC 和 PPP. 张书源. 数据在网络中传输时是以帧为单位进行传输的,不同网络使用不同的协议封装数据帧,它们定义的帧格式也不一样。 目前的局域网多使用以太网,数据用以太网帧进行封装。 广域网使用的技术较多,不同技术下帧的封装也不同,其中在点对点的串行线路中,主要使用 HDLC 协议和 PPP 协议封装数据帧。. HDLC 帧. 或. Ethernet 帧. Ethernet 帧. PPP 帧. 以太网. 以太网. f0/0. s0/0. s0/0. f0/0. 点对点网络. - PowerPoint PPT PresentationTRANSCRIPT
第 6 章 HDLC 和PPP
张书源
数据在网络中传输时是以帧为单位进行传输的,不同网络使用不同的协议封装数据帧,它们定义的帧格式也不一样。
目前的局域网多使用以太网,数据用以太网帧进行封装。
广域网使用的技术较多,不同技术下帧的封装也不同,其中在点对点的串行线路中,主要使用 HDLC 协议和PPP 协议封装数据帧。
以太网 以太网
点对点网络
f0/0 s0/0 s0/0 f0/0
Ethernet 帧
HDLC 帧
PPP 帧 Ethernet 帧或
路由器具有协议转换功能,当它收到一个数据帧后,会把帧拆开,取出其中的数据报,经路由处理后,再用出口的数据链路层协议封装数据帧。
以太网接口运行的数据链路层协议是 IEEE802.3 。
Serial 接口运行的数据链路层协议是 HDLC 、 PPP 等。
6.1 HDLCHDLC 协议有标准的 HDLC 和 Cisco 的 HDLC 两种。
HDLC 帧格式:
Flag Address Control Proprietary Data FCS Flag
Flag :表示帧的开始,取值为 7F 。
Address :地址,用于在多点的网络中对目的设备的寻址。
Control :表示帧的类型,如信息帧、管理帧等。
Proprietary : Cisco HDLC 的专有字段,可用于指明数据字段的协议类型,标准的 HDLC 无此字段。
Data :帧封装的数据报。
FCS :帧校验序列。
Flag :表示帧的结束,取值为 7E 。
标准的 HDLC 没有 Proprietary 字段,所以它只能对一种网络层协议进行封装,而 Cisco HDLC 支持多网络层协议。
HDLC 不提供验证功能。
HDLC 的使用:
Cisco 路由器的串口默认使用 HDLC ,它只能用于Cisco 设备间的连接,对于 Cisco 设备和非 Cisco 设备的连接,应使用 PPP 协议。
Cisco Cisco
Cisco 非 Cisco
HDLC
PPP
HDLC 的配置:
Cisco 路由器的串口默认使用 HDLC ,不需要进行配置。如果它被配置为其它封装,想要改回 HDLC ,需要对串口进行配置。
R1 R2s0/0 s0/0
R1(config)# interface s0/0
R1(config-if)# encapsulation hdlc
R2(config)# interface s0/0
R2(config-if)# encapsulation hdlc
HDLC
6.2 PPP协议PPP 协议不是一个单纯的进行数据封装的协议,它提供了比较完整的传输服务功能。
PPP 由三部分组成:
网络控制协议 (NCP)
连接控制协议 (LCP)
同步和异步物理介质
网络层
数据链路层
物理层
1 、同步或异步物理介质: PPP 既支持同步电路也支持异步电路。
2 、 LCP :用于建立、配置和测试数据链路。
3 、 NCP :用来建立和配置不同的网络层协议。
在应用中, PPP 协议可用于路由器间的串行链路,也可用于主机到网络的 ISDN 、电话线连接等。
PPP 协议支持多种网络层协议,如 IP 、 IPX 等。
PPP 协议提供了链路验证功能,提高了链路的安全性。
PPP 协议支持使用动态 IP 地址的客户端。
PPP 的帧格式: PPP 采用了 HDLC 的封装方式。
Flag Address Control Protocol Data FCS Flag
Flag :表示帧的开始和结束,值均为 7F 。
Address :值为 FF ,表示广播。
Control :值为 03 。
Protocol :表示数据字段的协议类型。
Data :封装的数据报。
FCS :帧校验序列。
PPP 会话过程当一台设备通过 PPP 协议接入广域网时,它需要经历一个会话过程。
1 、链路建立和配置协调
客户端设备发送 LCP 数据包与远端的 PPP 设备建立链路,并进行参数协调,如最大接收单元、字段压缩等。2 、链路质量检测
如果远端的 PPP 设备配置了验证功能,则客户端需要提供用户名和密码才能通过验证,这可以保证客户的合法性。
3 、网络层协议配置协调
设备发送 NCP 数据包来协调使用的网络层协议,可以选择配置一种或多种网络层协议。
当协调完成后,就可以传输数据了。
4 、关闭链路
当客户端要离开网络时,会提出关闭链路的请求。
如果客户端长时间空闲(可能已关机或故障),该链路也会被关闭。
PPP 的配置R1 R2
s0/0 s0/0PPP
同一链路的两端必须配置成相同的协议才能通信。
R1(config)# interface s0/0
R1(config-if)# encapsulation ppp
R2(config)# interface s0/0
R2(config-if)# encapsulation ppp
PPP 的验证验证是为了保证用户的合法性。
当用户想要接入某 ISP 的网络时,需要到 ISP 办理入网手续,获取上网的用户名和密码, ISP 会把用户名和密码配置在自己的 PPP 设备上,当用户上网时,需提供正确的用户名和密码,才能通过 PPP 验证,建立和 ISP 的通信连接。
客户端 PPP 设备
PPP 验证
PPP 验证有两种方式: PAP 和 CHAP 。
1 、 PAP( 密码验证协议 ) :
利用双向握手信号与远端节点进行验证。
客户端 PPP 设备
用户名,密码
接受、拒绝
在 PAP 验证中,验证由用户端发起,密码是以明文传输的,容易被窃取。也不能防范利用反复验证引起的再生攻击。
2 、 CHAP( 协议握手验证协议 ) :
利用三次握手周期地验证源节点的身份。
客户端 PPP 设备
CHAP询问
接受、拒绝
CHAP 验证在链路建立后开始,并周期性进行。验证由服务端发起,不允许用户端在没有收到询问时进行验证尝试,这样可以防范客户端发起的再生攻击。每个询问消息都是不可预测的唯一值,且经过加密,这可保证信息的安全。
CHAP 验证的安全性要高于 PAP 验证。
响应
PPP 验证的配置
PPP 设备可以是计算机、路由器等设备,这里只介绍路由器的 PPP 验证。
路由器支持 PAP 验证和 CHAP 验证,管理员可根据需要选择其中的一种进行配置。
配置 PPP 验证前,必须保证相连的路由器已经采用了PPP 封装。
R1 R2s0/0 s0/0PPP
PAP 验证的配置R1 R2
s0/0 s0/0PPP
ISP客户
ISP 是用户名和密码的提供者,他要求只有合法用户才能使用 PPP 接入。
客户是用户名和密码的使用者,他利用密码说明自己的合法性。
中心路由器远程路由器
DCE
中心路由器 (ISP) 的 PAP 配置:
R2(config)# interface s0/0
R2(config-if)# encapsulation ppp
把 s0/0 口配置为 PPP 封装;
R2(config-if)# ppp authentication pap
在 s0/0 口启用 PAP 验证 ( 当有设备呼叫此接口时会要求验证 );
R2(config-if)# exit
R2(config)# username bsy password 1234
配置客户路由器验证时使用的名字和密码。本例中用户名为 bsy ,密码为 1234 。
远程路由器 ( 客户 ) 的 PAP 配置:
R1(config)# interface s0/0
R1(config-if)# encapsulation ppp
把 s0/0 口配置为 PPP 封装;
R1(config-if)# ppp pap sent-username bsy password 1234
配置传送给中心路由器的名字和密码。
说明:用户名和密码是由 ISP 提供的,用户名不是本机的主机名。
这种方式形成的是单向验证,即 R2 要求 R1 在接入时必须验证。
除了配置单向的验证外,还可以配置成双向验证,这时,双方互相验证对方的身份,只有都验证成功了,PPP 连接才能使用。
旧版本系统的 PAP 配置:
ppp pap sent-username命令在 Cisco IOS 11.1及以后的版本中才有。
在旧版本的 IOS 中验证使用的用户名是路由器的名字。
中心路由器 (ISP) 的配置:
R2(config)# interface s0/0
R2(config-if)# encapsulation ppp
R2(config-if)# ppp authentication pap
R2(config-if)# exit
R2(config)# username R1 password 1234
远程路由器 ( 客户 ) 的 PAP 配置:
R1(config)# interface s0/0
R1(config-if)# encapsulation ppp
R1(config-if)# ppp authentication pap
R1(config-if)# exit
R1(config)# username R2 password 1234
说明:这种配置方式中,用户名使用的是对方路由器的名字,密码必须相同。
CHAP 验证的配置中心路由器 (ISP) 的 CHAP 配置:
R2(config)# interface s0/0
R2(config-if)# encapsulation ppp
R2(config-if)# ppp authentication chap
R2(config-if)# exit
R2(config)# username bsy password 1234
配置客户路由器验证时使用的名字和密码。本例中用户名为 bsy ,密码为 1234 。
远程路由器 ( 客户 ) 的 CHAP 配置:
R1(config)# interface s0/0
R1(config-if)# encapsulation ppp
R1(config-if)# ppp chap hostname bsy
R1(config-if)# ppp chap password 1234
配置传送给中心路由器的名字和密码。
旧版本系统的 CHAP 配置:
ppp chap hostname命令和 ppp chap password命令在 Cisco IOS 11.1及以后的版本中才有。
在旧版本的 IOS 中验证使用的用户名是路由器的名字。
中心路由器 (ISP) 的配置:
R2(config)# interface s0/0
R2(config-if)# encapsulation ppp
R2(config-if)# ppp authentication chap
R2(config-if)# exit
R2(config)# username R1 password 1234
远程路由器 ( 客户 ) 的 CHAP 配置:
R1(config)# interface s0/0
R1(config-if)# encapsulation ppp
R1(config-if)# ppp authentication chap
R1(config-if)# exit
R1(config)# username R2 password 1234
说明:这种配置方式中,用户名使用的是对方路由器的名字,密码必须相同。
在实际应用中, ISP 通常把中心路由器配置成支持两种验证,客户端路由器可自己选择使用的验证方法。
使一个接口支持两种验证,可用如下命令:
R2(config-if)# ppp authentication chap pap
或者使用:
R2(config-if)# ppp authentication pap chap
验证时会先尝试用第一种验证方式,如果被拒绝,再使用第二种验证方式。
(Boson 不支持此命令。 )
PPP 配置实例R1 R2
s0:.1 s0:.2PPP
ISP客户
DCE200.1.1.0/24
R2 :路由器名为 CNC-1 ,它的 S0 口采用 PPP 封装,要求使用 CHCP 或 PAP 进行验证,提供给客户的用户名为 BSY ,密码为 1234 。
R1 :使用 ISP 提供的用户名和密码配置路由器,使它能通过验证。
ISP 端路由器 (R2) 的配置:
Router(config)# hostname CNC-1
CNC-1(config)# interface s0
CNC-1(config-if)# ip address 200.1.1.2 255.255.255.0
CNC-1(config-if)# clock rate 64000
CNC-1(config-if)# encapsulation ppp
CNC-1(config-if)# ppp authentication chap pap
CNC-1(config-if)# no shutdown
CNC-1(config-if)# exit
CNC-1(config)# username BSY password 1234
客户端路由器 (R1) 的配置:
如果管理员决定使用 PAP 验证。
R1(config)# interface s0
R1(config-if)# ip address 200.1.1.1 255.255.255.0
R1(config-if)# encapsulation ppp
R1(config-if)# ppp pap sent-username BSY password 1234
R1(config-if)# no shutdown
客户端路由器 (R1) 的配置:
如果管理员决定使用 PAP 验证,但 IOS 为旧版本。
Router(config)# hostname BSY
BSY(config)# interface s0
BSY(config-if)# ip address 200.1.1.1 255.255.255.0
BSY(config-if)# encapsulation ppp
BSY(config-if)# ppp authentication pap
BSY(config-if)# no shutdown
BSY(config-if)# exit
BSY(config)# username CNC-1 password 1234
客户端路由器 (R1) 的配置:
如果管理员决定使用 CHAP 验证。
R1(config)# interface s0
R1(config-if)# ip address 200.1.1.1 255.255.255.0
R1(config-if)# encapsulation ppp
R1(config-if)# ppp chap hostname bsy
R1(config-if)# ppp chap password 1234
R1(config-if)# no shutdown
客户端路由器 (R1) 的配置:
如果管理员决定使用 CHAP 验证,但 IOS 为旧版本。
Router(config)# hostname BSY
BSY(config)# interface s0
BSY(config-if)# ip address 200.1.1.1 255.255.255.0
BSY(config-if)# encapsulation ppp
BSY(config-if)# ppp authentication chap
BSY(config-if)# no shutdown
BSY(config-if)# exit
BSY(config)# username CNC-1 password 1234