第 6 章 hdlc 和 ppp

34
第 6 第 HDLC 第 PPP

Upload: isanne

Post on 05-Feb-2016

111 views

Category:

Documents


0 download

DESCRIPTION

第 6 章 HDLC 和 PPP. 张书源. 数据在网络中传输时是以帧为单位进行传输的,不同网络使用不同的协议封装数据帧,它们定义的帧格式也不一样。 目前的局域网多使用以太网,数据用以太网帧进行封装。 广域网使用的技术较多,不同技术下帧的封装也不同,其中在点对点的串行线路中,主要使用 HDLC 协议和 PPP 协议封装数据帧。. HDLC 帧. 或. Ethernet 帧. Ethernet 帧. PPP 帧. 以太网. 以太网. f0/0. s0/0. s0/0. f0/0. 点对点网络. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 6 章  HDLC 和 PPP

第 6 章 HDLC 和PPP

张书源

Page 2: 第 6 章  HDLC 和 PPP

数据在网络中传输时是以帧为单位进行传输的,不同网络使用不同的协议封装数据帧,它们定义的帧格式也不一样。

目前的局域网多使用以太网,数据用以太网帧进行封装。

广域网使用的技术较多,不同技术下帧的封装也不同,其中在点对点的串行线路中,主要使用 HDLC 协议和PPP 协议封装数据帧。

Page 3: 第 6 章  HDLC 和 PPP

以太网 以太网

点对点网络

f0/0 s0/0 s0/0 f0/0

Ethernet 帧

HDLC 帧

PPP 帧 Ethernet 帧或

路由器具有协议转换功能,当它收到一个数据帧后,会把帧拆开,取出其中的数据报,经路由处理后,再用出口的数据链路层协议封装数据帧。

以太网接口运行的数据链路层协议是 IEEE802.3 。

Serial 接口运行的数据链路层协议是 HDLC 、 PPP 等。

Page 4: 第 6 章  HDLC 和 PPP

6.1 HDLCHDLC 协议有标准的 HDLC 和 Cisco 的 HDLC 两种。

HDLC 帧格式:

Flag Address Control Proprietary Data FCS Flag

Flag :表示帧的开始,取值为 7F 。

Address :地址,用于在多点的网络中对目的设备的寻址。

Control :表示帧的类型,如信息帧、管理帧等。

Page 5: 第 6 章  HDLC 和 PPP

Proprietary : Cisco HDLC 的专有字段,可用于指明数据字段的协议类型,标准的 HDLC 无此字段。

Data :帧封装的数据报。

FCS :帧校验序列。

Flag :表示帧的结束,取值为 7E 。

标准的 HDLC 没有 Proprietary 字段,所以它只能对一种网络层协议进行封装,而 Cisco HDLC 支持多网络层协议。

HDLC 不提供验证功能。

Page 6: 第 6 章  HDLC 和 PPP

HDLC 的使用:

Cisco 路由器的串口默认使用 HDLC ,它只能用于Cisco 设备间的连接,对于 Cisco 设备和非 Cisco 设备的连接,应使用 PPP 协议。

Cisco Cisco

Cisco 非 Cisco

HDLC

PPP

Page 7: 第 6 章  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

Page 8: 第 6 章  HDLC 和 PPP

6.2 PPP协议PPP 协议不是一个单纯的进行数据封装的协议,它提供了比较完整的传输服务功能。

PPP 由三部分组成:

网络控制协议 (NCP)

连接控制协议 (LCP)

同步和异步物理介质

网络层

数据链路层

物理层

Page 9: 第 6 章  HDLC 和 PPP

1 、同步或异步物理介质: PPP 既支持同步电路也支持异步电路。

2 、 LCP :用于建立、配置和测试数据链路。

3 、 NCP :用来建立和配置不同的网络层协议。

在应用中, PPP 协议可用于路由器间的串行链路,也可用于主机到网络的 ISDN 、电话线连接等。

PPP 协议支持多种网络层协议,如 IP 、 IPX 等。

PPP 协议提供了链路验证功能,提高了链路的安全性。

PPP 协议支持使用动态 IP 地址的客户端。

Page 10: 第 6 章  HDLC 和 PPP

PPP 的帧格式: PPP 采用了 HDLC 的封装方式。

Flag Address Control Protocol Data FCS Flag

Flag :表示帧的开始和结束,值均为 7F 。

Address :值为 FF ,表示广播。

Control :值为 03 。

Protocol :表示数据字段的协议类型。

Data :封装的数据报。

FCS :帧校验序列。

Page 11: 第 6 章  HDLC 和 PPP

PPP 会话过程当一台设备通过 PPP 协议接入广域网时,它需要经历一个会话过程。

1 、链路建立和配置协调

客户端设备发送 LCP 数据包与远端的 PPP 设备建立链路,并进行参数协调,如最大接收单元、字段压缩等。2 、链路质量检测

如果远端的 PPP 设备配置了验证功能,则客户端需要提供用户名和密码才能通过验证,这可以保证客户的合法性。

Page 12: 第 6 章  HDLC 和 PPP

3 、网络层协议配置协调

设备发送 NCP 数据包来协调使用的网络层协议,可以选择配置一种或多种网络层协议。

当协调完成后,就可以传输数据了。

4 、关闭链路

当客户端要离开网络时,会提出关闭链路的请求。

如果客户端长时间空闲(可能已关机或故障),该链路也会被关闭。

Page 13: 第 6 章  HDLC 和 PPP

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

Page 14: 第 6 章  HDLC 和 PPP

PPP 的验证验证是为了保证用户的合法性。

当用户想要接入某 ISP 的网络时,需要到 ISP 办理入网手续,获取上网的用户名和密码, ISP 会把用户名和密码配置在自己的 PPP 设备上,当用户上网时,需提供正确的用户名和密码,才能通过 PPP 验证,建立和 ISP 的通信连接。

客户端 PPP 设备

PPP 验证

Page 15: 第 6 章  HDLC 和 PPP

PPP 验证有两种方式: PAP 和 CHAP 。

1 、 PAP( 密码验证协议 ) :

利用双向握手信号与远端节点进行验证。

客户端 PPP 设备

用户名,密码

接受、拒绝

在 PAP 验证中,验证由用户端发起,密码是以明文传输的,容易被窃取。也不能防范利用反复验证引起的再生攻击。

Page 16: 第 6 章  HDLC 和 PPP

2 、 CHAP( 协议握手验证协议 ) :

利用三次握手周期地验证源节点的身份。

客户端 PPP 设备

CHAP询问

接受、拒绝

CHAP 验证在链路建立后开始,并周期性进行。验证由服务端发起,不允许用户端在没有收到询问时进行验证尝试,这样可以防范客户端发起的再生攻击。每个询问消息都是不可预测的唯一值,且经过加密,这可保证信息的安全。

CHAP 验证的安全性要高于 PAP 验证。

响应

Page 17: 第 6 章  HDLC 和 PPP

PPP 验证的配置

PPP 设备可以是计算机、路由器等设备,这里只介绍路由器的 PPP 验证。

路由器支持 PAP 验证和 CHAP 验证,管理员可根据需要选择其中的一种进行配置。

配置 PPP 验证前,必须保证相连的路由器已经采用了PPP 封装。

R1 R2s0/0 s0/0PPP

Page 18: 第 6 章  HDLC 和 PPP

PAP 验证的配置R1 R2

s0/0 s0/0PPP

ISP客户

ISP 是用户名和密码的提供者,他要求只有合法用户才能使用 PPP 接入。

客户是用户名和密码的使用者,他利用密码说明自己的合法性。

中心路由器远程路由器

DCE

Page 19: 第 6 章  HDLC 和 PPP

中心路由器 (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 。

Page 20: 第 6 章  HDLC 和 PPP

远程路由器 ( 客户 ) 的 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 在接入时必须验证。

Page 21: 第 6 章  HDLC 和 PPP

除了配置单向的验证外,还可以配置成双向验证,这时,双方互相验证对方的身份,只有都验证成功了,PPP 连接才能使用。

Page 22: 第 6 章  HDLC 和 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

Page 23: 第 6 章  HDLC 和 PPP

远程路由器 ( 客户 ) 的 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

说明:这种配置方式中,用户名使用的是对方路由器的名字,密码必须相同。

Page 24: 第 6 章  HDLC 和 PPP

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 。

Page 25: 第 6 章  HDLC 和 PPP

远程路由器 ( 客户 ) 的 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

配置传送给中心路由器的名字和密码。

Page 26: 第 6 章  HDLC 和 PPP

旧版本系统的 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

Page 27: 第 6 章  HDLC 和 PPP

远程路由器 ( 客户 ) 的 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

说明:这种配置方式中,用户名使用的是对方路由器的名字,密码必须相同。

Page 28: 第 6 章  HDLC 和 PPP

在实际应用中, ISP 通常把中心路由器配置成支持两种验证,客户端路由器可自己选择使用的验证方法。

使一个接口支持两种验证,可用如下命令:

R2(config-if)# ppp authentication chap pap

或者使用:

R2(config-if)# ppp authentication pap chap

验证时会先尝试用第一种验证方式,如果被拒绝,再使用第二种验证方式。

(Boson 不支持此命令。 )

Page 29: 第 6 章  HDLC 和 PPP

PPP 配置实例R1 R2

s0:.1 s0:.2PPP

ISP客户

DCE200.1.1.0/24

R2 :路由器名为 CNC-1 ,它的 S0 口采用 PPP 封装,要求使用 CHCP 或 PAP 进行验证,提供给客户的用户名为 BSY ,密码为 1234 。

R1 :使用 ISP 提供的用户名和密码配置路由器,使它能通过验证。

Page 30: 第 6 章  HDLC 和 PPP

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

Page 31: 第 6 章  HDLC 和 PPP

客户端路由器 (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

Page 32: 第 6 章  HDLC 和 PPP

客户端路由器 (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

Page 33: 第 6 章  HDLC 和 PPP

客户端路由器 (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

Page 34: 第 6 章  HDLC 和 PPP

客户端路由器 (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