ATM网络协议之PPPoA(AAL5 PPP封装)
封装PPP(Point-to-Point Protocol)的ATM AAL5(Adaptation Layer 5 (AAL5)报文格式。
一、PPPoA格式
-------- +-----------------------------------------+ ----------
| | Destination SAP (0xFE) | |
| +-----------------------------------------+ |
| | Source SAP (0xFE) | LLC header
| +-----------------------------------------+ |
| | Frame Type = UI (0x03) | |
CPCS-PDU +-----------------------------------------+ ----------
Payload | NLPID = PPP (0xCF) |
+-----------------------------------------+ ----------
| | Protocol Identifier(8 or 16 bits) | |
| +-----------------------------------------+ |
| | PPP information field | PPP payload
| +-----------------------------------------+ |
| | padding | |
-------- +-----------------------------------------+ ----------
| PAD(0-47 octets) |
-------- +-----------------------------------------+
| | CPCS-UU(1 octet) |
| +-----------------------------------------+
CPCS-PDU | CPI(1 octet) |
Trailer +-----------------------------------------+
| | Length(2 octets) |
| +-----------------------------------------+
| | CRC(4 octets) |
-------- +-----------------------------------------+
二、PPPoA格式个字段解释
字段 |
长度 |
含义 |
LLC header |
3字节 |
当需要在相同的一条VC上传输多种协议时,就需要使用LLC封装。为了保证接收端正确地处理接收到的AAL5 CPCS-PDU报文,承载区必须包含必要的信息来标识是路由协议还是桥接协议。在LLC封装中,这些信息在承载PDU前面的LLC头中进行定义。对于PPPoA,LLC头的值固定为0xFE-FE-03,标识后面是ISO NLPID格式的路由PDU。 |
NLPID |
1字节 |
ISO路由协议必须由一个字节的NLPID(Network Layer Protocol Identifier)字段来标识,这个字段是协议数据的一部分。NLPID的值由ISO和ITU-T确定。值为0xCF表示PPP协议。 |
PPP payload |
可变 |
PPP负荷,包括PPP的协议域、信息域和填充。 |
Protocol Identifier |
1或2字节 |
PPP帧头的协议域,用来区分PPP数据帧中信息域所承载的数据报文的内容。详细请参见PPP或者RFC 1661。 |
PPP information field |
可变 |
PPP信息域,缺省最大长度是1500字节,其中包括填充域的内容。信息域的最大长度等于PPP协议中MRU(Maximum Receive Unit)的缺省值。在实际应用当中可根据实际需要进行信息域最大封装长度选项的协商。 |
padding |
可变 |
如果信息域长度不足1500字节,可被填充,但不是必须的。如果填充,则需通信双方的两端能辨认出有用与无用的信息,方可正常通信。 |
PAD |
0~47字节 |
填充位,使整个CPCS-PDU长度为48字节的整数倍,这样就使得SAR子层进行信元划分时,可以将CPCS-PDU Trailer刚好能够划分到一个ATM的负载域(48字节)中。 |
CPCS-UU |
1字节 |
CPCS-UU(用户到用户指示)字段被用于透明传送CPCS用户到用户信息。一般不使用该字段,保留。可以被设置为任何值。 |
CPI |
1字节 |
CPI(Common Part Indicator,通用组件指示),用作对齐CPCS-PDU尾部到8字节。此字段必须填0x00。 |
Length |
2字节 |
指示CPCS-PDU净荷长度,以字节为单位。长度字段的最大值是65535字节。一个长度字段被编码为0x00,用于异常中断功能。 |
CRC |
4字节 |
CRC:循环冗余校验,指CRC域以外的整个AAL5汇聚子层报文的CRC-32值,被用于检测CPCS-PDU中的比特错误。 |
三、PPPoA参考标准
标准 |
描述 |
RFC 2364 |
PPP Over AAL5 |
发表评论