PPPoE协议发现阶段交互及FPGA实现过程

姓名:石廷澳      学号:21011210031    学院:通信工程学院

【嵌牛导读】PPPoE,以太网上的点对点协议,是将点对点协议(PPP)封装在以太网Ethernet)框架中的一种网络隧道协议

【嵌牛鼻子】PPPoE协议发现阶段交互及FPGA实现过程,包括PADI、PADO、PADR、PADS

【嵌牛提问】如何实现PPPoE的发现阶段

【嵌牛正文】

发现阶段交互过程

PPPoE ( Point to Point Protocol over Ethernet ),基于以太网的点对点协议,包括发现阶段和会话阶段。发现阶段,即 PPPoE Discovery,目的是获取客户端MAC地址并建立连接。发现阶段包括PADI、PADO、PADR、PADS四个阶段。发现阶段结束后,就进入标准PPP会话阶段。发现阶段交互过程如下图所示:

图1 PPPoE发现阶段交互过程

数据帧格式如下图所示:

图2 PPPoE数据帧格式

帧类型域发现阶段都是0x8863,会话阶段都是0x8864;版本和类型在发现阶段和会话阶段都是0x01,代码域不同阶段对应着不同的类型号;会话ID默认为0x0000,在服务器向客户端发送PADS中会指定一个唯一标识会话ID;长度指的是静载荷的长度,单位是字节B。

PADI

PADI ( PPPoE Active Discovery Initiation ),PADI是广播帧,用于寻找可用的服务器,由客户端发送。PADI分组必须包含至少一个服务类型标签 (Service Name Tag,字段值为0x0101),向服务器提出所要求的提供的服务。当客户端在一定时间内没有收到PADO,客户端会重新发送PADI,并加倍等待时间。 

目的地址:0xFFFF_FFFF 

帧类型域:0x8863 

代码域:0x09 

会话ID:0x0000 

Wireshark接收到的PADI如下图所示:

图3 Wireshark接收的PADI数据帧

没有画圈的字节就是静载荷。当接收到PADI帧,就可以根据数据帧格式提取出客户端MAC地址、帧类型、代码ID、载荷帧长

载荷要用FIFO存起来,因为PADO载荷是由PADI的Host-Uniq Tag和AC_name(服务器名字)组成的

PADO

PADO ( PPPoE Active Discovery Offer),当服务器接收到PADI帧,服务器就发送PADO帧响应请求。PADO帧也必须包含至少一个服务器名称类型标签(字段值为0x0102),表明可向主机提供的服务种类。PADO载荷是由PADI的Host-Uniq Tag和AC_name(服务器名字)组成。 

目的地址:提取的客户端MAC地址 

帧类型域:0x8863 

代码域:0x07 

会话ID:0x0000 

Wireshark接收到服务器发送的的PADO如下图所示: 

图4 Wireshark接收到的PADO数据帧

最后圈中的4字节数据不是PADI的Host-Uniq Tag,也不是AC_name,是PADO的服务器名称类型标签,0x000d表示名称字节数量。当提取出PADI或者PADR的帧长时,就可得出PADO和PADS的帧头部

PADO帧长+16‘h11是因为还有AC_name和服务器名称类型标签。

PADR

PADR ( PPPoE Active Discovery Request ),客户端在收到的一个或多个PADO中选择一个,然后向选择的服务器发送PADR。PADR也必须包含一个服务名称类型标签。 

目的地址:服务器MAC地址 

帧类型域:0x8863 

代码域:0x19 

会话ID:0x0000 

Wireshark接收到服务器发送的的PADO如下图所示:

图4 Wireshark接收到的PADR数据帧

PADR的接收流程与PADI的接收流程一样,提取客户端MAC地址、帧类型、代码ID、载荷帧长,并将载荷存在FIFO中。

PADS

PADS ( PPPoE Active Discovery Session-confirmation ),服务器收到PADR后,组建PADS帧。PADS和PADR的Host-Uniq Tag值相同。 

目的地址:客户端MAC地址 

帧类型域:0x8863 

代码域:0x65 

会话ID:唯一标识会话ID的值,不能是0x0000 

Wireshark接收到服务器发送的的PADO如下图所示:

图5 Wireshark接收到的PADS数据帧

Host-Uniq Tag后面的数据并不需要发,是传输时自动加上的。发送PADO和PADS需要计数器进行计数,以此来判别什么时候发帧头,什么时候发载荷,什么时候发AC_name

根据计数值判断发送哪些数据

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容