见习网工之PPP、帧中继、HDLC协议

PPP

简介

在这里插入图片描述

PPP协议是一种点到点链路层协议,主要用于在全双工的链路上进行点到点的数据传输
PPP协议有如下优点:
1 PPP协议具有很好的扩展性,例如,当需要在以太网链路上承载PPP协议时,PPP 可以扩展为PPPoE。
2. PPP提供了LCP(Link Control Protocol)协议,用于各种链路层参数的协商。
3. PPP提供了各种NCP(Network Control Protocol)协议(如IPCP、IPXCP),用于各网络层参数的协商,更好地支持了网络层协议。
4. PPP 提 供 了 认 证 协 议 : CHAP ( Challenge-Handshake Authentication Protocol ) 、 PAP ( Password AuthenticationProtocol),更好的保证了网络的安全性。
5. 无重传机制,网络开销小.

在这里插入图片描述

LCP:
为了能适应多种多样的链路类型,PPP定义了链路控制协议LCP。LCP可以自动检测链路环境,如是否存在环路;协商链路参数,如最大数据包长度,使用何种认证协议等等。与其他数据链路层协议相比,PPP协
议的一个重要特点是可以提供认证功能(进而实现计费 时间
流量收费),链路两端可以协商使用何种认证协议来实施认证过程,只有认证成功之后才会建立连接。

NCP: PPP定义了一组网络层控制协议NCP,每一个NCP对应了一种网络层协议,用于协商网络层地址等参数,例如IPCP用于协商控制IP协议,IPXCP用于协商控制IPX协议等。

在这里插入图片描述在这里插入图片描述
对于PPP链路建立过程的描述如下:

  1. Dead阶段也称为物理层不可用阶段。当通信双方的两端检测到物理线路激活时,就会从Dead阶段迁移至Establish阶段,即链路建立阶段。
  2. 在Establish阶段,PPP链路进行LCP参数协商。协商内容包括最大接收单元MRU、认证方式、魔术字(Magic Number)等选项。LCP参数协商成功后会进入Opened状态,表示底层链路已经建立。
  3. 多数情况下,链路两端的设备是需要经过认证阶段(Authenticate)后才能够进入到网络层协议阶段。PPP链路在缺省情况下是不要求进行认证的。如果要求认证,则在链路建立阶段必须指定认证协议。认证方式是在链路建立阶段双方进行协商的。如果在这个阶段再次收到了Configure-Request报文,则又会返回到链路建立阶段。
  4. 在Network阶段,PPP链路进行NCP协商。通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。只有相应的网络层协议协商成功后,该网络层协议才可以通过这条PPP链路发送报文。如果在这个阶段收到了Configure-Request报文,也会返回到链路建立阶段。
  5. NCP协商成功后,PPP链路将保持通信状态。PPP运行过程中,可以随时中断连接,例如物理链路断开、认证失败、超时定时器时间、管理员通过配置关闭连接等动作都可能导致链路进入Terminate阶段。
  6. 在Terminate阶段,如果所有的资源都被释放,通信双方将回到Dead阶段,直到通信双方重新建立PPP连接。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

如上图所示,RTA和RTB使用串行链路相连,运行PPP。当物理层链路变为可用状态之后,RTA和RTB使用LCP协商链路参数。本例中,RTA首先发送一个Configure-Request报文,此报文中包含RTA上配置的链路层参数。当RTB收到此Configure-Request报文之后,如果RTB能识别并接受此报文中的所有链路层参数,则向RTA回应一个Configure-Ack报文。RTA在没有收到Configure-Ack报文的情况下,会每隔3秒重传一次Configure-Request报文,如果连续10次发送Configure-Request报文仍然没有收到 Configure-Ack报文,则认为对端不可用,停止发送Configure-Request报文。

在这里插入图片描述

PAP认证的工作原理较为简单。PAP认证协议为两次握手认证协议,密码以明文方式在链路上发送。
LCP协商完成后,认证方要求被认证方使用PAP进行认证。
被认证方将配置的用户名和密码信息使用Authenticate-Request报文以明文方式发送给认证方。
认证方收到被认证方发送的用户名和密码信息之后,根据本地配置的用户名和密码数据库检查用户名和密码信息是否匹配,如果匹配,则返回Authenticate-Ack报文,表示认证成功。
否则,返回Authenticate-Nak报文,表示认证失败。

在这里插入图片描述

  1. LCP协商完成后,认证方发送一个Challenge报文给被认证方,
    报文中含有Identifier信息和一个随机产生的Challenge字符串,此Identifier即为后续报文所使用的Identifier。
  2. 被认证方收到此Challenge报文之后,进行一次加密运算。
    运算公式为MD5{ Identifier+密码+Challenge },
    意思是将Identifier、密码和Challenge三部分连成一个字符串,然后对此字符串做MD5运算,得到一个16字节长的摘要信息,
    然后将此摘要信息和端口上配置的CHAP用户名一起封装在Response报文中发回认证方。
  3. 认证方接收到被认证方发送的Response报文之后,按照其中的用户名在本地查找相应的密码信息,得到密码信息之后,
    进行一次加密运算,运算方式和被认证方的加密运算方式相同,
    然后将加密运算得到的摘要信息和Response报文中封装的摘要信息做比较,相同则认证成功,不相同则认证失败。
    特点:使用CHAP认证方式时,被认证方的密码是被加密后才进行传输的,这样就极大的提高了安全性。

IPCP 动态地址协商:
在这里插入图片描述
先是A向B请求,同样B也可以向A确认地址。

  1. RTA向RTB发送一个Configure-Request报文,此报文中会包含一个IP地址0.0.0.0,表示向对端请求IP地址;
  2. RTB收到上述Configure-Request报文后,认为其中包含的地址(0.0.0.0)不合法,使用Configure-Nak回应一个新的IP地址10.1.1.1;
  3. RTA收到此Configure-Nak报文之后,更新本地IP地址,并重新发送一个Configure-Request报文,包含新的IP地址10.1.1.1;
  4. RTB收到Configure-Request报文后,认为其中包含的IP地址为合法地址,回应一个Configure-Ack报文。

同时,RTB也要向RTA发送Configure-Request报文请求使用地址10.1.1.2,RTA认为此地址合法,回应Configure-Ack报文。

PPPOE配置

在这里插入图片描述
Client 端 :

dialer-rule
dialer-rule 5 ip permit
int dialer 1
link protocol ppp
ppp pap local-user 051213506917 password simple 123456
ip address pppoe-negotiate
dialer user 051213506917
dialer bundle 2
dialer-group 5
int gi0/0/0
pppoe-client dialer-bundle-number 2
ip route-static 0.0.0.0 0 dialer 1

Server端:
ip pool pool1
network 183.10.25.218 mask 29
gateway-list 183.10.25.217
aaa
local-user 051213506917 password cipher
local-user 051213506917 server-type ppp
int virtual-template 1
ppp authentication-mode pap
access remote pool pool1
ip address 183.10.25.218 29
int gi0/0/0
pppoe-server bind virtual-template 1

帧中继

简介

frame relay,用户信息以帧(frame)为单位进行传送,网络在传送过程中对帧结构、传送差错等情况进行检查,对出错帧直接予以丢弃,同时,通过对帧中地址段DLCI的识别,实现用户信息的统计复用。

在这里插入图片描述
FR协议一定要用FR交换机

R1(左):

interface Serial0/0/0
link-protocol fr
fr dlci 16
ip address 12.1.1.1 24

R2(右):

interface Serial0/0/0
link-protocol fr
fr dlci 61
ip address 12.1.1.2 24

或者手动建立映射
R1:

int s0/0/0
undo fr inarp
fr map ip 12.1.1.2 16 broadcast

R2:

int s0/0/0
undo fr inarp
fr map ip 12.1.1.1 61 broadcast(本地IP地址接对端的dlci标识)

HDLC

简介

HDLC(High-Level Data Link Control,高级数据链路控制),是链路层协议的一项国际标准,用以实现远程用户间资源共享以及信息交互。HDLC协议用以保证传送到下一层的数据在传输过程中能够准确地被接收,也就是差错释放中没有任何损失,并且序列正确。HDLC协议的另一个重要功能是流量控制,即一旦接收端收到数据,便能立即进行传输

必须保证两端接口协议都是HDLC。华为默认是PPP,思科默认是HDLC

在这里插入图片描述

改变华为路由器的接口协议命令:
link-protocol hdlc
在这里插入图片描述

二层封装不再是Tcp/Udp协议,而是HDLC协议

以上数据均来自51CTO学院讲师 肖宗鹏老师

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值