第28章-PPPoE

1. 以太网接入的典型应用

 1.1. IP技术的应用与发展

 1.2. 以太网接入的典型应用场景之一——大型园区接入的典型应用

2. PPPoE技术的基本原理

 2.1. 技术背景

 2.2. PPPoE工作原理

 2.3. PPPoE的两个阶段:Discovery阶段和PPPSession阶段

 2.4. PPPoE的帧结构

 2.5. PPPoE的协商过程


1. 以太网接入的典型应用

1.1. IP技术的应用与发展

        语音+数据+移动 → 统一通讯

        例子:

        以太网接入技术:适用于园区内用户密集接入,传输介质以光纤和双绞线为主;

        HG:家庭网关(HG,Home Gateway),位于用户侧的设备;

        AN:接入点(AN,Access Node),位于运营商接入网边缘的设备;

        AGG:汇聚设备(AGG,Aggregation),位于AN和运营商城域网乃至骨干网之间设备;

1.2. 以太网接入的典型应用场景之一——大型园区接入的典型应用

        设计方案:大型住宅园区

        园区内设置一台园区交换机作为AN(接入点);

        园区交换机下行以百兆或千兆光纤连接所有楼道交换机,楼道交换机再连接到各用户的HG;

        园区交换机上行则采用千兆光纤连接到AGG,实现园区网络的高速接入;

        例如:

        AN设备可进行选择为三层交换机二层交换机

        采用三层转发延伸到AN的接入方式时:

        ① AN(Access Node)上行通过路由协议实现路由转发,AN(Access Node)下行通过VLAN实现不同用户二层隔离,这样广播域被限制在AN(Access Node)下行的同一业务VLAN内,提高了接入网的带宽利用率。

        ② AN(Access Node)对用户进行高密度接入并终结二层转发,从而同一AGG可以接入更多用户终端。

        ③ AN(Access Node)和AGG(Aggregation)上无须支持和部署复杂的二层隔离和安全特性网络改造规模小,有利于采用已有设备采用较低成本的设备进行快速部署。

        采用二层交换在 AGG (Aggregation)终结:

        ① 广播域的范围扩大到一台AGG设备下的同一业务VLAN。

        ② 在二层交换终结在AGG设备的方案中,一台AGG设备最多可接入用户终端数将受限于其自身MAC地址表项数。

2. PPPoE技术的基本原理

2.1. 技术背景

        针对用户进行认证、授权和计费也是运营商需要考虑的问题之一。

        解决方案1:在以太网交换机上支持的一些认证手段如802.1X主要基于以太网交换机的上的物理端口。

        问题:部署上需要尽量靠近边缘,甚至需要在运营商管理范围之外的些接入设备上进行部署,因此在部署和管理上都不太方便,具有一定的局限性。

        解决方案2:PPPoE(Point-to-Point Protocol over Ethernet)是一种广泛应用于宽带接入领域的网络协议,常见于家庭和企业的宽带拨号接入方式。例如,公共无线热点。

2.2. PPPoE工作原理

        模式:PPPoE协议采用Client/Server方式,它将包含用户认证信息的PPP报文封装在以太网之内,在以太网上提供点对点的连接的同时,也利用PPP协议的PAP和CHAP认证方式对用户进行认证。

        PPPOE Client

        ① 可以是用户侧的HG(Home Gateway)设备,也可以是连接到网络的PC。

        ② 将以太网帧(携带PPP帧)通过以太网传送到PPPOE Server上以进行PPP认证。

        PPPOE Server:通常是位于骨千网的边缘层宽带接入服务器(Broadband Remote AccessServer,简称BRAS)。

        宽带接入服务器(BRAS)主要完成两方面功能:

        ① 网络承载功能:负责终结用户的PPPOE连接、汇聚用户的流量功能;

        ② 控制实现功能:与认证系统、计费系统和客户管理系统及服务策略控制系统相配合实现用户接入的认证、计费和管理功能。

        这两项功能都可以利用路由器设备进行实现,为方便理解,在后续的组网图和介绍中我们都以路由器来代替宽带接入服务器和模拟PPPoE Server。

2.3. PPPoE的两个阶段:Discovery阶段和PPPSession阶段

        Discovery阶段:当一个主机想开始PPPoE进程的时候,它必须先识别接入端的以太网MAC地址,建立PPPoE的SESSION ID。这也是Discovery阶段的目的。

        PPP Session阶段:当PPPoE进入Session阶段后,PPP 报文就可以作为PPPoE帧的净荷封装在以太网帧发到对端,SESSION ID必须是Discovery阶段确定的ID。MAC地址必须是对端的MAC地址,PPP报文从Protocol ID 开始。在Session阶段主机或服务器任何一方都可发PADT(PPPOEActive Discovery Terminate)报文通知对方结束本Session。

2.4. PPPoE的帧结构

        在上图所示的以太网帧的结构中:

        DESTINATION_ADDR:部分为目的MAC地址,可以是广播MAC地址(Oxffff)或者单播MAC地址。对于PPP Session数据来说,必须使用在Discovery阶段中确认的单播MAC地址。

        SOURCE_ADDR:则表示源MAC地址。

        ETHER_TYPE:为0x8863时表示该为Discovery阶段的报文,ETHER_TYPE为0x8864时则表示该帧为PPP Sssion阶段的报文。

        在上图所示的PPPoE的以太网payload中各字段的解释如下:

        VER:PPPoE的版本,根据RFC2516要求必须被设为0x1。

        TYPE:根据现存的PPPoE版本必须被设为0x1。

        CODE:用于标识Discovery阶段和PPP Session阶段的不同报文,其取值在后面进行详细介绍。

        SESSION_ID:用于唯一标识一个PPP Session,在Discovery阶段被定义,在PPPSession阶段被使用。保留值为0xffff。

        LENGTH:仅指PPPoE payload 的长度,不括以太网和PPPoE的头部。

        payload:PPPoE的 Payload 包括0或多个TAG。TAG采用上图所示的TLV(Type-Length-Value)结构:其中 TAG_TYPE 表示 TAG的类型,常用的类型在后面会进行介绍。TAG_LENGTH则表示TAG_VALUE的长度。

2.5. PPPoE的协商过程

        在如上图所示的组网中,PPPoE Client先将用户数据封装为PPP,再将PPP封装到以太网帧中,PPP中相关的验证信息将会送给PPPoE Server进行PAP或CHA验证。通过验证之后,PPPoE Client会以IPCP协商的形式从PPPoE Server获得IP地址。

        PPPoE Client和PPPoE Server之间的PPPoE协商过程分为Discovery阶段和PPP Session阶段。

        Discovery阶段

        第1步:PPPoE Client在以太网口上广播PADI(PPPoE Active Discovery lnitiation)报文该报文以以太网帧的形式被ADSL Modem桥接到运营商的集中路由器(PPPoE Server)上。

        (PPPoE头部:CODE=0x09;SESSION_ID=0x0000。PPPoEPavload: TAG_TYPE必须包括Service-Name,用于指示请求的服务:也可以包含其他的TAG)

        第2步:PPPoE Server在收到PADI之后,发送回PADO(PPPoE Active Discovery Offer)报文,其中包含了PPPoE Server的AC-name(Access Concentrator's name)信息和可以提供的服务信息Service-Name,以供 PPPoE Client 进行选择。

        (PPPoE 头部:CODE=0x07;SESSION_ID=0x0000。PPPoE Payload:必须包含至少一个Service-Name的TAG,用于指示可以提供的服务类型;必须包含AC-name的TAG)

        第3步:PPPoE Client发送一个单播的PADR(PPPoE Active Discovery Request)报文给选定的PPPOE Server。报文中包含服务信息Service-Name。

(PPPoE头部:CODE=0x19;SESSION_ID=0x0000。PPPoE Payload:TAG_TYPE必须包括Service-Name用于指示请求的服务;也可以包含其他的TAG)

        第4步:PPPoE Server发回PADS(PPPoE Active Discovery Session-Confirmation)报文,其包含session ID信息。完成Discovery阶段。

        (PPPoE 头部:CODE=0x19;SESSION_ID由PPPoE Server定义。PPPE Payload: TAG_TYPE 必须包括Service-Name,用于指示PPPOE Server同意提供的服务;也可以包含其他的TAG)

        在Discovery阶段之后,PPPoE Client已经知道了PPPoE Server的MAC地址和session ID,并可以据此来建立相应的PPP连接。接下来进入PPP session阶段。

        PPP Session阶段

        在PPP session阶段,PPPoE Client和PPPoE Server之间进行普通的LCP、NCP、IPCP协商来进行PPP验证(PAP或CHAP)和IP地址的分配。

        在PPP session阶段,以太网的ETHER_TYPE为0x8864,PPPoE头部的CODE=0x00,SESSION_ID在会话建立过程中不能发生改变,PPPOE Payload为PPP帧。

        在PPP session建立之后,PPPOE Server和Client都可以通过发送PADT(PPPOE Active Discovery Terminate)报文来终止PPP session。PPPoE头部的CODE=0xa7,不括TAG。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件系统安全设计规范(word原件)

1.1安全建设原则 1.2 安全管理体系 1.3 安全管理规范 1.4 数据安全保障措施 1.4.1 数据库安全保障 1.4.2 操作系统安全保障 1.4.3 病毒防治 1.5安全保障措施 1.5.1实名认证保障 1.5.2 接口安全保障 1.5.3 加密传输保障 1.5.4终端安全保障 软件资料清单列表部分文档…

课题学习(二十三)---三轴MEMS加速度计芯片ADXL372

声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。 一、基础配置 测量范围-200g-200g,分辨率为12位, V s 、 V D D I / O V_s、V_{DDI/O} Vs​、VDDI/O​范围为1.6V-3.5V 1.1 引脚配…

分子动力学模拟学习-Gromacs工具链

1、总体流程 在gromacs的使用说明中有一个flow chart,比较简略。以下针对一般体系(非蛋白等领域)进行了一些调整,通用性更强。 在做分子动力学模拟时,其复杂性除了以上各种输入输出文件的操作,另一点就是力…

Telnet的三种配置和SSH配置

Telnet的三种配置 实验配置思路: 配置接口IP地址: R1——配置接口IP地址 R2——配置接口IP地址 认证模式为none的配置 R1——认证模式配置为none R2——测试Telnet连接R1设备 认证模式为passwrd的配置 R1——认证模式配置为password R2——测试Telnet连…

第五十三节 Java设计模式 - 工厂模式

Java设计模式 - 工厂模式 工厂模式是一种创建模式,因为此模式提供了更好的方法来创建对象。 在工厂模式中,我们创建对象而不将创建逻辑暴露给客户端。 例子 在以下部分中,我们将展示如何使用工厂模式创建对象。 由工厂模式创建的对象将是…

如何通过少量样本复刻高级提示词?

(注:本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费) 创意 网友遁一子先生最近在玩儿 Gemini 1.5 Pro 多模态。别人也就拿 Gemini 的视频分析功能来问问模型某个镜头出现在什么时间,然后对准确的…

模块SM472,SM203和利时卡件

模块SM472,SM203❗电:183-6998-1851❗和利时卡件,电源线应远离系统内其余任何电缆线,且当在凑近进口处就近安装滤波器,模块SM472,SM203和利时卡件保证外面供电网络上的扰乱进入到机柜中;滤波器要尽量凑近电源输入插座安装&#xf…

微信答题链接怎么做_新手也能快速上手制作

在数字营销日新月异的今天,如何有效吸引用户参与、提升品牌曝光度,成为了每一个营销人都在思考的问题。而微信答题链接,作为一种新兴的互动营销方式,正以其独特的魅力,在营销界掀起一股新的热潮。今天,就让…

【Pytorch】1.读取训练数据集

导入Dataset类 from torch.utils.data import Dataset # 注意是Dataset(大写)的才是类通过jupyter我们可以阅读一下Dataset类的具体使用方法 help(Dataset) # 或者直接 Dataset??我们可以看到具体对Dataset类的解释 从蓝色字体我们可以得出 所有的代…

【Scala---04】函数式编程 『 函数 vs 方法 | 函数至简原则 | 函数式编程』

文章目录 1. 函数 vs 方法1.1 方法(1) 定义方法(2) 运算符即方法 1.2 函数(1) 定义函数(2) 匿名函数 1.3 方法转为函数1.4 可变参数&默认参数 2. 函数至简原则3. 函数式编程3.1 函数式编程思想3.3 函数柯里化&闭包3.5 递归 & 尾递归 4. 补充4.1 访问元祖元素4.2 &g…

UE5(射线检测)学习笔记

这一篇会讲解射线检测点击事件、离开悬停、进入悬停事件的检测,以及关闭射线检测的事件,和射线检测蓝图的基础讲解。 创建一个简单的第三人称模板 创建一个射线检测的文件夹RadiationInspection,并且右键蓝图-场景组件-命名为BPC_Radiation…

React中的高阶组件的封装,高阶函数,HOC的含义及用法:

含义及作用: 高阶函数代码案例: 调用高阶组价: