您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 史上最详尽各种协议报文与个字段分析
ahang2链路层以太帧格式VLAN帧格式QinQ帧格式PPP帧格式PPPoE报文格式HDLC帧格式ATM信元格式STP/RSTP/MSTP帧格式RPR帧格式RRPP帧封装格式LACP报文格式以太OAM报文格式ERPS帧格式LLDP报文格式IS-IS报文格式以太帧格式EthernetⅡ以太帧Netware以太帧格式802.3SAP以太帧802.3LLCSNAP以太帧格式ahang3网络层ARP/RARP报文格式GRE报文格式ICMP报文格式ICMPv6报文格式IGMP报文格式IPinIP报文格式IP报文格式IPv6报文格式IPv6inIP(6to4)报文格式MLD报文格式OSPF报文格式OSPFv3报文格式PIM报文格式RSVP报文格式VRRP报文格式ahang4EthernetⅡ以太帧帧格式图1EthernetⅡ帧格式字段长度含义DMAC6字节目的MAC地址,IPV4为6字节,该字段确定帧的接收者。SMAC6字节源MAC地址,IPV4为6字节,该字段标识发送帧的工作站。Type2字节协议类型。下表列出了链路直接封装的协议。Data变长数据字段的最小长度必须为46字节以保证帧长至少为64字节,这意味着传输一字节信息也必须使用46字节的数据字段。如果填入该字段的信息少于46字节,该字段的其余部分也必须进行填充。数据字段的最大长度为1500字节。CRC4字节用于帧内后续字节差错的循环冗余检验(也称为FCS或帧检验序列)。表1各Type值对应的协议值协议0x0800InternetProtocol(IP)[RFC894]0x0801X.75Internetahang5字段长度含义0x0805X.25Level30x0806AddressResolutionProtocol(ARP)[RFC7042]0x0808FrameRelayARP[RFC1701]0x8000IS-IS0x8035ReverseAddressResolutionProtocol(RARP)[RFC903]0x8137NovellNetWareIPX/SPX(old)0x8138Novell,Inc.0x8100IEEEStd802.1Q-CustomerVLANTagType0x814CSNMPoverEthernet[RFC1089]0x86DDIPProtocolversion6(IPv6)[RFC7042]0x8808IEEEStd802.3-EthernetPassiveOpticalNetwork(EPON)[RFC7042]0x880BPoint-to-PointProtocol(PPP)[RFC7042]0x880CGeneralSwitchManagementProtocol(GSMP)0x8847MPLS(multiprotocollabelswitching)labelstack-unicast[RFC3032]0x8848MPLS(multiprotocollabelswitching)labelstack-multicast[RFC3032]ahang6字段长度含义0x8863PPPoverEthernet(PPPoE)DiscoveryStage[RFC2516]0x8864PPPoverEthernet(PPPoE)SessionStage[RFC2516]0x888EIEEEStd802.1X-Port-basednetworkaccesscontrol0x88A8IEEEStd802.1Q-ServiceVLANtagidentifier(S-Tag)0x88B7IEEEStd802-OUIExtendedEthertype0x88C7IEEEStd802.11-Pre-Authentication(802.11i)0x88CCIEEEStd802.1AB-LinkLayerDiscoveryProtocol(LLDP)0x88E5IEEEStd802.1AE-MediaAccessControlSecurity0x88F5IEEEStd802.1Q-MultipleVLANRegistrationProtocol(MVRP)0x88F6IEEEStd802.1Q-MultipleMulticastRegistrationProtocol(MMRP)帧示例ahang7QinQ帧格式QinQ报文有固定的格式,就是在802.1Q的标签之上再打一层802.1Q标签,QinQ报文比802.1Q报文多四个字节。VLAN帧最小帧长为68字节。帧格式图1QinQ帧格式字段长度含义Destinationaddress6字节目的MAC地址。ahang8字段长度含义Sourceaddress6字节源MAC地址。Type2字节长度为2字节,表示帧类型。取值为0x8100时表示802.1QTag帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。对于内层VLANtag,该值设置为0x8100;对于外层VLANtag,有下列几种类型0x8100:思科路由器使用0x88A8:ExtremeNetworksswitches使用0x9100:Juniper路由器使用0x9200:Several路由器使用PRI3比特Priority,长度为3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。用于当交换机阻塞时,优先发送优先级高的数据包。CFI1比特CFI(CanonicalFormatIndicator),长度为1比特,表示MAC地址是否是经典格式。CFI为0说明是经典格式,CFI为1表示为非经典格式。用于区分以太网帧、FDDI(FiberDistributedDigitalInterface)帧和令牌环网帧。在以太网中,CFI的值为0。VID12比特LANID,长度为12比特,表示该帧所属的VLAN。在VRP中,可配置的VLANID取值范围为1~4094。Length/Type2字节指后续数据的字节长度,但不包括CRC检验码。Data42~1500字节负载(可能包含填充位)。CRC4字节用于帧内后续字节差错的循环冗余检验(也称为FCS或帧检验序列)。帧示例图2QinQ帧ahang9VLAN帧格式帧格式IEEE802.1Q标准对Ethernet帧格式进行了修改,在源MAC地址字段和协议类型字段之间加入4字节的802.1QTag。VLAN帧最小帧长为64字节。图1VLAN帧格式ahang10字段长度含义Destinationaddress6字节目的MAC地址。Sourceaddress6字节源MAC地址。Type2字节长度为2字节,表示帧类型。取值为0x8100时表示802.1QTag帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。PRI3比特Priority,长度为3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。用于当阻塞时,优先发送优先级高的数据包。如果设置用户优先级,但是没有VLANID,则VLANID必须设置为0x000。CFI1比特CFI(CanonicalFormatIndicator),长度为1比特,表示MAC地址是否是经典格式。CFI为0说明是标准格式,CFI为1表示为非标准格式。用于区分以太网帧、FDDI(FiberDistributedDigitalInterface)帧和令牌环网帧。在以太网中,CFI的值为0。VID12比特LANID,长度为12比特,表示该帧所属的VLAN。在VRP中,可配置的VLANID取值范围为1~4094。0和4095协议中规定为保留的VLANID。三种类型:Untagged帧:VID不计Priority-tagged帧:VID为0x000VLAN-tagged帧:VID范围0~4095三个特殊的VID:0x000:设置优先级但无VID0x001:缺省VIDahang11字段长度含义0xFFF:预留VIDLength/Type2字节指后续数据的字节长度,但不包括CRC检验码。Data42~1500字节负载(可能包含填充位)。CRC4字节用于帧内后续字节差错的循环冗余检验(也称为FCS或帧检验序列)。帧示例图2VLAN帧ahang12STP/RSTP/MSTP帧格式STP帧格式图1STP帧格式字段内容说明ProtocolIdentifier协议ID=“0”ProtocolVersionIdentifier协议版本标识符,STP为0,RSTP为2,MSTP为3。BPDUTypeBPDU类型,MSTP为0x02。0x00:STP的ConfigurationBPDU0x80:STP的TCNBPDU(TopologyChangeNotificationBPDU)ahang13字段内容说明0x02:RSTBPDU(RapidSpanning-TreeBPDU)或者MSTBPDU(MultipleSpanning-TreeBPDU)Flags对于“标记域”(Flags),第一个bit(左边、高位bit)表示“TCA(拓扑改变响应)”,最后一个bit(右边、低位bit)表示“TC(拓扑改变)”。RootIdentifier网桥ID都是8个字节——前两个字节是网桥优先级,后6个字节是网桥MAC地址。RootPathCost根路径开销,本端口累计到根桥的开销。BridgeIdentifier发送者BID,本交换机的BID。PortIdentifier发送端口PID,发送该BPDU的端口ID。MessageAge该BPDU的消息年龄。MaxAge消息老化年龄。HelloTime发送两个相邻BPDU间的时间间隔。ForwardDelay控制Listening和Learning状态的持续时间。RSTP帧格式在BPDU的格式上,除了保证和STP格式基本一致之外,RSTP作了一些小的变化。一个是在Type字段,配置BPDU类型不再是0而是2,版本号也变成了2。所以运行STP的交换机收到该类BPDU时会丢弃。另一个变化是在Flag字段,把原来保留的中间6位使用起来。这样改变了的配置BPDU叫做RSTBPDU。RSTPFlag字段格式:Bit7:TCABit6:AgreementBit5:Forwardingahang14Bit4:LearningBit3和Bit2:端口角色00:未知01:根端口10:Alternate/Backup11:指定端口Bit1:ProposalBit0:TCMSTP帧格式多生成树协议MSTP是生成树协议的一种,用于消除网络环路,它兼容生成树协议STP和快速生成树RSTP协议,并且弥补了两者的缺陷。MSTP使用多生成树桥协议数据单元MSTBPDU(MultipleSpanningTreeBridgeProtocolDataUnit)作为生成树计算的依据。MSTBPDU报文用来计算生成树的拓扑、维护网络拓扑以及传达拓扑变化记录。MSTBPDU报文结构如下图所示:ahang15图2MSTP帧格式无论是域内的MSTBPDU还是域间的,前35个字节和RSTBPDU相同。从第36个字节开始是MSTP专有字段。最后的MSTI配置信息字段由若干MSTI配置信息组连缀而成。MSTBPDU中的主要信息如下表所示。字段说明ProtocolIdentifier协议标识符。ahang16字段说明ProtocolVersionIdentifier协议版本标识符,STP为0,RSTP为2,MSTP为3。BPDUTypeBPDU类型,MSTP为0x02。0x00:STP的ConfigurationBPDU0x80:STP的TCNBPDU(TopologyChangeNotificationBPDU)0x02:RSTBPDU(RapidSpanning-TreeBPDU)或者MSTBPDU(MultipleSpanning-TreeBPDU)CISTFlagsCIST标志字段。CIS
本文标题:史上最详尽各种协议报文与个字段分析
链接地址:https://www.777doc.com/doc-6386726 .html