WAN广域网技术--PPP和PPPoE

news2024/11/13 19:27:45

广域网基础概述

        广域网(Wide Area Network,WAN)是一种覆盖广泛地区的计算机网络,它连接不同地理位置的计算机、服务器和设备。广域网通常用于连接不同城市、州或国家之间的网络,它通过互联网服务提供商(ISP)提供的线路来实现连接。

设备基本角色

  • CE (Customer Edge)客户端的设备,它连接到一个或多个服务提供商边缘(PE)设备,以便用户可以访问服务。CE 设备通常是路由器、防火墙或者路由安全一体机等,它们位于企业的分支机构或总部,负责与服务提供商的网络建立连接。

  • PE (Provider Edge)服务提供商边缘设备,它同时连接CE和P设备。PE 设备在服务提供商的网络中扮演着网关的角色,负责处理来自CE的流量,并将其转发到服务提供商的核心网络或互联网。

  • P (Provider)服务提供商设备,不直连CE。P 设备通常位于服务提供商的网络核心,负责在服务提供商的不同网络节点之间转发流量。

PPP(Point-to-Point Protocol)协议

概述

        PPP协议是一种点到点链路层协议,用于在两个节点之间建立点对点的数据通信连接。它是TCP/IP协议族中的一员,可以在串行通信线路上传输IP数据包,并支持多种网络层协议,如IP、IPX、AppleTalk等。

PPP帧格式

        PPP帧包含一个帧校验序列(FCS),用于检测在传输过程中是否发生了错误。如果在接收端检测到FCS不匹配,那么该帧将被丢弃,因为这表示数据在传输过程中被损坏了。

LCP协议(0xC021):完成数据链路的建立、配置、维护和终止

PAP协议(0xC023)和CHAP协议(0xC223):完成用户的身份认证

IPCP协议(0x8021):协商网络层配置,为用户分配IP地址

IP协议(0x0021):发送和接收用户的数据。
FCS:帧校验字段,PPP采用CRC校验。当CRC校验错误时,PPP就丢弃数据帧

PPP协议的工作过程

  1. 建立物理连接:用户通过调制解调器呼叫ISP(例如电信)的路由器,路由器的调制解调器给予应答,双方建立物理连接
  2. 建立数据链路:进入数据链路创建阶段,此时用到的协议是LCP。用户首先向ISP发出PPP帧,帧中封装LCP配置请求包(Configurer-quest),协商数据链路选项(最大的传输单元、所采用的认证协议等)。ISP端如果接受选项,就给用户发送LCP配置确认包(Configure-ack)。数据链路创建完毕
  3. 用户认证阶段:进人用户认证阶段,用户向ISP发出PAP协议的Authenticate-request,请求认证;如果认证通过,,ISP回应Authenticate-ack。认证的方式是在建立数据链路阶段协商确定的
  4. 进入网络层配置阶段:此时用到的协议是IPCP。用户向ISP发出IPCP 协议的Configure- request,协商网络层参数;ISP如果接受选项,回应Configure-ack。用户分配到了IP地址,网络层配置完毕,用户接入因特网
  5. 数据传输阶段:此时用到的协议是IP。用户将自己的数据封装在IP报文中,通过PPP链路发送出去,同时通过PPP链路接收因特网中的数据
  6. 数据传输完毕,用户断开网络连接:用户端向ISP发送IPCP的Terminate-request,请求断开网络层连接;ISP端回应Terminate-ack,同意断开并收回IP地址
  7. 断开数据链路:用户端向ISP发送LCP的Terminate request,请求断开数据链路;ISP端回应Terminate-ack ,链路断开

数据链路层协商(LCP)

        物理链路建立后,通信双方需要建立数据链路,通信完毕后还需要拆除数据链路。数据链路的建立、配置、维护和终止都是由链路控制协议LCP来完成。LCP包封装在PPP帧的数据字段中

编码字段占1字节,用来说明LCP包的类型

标识字段相当于LCP包的编号,用来匹配请求和应答的LCP包

长度字段给出LCP包的长度

LCP数据部分通常包含LCP协议的一些选项,如最大的接收单元、所采用的认证协议等。

编码LCP包类型含义
0x0001Configurate-request提出链路配置的选项和特定的值
0x0002Configurate-acl接受对方提出的选项
0x0003Configurate-nak不接受某些选项
0x0004Configurate-reject不识别某些选项
0x0005Terminate-request请求关闭连接
0x0006Terminate-ack接受关闭连接

        在发送数据前,通信双方要建立链路,建立链路时无论哪一方都需要发送Config-request报文并携带每一端自已所希望协商的配置参数选项。

当收到Configure-quest报文后,分为以下三种情况:

        (1)如果能够识别Configure-request报文的所有配置参数选项且认可所有配置参数选项数据域的内容,将给对方回应Configure-ack报文,并将配置Configure-request报文中的配置参数复制到Configure-ack报文的数据域内。当对方收到Configure-ack后,则会从当前阶段进入到下一个阶段

        (2)如果能够识别发送端所发送过来的所有配置参数选项,但对部分配置参数选项数据域中的内容不认可时,回应一个Configure-nak报文,该报文中携带不认可的配置参数选项,这些配置参数选项的数据内容为本端希望的值。当对端收到Configure-nak报文后,会重新发送Configure-request报文,而这个Configure-request报文与上一次所发送的Configure-request报文的区别在于,那些被对端不认可的配置参数选项的内容被填写到刚刚协商完后再次发送的Configure-request报文中(即Configure-nak报文发送回来的那些配置参数选项)

        (3)如果不能识别发送过来的配置参数选项时,那么就向对方回应一个Configure-reject报文,该报文中的数据域只携带那些不能识别的配置参数选项。当对端接收到Configure-reject报文后,会再次发送一个Configure-request报文,这个配置请求报文与上一次发送的区别在于删除了可识别的那些配置参数选项

通信结束

        通信结束,需要拆除链路,这时使用的是Terminate-request和 Terminate-ack报文。想要关断链路的一端会持续发送Terminate-request报文,直到收到一个 Terminmte-reply为止,接收端一旦收到了一个Terminate-request报文后,必须回应一个Terminate-reply报文,同时等待对端先将链路断开后,再完成本的所有断开的操作

认证协商

        通过LCP协议建立连接后,通常需要做用户的身份认证,只有合法的用户才能接入系统。身份认证采用的协议由LCP协议协商决定。常用的身份认证协议由口令认证协议(Password Authentication Protocol,PAP)和挑战握手协议(Challenge Handshake Authentication Protocol,CHAP)

PAP协议(Password Authentication Protocol)

        PAP协议非常简单,用户向系统发送用户名和口令,系统验证用户名和口令,如果正确就接受连接,否则就拒绝连接。PAP直接发送用户名和口令,所以存在较大的安全隐患

        PAP包封装在PPP帧中,当封装的是PAP包时,PPP帧的字段是0xC023,格式如下

PAP包编码类型
编码PAP包类型含义
0x0001Authenticate-request请求认证,发送用户名和口令
0x0002Authenticate-ack认证通过,允许访问
0x0003Authenticate-nak认证失败,禁止访问

PAP的工作过程

        (1)用户首先向系统发送PAP包,编码字段置为1,代表Authenticate-request报文,数据部分存放用户名和口令

        (2)系统对收到的用户名和口令进行验证,并向用户放回PAP包,如果用户名和口令正确,则返回Authenticate-ack报文,通过认证;否则返回Authenticate-nak报文,拒绝用户接入

CHAP协议(Challenge Handshake Authentication Protocol)

        CHAP协议对PAP协议进行了改进,不直接发送用户的密码。CHAP包封装在PPP帧中,当封装的是CHAP包时,PPP帧的协议字段值为0xC223。CHAP的包格式如下

CHAP包编码类型
编码CHAP包类型含义
0x0001Challenge系统向用户发送查问值
0x0002Response用户向系统返回计算结果和用户名
0x0003Success认证通过,允许访问
0x0004Failure认证失败,禁止访问

CHAP的工作过程

        (1)系统首先向用户发送一个Challenge包,数据部分包含一个随机数,这个随机数为查问值

        (2)用户收到后,使用事先定义好的函数作用于查问值和自己的口令,生成一个值,将这个值和用户名放到Response包发给系统

        (3)系统收到用户的Response包后,根据其中的用户名查到对应的口令,用同一个函数可查到的口令和查问值进行运算,如果计算结果与用户Response包中的值相同,说明是合法用户,并且口令正确,那么系统就给用户发送Success包,通过认证;否则发送Failure包,认证失败

网路层协商

        用户认证通过后,PPP协议会使用网络控制协议NCP(Network Control Protocol)来建立两端网络层的连接,协商网络层的选项和传递网络层数据。NCP不是一个协议,是一组协议,包括IPCP、IP、IPX等

        互联网协议控制协议IPCP(Internet Protocol Control Protocol)主要用来写上网络层选项,设置用户的IP地址。IPCP的格式如下

IPCP编码类型
编码IPCP包类型
0x0001Configure-request
0x0002Configure-ack
0x0003Configure-nak
0x0004Configure-reject
0x0005Terminate-request
0x0006Terminate-ack
0x0007Code-Reject

配置命令

1、配置接口封装PPP协议

# 在接口视图下,将接口封装协议改为ppp
[Huawei-Serial2/0/0]link-protocol ppp

2、配置协商超时时间间隔

# LCP协商过程中,超过时间间隔,会重新发送
[Huawei-Serial2/0/0]ppp timer negotiate seconds

3、配置PAP认证

在服务器端,需要配置用户名和密码,并在接口上启用PAP认证

# 进入AAA认证视图,配置用户认证信息  
[Huawei]aaa  
  
# 在AAA视图下,添加一个本地用户。'cipher'关键字表示密码将以加密形式存储
[Huawei-aaa]local-user username password cipher password  
  
# 配置该用户的服务类型为PPP,这意味着这个用户将被用于PPP连接的认证  
[Huawei-aaa]local-user username service-type ppp  
[Huawei-aaa]quit 
  
# 进入Serial2/0/0接口的视图,准备配置该接口的PPP认证模式  
[Huawei]interface Serial 2/0/0  

# 配置Serial2/0/0接口的PPP认证模式为PAP  
[Huawei-Serial2/0/0]ppp authentication-mode pap  

在客户端,也需要配置相应的用户名和密码,以便在认证过程中发送给主认证端

4、配置CHAP认证

CHAP认证的配置过程与PAP类似,但更为安全,因为它使用加密的密码进行认证

# 进入AAA认证视图,配置用户认证信息  
[Huawei]aaa  
  
# 在AAA视图下,添加一个本地用户。'cipher'关键字表示密码将以加密形式存储,   
[Huawei-aaa]local-user username password cipher password  
  
# 配置该用户的服务类型为PPP,这意味着这个用户将被用于PPP连接的认证  
[Huawei-aaa]local-user username service-type ppp   
[Huawei-aaa]quit  
  
# 进入Serial2/0/0接口的视图,准备配置该接口的PPP认证模式  
[Huawei]interface Serial 2/0/0  
  
# 配置Serial2/0/0接口的PPP认证模式为CHAP  
[Huawei-Serial2/0/0]ppp authentication-mode chap  

5、配置MRU(Maximum Receive Unit,最大接收单元)

# 设置MRU为1500字节  
[Huawei-Serial2/0/0]ppp mru 1500  

实例

PAP认证

在路由器上面本身是没有我们要配置的Serial接口,需要我们接入这个S口,右键路由器,进入设置,然后如下图

选择Serial线,连接两个路由器

AR1配置命令

[AR1]aaa	#添加待认证用户信息
[AR1-aaa]local-user ren password cipher ren123456
Info: Add a new user.
[AR1-aaa]local-user ren service-type ppp
[AR1-aaa]q

#指定认证用户业务类型
[AR1]int Serial 4/0/0
[AR1-Serial4/0/0]link-protocol ppp	

认证模式为:PAP
[AR1-Serial4/0/0]ppp authentication-mode pap
[AR1-Serial4/0/0]ip address 10.1.1.1 30
[AR1-Serial4/0/0]q

AR2配置

[AR2]int Serial 4/0/0
[AR2-Serial4/0/0]link-protocol ppp

#添加PPP认证用户信息	
[AR2-Serial4/0/0]ppp pap local-user ren password cipher ren123456
[AR2-Serial4/0/0]ip address 10.1.1.2 30
[AR2-Serial4/0/0]q

查看状态,尝试ping通

CHAP认证

AR1配置

[AR1]aaa	#添加待认证用户信息
[AR1-aaa]local-user ren password cipher ren123456
Info: Add a new user.
[AR1-aaa]local-user ren service-type ppp
[AR1-aaa]q

#指定认证用户业务类型
[AR1]int Serial 4/0/0
[AR1-Serial4/0/0]link-protocol ppp	

认证模式为:CHAP
[AR1-Serial4/0/0]ppp authentication-mode chap
[AR1-Serial4/0/0]ip address 10.1.1.1 30
[AR1-Serial4/0/0]q

AR2配置

[AR2]int Serial 4/0/0
[AR2-Serial4/0/0]link-protocol ppp

#添加PPP认证用户信息	
[AR2-Serial4/0/0]ppp chap local-user ren
[AR2-Serial4/0/0]ppp chap password cipher ren123456
[AR2-Serial4/0/0]ip address 10.1.1.2 30
[AR2-Serial4/0/0]q

PPPoE协议

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

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

PPPoE会话的建立通过不同的PPPoE报文交互实现。

PPPoE会话建立

PPPoE会话建立有三个阶段:发现阶段、会话阶段、终结阶段

(1)PPPoE发现阶段

        PPPoE协商----用户接入,创建PPPoE虚拟链路。有四个步骤:客户端发送请求、服务端响应请求、客户端确认响应、建立会话

(2)PPPoE会话阶段

        PPP协商----PPP协商内容包括LCP协商、PAP/CHAP认证、NCP协商等阶段

(3)PPPoE终结阶段

        PPPoE断开----用户下线,客户端断开连接或者服务器断开连接

配置实例--PPPoE服务器端

需求:

  1. 在PPPoE服务器端上创建客户端分配IP的地址
  2. PPPoE服务器端完成PPPoE客户端认证并分配合法的IP地址

AR8配置
# 创建地址池和虚拟模板
[AR8]ip pool server
Info: It's successful to create an IP address pool.
[AR8-ip-pool-ren]network 192.168.10.0 mask 255.255.255.0
[AR8-ip-pool-ren]gateway-list 192.168.10.254
[AR8-ip-pool-ren]q
[AR8]interface Virtual-Template 1
[AR8-Virtual-Template1]ppp authentication-mode chap
[AR8-Virtual-Template1]ip address 192.168.10.254 255.255.255.0
[AR8-Virtual-Template1]remote address pool server
[AR8-Virtual-Template1]q

# 将物理接口和虚拟模板绑定
[AR8]interface GigabitEthernet 0/0/0
[AR8-GigabitEthernet0/0/0]pppoe-server bind virtual-template 1
[AR8-GigabitEthernet0/0/0]quit

# 创建访问用户
[AR8]aaa
[AR8-aaa]local-user renuser password cipher ren123456
Info: Add a new user.
[AR8-aaa]local-user renuser service-type ppp
[AR8-aaa]q
AR7配置
[AR7]ip pool client
Info: It's successful to create an IP address pool.
[AR7-ip-pool-client]network 192.168.10.0 mask 255.255.255.0
[AR7-ip-pool-client]gateway-list 192.168.10.254
[AR7-ip-pool-client]q
[AR7]interface Virtual-Template 1
[AR7-Virtual-Template1]ppp chap user renuser
[AR7-Virtual-Template1]ppp chap password cipher ren123456
[AR7-Virtual-Template1]q
[AR7]interface GigabitEthernet 0/0/0
[AR7-GigabitEthernet0/0/0]pppoe-client dial-pool-number 1
[AR7-GigabitEthernet0/0/0]quit

配置完后,查看PPPoE-Client会话初始状态信息
[AR7]display pppoe-client session summary

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2153838.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

九芯电子革新健康检测!语音播报血压计ic芯片解决方案

血压计,可测量血压并将读数显示在屏幕上。为了提高老年人和视障人士的可用性,现代电子语音血压计已经开发出来,可提供当前血压读数的听觉反馈。这是通过集成语音芯片来实现的,该芯片将测量结果发声给用户。 (一&#x…

Java免税购物商城:Spring Boot技术实现

第二章 系统开发关键技术 2.1 JAVA技术 Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterrise JavaBeans)的全面支持,java servlet AI,JS(java server ages&#xff09…

《使用 LangChain 进行大模型应用开发》学习笔记(四)

前言 本文是 Harrison Chase (LangChain 创建者)和吴恩达(Andrew Ng)的视频课程《LangChain for LLM Application Development》(使用 LangChain 进行大模型应用开发)的学习笔记。由于原课程为全英文视频课…

银河麒麟桌面操作系统V10(SP1)离线升级SSH(OpenSSH)服务

目录 前言 准备工作 准备与目标服务器相同版本的操作系统 准备编译依赖包 下载OpenSSL源码包 下载OpenSSH源码包 升级OpenSSH服务 查看当前版本信息 安装编译依赖包 安装OpenSSL 安装OpenSSH 前言 OpenSSH是一个广泛使用的开源SSH(安全壳)协议的实现,它提供了安…

01-ZYNQ linux开发环境安装,基于Petalinux2023.2和Vitis2023.2

TFTP 服务器配置 安装安装 tftp-hpa 和 tftpd-hpa ;tftp-hpa 客户端,tftpd-hpa 为服务端 #安装 tftp-hpa 和 tftpd-hpa sudo apt-get install tftp-hpa tftpd-hpa配置服务器 #创建路径 mkdir -p ~/workspace/tftp-boot chmod 777 ~/workspace/tftp-b…

开放式耳机什么品牌好?2024年开放式蓝牙耳机排行榜推荐

​开放式耳机绝对是个不错的选择,它们长时间佩戴耳朵也不会感到疲劳,对耳朵的健康也很友好。虽然过去存在一些漏音的问题,但与它们带来的便利相比,这点儿小瑕疵几乎可以忽略不计。漏音可能会对他人造成干扰,也可能影响…

vue3(整合版)

创建第一个vue项目 1.安装node.js cmd输入node查看是否安装成功 2.vscode开启一个终端,配置淘宝镜像 # 修改为淘宝镜像源 npm config set registry https://registry.npmmirror.com 输入如下命令创建第一个Vue项目 3.下载依赖,启动项目 访问5173端口 …

年度巨献 | OpenCSG开源最大中文合成数据集Chinese Cosmopedia

01 背景 近年来,生成式语言模型(GLM)的飞速发展正在重塑人工智能领域,尤其是在自然语言处理、内容创作和智能客服等领域展现出巨大潜力。然而,大多数领先的语言模型主要依赖于英文数据集进行训练,中文数据…

python:给1个整数,你怎么判断是否等于2的幂次方?

最近在csdn上刷到一个比较简单的题目,题目要求不使用循环和递归来实现检查1个整数是否等于2的幂次方,题目如下: 题目的答案如下: def isPowerofTwo(n):z bin(n)[2:]print(bin(n))if z[0] ! 1:return Falsefor i in z[1:]:if i !…

NXP官方或正点原子mfgtool下载系统报错initialize the library falied error code:29

这是因为mfgtool版本或者源文件被破坏了,你可以重新下载一个被改过的mfgtool程序,我就是去原子官网重新在linux包里找了新的更迭过的mfgtool

VMware虚拟机因磁盘空间不足黑屏无法登录

在虚拟机里存储了一些文件之后,再打开发现进不去了,只有光标一直在左上角,登录的框都是黑的,具体如下: 明明知道登录框的存在却怎么也触碰不到它T_T ,先说解决方法: 产生这个问题的原因是因为磁…

yolov5/8/9模型在COCO分割数据集上的应用【代码+数据集+python环境+GUI系统】

yolov5/8/9模型在COCO分割数据集上的应用【代码数据集python环境GUI系统】 yolov5/8/9模型在COCO分割数据集上的应用【代码数据集python环境GUI系统】 1.COCO数据集介绍 COCO数据集,全称为Microsoft Common Objects in Context,是微软于2014年出资标注的…

多态与绑定例题

答案: B D C 知识点: 多态是相同方法不同的表现,分为重写和重载 重写体现在父类与子类不同表现,主要表现为子类重现父类的方法 重载体现在同一个类中的不同表现 绑定分为动态绑定和静态绑定 动态绑定是在运行时 静态绑定是…

动态规划算法:09.路径问题_最小路径和_C++

目录 题目链接:LCR 099. 最小路径和 - 力扣(LeetCode) 一、题目解析 题目: 解析: 二、算法原理 1、状态表示 2、状态转移方程 3、初始化 dp表初始化: 特殊位置初始化: 4、填表顺序 5、返回值 …

【HTTP】认识 URL 和 URL encode

文章目录 认识 URLURL 基本格式**带层次的文件路径****查询字符串****片段标识符** URL encode 认识 URL 计算机中非常重要的概念,并不仅仅是在 HTTP 中使用。用来描述一个网络资源所处的位置,全称“唯一资源定位符” URI 是“唯一资源标识符“严格的说…

超越极限!Qwen2.5 助力多领域智能应用

前沿科技速递🚀 近日,Qwen2.5 系列重磅发布,成为开源语言模型领域的又一里程碑。作为一款全新的通用语言模型,Qwen2.5 在支持自然语言处理的基础上,还在编程、数学等领域进行了专项优化。Qwen2.5 模型支持长文本生成&a…

黑群晖安装教程

黑群晖(一种非官方的群晖NAS系统安装方式)的安装教程相对复杂,但按照以下步骤操作,可以顺利完成安装。请注意,由于黑群晖涉及非官方操作,安装过程中可能遇到各种不确定因素,建议具备一定的计算机…

十四、运算放大电路

运算放大电路 1、理想运算放大器的概念。运放的输入端虚拟短路、虚拟断路之间的区别; 2、反相输入方式的运放电路的主要用途,以及输入电压与输出电压信号的相位 3、同相输入方式下的增益表达式(输入阻抗、输出阻抗)

英语<数词>

1.基数 one two three 整数 1 2 3 小数 1.1 2.2 3.2 分数 分子用基数,分母用序数 例子 1/3 one third 分子>1 2/3 two thirds 百分数 2.序数 first second

【软考】传输层协议TCP与UDP

目录 1. TCP1.1 说明1.2 三次握手 2. UDP3. 例题3.1 例题1 1. TCP 1.1 说明 1.TCP(Transmission Control Protocol,传输控制协议)是整个 TCP/IP 协议族中最重要的协议之一。2.它在IP提供的不可靠数据服务的基础上为应用程序提供了一个可靠的、面向连接的、全双工的…