网络技术基础(18)——PPP与PPPoE协议

简介: 【3月更文挑战第5天】本文介绍了广域网的基本架构和PPP协议。广域网涉及CE(用户边缘设备)、PE(服务提供商边缘设备)和P(服务提供商设备),其中CE为企业出口,PE类似光猫,P为运营商内部设备。PPP是数据链路层协议,用于点到点连接,提供PAP和CHAP安全认证,并通过LCP和NCP协商链路和网络层参数。PPP协商包括链路层、认证(可选)和网络层三个阶段。PPPoE协议结合了PPP和以太网优点,用于以太网上进行PPP认证和计费,其会话建立包含发现、会话和终结阶段。配置PPP或PPPoE时,需在对应接口设置账号密码和认证方式。

广域网概述

之前学习的大多是局域网LAN内常用的技术,但是我们总是需要访问Internet,需要访问百度、B站等等,那怎样让局域网访问外面的资源呢,其实我们已经学习过了NAT转换,但是那对于广域网的架构我们还是需要学习下的。

image.png
image.png

早期广域网与局域网的区别在于数据链路层和物理层的差异性,在TCP/IP参考模型中,其他各层无差异。

image.png

广域网络设备基本角色有三种,CE(Customer Edge,用户边缘设备) 、PE (Provider Edge,服务提供商边缘设备) 和P(Provider ,服务提供商设备) 。

  • CE:用户端连接服务提供商的边缘设备。CE连接一个或多个PE,实现用户接入。

  • PE:服务提供商连接CE的边缘设备。PE同时连接CE和P设备,是重要的网络节点。

  • P:服务提供商不连接任何CE的设备。

image.png

简单说CE就是企业出口设备,PE就相当于光猫,P就是运营商内部设备。

image.png

在CE和PE间一般使用PPP协议进行安全验证,以及现在的PPPoE协议。一般我们不需要关心运营商内部的网络。

PPP协议

概述

  • PPP(Point-to-Point Protocol,点到点协议)是一种常见的广域网 数据链路层协议,主要用于在全双工的链路上进行点到点的数据传输封装。

  • PPP提供了安全认证协议族PAP(Password Authentication Protocol,密码验证协议)和CHAP(Challenge Handshake Authentication Protocol,挑战握手认证协议)。

  • PPP协议具有良好的扩展性,例如,当需要在以太网链路上承载PPP协议时,PPP可以扩展为PPPoE。

  • PPP协议提供LCP(Link Control Protocol,链路控制协议),用于各种链路层参数的协商,例如最大接收单元,认证模式等。

  • PPP协议提供各种NCP(Network Control Protocol,网络控制协议),如IPCP(IP Control Protocol ,IP控制协议),用于各网络层参数的协商,更好地支持了网络层协议。

概况:PPP是数据链路层协议,提供了PAP和CHAP认证方式,可以扩展为PPPoE,使用LCP和NCP进行网络层参数协商。

协商过程

PPP链路的建立有三个阶段的协商过程,链路层协商、认证协商(可选)和网络层协商。

  • 链路层协商:通过LCP报文进行链路参数协商,建立链路层连接。

  • 认证协商(可选):通过链路建立阶段协商的认证方式进行链路认证。使用PAP和CHAP认证。

  • 网络层协商 :通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。

image.png
image.png

链路层协商: PPP报文可由Protocol字段标识不同类型的PPP报文。例如,当Protocol字段为0xC021时,代表是LCP报文。此时又由Code字段标识不同类型LCP报文,如下表所示。

image.png

LCP协商由不同的LCP报文交互完成。协商由任意一方发送Configure-Request报文发起。如果对端接收此报文且参数匹配,则通过回复Configure-Ack响应协商成功。

image.png

在LCP报文交互中出现LCP参数不匹配时,接收方回复Configure-Nak响应告知对端修改参数然后重新协商。

image.png

认证协商 : 链路协商成功后,进行认证协商(此过程可选)。认证协商有两种模式,PAP和CHAP。

  • PAP认证双方有两次握手。协商报文以明文的形式在链路上传输。

  • CHAP认证双方有三次握手。协商报文被加密后再在链路上传输。

PAP:

image.png

CHAP:

image.png

网络层协商: PPP认证协商后,双方进入NCP协商阶段,协商在数据链路上所传输的数据包的格式与类型。以常见的IPCP协议为例,它分为静态IP地址协商和动态IP地址协商。

静态IP地址协商需要手动在链路两端配置IP地址。

image.png

动态IP地址协商支持PPP链路一端为对端配置IP地址。

image.png

协商过程概述:第一阶段协商比如请求类型、链路状态,第二阶段进行认证,第三阶段确定两端地址,保证从物理层到网络层两端参数都匹配才能开始传输数据。

配置示例

# 配置接口封装PPP协议,需要使用S串口
[Huawei-Serial0/0/0] link-protocol ppp

# 服务器端,也就是验证端配置账号密码
# 配置验证方以PAP方式认证对端
[Huawei]aaa
[Huawei-aaa] local-user user-name  password {
   
    cipher | irreversible-cipher } password
[Huawei-aaa] local-user user-name service-type ppp

# 被验证方输入提前设置的账号密码
# 配置被验证方以PAP方式被对端认证,进入相连接口配置
[Huawei-Serial0/0/0] ppp pap local-user user-name password {
   
    cipher | simple } password

# 如果配置CHAP认证方式,两端配置稍有不同
# 配置验证方以CHAP方式认证对端
[Huawei-aaa] local-user user-name  password {
   
    cipher | irreversible-cipher } password
[Huawei-aaa] local-user user-name service-type ppp

# 修改验证方式,华为默认PAP
[Huawei-Serial0/0/0] ppp authentication-mode chap

# 配置被验证方以CHAP方式被对端认证
[Huawei-Serial0/0/0] ppp chap user user-name
[Huawei-Serial0/0/0] ppp chap password {
   
    cipher | simple } password

简单说就是一端配置账号密码,一端进行认证,方式有PAP和CHAP,要在对应的S口进行配置,验证通过才能开始传输数据。

PPPoE协议

PPPoE概述

PPPoE(PPP over Ethernet,以太网承载PPP协议)是一种把PPP帧封装到以太网帧中的链路层协议。PPPoE可以使以太网网络中的多台主机连接到远端的宽带接入服务器。

PPPoE集中了PPP和Ethernet两个技术的优点。既有以太网的组网灵活优势,又可以利用PPP协议实现认证、计费等功能。

image.png

PPPoE其实就是我们现在用的拨号上网的方式,可以在以太网的基础上进行PPP认证,实现上网,运营商进行计费。

会话建立

PPPoE的会话建立有三个阶段,PPPoE发现阶段、PPPoE会话阶段和PPPoE终结阶段。

image.png

PPPoE协议发现有四个步骤:客户端发送请求、服务端响应请求、客户端确认响应和建立会话。

image.png

PPPoE会话阶段会进行PPP协商,分为LCP协商、认证协商、NCP协商三个阶段。

image.png

当PPPoE客户端希望关闭连接时,会向PPPoE服务器端发送一个PADT报文,用于关闭连接。同样,如果PPPoE服务器端希望关闭连接时,也会向PPPoE客户端发送一个PADT报文。

image.png

配置示例

# 通过拨号规则来配置发起PPPoE会话的条件
[Huawei] dialer-rule

# 配置拨号接口用户名,此用户名必须与对端服务器用户名相同
[Huawei-Dialer1]dialer user username

# 将接口置于一个拨号访问组
[Huawei-Dialer1]dialer-group group-number  

# 指定当前拨号接口使用的拨号绑定
[Huawei-Dialer1]dialer-bundle number   

# 将物理端口与dialer-bundle进行绑定
[Huawei-Ethernet0/0/0]pppoe-client dial-bundle-number number
# 服务器端
interface Virtual-Template1
 ppp authentication-mode chap 
 remote address pool ppp
 ppp ipcp remote-address forced
 ip address 10.0.0.1 255.255.255.0 
aaa
 local-user admin password cipher %$%$A~V^OzCA%%loI4/-k+_@wG+I%$%$
 local-user admin service-type ppp
# 强制对端ip池
ip pool ppp
 gateway-list 10.0.0.1 
 network 10.0.0.0 mask 255.255.255.252 
 lease day 0 hour 2 minute 0 

# 绑定接口
interface GigabitEthernet0/0/0
 pppoe-server bind Virtual-Template 1

# 客户端
interface Dialer1
link-protocol ppp
ppp chap user admin
ppp chap password cipher %$%$hC,-2I/<$MpVSkReGa@$,.LI%$%$
ip address ppp-negotiate
dialer user admin
dialer bundle 1
dialer-group 1

# 放通规则
dialer-rule
 dialer-rule 1 ip permit

# 绑定端口
interface GigabitEthernet0/0/0
 pppoe-client dial-bundle-number 1

大概就是先创建一个虚拟的拨号模板,定义了账号密码以及获取地址的方式,然后绑定到物理接口上。服务器端事先配置账号密码以及分配的地址池。

广域网区别局域网,由几部分组成:CE,局域网出口,PE,运营商连接CE端,P,运营商内部,我们只关注CE-PE端即可。一般使用PPP协议和PPPoE协议进行验证。实际中就是运营商分配一个账号密码,然后分配一个光猫,输入账号密码进行上网。

相关文章
|
5天前
|
缓存 网络协议 安全
【网络攻防战】DNS协议的致命弱点:如何利用它们发动悄无声息的网络攻击?
【8月更文挑战第26天】DNS(域名系统)是互联网的关键组件,用于将域名转换为IP地址。然而,DNS协议存在安全漏洞,包括缺乏身份验证机制、缓存中毒风险及放大攻击的可能性。通过具体案例,如DNS缓存中毒和DNS放大攻击,攻击者能够误导用户访问恶意站点或对目标服务器实施DDoS攻击。为了防范这些威胁,可以采用DNSSEC实现数字签名验证、利用加密的DNS服务(如DoH或DoT)、限制DNS服务器响应以及及时更新DNS软件等措施。理解并应对DNS的安全挑战对于确保网络环境的安全至关重要。
33 2
|
2月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
【7月更文挑战第31天】在网络数据的海洋中,使用Python的`requests`库构建网络爬虫就像探索未知的航船。HTTP协议指导爬虫与服务器交流,收集信息。HTTP请求包括请求行、头和体,响应则含状态行、头和体。`requests`简化了发送各种HTTP请求的过程。
53 4
|
11天前
|
网络协议 安全 算法
"网络世界的守护者:一探究竟TCP协议如何确保数据传输的绝对安全与可靠"
【8月更文挑战第20天】传输控制协议(TCP)是网络通信中的核心协议之一,它确保数据包能可靠、有序地从源头传输到目的地。TCP采用三次握手的方式建立连接,并通过序列号、确认应答及超时重传来保障数据传输的准确性。此外,TCP还具备流量控制与拥塞控制功能,避免网络拥塞。虽然TCP在可靠性上表现优异,但在快速传输场景中可能存在局限。深入理解TCP对于网络工程师和开发者至关重要。
29 1
|
12天前
|
存储 安全 网络安全
POP3 协议在计算机网络中的优缺点
【8月更文挑战第19天】
22 0
POP3 协议在计算机网络中的优缺点
|
16天前
|
网络协议 视频直播 SDN
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
34 1
|
17天前
|
网络协议 安全 网络安全
网络术语、接口和协议简介
网络术语、接口和协议简介
31 1
|
24天前
|
安全 Shell 网络安全
常见的网络安全协议有哪些?
【8月更文挑战第7天】
176 6
|
24天前
|
监控 安全 算法
网络通信与协议安全
【8月更文挑战第7天】
53 6
|
2月前
|
缓存 网络协议 算法
(二)Java网络编程之爆肝HTTP、HTTPS、TLS协议及对称与非对称加密原理!
作为一名程序员,尤其是Java程序员,那必须得了解并掌握HTTP/HTTPS相关知识。因为在如今计算机网络通信中,HTTP协议的作用功不可没,无论是日常上网追剧、冲���、亦或是接口开发、调用等,必然存在HTTP的“影子”在内。尤其对于WEB开发者而言,HTTP几乎是每天会打交道的东西。
52 10
下一篇
云函数