PPP 、PPPoE 浅析和配置示例
一、名词:
PPP: Point to Point Protocol 点到点协议
LCP:Link Control Protocol 链路控制协议
NCP:Network Control Protocol 网络控制协议,对于上层协议的支持,N 可以为IPv4、IPv6、MPLS 等
MRU:Maximum Receive Unit 最大接收单元
MTU:Maximum Transfer Unit 最大传输单元
PAP:Password Authentication Protocol 口令认证协议
CHAP:Chanllenge-Handshack Authentication Protocol 挑战握手协议
DSL:Digital Subscriber Line 数字用户线路
PPPoE:Point-to-Point Protocol over Ethernet 以太网承载 PPP 协议
BRAS:Broadband Remote Access Server 宽带接入服务器
PADI:PPP Active Discovery Initiation,Client 发现 BRAS
PADO:Offer,BRAS回应
PADR:Request,Client 请求加入 BRAS
PADS:Session-Conform,BRAS会话确认
二、PPP:
分为两个子层:LCP 和 NCP
LCP:Link Control Protocol 链路控制协议,
1、LCP 二层链路协商,建立、维护、拆除
1)建立:
config-request----->
<------config-ack
<------config-nak
<------config-reject
维护:keepalive,保活
echo-request------>
<-----echo-reply
拆除:
termination-request------>
<------terminattion-ack
PPP链接建立过程:
LCP configuration-request:
Option:
MRU:Maximum Receive Unit 最大接收单元
MTU:最大传输单元 = 1500(默认),在 DC/IDC中,一般MTU默认o 9000,可直接在接口下配置,如
int s0/0/0
mtu 2000 双边如果配置不同, 按最小值来
假如DF置位 dont fragment, 则使用 PMD: path mtu discovery mtu路径发现来解决
2)认证: PAP/CHAP
认证方:
int s0/0/0
ppp authentication-mode chap #必须, 认证方标志
ppp chap user AR2 #只有被认证方没有接口密码的时候, 才有意义
ppp chap pass simple 1234 #被认证方不看, 只有当双向认证才使用
被认证方:
aaa
local-user AR2 password cipher 123 #当被认证方无密码时, 有意义
int s0/0/0
ppp chap user xx #必须配置
ppp chap password #建议配置, 优先看接口密码, 接口没有就在aaa找对应用户名的密码
3)捆绑:multilink-group,意义:冗余、负载、增加带宽

[R2]:
interface Mp-group0/0/0remote address 1.1.1.1 ip address 2.2.2.2 255.255.255.0
#
interface Serial2/0/0link-protocol pppppp mp Mp-group 0/0/0
#
interface Serial2/0/1link-protocol pppppp mp Mp-group 0/0/0
#[R1]:
interface Mp-group0/0/1ip address ppp-negotiate
#
interface Serial2/0/0link-protocol pppppp mp Mp-group 0/0/1
#
interface Serial2/0/1link-protocol pppppp mp Mp-group 0/0/1
#
if 要做 pap/chap 认证的话,需要在两个串口分别做
4)压缩:compress,QoS
5)防环:magic-number,魔术字
每个设备会随机形成魔术字, if 收到自己的魔术字, 则回复config-nak, 然后自己再生成 , 如果再收到相同的.....则判断环路
2、NCP:PPPoE 的 NCP
IPCP:
1、互推地址,实现不同网段的互访
Configuration-Request
option: IP Address: 1.1.1.1
Configuration-ACK
option: IP Address 1.1.1.1
AR3产生一条直连路由
Configuration-Request
option: IP Address 1.1.1.2
Configuration-ACK
option: IP Address 2.2.2.2
AR2产生一条直连路由
问题:正常来说,相同公司的不同站点:IP应该在同一网段,什么场景,两端地址不在同一网段?
答:互联网访问,上网业务
BRAS:Broad Bandwidth Access Server: ME60
Client-----Server 一定不在同一网段
2、动态获取地址
PPPoE: 互联网接入技术
通信技术:DSL:Digital Subscriber Line
数通技术:PPPoE, PON(ePon, GPon)
服务端:
int virtual-template 0
ip addr 1.2.3.4
ppp authentication-mode pap
remote address 4.3.2.1
dis interface virtual-template 0
int G1/0/1 #绑定一下
pppoe-server bind virtual-template 0
客户端:
int dialer 0
ip address ppp-negotiate
ppp pap local-user hw password simple 123
dialer user hw
dialer bundle 1
int G0/0/0
pppoe-client dial-bundle-number 1
三、PPPoE ping 通过程
1、查路由表:
0.0.0.0/0----dailer 1(PPP)
2、封装,DMAC未知,需要构建
Bundle id Session id Interface SMAC DMAC
1 ? G0/0/0 自己的 ?
PPPoE Discovery:
1)、Client 发现 BRAS
PPPoE Discovery #广播,包含PADI: PPP Active Discovery Initiation
源MAC AR1 DMAC 全F
2)、BRAS 回应
PPPoE Offer #单播,PADO,包含BRAS MAC, 如果有多个BRAS,Client会优选第一个Offer
3)、Client 请求
PADR: PPP Address Request, 请求加入bras, 拒绝掉其他的 BRAS
4)、BRAS 确认
PADS: session-confirm,会话确认
完成后,获取 Session id 和 DMAC,进行封装后发出
3、PPP 认证
4、PPP 建链
四、PPP 配置举例

1、PPP PAP配置举例:
PPP 认证分为认证方和被认证方,这里 R2 为 Sever端 和认证方,R1 为被认证方:
[R2]:
aaa local-user hw password cipher %$%$+>0h@g2c(E_#xYHN=U074Ph&%$%$local-user hw privilege level 2local-user hw service-type ppp
#
interface Serial2/0/0link-protocol pppppp authentication-mode pap remote address 1.2.3.5 ip address 1.2.3.4 255.255.255.0
#
[R1]:
interface Serial2/0/0link-protocol pppppp pap local-user hw password simple 123ip address ppp-negotiate
#
2、PPP CHAP 配置举例:
[R2]:
aaa local-user ar1 password cipher %$%$%%qD<7,-.#>~<+5b2:;,4^3V%$%$local-user ar1 privilege level 2local-user ar1 service-type ppp
#
interface Serial2/0/0link-protocol pppppp authentication-mode chap remote address 1.2.3.5 ppp chap user ar1ip address 1.2.3.4 255.255.255.0
#
[R1]:
interface Serial2/0/0link-protocol pppppp chap user ar1ppp chap password simple 123ip address ppp-negotiate
#
五、PPPoE 配置举例
[R2]:
aaa local-user hw password cipher %$%$+>0h@g2c(E_#xYHN=U074Ph&%$%$local-user hw privilege level 2local-user hw service-type ppp
#
interface Virtual-Template0ppp authentication-mode pap remote address 1.1.1.1 ip address 2.2.2.2 255.255.255.0
#
interface GigabitEthernet0/0/0pppoe-server bind Virtual-Template 0
#
[R1]:
interface Dialer0link-protocol pppppp pap local-user hw password simple 123ip address ppp-negotiatedialer user hwdialer bundle 1
#
interface Serial2/0/1link-protocol ppp
#
interface GigabitEthernet0/0/0pppoe-client dial-bundle-number 1
#
相关文章:
PPP 、PPPoE 浅析和配置示例
一、名词: PPP: Point to Point Protocol 点到点协议 LCP:Link Control Protocol 链路控制协议 NCP:Network Control Protocol 网络控制协议,对于上层协议的支持,N 可以为IPv4、IPv6…...
【Python机器学习】词向量推理——词向量
目录 面向向量的推理 使用词向量的更多原因 如何计算Word2vec表示 skip-gram方法 什么是softmax 神经网络如何学习向量表示 用线性代数检索词向量 连续词袋方法 skip-gram和CBOW:什么时候用哪种方法 word2vec计算技巧 高频2-gram 高频词条降采样 负采样…...
Python 语法糖:让编程更简单(续二)
Python 语法糖:让编程更简单(续) 10. Type hints Type hints 是 Python 中的一种语法糖,用于指定函数或变量的类型。例如: def greet(name: str) -> None:print(f"Hello, {name}!")这段代码将定义一个…...
6 - Shell编程之sed与awk编辑器
目录 一、sed 1.概述 2.sed命令格式 3.常用操作的语法演示 3.1 输出符合条件的文本 3.2 删除符合条件的文本 3.3 替换符合条件的文本 3.4 插入新行 二、awk 1.概述 2. awk命令格式 3.awk工作过程 4.awk内置变量 5.awk用法示例 5.1 按行输出文本 5.2 按字段输出文…...
什么是XML文件,以及如何打开和转换为其他文件格式
本文描述了什么是XML文件以及它们在哪里使用,哪些程序可以打开XML文件,以及如何将XML文件转换为另一种基于文本的格式,如JSON、PDF或CSV。 什么是XML文件 XML文件是一种可扩展标记语言文件。它们是纯文本文件,除了描述数据的传输、结构和存储外,本身什么也不做。 RSS提…...
海外直播对网速、带宽、安全的要求
要满足海外直播的要求,需要拥有合适的网络配置。在全球化的浪潮下,海外直播正逐渐成为企业、个人和各类组织的重要工具。不论是用于市场推广、品牌宣传,还是与观众互动,海外直播都为参与者带来了丰富的机会。然而,确保…...
UWB定位室外基站
定位基站,型号SW,是一款基于无线脉冲技术开发的UWB定位基站,基站可用于人员、车辆、物资的精确定位, 该基站专为恶劣环境使用而设计,防尘、防水等级IP67,工业级标准支持365天连续运行,本安防爆可…...
高斯平面直角坐标讲解,以及地理坐标转换高斯平面直角坐标
高斯平面直角坐标系(Gauss-Krger 坐标系)是基于 高斯-克吕格投影 的一种常见的平面坐标系统,主要用于地理信息系统 (GIS)、测绘和工程等领域。该坐标系将地球表面的经纬度(地理坐标)通过一种投影方式转换为平面直角坐标,以便在二维平面中进行距离、面积和角度的计算。 一…...
C++入门(06)安装QT并快速测试体验一个简单的C++GUI项目
文章目录 1. 清华镜像源下载2. 安装3. 开始菜单上的 QT 工具4. 打开 Qt Creator5. 简单的 GUI C 项目5.1 打开 Qt Creator 并创建新项目5.2 设计界面5.3 添加按钮的点击事件5.4 编译并运行项目 6. 信号和槽(Signals and Slots) 这里用到了C类与对象的很多…...
一篇文章告诉你小程序为什么最近这么火?
微信小程序之所以最近这么火,主要得益于其低成本获取高流量、线上线下流量互换、社交裂变引爆流量以及封闭商业生态闭环等优势。下面将详细探讨小程序火爆的多个原因: 一篇文章告诉你小程序为什么这么火爆? 低成本获取高流量 无需安装注册&…...
Qt-常用控件(3)-多元素控件、容器类控件和布局管理器
1. 多元素控件 Qt 中提供的多元素控件有: QListWidgetQListViewQTableWidgetQTableViewQTreeWidgetQTreeView xxWidget 和 xxView 之间的区别,以 QTableWidget 和 QTableView 为例. QTableView 是基于 MVC 设计的控件.QTableView 自身不持有数据,使用 QTableView 的…...
【系统设计】主动查询与主动推送:如何选择合适的数据传输策略
基本描述总结 主动查询机制:系统A主动向系统B请求数据,采用严格的权限控制和身份认证,防止未授权的数据访问。数据在传输过程中使用TLS加密,并通过动态脱敏处理隐藏敏感信息。 推送机制:系统B在数据更新时主动向系统…...
mac 安装brew并配置国内源
前置条件 - Xcode 命令行工具 一行代码安装Homebrew 添加到路径(PATH) - zsh shell为例 背景介绍 最近重装了我的MAC mini (m1 芯片), 很多软件都需要重新安装,因为后续还需要安装一些软件,所以想着安装个包管理软件 什么…...
Temu官方宣导务必将所有的点位材料进行检测-RSL资质检测
关于饰品类产品合规问题宣导: 产品法规RSL要求 RSL测试是根据REACH法规及附录17的要求进行测试。REACH法规是欧洲一项重要的法规,其中包含许多对化学物质进行限制的规定和高度关注物质。 为了确保珠宝首饰的安全性,欧盟REACH法规规定&#…...
mysql高级sql
文章目录 一,查询1.按关键字排序1.1按关键字排序操作(1)按分数排序查询(不加asc默认为升序)(2)按分数降序查询(DESC)(3)使用where进行条件查询(4)使用ORDER BY语句对多个字段排序 1.2使用区间判断查询(and/…...
Linux CentOS 7.9 安装mysql8
1、新建mysql文件夹 数据比较大,所以我在服务器另外挂了一个盘装mysql,和默认安装一个道理,换路径即可 cd ../ //创建文件夹 mkdir mysql //进入mysql文件夹 cd mysql 2、下载mysql8.0安装包并解压、重命名 //下载安装包 wget https://dev…...
替代 Django 默认 User 模型并使用 `django-mysql` 添加数据库备注20240904
替代 Django 默认 User 模型并使用 django-mysql 添加数据库备注 前言 在 Django 项目开发中,默认的 User 模型虽然能够满足许多基础需求,但在实际项目中我们常常需要对用户模型进行定制化。通过覆盖默认的 User 模型,我们可以根据具体的业…...
三维激光扫描点云配准外业棋盘的布设与棋盘坐标测量
文章目录 一、棋盘标定板准备二、棋盘标定板布设三、棋盘标定板坐标测量一、棋盘标定板准备 三维激光扫描棋盘是用来校准和校正激光扫描仪的重要工具,主要用于提高扫描精度。棋盘标定板通常具有以下特点: 高对比度图案:通常是黑白相间的棋盘格,便于识别。已知尺寸:每个格…...
【Python知识宝库】文件操作:读写文件的最佳实践
🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、文件读取1. 使用open函数2. 逐行读取3. 使用readlines和readline 二、文件写入1. 写入文本2. 追加内容3. 写入…...
Chapter 13 普通组件的注册使用
欢迎大家订阅【Vue2Vue3】入门到实践 专栏,开启你的 Vue 学习之旅! 文章目录 前言一、组件创建二、局部注册三、全局注册 前言 在 Vue.js 中,组件是构建应用程序的基本单元。本章详细讲解了注册和使用 Vue 的普通组件的两种方式:…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
自然语言处理——文本分类
文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
解析“道作为序位生成器”的核心原理
解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制,重点解析"道作为序位生成器"的核心原理与实现框架: 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...
RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上
一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema,不需要复杂的查询,只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 :在几秒钟…...
精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑
精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑 在电子商务领域,转化率与网站性能是决定商业成败的核心指标。今天,我们将深入解析不同类型电商平台的转化率基准,探讨页面加载速度对用户行为的…...
EEG-fNIRS联合成像在跨频率耦合研究中的创新应用
摘要 神经影像技术对医学科学产生了深远的影响,推动了许多神经系统疾病研究的进展并改善了其诊断方法。在此背景下,基于神经血管耦合现象的多模态神经影像方法,通过融合各自优势来提供有关大脑皮层神经活动的互补信息。在这里,本研…...
