1、网络协议报文格式汇总1 序、 21.1 协议的概念 21.2 TCP/IP 体系结构 22 链路层协议报文格式 22.1 Ethernet 报文格式 22.2 802.1q VLAN 数据帧 (4 字节) 32.3 QinQ 帧格式 42.4 PPP 帧格式 . 42.5 STP 协议格式 52.5.1 语法 52.5.2 语义 62.5.3 时序 82.6 RSTP 消息格式 92.6.1 语法 92.6.2 语义 112.6.3 时序 133 网络层协议报文 143.1 IP 报文头 . 143.2 ARP 协议报文 163.2.1 语法 163.2.2 语义 173.2.3 时序 173
2、.3 VRRP 协议报文 183.3.1 语法 183.4 BGP 协议报文 193.4.1 语法 193.4.2 语义 251序、1.1协议的概念协议由语法、语义和时序三部分组成:语法:规定传输数据的格式;语义:规定所要完成的功能;时序:规定执行各种操作的条件、顺序关系;1.2 TCP/IP体系结构TCP/IP协议分为四层结构,每一层完成特定的功能,包括多个协议。本课程实验中相关 协议的层次分布如附图 3-1所示。图1-1 TCP/IP协议层次RIP、OSPF. FTP屮TCP, UDP2IP, ARP、ICXIP 底层协议(Ethernet#这些协议之间的 PDU封装并不是严格按照低层 P
3、DU封装高层PDU的方式进行的,附图3-2显示了 Ethernet帧、ARP分组、IP分组、ICMP报文、TCP报文段、UDP数据报、RIP报文、 OSPF报文和FTP报文之间的封装关系。图1-2各协议PDU间的封装关系丁空报文段a , UDP数將报42链路层协议报文格式2.1 Ethernet报文格式最新的IEEE 802.3 标准(2002年)中定义 Ethernet帧格式如下:62光亠1500*目的X1AC地址2源MAC地址+类型长度丿数据FCS#其中,类型/长度值小于1536( 0x0600)时表示数据字段的长度, 大于等于1536( 0x0600)时表示数据字段的协议类型。类型 /长
4、度值0x0800表示帧中封装的数据为IP分组,类型值0x0806表示帧中封装的数据为 ARP分组。Ethernet II 类型以太网帧的最小长度为 64字节(6+ 6+ 2 + 46 + 4)最大长度为1518字节(6+ 6+ 2+ 1500 + 4)。其中前12字节分别标识出发送数据帧的源节点 MAC地址和接收数据帧的目标节点 MAC地址。(注:ISL封装后可达1548字节,802.1Q封装后可达1522字节)接下来的2个字节标识出以太网帧所携带的上层数据类型,如下:IPv4: 0x0800ARP:0x0806PPPoE:0x8864802.1Q tag: 0x8100IPV6: 0x86D
5、DMPLS Label:0x8847在不定长的数据字段后是 4个字节的帧校验序列(Frame. Check Sequenee , FCS2.2 802.1q VLAN 数据帧(4 字节)图2-2 VLAN数据帧结构目的XUC地址心源MAC地址心IQugQ类型长度门FCSqBits31-类型门|优先级匸CFkVL7N lgBytes 6246 - 1500Type:长度为2字节,取值为 0x8100,表示此帧的类型为 802.1Q Tag帧。PRI:长度为3比特,可取07之间的值,表示帧的优先级,值越大优先级越高。该优 先级主要为QoS差分服务提供参考依据(COS 。CFI字段标识MAC地址在不
6、同的传输介质中是否以标准格式进行封装,长度为 1bit ,取值为0表示MAC地址以标准格式进行封装,为 1表示以非标准格式封装,缺省取值为0VLANIdentifier (VID):长度 12bits,可配置的 VLANID 取值范围为 1 4094。通常 vlan 0和vlan 4095 预留,vlan1为缺省vlan,一般用于网管。2.3 Qi nQ帧格式图2-3 QinQ帧结构Bytes 64$ 246-1500目的MAC*地址瀰MAC地址SQ2. lQtag802.1Qtag|类型长度数据Q |FCSQ2.4 PPP帧格式图2-4 PPP帧格式Bits SSVv8 1616S+JFla
7、g+J01111114Address+J111111126ritr(31+J00000011ProtocoIp8/16bitPInfomialion*1ldbhsFl孔討01111110LCP报文格式+Code Identifiers Length* Data+JType*3Length*1Value-1pType*21Length*1ValuerppPPP报文的内容是指 Address、Control、Protocol和Information 四个域的内容。各字段的含义如下。Flag域Flag域标识了一个物理帧的起始和结束,该字节为 0x7E。Address域PPP协议是被运用在点对点的链路
8、上,它可以唯一标识对方。因此使用 PPP协议互连的两个通信设备无须知道对方的数据链路层地址。 所以该字节已无任何意义,按照协议的规定将该字节填充为全 1的广播地址。Control域同Address域一样,PPP数据帧的Control域也没有实际意义,按照协议的 规定通信双方将该字节的内容填充为 0x03。Address和Control域一起表示了此报文为PPP报文,即PPP报文头为FF03。Protocol域协议域可用来区分 PPP数据帧中信息域所承载的数据报文的内容。悔後代码门协谕类璽心0021Internet Protocol8021PInternet Protocol Control P
9、rotocolC02VLink Control Protocol*2C02斧Password Authentication Protocol*3C223aChallenge Handshake Authentication Protocols信息域的最大长In formation 域信息域最大长度是 1500字节,其中包括填充域的内容。度等于 PPP协议中 MR( Maximum Receive Unit )的缺省值。2.5 STP协议格式2.5.1语法图2-6 STP报文格式Bvies: 6 6 2 3目的眼地址4 源躺&地址*J 长度类型* LLQHMtieT* Payload有败载荷门*
10、Protocol 10(2Veraion(1JType (iFlags (1)*1Rood ID (8Root Path (4护Sender BID 砂Port ID (2M-Age 即Max Age (2弹Hello 即FD (2 Bytes)!3以太网报文头:目的mac地址 一 目的地址是一个固定的桥的组播地址( 0x0180c2000000)源MAC地址 一即发送该配置消息的桥 MAC地址长度/类型 一这里表示帧长LLC Header 固定的链路头-0x424203Payload BPDU 数据BPDU数 据:Protocol ID 恒为 0。Version 恒为 0。Type 决定该帧
11、中所包含的两种 BPDU格式类型(配置 BPDU或TCN BPDU。Flags 标志活动拓朴中的变化,包含在拓朴变化通知( Topology Cha ngeNotifications )的下一部分中。如下图: STP只使用了第0和第7比特位。Root BID 包括有根网桥的网桥 ID。会聚后的网桥网络中,所有配置 BPDU中的该字段都应该具有相同值(单个 VLAN)。NetXRay可以细分为两个 BID子字段:网桥优先级和网桥MAC地址。Root Path Cost 通向有根网桥(Root Bridge )的所有链路的积累资本。Sender BID 创建当前BPDU的网桥BID。对于单交换机(
12、单个 VLAN发送的所有 BPDU 而言,该字段值都相同,而对于交换机与交换机之间发送的 BPDU而言,该字段值不同)Port ID 每个端口值都是唯一的。 端口 1/1值为0X 8001,而端口 1/2值为0X 8002。Message Age 记录Root Bridge 生成当前BPDU起源信息的所消耗时间。Max Age 保存BPDU的最长时间,也反映了拓朴变化通知( Topology Cha nge Notificatio n )过程中的网桥表生存时间情况。Hello Time 指周期性配置 BPDU间的时间。Forward Delay 用于在Listening 和Learning 状
13、态的时间,也反映了拓朴变化通知(Topology Change Notification )过程中的时间情况。2.5.2语义常用概念:根桥(Root Bridge):桥ID最小的网桥。其中桥 ID是由网桥的优先级和网桥的 MAC组成根端口 (Root Port):这个端口到达根桥的路径是该端口所在网桥到达根桥的最佳路径。 全网中只有根桥是没有根端口的指定端口 (Designated Port):每一个网段选择到根桥最近的网桥作为指定网桥,该网 桥到这一网段的端口为指定端口可选端口 (Alternate Port) :既不是指定端口,也不是根端口的端口Stp做了些什么:STP在二层交换网络中选择
14、一个根桥作为全部二层交换网络的逻辑中心( Root Bridge )STP为全网中每一个参与 STP运算的交换机计算到达根桥的最短距离( Path Cost)检测二层交换网络中存在的冗余链路,并把他们置于阻断 /备份状态检测拓扑结构的变化并根据情况计算新的生成树如何确定跟桥:根桥一BID (网桥ID)最小的网桥定为根桥BID 网桥的优先级+网桥MAC网桥的优先级为可配置,缺省值为 32768在缺省情况下,根桥将由 MAC地址最小的网桥担任如何确认到根桥的 PATH COST到根桥的PATH COST =收到最优配置消息中的 ROOT PATH COST +攵到配置消息的该 接口的开销Path
15、Cost的两种定义标准SpeedLi nk type802.1D cost802.1t cost10MbpsHalf Duplex1002,000,000Full Duplex951,999,999Aggregated link901,000,000100MbpsHalf Duplex19200,000Full Duplex18199,999Aggregated Link15100,0001000MbpsFull Duplex420,000Aggregated Link310,000如何决定BPDU配置消息的优劣:比较RID(Root Bridge ID) ,确定网络同步RID相同,比较Pat
16、h Cost (到根桥距离),越小越优RID/Path Cost 相同,比较指定桥的 BID (Desig nated Bridge ID) ,越小越优RID/Path Cost/DBID 相同,比较指定端口的 ID (Desig nated Port ID) ,越小越优确定网桥端口角色:BPDC报文中总是携带网桥到根桥的最优值通过BPDU配置消息来决定端口的角色根端口:网桥各个端口中到根桥最近的端口指定端口:网桥的端口发送的 BPDC配置消息较接收的 BPDC配置消息更优,则端口为指 定端口可选端口:网桥的端口发送的 BPDC配置消息较接收的 BPDC配置消息更差,则端口为可 选端口STP端
17、口状态:disabled :不收发任何报文Block in g: 不接收或转发数据,接收但不发送BPDU不进行地址学习Listening :不接收或转发数据,接收并发送BPDC,不进行地址学习Learning :不接收或转发数据,接收并发送BPDU开始地址学习Forwarding :接收并转发数据,接收并发送BPDU进行地址学习拓扑改变:拓扑结构改变会使站点在生成树中的相对位置发生移动,那么网桥原来学习到的 MAC也址信息就可能变得不正确,所以学习的 MAC地址信息也要有生存期,如果该时间内没有证明地址的正确,则抛弃这条地址信息MAC地址在STP中有两个生存期:拓扑稳定的时候用较长的生存期拓扑
18、改变的时候用较短的生存期网络拓扑发生改变的时候,并不是所有的网桥都能够发现这一变化,所以需要把拓扑改 变的信息通知到整个网络拓扑改变消息的传播:拓扑改变的触发条件有两个:当Forwarding端口转变为其他状态时某端口变为Forwarding状态,且交换机具备 DP (交换机为非独立交换机)检测到拓扑变化的交换机以 HelloTime为周期持续在根端口上向外发送 TCN报文,至振收到TCA为止收到TCN后,Root Bridge 发送的BPDC报文中的TC位将被置位,维持时间为ForwardDelay+MaxAge2.5.3时序BPDU勺结构:STP通过BPDU(Bridge Protocol
19、 Data Un it) 报文来学习网络拓扑结构;BPDL报文的目标 MAC地址为:01-80-C2-00-00-00 ;BPDC报文在直连的两个网桥或多个网桥内交换, 不能被转发。没有运行STP协议的网桥将把BPDI报文当作普通业务报文转发;STP定时器:Hello Timer: 根桥生成BPDU配置消息的周期,缺省时间为 2秒钟Forward Delay: 配置消息传播到全网的最大时延。缺省为 15秒钟Message Age:从根桥生成BPDU配置消息开始,至U当前时间为止配置消息的存活时间Max Message Age:BPDU配置消息存活的最大时间STP端口状态迁移:图2-8 STP端
20、口迁移状态机STP抓包截图:图2-9 STP报文抓包 IEEE 802.3 EXhernet庄 Destination: spanning-tree-(for-br1dges)_OO (01:SO:c2:00:00:00) l Source : Hang2hou_07 : f 2 : eO (00: Of: e2 :07: f 2: eO)“ngrh: 38 Trailer: 0000000000000000Frame check sequen匸电:0x00000000 5ncorrect, should be 0x6bl更日五04 日 Logi cal-Link 匚ontroldsap: s
21、panning Tree bpdu (0x42)IG Bit: Individualssap: spanning Tree bpdu (0x42)cr Bit: conrniand+ Control field: u, f unc=UI (0x03)m spanning Tree Protocolprotocol identifi er: spanning Tree Protocol (0x0000)protocol versi on identifier: spanni ng Tree (0) bpdu Type:匚onfiguration (0x00)B bpdu flags: 0x000
22、 = Topology 匚hange Acknowledgmenr: no 0 = Topology clnange: nol+j Root Identifi er : 32768 / 0 / 00 : Of : e2 :4c : 83 : 50 Root Path 匚ost: 0S Bridge identifier: 32768 / 0 / 00:0f:e2:4c:83:50Port identifier: 0x8001Message Age: 0Max Age: 20Hel1o Ti me: 2Forward Del ay: 152.6 RSTP消息格式2.6.1语法目的mac it!址
23、 沥取职.地址J 长度类型沪 LLC Headers Payload有效载荷沪+Protocol ID(2Version(1FType 2Flags (1pRood ID 伸Root Path (4)+jSender BID &)*Port ID (2戸(2pMax Age (2Hello (2护FD(2 Bytes)*3Bytes: 6以太网报文头:目的mac地址 一 目的地址是一个固定的桥的组播地址( 0x0180c2000000 )源MAC地址 一即发送该配置消息的桥 MAC地址长度/类型 一这里表示帧长LLC Header 固定的链路头-0x424203Payload BPDU 数据B
24、PDL数 据:Protocol ID 恒为 0。Version 恒为 2。Type 决定该帧中所包含的两种 BPDU格式类型(配置 BPDU或TCN BPDU。Flags 标志活动拓朴中的变化,包含在拓朴变化通知( Topology Cha ngeNotificatio ns )的下一部分中。Root BID 包括有根网桥的网桥 ID。会聚后的网桥网络中,所有配置 BPDU中的该字段都应该具有相同值(单个 VLAN)。NetXRay可以细分为两个 BID子字段:网桥优先级和网桥MAC地址。Root Path Cost 通向有根网桥(Root Bridge )的所有链路的积累资本。Sender
25、BID 创建当前BPDU的网桥BID。对于单交换机(单个 VLAN发送的所有 BPDU 而言,该字段值都相同,而对于交换机与交换机之间发送的 BPDU而言,该字段值不同)Port ID 每个端口值都是唯一的。 端口 1/1值为0X 8001,而端口 1/2值为0X 8002。Message Age 记录Root Bridge 生成当前BPDU起源信息的所消耗时间。Max Age 保存BPDU的最长时间,也反映了拓朴变化通知( Topology Cha nge Notificatio n )过程中的网桥表生存时间情况。Hello Time 指周期性配置 BPDU间的时间。Forward Dela
26、y 用于在Listening 和Learning 状态的时间,也反映了拓朴变化通知(Topology Change Notification )过程中的时间情况。262语义RSTP和STP的实现方式几乎相同,有个别地方做了改进,下面分别介绍 RSTP的改进点RSTP勺端口状态:图2-11 STP端口状态STP端口状态小RSTP端口状态Q是否包括动态拓扑是否学习鳩兌地址*DisabledDiscardingsNgBlockingsDiscarding*3NgN0+3List 亡 ning*3DiscardingsNwLearningsLeaming41YE畀YE却Forwarding*3ForT
27、varding*3YE歸RSTP端 口角色:Root Port 根端口Desig nated Port 指定端口Alternate Port 可选端口Backup Port 备份端口相比STP的改进:如果旧的根端口已经进入阻塞状态,而且新根端口连接的对端交换机的指定端口处于 Forwarding状态,在新拓扑结构中的根端口可以立刻进入转发状态。网络边缘的端口,即直接与终端相连,而不是和其它网桥相连的端口可以直接进入转发 状态,不需要任何延时。增加了网桥之间的协商机制 一Proposal/Agreeme nt 。指定端口可以通过与相连的网桥进行一次握手,快速进入转发状态。 其中Proposal报
28、文为正常的BPDL报文,且Proposal Bit位置位。Agreement报文为Proposal报文的拷贝,且以Agreement Bit代替Proposal Bit位置位。协商必须在点对点链路上进行。 (全双工链路)两种端口状态不受协商机制影响:可选端口( Alternated Port).1、边缘端口( Edge Port).RSTP的改进效果:第一种改进的效果:发现拓扑改变到恢复连通性的时间可达数毫秒,并且无需传递配置 消息。第二种改进的效果:边缘端口的状态变化不影响网络连通性,也不会造成回路,所以进 入转发状态无需延时。第三种改进的效果:网络连通性可以在交换两个配置消息的时间内恢复,
29、 即握手的延时;最坏的情况下,握手从网络的一边开始,扩散到网络的另一边缘的网桥,网络连通性 才能恢复。比如当网络直径为 7的时候,要经过6次握手。RSTP拓扑改变消息的传播:回顾STP的TC:利用TCN BPDU各拓扑变化上报到根桥根桥通过将 FLAG中的TC比特置位(持续时间 Forward Delay+Max Age), 通知所有其它交换机图2-13 STP的TC传播TCNRSTP的 TC 报文:拓扑改变检测:只有非边缘端口转变为 Forwardi ng 状态时,产生拓扑改变检测到拓扑改变后的动作:在两倍 Hello时间内向所有其它指定端口和根端口发送TC置位BPDU报文;清除除接收到 TC报文的端口之外的所有指定端口和根端口学习的 MAC地址。不再使用TCN报报文,报文传送更直接迅速。图2-14 RSTP的TC传播TC802.1W与 802.1D 相兼容:STP协议RSTP的端口在三秒钟定时器后接收到 STP的报文,则端口协议将切换到切换到STP协议
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1