PPPoE及其MTU
来源:互联网 发布:java 精品课程 编辑:程序博客网 时间:2024/05/10 01:06
PPPoE成帧组件
组件
大小(以字节为单位)
数据净荷
1~1 452
TCP头部
20
IP头部
20
PPP头部
2
PPPoE头部
6
PPPOE的最大接收单元为1492,以太网最大载荷为1500 octets,PPPOE头为6 octets,PPP协议ID为2(PPP包前是两字节的PPP协议ID值) octets,所以PPP的MTU最大不能超过1492 。
数据净荷、TCP头部和IP头部构成PPP净荷,因而加起来不能超过PPPoE的最大尺寸1 492字节,PPP、PPPoE和以太网头部不在1 492字节之内,属于额外开销:
1 492 + 2 + 6 + 18 = 1 518字节
在PPP会话阶段,PPP包被封装在PPPOE以太帧中,以太包目的地址都是单一的,以太协议为0x8864,PPPOE头的CODE必须为0,SESSION_ID必须一直为发现阶段协商出的SEESION_ID值,PPPOE的负载是整个PPP包,PPP包前是两字节的PPP协议ID值。
一个PPPOE会话过程包的例子为:
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Access_Concentrator_mac_addr |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Access_Concentrator_mac_addr(c)| Host_mac_addr |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Host_mac_addr (cont) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ETHER_TYPE = 0x8864 | v = 1 | t = 1 | CODE = 0x00 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SESSION_ID = 0x1234 | LENGTH = 0x???? |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PPP PROTOCOL = 0xc021 | PPP payload ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
注意:由于PPPOE头是6字节,PPP协议ID号两个字节,一共要占用8个字节,而以太网的MTU值为1500,所以上层PPP负载数据不能超过1492字节,所以PPP协商时协商的最大接收单元值不能超过1492字节,也就是相当于在PPPOE环境下的MTU是1492字节。
- PPPoE及其MTU
- PPPOE拨号下MTU设置
- pppoe中的mtu与mss
- PPPoE(ADSL)中的MTU设置
- pppoe中的mtu与mss
- 自留地:PPPOE拨号下MTU设置
- TLS doesn't work on PPPoE in Chelan: MTU issue
- PPTP/L2TP over PPPoE的準確MTU/MRU值
- 以太网和PPPOE网络下MTU和MSS的关系
- pppoe环境下的mtu和mss的配合问题
- MTU
- MTU
- mtu
- mtu
- mtu
- MTU
- mtu
- mtu
- 代码的阅读
- strcmp函数和strcpy函数
- 读书:《从零到百亿-Facebook创业故事》
- 基于FPGA的数字秒表的设计
- Tomcat 工作原理【转】
- PPPoE及其MTU
- 使用托管C++
- VC中的文件操作(CFILE)
- DBCC DBREINDEX重建索引提高SQL Server性能
- Flash游戏开发技术分析(下)
- sys_context function
- 扫雷游戏(VC实现)
- WinCE Build Error - Fixed
- 30年中国最具影响力的300本书,你看过几本?