Tags
以太网


字段 | 长度 | 含义 |
DMAC | 6字节 | 目的MAC地址,IPV4为6字节,该字段确定帧的接收者。 |
SMAC | 6字节 | 源MAC地址,IPV4为6字节,该字段标识发送帧的工作站。 |
Type | 2字节 | 协议类型。下表列出了链路直接封装的协议。 |
Data | 变长 | 数据字段的最小长度必须为46字节以保证帧长至少为64字节,这意味着传输一字节信息也必须使用46字节的数据字段。
如果填入该字段的信息少于46字节,该字段的其余部分也必须进行填充。数据字段的最大长度为1500字节。 |
CRC | 4字节 | 用于帧内后续字节差错的循环冗余检验(也称为FCS或帧检验序列) |
VLAN


字段 | 长度 | 含义 |
Destination address | 6字节 | 目的MAC地址。 |
Source address | 6字节 | 源MAC地址。 |
Type | 2字节 | 长度为2字节,表示帧类型。取值为0x8100时表示802.1Q Tag帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。 |
PRI | 3比特 | Priority,长度为3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。用于当阻塞时,优先发送优先级高的数据包。如果设置用户优先级,但是没有VLANID,则VLANID必须设置为0x000。 |
CFI | 1比特 | CFI (Canonical Format Indicator),长度为1比特,表示MAC地址是否是经典格式。CFI为0说明是标准格式,CFI为1表示为非标准格式。用于区分以太网帧、FDDI(Fiber Distributed Digital Interface)帧和令牌环网帧。在以太网中,CFI的值为0。 |
VID | 12比特 | LAN ID,长度为12比特,表示该帧所属的VLAN。在VRP中,可配置的VLAN ID取值范围为1~4094。0和4095协议中规定为保留的VLAN ID。三种类型:
• Untagged帧:VID 不计
• Priority-tagged帧:VID为 0x000
• VLAN-tagged帧:VID范围0~4095
三个特殊的VID:
• 0x000:设置优先级但无VID
• 0x001:缺省VID
• 0xFFF:预留VID |
Length/Type | 2字节 | 指后续数据的字节长度,但不包括CRC检验码。 |
Data | 42~1500字节 | 负载(可能包含填充位)。 |
CRC | 4字节 | 用于帧内后续字节差错的循环冗余检验(也称为FCS或帧检验序列)。 |
无线网

广域网
PPP


PPP帧的内容是指Address、Control、Protocol和Information四个域的内容。
各字段的含义
字段 | 长度 | 含义 |
Flag | 1字节 | Flag域标识了一个物理帧的起始和结束,该字节为0x7E。 |
Address | 1字节 | PPP协议室被运用在点对点的链路上,它可唯一标识对方,因此无须知道对方数据链路层地址。所以该字节无任何意义,按协议规定填充为全1广播地址。 |
Control | 1字节 | 同Address域一样,PPP数据帧的Control域也没实际意义,规定值为0x03,该域与Address域一起标识了PPP报文,即PPP报文头为FF03。 |
Protocol | 1字节或2字节 | 协议域,可用来区分PPP数据帧中信息域所承载的数据报文的内容。协议域的内容必须依据ISO 3309的地址扩展机制所给出的规定。该机制规定协议域所填充的内容必须为奇数,也就是要求低字节的最低位为“1”,高字节的最低位为“0”。如果当发送端发送的PPP数据帧的协议域字段不符合上述规定,接收端则会认为此数据帧是不可识别的。接收端向发送端发送一个Protocol-Reject报文,在该报文尾部将填充被拒绝报文的协议号。
• 0021: IP报文
• 002b: Novell IPX
• 002d: Van Jacobson Compressed TCP/IP
• 002f: Van Jacobson Uncompressed TCP/IP
• 0057: IPV6报文
• 8021: IPCP报文
• 802b: Novell IPX Control Protocol
• 8031: Bridging NC
• 8057: IPv6 CP报文
• C021: LCP报文
• C023: Password Authentication Protocol
• C223: Challenge Handshake Authentication Protocol |
Information | 0~1500字节 | 信息域最大长度是1500字节,其中包括填充域的内容。信息域的最大长度等于PPP协议中MRU(Maximum Receive Unit)的缺省值。在实际应用当中可根据实际需要进行信息域最大封装长度选项的协商。
如果信息域长度不足1500字节,可被填充,但不是必须的。如果填充则需通信双方的两端能辨认出有用与无用的信息方可正常通信。 |
FCS | 0/1/2字节 | FCS域计算范围是除了flag域的其他域。
校验域的功能主要对PPP数据帧传输的正确性进行检测。
在数据帧中引入了一些传输的保证机制,会引入更多的开销,这样可能会增加应用层交互的延迟。 |
Code | 1字节 | 代码域,主要是用来标识LCP数据报文的类型。在链路建立阶段,接收方接收到LCP数据报文。当其代码域的值无效时,就会向对端发送一个LCP的代码拒绝报文(Code-Reject报文)。 如果是IP报文,则不存在此域,取而代之的是IP报文内容。常见Code值如下:
0x01: Configure-Request
0x02: Configure-Ack
0x03: Configure-Nak
0x04: Configure-Reject
0x05: Terminate-Request
0x06: Terminate-Ack
0x07: Code-Reject
0x08: Protocol-Reject
0x09: Echo-Request
0x0a: Echo-Replyt
0x0b: Discard-Request
0x0c: Reserved |
Identifier | 1字节 | 标识域的值表示进行协商报文的匹配关系。 标识域目的是用来匹配请求和响应报文。
一般而言,在进入链路建立阶段时,通信双方任何一端都会连续发送几个配置请求报文(Configure-Request报文)。这几个请求报文的数据域的值可能是完全一样的,只是它们的标志域不同。
通常一个配置请求报文的ID是从0x01开始逐步加1的。
当对端接收到该配置请求报文后,无论使用何种报文回应对方,但必须要求回应报文中的ID要与接收报文中的ID一致。当通信设备收到回应后就可以将该回应与发送时的进行比较来决定下一步的操作。 |
Length | 2字节 | 长度域表示此协商报文长度,它包含Code域及Identifier域的长度。长度域的值就是该LCP报文的总字节数据。它是代码域、标志域、长度域和数据域四个域长度的总和。
长度域所指示字节数之外的字节将被当作填充字节而忽略掉,而且该域的内容不能超过MRU的值。 |
Data | 变长 | 数据域所包含的是协商报文的内容。
• Type为协商选项类型。 常见Type中的协商类型值:
0x01: Maximum-Receive-Unit
0x02: Async-Control-Character-Map
0x03: Authentication-Protocol
0x04: Quality-Protocol
0x05: Magic-Number
0x06: RESERVED
0x07: Protocol-Field-Compression
0x08: Address-and-Control-Field-Compression
• Length为协商选项长度,它是指Data域的总长度,也就是包含Type、Length和Data。
• Data为协商的选项具体内容。 |
HDLC



字段 | 长度 | 含义 |
Flag | 1字节 | 标志字段,为01111110(0x7e)的比特模式,用以标志帧的开始与结束,也可以作为帧与帧之间的填充字符。通常,在不进行帧传送的时刻,信道仍处于激活状态,在这种状态下,发送方不断地发送标志字段,而接收方则检测每一个收到的标志字段,一旦发现某个标志字段后面不再是一个标志字段,便可认为新的帧传动已经开始。采用“0比特插入法”可以实现数据的透明传输。 |
Address | 1字节 | 地址字段,内容取决于所采用的操作方式,有主节点、从节点、组合节点之分。每个从节点与组合节点都被分配一个唯一的地址,命令帧中的地址字段携带的是对方节点的地址,而响应帧中的地址字段所携带的地址是本节点的地址。某一地址也可分配给不止一个节点,这种地址称为组地址,利用一个组地址传输的帧能被组内所有拥有该地址的节点接收。但当一个节点或组合节点发送响应时,它仍应当用它唯一的地址。还可以用全“1”地址来表示包含所有节点的地址,称为广播地址,含有广播地址的帧传送给链路上所有的节点。另外还规定全0的地址为无节点地址,不分配给任何节点,仅作为测试用。 |
Control | 1字节 | 控制字段,用于构成各种命令及响应,以便对链路进行监视与控制。发送方主节点或组合节点利用控制字段来通知被寻址的从节点或组合节点执行约定的操作;相反,从节点用该字段作为对命令的响应,报告已经完成的操作或状态的变化。该字段是HDLC的关键。由于Control字段的构成不同,可以把HDLC帧分为三种类型:信息帧、监控帧、无编号帧,分别简称I帧(Information)、S帧(Supervisory)、U帧(Unnumbered)。在控制字段中,第1位是“0”为I帧,第1、2 位是“1 ”为S帧,第1、2位是“11”为U帧。
|
Protocol | 2字节 | 协议字段。表示Information域中的数据封装的协议类型。 |
Information | 0~N字节 | 信息字段。可以是任意的二进制比特串,长度未作限定。其上限由FCS字段或通信节点的缓冲容量来决定,目前国际上用得较多的是1000~2000比特,而下限可以是0,即无信息字段。但是监控帧中不可有信息字段。 |
FCS | 2字节 | FCS(Frame Check Sequence):帧检验序列字段,可以使用16位CRC,对两个标志字段之间的整个帧的内容进行校验。FCS的生成多项式是CCITT V.41建议的X'16+X'12+X'5+1。 |