广域网链路层协议PPP/PPPoE/配置PPP/配置PAP认证/CHAP认证/配置PPPoE
remote----远端negotiate---协商PPP概述一种常见的广域网数据链路层协议主要用于在全双工链路上进行点到点的数据传输封装。PPP链路的建立有三个阶段的协商过程链路层协商认证协商可选网络层协商。LCPLink Control Protocol链路控制协议是 PPP 协议族的第一层控制子协议负责物理链路建立、参数协商、链路检测、链路拆除只有 LCP 协商完成PPP 才会继续进行认证PAP/CHAP与 NCP网络层协议协商。PPP的链路层协商链路层通过LCP报文进行 链路参数协商建立链路层连接。如下图R1和R2通过串线连接运行PPP当物理层链路变为可用状态后R1和R2使用LCP协商链路参数。1R1首先发送一个Configure-Request报文此报文中包含R1上配置的参数。2当R2收到此报文后如果R2也能识别并接收此报文中的所有参数则向R1回应一个Configure-ACK报文如果LCP参数不匹配则回复Configure-Nak响应告知对端修改参数然后重新协商。3同样的R2也需向R1发送Configure-Request报文使R1检测R2上的参数是不是可接收的。4R1在没有收到ACK报文的情况下会每隔3s重传Request报文如果连续10次发送该报文仍没有收到对应的ACK报文则认为对端不可用将停止发送Request报文。5当出现LCP参数不能识别时接收方回复Configure-Reject响应告知对端删除不能识别的参数然后重新协商。reject---拒绝正常协商过程参数不匹配时的协商过程参数不能识别时的协商过程认证协商在链路层协商成功后进行认证协商可选认证协商有两种模式PAP 、CHAPPAPPAP认证协商为两次握手认证协商密码以明文的形式在链路上发送。1被认证方将配置的用户名和密码信息用Authenticate-Request报文以明文方式发送给认证方2认证方接收到被认证方发送的用户名和密码信息后根据本地配置的数据库用户名和密码检查用户名和密码信息是否匹配。如果匹配则返回Authenticate-Ack报文表示认证成功否则返回Authenticate-Nak报文表示认证失败。CHAPCHAP认证双方有三次握手协商报文被加密后再链路上传输。1认证方主动发起认证请求认证方向被认证方发送Challenge报文报文内包含随机数Random和ID。challenge---盘查查问质疑2被认证方收到Challenge报文后进行一次加密运算公式 为MD5{ID随机数密码}表示将ID随机数密码三部分串成一个字符串再对此字符串做MD5运算得到一个16字节的摘要。然后将此摘要信息与端口上配置的CHAP用户名一起封装在Response报文中发回认证方。response---响应3认证方接收到被认证方发送的Response报文后根据其中的用户名查找本地的密码信息对密码进行一次相同的加密运算。然后将加密运算得到的摘要信息与response报文中封装的摘要信息进行比较相同则认证成功不同 则认证失败。网络层协商---NCPPPP认证协商完成后双方进入NCP协商阶段协商在数据链路层上所传输的数据包的格式与类型。作用协商三层网络协议相关参数让两端可以正常转发三层报文。以常见的IPCP协议为例分为静态IP地址协商和动态IP地址协商静态IP地址协商静态IP地址协商需手动在链路两端配置IP地址。1每一端都要发送Configure-Request报文在此报文中包含本地配置的ip地址2每一端接收到Configure-Request报文后检查其中的Ip地址如果IP地址是一个合法的单播IP地址而且和本地配置的IP地址不同不冲突则认为对端可用使用该地址回应一个Configure-Ack报文。动态IP地址协商动态IP地址协商支持PPP链路一端为另一端配置IP地址1R1向R2发送一个Configure-Request报文此报文中会包含一个IP地址0.0.0.0表示向对端申请IP地址。2R2接收到该Request报文后认为其中的地址0.0.0.0不合法则使用Configure--Nak回应一个新的IP地址10.1.1.13R1收到该Nak报文后更新本地IP地址并重新发送一个Configure-Request报文包含新的IP地址10.1.1.14R2收到该Request报文后认为其中包含的IP地址合法回应一个Configure-Ack报文5同时R2也要向R1发送Configure-Request报文请求使用地址10.1.1.2R1认为此地址合法回应Configure--Acknowledge报文PPPoE协议特性差异PPP 是点到点协议自带身份验证能力以太网属于广播型网络本身没有地址认证、身份核验的机制直接通信不安全没法做用户鉴权。PPPoE 的作用把 PPP 报文封装在以太网帧里面融合了两种技术的优点保留以太网低成本、易部署的组网特点同时借用 PPP 的身份验证功能。最终实现效果在现有的以太网宽带环境下完成客户端和运营商接入设备之间的点到点通信解决宽带接入的账号认证问题。PPPoE 报文PPPoE会话的建立通过不同的PPPoE 报文交互实现。结构如下其中code的代码不同代表的报文类型也不同报文名称Code 字段值使用阶段PADIPPPoE Active Discovery InitiationPPPoE激活发现起始报文0x09发现阶段 DiscoveryPADOPPPoE Active Discovery OfferPPPoE激活发现服务报文0x07发现阶段 DiscoveryPADRPPPoE Active Discovery RequestPPPoE激活发现请求报文0x19发现阶段 DiscoveryPADSPPPoE Active Discovery Session-confirmationPPPoE激活发现会话确认报文0x65发现阶段 DiscoveryPADTPPPoE Active Discovery TerminatePPPoE激活发现终止报文0xA7会话终止任意阶段会话数据帧PPP 数据报文0x00会话阶段 SessionPPPoE会话的建立PPPoE的会话建立有三个阶段PPPoE发现阶段、PPPoE会话阶段、PPPoE终结阶段。PPPoE发现阶段PPPoE协议发现阶段有四个步骤客户端发送请求、服务端响应请求、客户端确认响应、建立会话。1客户端发送请求。PPPoE客户端在本地以太网中广播一个PADI报文此报文中包含客户端需要的服务信息。所有的PPPoE服务器端接收到PADI报文后会将报文中请求的服务与自己能够提供的服务进行比较。2服务端响应请求。如果服务端可用提供客户端请求的服务就回复一个PADO报文。3客户端确认响应。客户端可能会收到多个PADO报文此时将选择最先收到的PADO报文对应的PPPoE服务器端并发送一个PADR报文给这个服务器。4建立会话。PPPoE服务器端收到PADR报文后会生成一个唯一的Session ID来标识和PPPoE客户端的会话并发送PADS报文。PPPoE会话阶段PPPoE会话阶段进行PPP协商分为LCP协商、认证协商、NCP协商。1LCP协商阶段主要完成建立、配置、检测数据链路连接2认证协商阶段LCP协商成功后开始进行认证。认证协议类型由LCP协商的结果决定。3NCP协商阶段认证成功后PPP进入NCP阶段NCP是一个协议簇用来配置不同的网络层协议。常见的是IP控制协议IPCP,负责配置用户的IP地址和DNS服务器地址等PPPoE Session协商成功后就能承载PPP数据报文。在这一阶段传输的数据报文中必须包含在发现阶段确定的Session ID并保持不变。PPPoE终结阶段当客户端希望关闭连接时会向PPPoE服务器端发送一个PADT报文用于关闭连接。当PPPoE服务器端想关闭连接时向客户端发送PADT报文。配置PPP获取IP地址配置R1接口IP地址并配置ppp协议配置对端客户端从本地地址池获取 IP 地址R2设置接口链路层协议获取ip地址方式获得IP为什么PPP链路上可以通过PPP协商获得IP地址ppp协商阶段分为LCP写和NCP协商。LCP协商阶段主要用于链路的建立NCP协商阶段R1R2会协商双方地址的合法性。此时因为R2没有配置IP地址因此发送NCP协商报文Configure-Request中携带的IP地址为0.0.0.0R1则认为这是一个非法的IP地址并回复Configure-Nak报文此报文中携带为R2分配的IP地址。R2获取新IP地址后在下次NCP协商阶段才能通过。PAP/CHAP认证--单向R1作为认证方R2作为被认证方R1 作为认证服务器当 R2 通过串口接入时强制 R2 发起 PAP 认证R1 会用 AAA 内创建的本地用户库校验账号密码。定义本端R2向对端设备发送的认证用户名是test当对端设备发起 PAP 认证请求时本端会使用test/123456这套凭据发送给认证方完成校验。pap认证时CHAP认证时PPPoE配置1.配置PPPoE 服务器端的地址池2.配置PPPoE客户端使用的用户名密码3.配置VT接口用于PPPoE认证并分配地址以太网接口不支持ppp因此需要配置虚拟接口VT端口4.在以太网接口绑定虚拟端口并启动PPPoE5.配置客户端的拨号功能命令功能详细解释interface Dialer 0进入编号为 0 的 Dialer 虚拟拨号接口视图PPPoE 客户端所有拨号逻辑均在此接口配置dialer user test-name开启 RS-DCC 拨号控制指定 PPPoE 拨号认证用户名test-name需与对端 BRAS 设备 AAA 内 PPP 用户匹配dialer bundle 1绑定 Bundle 组号 1后续物理以太网接口需配置相同 bundle 编号实现物理口与 Dialer 虚拟口流量关联承载 PPPoE 报文ppp chap user test配置 CHAP 认证对外发送的用户名test用于 PPP 协商时提交身份给运营商 BRAS 校验ppp chap password cipher 123456配置 CHAP 认证共享密码123456cipher代表密码加密存入配置文件不加 cipher 直接写密码会报命令不识别图中报错根源ip address ppp-negotiate开启 IP 地址自动协商拨号成功后从运营商 BRAS 自动获取公网 IP、子网掩码、网关Dialer拨号是华为 DCCDial-up Control Center拨号控制中心技术里的虚拟逻辑接口专门用来承载 PPPoE、ISDN、拨号链路等按需拨号业务。DCC全称Dial-up Control Center中文叫拨号控制中心是华为 VRP 系统里一套统一管理所有拨号业务的控制框架。 作用统一管理 PPPoE 等各类按需拨号链路提供拨号触发等功能。Bundle 捆绑组是用来建立「Dialer 虚拟拨号接口」和「物理以太网接口」关联的匹配编号相当于二者配对的唯一钥匙。RS-DCC共享 DCC全称 Resource-Shared DCC资源共享 DCC也是 PPPoE 实验最常用模式。核心特点1 个 Dialer 虚拟接口 对应 1 个拨号用户用dialer user 用户名指定逻辑分离Dialer 接口存放三层拨号 / PPP 认证配置物理以太网口只做二层转发通过dialer bundle X把 Dialer 虚拟口和物理口绑定相同 Bundle 号才能配对适合单线路家庭宽带、企业单条 PPPoE 上网。dialer user 用户名CS-DCC循环 DCC全称 Circular DCC循环 DCC多用于多链路冗余备份。核心特点一个 Dialer 接口可以绑定多个物理接口多条线路互为备份一条断了自动切换另一条拨号不需要配置dialer user靠dialer number拨号号区分链路场景企业双宽带、4G 无线备份专线基础 PPPoE 实验几乎不用。6.建立PPPoE会话成功获取到IP地址配置easy-ip让私网能访问到公网

相关新闻

Next.js全栈开发:核心优势与实战指南

Next.js全栈开发:核心优势与实战指南

1. 为什么Next.js成为全栈开发的首选框架?Next.js作为基于React的框架,近年来在全栈开发领域迅速崛起。我在实际项目中多次采用Next.js构建企业级应用,发现它完美解决了传统全栈开发中的诸多痛点。最核心的优势在于它统一了前后端开发体验 - …

2026/7/18 3:28:09 阅读更多 →
Flutter SpeedDial组件:增强版悬浮按钮开发指南

Flutter SpeedDial组件:增强版悬浮按钮开发指南

1. Flutter 增强版悬浮按钮深度解析在移动应用开发中,悬浮按钮(FloatingActionButton)是最常用的交互元素之一。Flutter自带的FloatingActionButton组件虽然简单易用,但在实际项目中经常遇到功能扩展的需求。今天我要分享的是一个功能更强大的替代方案 -…

2026/7/18 3:28:09 阅读更多 →
一页AI优化的高级感PPT架构图

一页AI优化的高级感PPT架构图

HI,你好,我是迟迟~ 今天的主题是尝试用AI优化PPT的架构图。 效果上,有一些瑕疵,但是,我个人感觉整体还可以,尤其是变成视频以后,是可以拿来用的程度。 来看一下效果吧~ 静态效果 动态效果 一…

2026/7/18 3:28:09 阅读更多 →

最新新闻

FastApi-Admin:快速搭建企业级中后台系统

FastApi-Admin:快速搭建企业级中后台系统

1. FastApi-Admin开源模板:五分钟搭建企业级中后台系统 第一次接触FastApi-Admin是在去年接手一个紧急的CRM系统开发项目时。当时客户要求在两周内交付一个包含权限管理、数据可视化和多租户支持的中后台系统。正当我纠结是采用Django Admin二次开发还是从头搭建时&…

2026/7/18 8:20:09 阅读更多 →
VMware安装CentOS 7超详细图文教程:从零搭建Linux开发环境

VMware安装CentOS 7超详细图文教程:从零搭建Linux开发环境

1. 项目概述与核心价值最近在帮几个刚入行的朋友搭建开发环境,发现他们卡在了第一步——安装Linux虚拟机。要么是镜像下载慢,要么是安装过程中某个选项没搞懂,导致系统装完连网都上不了,更别提后续的开发了。这让我想起自己刚接触…

2026/7/18 8:20:09 阅读更多 →
Windows性能优化终极指南:AtlasOS开源工具完整教程

Windows性能优化终极指南:AtlasOS开源工具完整教程

Windows性能优化终极指南:AtlasOS开源工具完整教程 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and usability. 项目地址: https://gitcode.com/GitHub_Trending/atlas1/…

2026/7/18 8:20:09 阅读更多 →
Poppler Windows版终极指南:免费开源的PDF自动化处理解决方案

Poppler Windows版终极指南:免费开源的PDF自动化处理解决方案

Poppler Windows版终极指南:免费开源的PDF自动化处理解决方案 【免费下载链接】poppler-windows Download Poppler binaries packaged for Windows with dependencies 项目地址: https://gitcode.com/gh_mirrors/po/poppler-windows 在Windows平台上处理PDF文…

2026/7/18 8:20:09 阅读更多 →
NCMDump终极指南:3步免费解锁网易云音乐NCM加密格式

NCMDump终极指南:3步免费解锁网易云音乐NCM加密格式

NCMDump终极指南:3步免费解锁网易云音乐NCM加密格式 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的VIP歌曲只能在特定客户端播放而烦恼吗?NCMDump正是为你量身打造的专业解密工具&…

2026/7/18 8:20:09 阅读更多 →
从零构建AI工作流:如何用Dify在10分钟内创建智能翻译助手

从零构建AI工作流:如何用Dify在10分钟内创建智能翻译助手

从零构建AI工作流:如何用Dify在10分钟内创建智能翻译助手 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Di…

2026/7/18 8:19:09 阅读更多 →

日新闻

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

更多请点击: https://kaifayun.com 第一章:从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档(PRD)生成实践中,原始业务意图往往以自然语言片…

2026/7/18 0:00:38 阅读更多 →
Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

更多请点击: https://codechina.net 第一章:Cursor配置生成失效?3大隐藏陷阱4行修复代码,资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效,是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…

2026/7/18 0:00:38 阅读更多 →
某智驾大牛创业

某智驾大牛创业

作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…

2026/7/18 0:00:38 阅读更多 →

周新闻

月新闻