您当前的位置:首页 > 电脑百科 > 网络技术 > 网络知识

PPPoE报文交互详解

时间:2021-12-31 09:42:33  来源:  作者:好学靓仔娱乐

1. PPPoE的验证过程

PPPoE的验证过程,包括2个阶段,Discovery阶段和PPP Session阶段。

PPPoE报文交互详解

 

2.Discovery阶段,包含4个步骤:

Step 1 :PADI(PPPoE Active Discovery Initiation)

PPPoE客户端发送主动发现初始化包(PPPoE Active Discovery Initiation,PADI)以太头中的目的地址是以太广播地址 FF:FF:FF:FF:FF:FF,PPPOE 头中的 CODE 为 0x09,SESSION_ID 值必须为 0,负载部分必须只包含一个 Service-Name 类型的 TAG 表示请求的服务类型,另外可以包含其他 TAG,整个 PPPOE 包不能超过 1484 字节;

PPPoE报文交互详解

 

Step 2: PADO(PPPoE Active Discovery Offer)

服务器端 PPPoE 进程在网络接口侦听到 PADI 包后,发送主动发现提议包(PPPoEActive Discovery Offer, PADO),用来回应客户机的 PADI 包,以太头中的目的地址是客户机的mac 地址,PPPOE 头中的 CODE 为 0x07, SESSION_ID 值必须为 0,负载部分必须包含一个 AC-Name 类型的 TAG,用来指示本 AC 的名称,一个在 PADI 包中指定的Service- Name 的 TAG,另外可以包含其他 Service-Name 的 TAG。如果 AC 不对该客户机提供服务,AC 就不回应 PADO 包。

PPPoE报文交互详解

 

Step 3: PADR(PPPoE Active Discovery Request)

PPPoE 客户端收到 PADO 包后,在 PADO 包中选择一个(可能有多个 PPPoE 服务器,通常选取最快的一个)发送主动发现请求包(PPPoEActive Discovery Request,PADR),以太头中的目的地址是所选取的 PADO 包的源以太头地址(即 PPPoE 服务器的 MAC 地址),PPPOE 头中的 CODE 为 0x19,SESSION_ID 值必须为 0,负载部分必须只包含一个 Service-Name 类型的 TAG 表示请求的服务类型,另外可以包含其他 TAG。

PPPoE报文交互详解

 

Step 4: PADS(PPPoE Active Discovery Seession-Confirmation)

MAC 地址匹配的 PPPoE 服务器收到 PADR 包后,发送主动发现会话确认包(PPPoE Active Discovery Session-confirmation, PADS),将产生一个 SEESSION_ID 值用来标志本次 PPP 会话,以 PADR 包方式发送给客户机。以太头中的目的地址是客户机的 MAC 地址,PPPOE 头中 的 CODE 为 0x65,SESSION_ID 值必须为所生成的那个SESSION_ID,负载部分必须只包含一个 Service-Name 类型的 TAG, 表示该服务类型被 PPPoE 服务器接受,另外可以包含其他 TAG。如果 PPPoE 服务器不接受 PADR 中的

Server-Name,PADS 中则包含一个 Service-Name -Error 类型的 TAG,这时 SESSION_ID 设置为 0。

PPPoE报文交互详解

 

3. PPP Session 阶段:

当客户端与服务器端远成发现阶段之后,即进入会话阶段,在 PPP 会话阶段,PPP 包被封装在 PPPoE 以太帧中,以太包目的地址都是单一的,以太协议为 0x8864, PPPoE 头的CODE必须为0,SESSION_ID必须一直为发现阶段协商出的SEESION_ID值, PPPoE 的负载是整个 PPP 包,PPP 包前是两字节的 PPP 协议 ID 值。

Step 1: LCP(Link Control Protocol)协商

主要协商了MRU(Maximum Receive Unit),并提出了认证使用的Magic Number。

图3-1 client发送到server的Configuration Request

PPPoE报文交互详解

 

图3-2 server发送到client的Configuration Request

PPPoE报文交互详解

 

图3-3 client发送到server的Configuration Ack

PPPoE报文交互详解

 

图3-4 server发送到client的Configuration Ack

PPPoE报文交互详解

 

Step 2: 认证阶段

认证阶段务器端将验证客户端的合法性。最常见的两种就是PAP和CHAP;

PAP(Password Authentication Protocol)验证为两次握手验证,密码为明文;

PAP验证的过程如下

(1)被验证方发送用户名和密码到验证方;

(2)验证方根据本端用户表查看是否有此用户以及密码是否正确,然后返回不同的响应。

CHAP(Challenge-Handshake Authentication Protocol)验证为三次握手验证,密码为密文(密钥);

注意:PAP不是一种安全的验证协议。当验证时,口令以明文方式在链路上发送,并且由于完成PPP链路建立后,被验证方会不停地在链路上反复发送用户名和口令,直到身份验证过程结束,所以不能防止攻击

CHAP验证过程如下

(1)Challenge:验证方主动发起验证请求,验证方向被验证方发送一些随机产生的报文,并同时将本端的用户名附带上一起发送给被验证方;

(2)Response:若被验证方接到验证方的验证请求后,检查本端接口上是否配置了缺省的CHAP密码,如果配置了则被验证方利用报文ID、该缺省密码和MD5算法对该随机报文进行加密,将生成的密文和自己的用户名发回验证方;若被验证方检查发现本端接口上没有配置缺省的CHAP密码,则被验证方根据此报文中验证方的用户名在本端的用户表查找该用户对应的密码,如果在用户表找到了与验证方用户名相同的用户,便利用报文ID、此用户的密钥(密码)和MD5算法对该随机报文进行加密,将生成的密文和被验证方自己的用户名发回验证方;

(3)result:验证方用自己保存的被验证方密码和MD5算法对原随机报文加密,比较二者的密文,根据比较结果返回不同的响应。

图3-5 server发送到client的Challenge

PPPoE报文交互详解

 

图3-5 client发送到server的Response

PPPoE报文交互详解

 

图3-6 server发送到client的Success

PPPoE报文交互详解

 

Step 3: IPCP(IP Control Protocol)阶段

图3-7 server发送到client的Configuration Request

PPPoE报文交互详解

 

图3-8 client发送到server的Configuration Request

PPPoE报文交互详解

 

图3-9 server发送到client的Configuration Nak

PPPoE报文交互详解

 

图3-10 client发送到server的Configuration Ack

PPPoE报文交互详解

 

图3-11 client发送到server的Configuration Request

PPPoE报文交互详解

 

图3-12 server发送到client的Configuration Ack

PPPoE报文交互详解

 



Tags:PPPoE   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1. PPPoE的验证过程PPPoE的验证过程,包括2个阶段,Discovery阶段和PPP Session阶段。 2.Discovery阶段,包含4个步骤:Step 1 :PADI(PPPoE Active Discovery Initiation)PPPoE客户端发...【详细内容】
2021-12-31  Tags: PPPoE  点击:(0)  评论:(0)  加入收藏
我们现在所在的小区大部分还是通过PPPOE拨号方式来上网的,宽带服务提供商会在ISP机房搭建PPPOE服务器。 PPPOE即PPP over Ethernet,是指在以太网中传输PPP的技术,通过PPPoE可以...【详细内容】
2021-07-29  Tags: PPPoE  点击:(195)  评论:(0)  加入收藏
路由器DHCP服务器分配给手机IP地址过程,光猫路由器PPPOE拨号建立连接过程,IP、VLAN报文分析附全部wireshark抓包分析,如有疑问,欢迎评论区留言;一、DHCP通信过程DHCP通信过程,通过...【详细内容】
2020-11-16  Tags: PPPoE  点击:(176)  评论:(0)  加入收藏
在PPPoE拨号+静态IP双链路环境下我们有时会遇到有些网站无法打开,但是断掉其中一条链路后网站就可以打开了,这又什么原因呐?作为网络工程师经常会遇到用户双链路网络环境,对网络...【详细内容】
2020-06-27  Tags: PPPoE  点击:(500)  评论:(0)  加入收藏
点到点链路层协议PPP(PPPoE) 主要用于在全双工的同异步链路上进行点到点的数据传输,PPP是一款公有标准协议,兼容性好。PPP协议的特点:1、PPP支持在全双工的同异步链路上进行点到...【详细内容】
2019-12-26  Tags: PPPoE  点击:(88)  评论:(0)  加入收藏
1.华为为例:​服务器端配置:1、配置了个地址池、和认证(用户名hw和密码hw)2、虚拟接口模板VT,创建后,须与物理口进行绑定。3、将虚拟接口模板VT与物理口绑定。至此,服务器端就配置...【详细内容】
2019-10-29  Tags: PPPoE  点击:(127)  评论:(0)  加入收藏
配置Web+PPPoE+静态混合接入示例介绍Web+PPPoE+静态混合接入的配置示例。适用产品和版本适用于V600R008C10及以后版本的NE40E/ME60系列产品。组网需求如图1-11所示,Web+PPPoE...【详细内容】
2019-10-14  Tags: PPPoE  点击:(176)  评论:(0)  加入收藏
讲到PPPOE那不得不介绍一下PPP协议。PPP协议:点对点协议(Point to Point Protocol,PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP 最初设计是为两个对等节点...【详细内容】
2019-07-16  Tags: PPPoE  点击:(323)  评论:(0)  加入收藏
▌简易百科推荐
1. PPPoE的验证过程PPPoE的验证过程,包括2个阶段,Discovery阶段和PPP Session阶段。 2.Discovery阶段,包含4个步骤:Step 1 :PADI(PPPoE Active Discovery Initiation)PPPoE客户端发...【详细内容】
2021-12-31  好学靓仔娱乐    Tags:PPPoE   点击:(0)  评论:(0)  加入收藏
以京训钉开发平台接口文档为例,使用HttpClient类请求调用其接口,对数据进行增删改查等操作。 文档地址: https://www.yuque.com/bjjnts/jxd/bo1oszusing System;using System.C...【详细内容】
2021-12-28  Wednes    Tags:HttpClient   点击:(6)  评论:(0)  加入收藏
阿里云与爱快路由安装组网教程一、开通好阿里云轻量服务器之后在服务器运维-远程连接处进行远程 二、进入控制台后在root权限下根据需要安装的固件位数复制下面命令。32位:wg...【详细内容】
2021-12-28  ikuai    Tags:组网   点击:(3)  评论:(0)  加入收藏
HTTP 报文是在应用程序之间发送的数据块,这些数据块将通过以文本形式的元信息开头,用于 HTTP 协议交互。请求端(客户端)的 HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应...【详细内容】
2021-12-27  程序员蛋蛋    Tags:HTTP 报文   点击:(13)  评论:(0)  加入收藏
一 网络概念:1.带宽: 标识网卡的最大传输速率,单位为 b/s,比如 1Gbps,10Gbps,相当于马路多宽2.吞吐量: 单位时间内传输数据量大小单位为 b/s 或 B/s ,吞吐量/带宽,就是网络的使用率...【详细内容】
2021-12-27  码农世界    Tags:网络   点击:(9)  评论:(0)  加入收藏
1.TCP/IP 网络模型有几层?分别有什么用? TCP/IP网络模型总共有五层 1.应用层:我们能接触到的就是应用层了,手机,电脑这些这些设备都属于应用层。 2.传输层:就是为应用层提供网络...【详细内容】
2021-12-22  憨猪哥08    Tags:TCP/IP   点击:(39)  评论:(0)  加入收藏
TCP握手的时候维护的队列 半连接队列(SYN队列) 全连接队列(accepted队列)半连接队列是什么?服务器收到客户端SYN数据包后,Linux内核会把该连接存储到半连接队列中,并响应SYN+ACK报...【详细内容】
2021-12-21  DifferentJava    Tags:TCP   点击:(11)  评论:(0)  加入收藏
你好,这里是科技前哨。 随着“元宇宙”概念的爆火,下一代互联网即将到来,也成了互联网前沿热议的话题,12月9日美国众议院的听证会上,共和党议员Patrick McHenry甚至宣称,要调整现...【详细内容】
2021-12-17  王煜全    Tags:Web3   点击:(16)  评论:(0)  加入收藏
一、demopublic static void main(String[] args) throws Exception { RetryPolicy retryPolicy = new ExponentialBackoffRetry( 1000, 3);...【详细内容】
2021-12-15  程序员阿龙    Tags:Curator   点击:(24)  评论:(0)  加入收藏
一、计算机网络概述 1.1 计算机网络的分类按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。1.2 计算机网络的层次结构 TCP/IP四层模...【详细内容】
2021-12-14  一口Linux    Tags:网络知识   点击:(32)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条