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 的普通组件的两种方式:…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...