ppp协议

link----二层-------数据链路层

1、p2p(point to point)点对点链路

优点:高效、独享

缺点:成本高

协议:ppp、hdlc

2、MA(multiaccess)多路链路

优点:成本低

缺点:共享带宽,效率低

BMA(broadcast multiaccess )广播多路访问链路

协议:Ethernet 以太网-------二层标识Mac

ARP协议  网络地址----------->mac

NBMA(none broadcast multiaccess)不带广播多路访问链路

协议:FR-------二层标识DICL号、ATM-----------二层标识VC虚电路

          inARP(逆向ARP)  DICL号----->网络地址

HDLC(high data link control)

思科私有

不足:

不能做认证

不同网络不能通信(不能接入互联网)

ppp(point-to-point protocol)

适用场景:

点对点互访

互联网接入

pppoe----ppp over Ethernet

pppOA

pppoFR

vpn

L2tp vpn

Pptp vpn

PPP协议架构

LCP(link control protocol)链路控制协议

功能:二层链路建立、维护、拆除

1、认证

PAP(password authenticate protocol)密码认证协议

CHAP(challenge handshake authenticate protocol)挑战握手协议

2、防环

magic number 魔术字

3、多链路捆绑

multilink--虚拟端口

增加带宽

负载

冗余

4、compress 压缩

用于Qos,链路增效

5、Keepalive 保活

echo-request、echo-reply

NCP(network control protocol)网络控制协议

功能:为上层协议提供服务

ipv4----->ipcp

ipv6----->ipv6cp

mpls----->mplscp

一、LCP阶段   ppp建立连接过程   

1、链路建立(双向)

configuration request---------->

id:4

option:

type 1:maximum receive unit

length:4

value:1200

type 5 :magic nu

mber

length:6

value: A

               <---------configuration ack

id:4

option:

type 1:maximum receive unit

length:4

value:1200

type 5 :magic number

length:6

value: A

 <---------configuration request

id:9

option:

type 1:maximum receive unit

length:4

value:1300

type 3:authentication protocol

length:4

value:pap(0xc023)/chap(0xc223)

type 5 :magic number

length:6

value: B

----------->configuration ack

id:9

option:

type 1:maximum receive unit

length:4

value:1300

type 3:authentication protocol

length:4

value:pap(0xc023)/chap(0xc223)

type 5 :magic number

length:6

value: B

正常情况下

两端双向发送configuration request报文,收到后回复configuration ack报文,其中option字段中带有authentication protocol的是认证方

非正常情况

1、本端收到configuration request报文,首先检查报文中option字段中的magic number是否与自己随机生成的相同

不相同,回复configuration ack

相同,回复configuration nak报文,带有重复的magic number

对端在收到configuration nak报文后,重新生成一个与之前不相同的随机数magic number,并重新发送configuration request报文

本端当收到configuration request报文后,检查报文中option字段中的magic number是否与自己随机生成的相同

不相同,回复configuration ack

相同,回复configuration nak报文,带有重复的magic number

。。。重复一定次数,链路拆除

这样做的好处是,避免了可能两端第一次随机生成的magic number相同,而出现的假环路情况

2、被认证方与认证方authentication mode不相同

1)认证方pap,被认证方chap

回复configuration nak报文,带有option type-3

2)认证方pap,被认证方不做

回复configuration reject报文,带有option type-3

3)两个都是认证方,一个是pap认证,一个是chap认证

回复configuration reject报文,带有option type-3

因为:认证方都会发送带有option type-3的configuration request报文,另一端收到后,发现自己没有做对方认可的认证,因此发送reject报文

2、链路保活(双向)

echo request--------->

id 2

magic number

                                       <------------echo reply

id 2

magic number

                                       <------------echo request

id 6

magic number

echo reply--------->

id 6

magic number

3、链路拆除(单向)

termination request-------->

id 8

                              <---------------termination ack

id 8

4、认证 authentication

1)PAP(password authentication protocol)密码认证协议

authentication-request------------------>

id 1

data:

peer-id:huawei

password:123

            <----------------------authentication-ack

id 1

data:

welcome

=======正常情况============

---------------->

被认证方密码或用户名错误

<----------------------authentication-nak

id 1

data:

被认证方尝试三次,拆除链路

=========不正常情况=========

pap总结:

1、优点:提供认证功能、资源消耗少

2、缺点:

1)密钥在传输过程中是不加密的,私密性不够

2)容易收到重放攻击

 

 

2)CHAP(challenge handshake authentication protocol)挑战握手认证协议

<---------------challenge

id

random

username:空

response----------->

id

username:huawei

hash

 ||

challenge报文中的random+id+接口模式下的密码:123

-------------------------MD5------------------------------

<---------------success/failure

动作:认证方收到response报文后,查看报文中username在自己aaa数据库中对应的密码

如果没有

运用MD5运算将:id+random+“空”计算得出一个新的hash2

如果有

运用MD5运算将:id+random+“此密码”计算得出一个新的hash2

对比收到的hash与自己计算的到的hash2

如果相同,发送success报文

如果不相同,发送failure报文

==========================正常情况========================

<---------------challenge

id

random

username:a

response----------->

id

username:huawei

hash

 ||

challenge报文中的random+id+aaa数据库中与username:a对应的密码:123

-------------------------MD5------------------------------

MD5运算中密码来源:

首先看接口下是否有密码

有,加入计算

没有,看收到的challenge报文是否带有username

没有,就放入空密码计算

有,就查询自己的aaa数据库中是有该username和对应的密码

没有,就放入空密码计算

有,就放入aaa数据库中与该username对应的密码计算

<---------------success/failure

对比收到的hash与自己计算的到的hash2

如果相同,发送success报文

如果不相同,发送failure报文

========================特殊场景一========================

chap认证中被认证方配置AAA的意义:

1、增加安全性,提高认证强度

在原来的情况下,是不需要确认username的,challenge中的username为空而现在,需要先确定用户名存在,然后再去找相应的密码

2、减少配置

在多条链路、用户名密码相同的情况下,每条链路只需要配ppp chap username xxx  密码可以统一在aaa下配置

二、NCP阶段

ipv4----->ipcp

功能:为ipv4上层协议提供支持,生成一条指向对方的32位主机路由

r2----------------------------------------------------------r3

开始不配置地址                                      1.1.33.3/24

ip add ppp-negotiation                        remote add 1.1.22.2

configuration request--------->

id:2

option

ip address:0.0.0.0

                           <--------------configuration nak

id:2

option

ip address:1.1.22.2

configuration request--------->

id:3

option

ip address:1.1.22.2

                           <--------------configuration ack

id:3

option

ip address:1.1.22.2

<--------------configuration request

id:7

option

ip address:1.1.33.3

configuration request--------->

id:7

option

ip address:1.1.33.3

==============正常情况=========================

两端同时配置

remote address xxxx 和 ip address ppp-negotiation 时

在NCP阶段,两端发送的首个configuration request,携带的ip address都为0.0.0.0

对方收到后,都会回复configuration nak,携带远端分配的地址

再次发送的configuration request将会正常,并收到configuration ack

能够正常通信

====================特殊情况=====================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值