搜档网
当前位置:搜档网 › 网络协议报文格式大集合

网络协议报文格式大集合

目录

1序、 (2)

1.1 协议的概念 (2)

1.2 TCP/IP体系结构 (2)

2链路层协议报文格式 (2)

2.1 Ethernet报文格式 (2)

2.2 802.1q VLAN数据帧(4字节) (3)

2.3 QinQ帧格式 (4)

2.4 PPP帧格式 (4)

2.5 STP协议格式 (5)

2.5.1 语法 (5)

2.5.2 语义 (6)

2.5.3 时序 (8)

2.6 RSTP消息格式 (9)

2.6.1 语法 (9)

2.6.2 语义 (11)

2.6.3 时序 (13)

3网络层协议报文 (14)

3.1 IP报文头 (14)

3.2 ARP协议报文 (16)

3.2.1 语法 (16)

3.2.2 语义 (17)

3.2.3 时序 (17)

3.3 VRRP协议报文 (18)

3.3.1 语法 (18)

3.4 BGP协议报文 (19)

3.4.1 语法 (19)

3.4.2 语义 (25)

1 序、

1.1 协议的概念

协议由语法、语义和时序三部分组成:

语法:规定传输数据的格式;

语义:规定所要完成的功能;

时序:规定执行各种操作的条件、顺序关系;

1.2 TCP/IP体系结构

TCP/IP协议分为四层结构,每一层完成特定的功能,包括多个协议。本课程实验中相关协议的层次分布如附图3-1所示。

图1-1TCP/IP协议层次

这些协议之间的PDU封装并不是严格按照低层PDU封装高层PDU的方式进行的,附图3-2显示了Ethernet帧、ARP分组、IP分组、ICMP报文、TCP报文段、UDP数据报、RIP报文、OSPF报文和FTP报文之间的封装关系。

图1-2各协议PDU间的封装关系

2 链路层协议报文格式

2.1 Ethernet报文格式

最新的IEEE 802.3标准(2002年)中定义Ethernet帧格式如下:

图2-1以太网报文格式

●其中,类型/长度值小于1536(0x0600)时表示数据字段的长度,大于等于1536(0x0600)

时表示数据字段的协议类型。类型/长度值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: 0x0800

ARP:0x0806

PPPoE:0x8864

802.1Q tag: 0x8100

IPV6: 0x86DD

MPLS Label:0x8847

●在不定长的数据字段后是4个字节的帧校验序列(Frame. Check Sequence,FCS)

2.2 802.1q VLAN数据帧(4字节)

图2-2VLAN数据帧结构

●Type:长度为2字节,取值为0x8100,表示此帧的类型为802.1Q Tag帧。

●PRI:长度为3比特,可取0~7之间的值,表示帧的优先级,值越大优先级越高。该

优先级主要为QoS差分服务提供参考依据(COS)。

●CFI 字段标识MAC 地址在不同的传输介质中是否以标准格式进行封装,长度为1bit,

取值为0 表示MAC 地址以标准格式进行封装,为1 表示以非标准格式封装,缺省取值为0

●VLAN Identifier (VID) : 长度12bits,可配置的VLAN ID取值范围为1~4094。通常vlan 0

和vlan 4095预留,vlan1为缺省vlan,一般用于网管。

2.3 QinQ帧格式

图2-3QinQ帧结构

2.4 PPP帧格式

图2-4PPP帧格式

PPP报文的内容是指Address、Control、Protocol和Information四个域的内容。各字段的含义如下。

●Flag域Flag域标识了一个物理帧的起始和结束,该字节为0x7E。

●Address域PPP协议是被运用在点对点的链路上,它可以唯一标识对方。因此使用PPP

协议互连的两个通信设备无须知道对方的数据链路层地址。所以该字节已无任何意义,按照协议的规定将该字节填充为全1的广播地址。

●Control域同Address域一样,PPP数据帧的Control域也没有实际意义,按照协议的规

定通信双方将该字节的内容填充为0x03。Address和Control域一起表示了此报文为PPP 报文,即PPP报文头为FF03。

●Protocol域协议域可用来区分PPP数据帧中信息域所承载的数据报文的内容。

图2-5Protocol协议域

●Information域信息域最大长度是1500字节,其中包括填充域的内容。信息域的最大长

度等于PPP协议中MRU(Maximum Receive Unit)的缺省值。

2.5 STP协议格式

2.5.1 语法

图2-6STP报文格式

以太网报文头:

●目的mac地址―目的地址是一个固定的桥的组播地址(0x0180c2000000)

●源MAC地址―即发送该配置消息的桥MAC地址

●长度/类型―这里表示帧长

●LLC Header ―固定的链路头-0x424203

●Payload ― BPDU数据

BPDU数据:

●Protocol ID ―恒为0。

●Version ―恒为0。

●Type ―决定该帧中所包含的两种 BPDU 格式类型(配置 BPDU 或 TCN BPDU)。●Flags ―标志活动拓朴中的变化,包含在拓朴变化通知(Topology Change Notifications)

的下一部分中。如下图:STP只使用了第0和第7比特位。

图2-7STP报文的flags字段

●Root BID ―包括有根网桥的网桥 ID。会聚后的网桥网络中,所有配置 BPDU 中的该

字段都应该具有相同值(单个 VLAN)。NetXRay 可以细分为两个 BID 子字段:网桥优先级和网桥 MAC 地址。

●Root Path Cost ―通向有根网桥(Root Bridge)的所有链路的积累资本。

●Sender BID ―创建当前 BPDU 的网桥 BID。对于单交换机(单个 VLAN)发送的所有

BPDU 而言,该字段值都相同,而对于交换机与交换机之间发送的 BPDU 而言,该字段值不同)

●Port ID ―每个端口值都是唯一的。端口1/1值为0×8001,而端口1/2 值为0×8002。

●Message Age ―记录 Root Bridge 生成当前 BPDU 起源信息的所消耗时间。

●Max Age ―保存 BPDU 的最长时间,也反映了拓朴变化通知(Topology Change

Notification)过程中的网桥表生存时间情况。

●Hello Time ―指周期性配置 BPDU 间的时间。

●Forward Delay ―用于在 Listening 和 Learning 状态的时间,也反映了拓朴变化通知

(Topology Change Notification)过程中的时间情况。

2.5.2 语义

常用概念:

●根桥(Root Bridge):桥ID最小的网桥。其中桥ID是由网桥的优先级和网桥的MAC组

●根端口(Root Port):这个端口到达根桥的路径是该端口所在网桥到达根桥的最佳路径。

全网中只有根桥是没有根端口的

●指定端口(Designated Port):每一个网段选择到根桥最近的网桥作为指定网桥,该网桥

到这一网段的端口为指定端口

●可选端口(Alternate Port):既不是指定端口,也不是根端口的端口

Stp做了些什么:

●STP在二层交换网络中选择一个根桥作为全部二层交换网络的逻辑中心(Root Bridge)●STP为全网中每一个参与STP运算的交换机计算到达根桥的最短距离(Path Cost)

●检测二层交换网络中存在的冗余链路,并把他们置于阻断/备份状态

●检测拓扑结构的变化并根据情况计算新的生成树

如何确定跟桥:

●根桥—BID(网桥ID)最小的网桥定为根桥

●BID—网桥的优先级+网桥MAC

●网桥的优先级为可配置,缺省值为32768

●在缺省情况下,根桥将由MAC地址最小的网桥担任

如何确认到根桥的PATH COST:

如何决定BPDU配置消息的优劣:

●比较RID(Root Bridge ID),确定网络同步

●RID相同,比较Path Cost(到根桥距离),越小越优

●RID/Path Cost相同,比较指定桥的BID (Designated Bridge ID),越小越优

●RID/Path Cost/DBID相同,比较指定端口的ID (Designated Port ID),越小越优

确定网桥端口角色:

●BPDU报文中总是携带网桥到根桥的最优值

●通过BPDU配置消息来决定端口的角色

●根端口:网桥各个端口中到根桥最近的端口

●指定端口:网桥的端口发送的BPDU配置消息较接收的BPDU配置消息更优,则端口

为指定端口

●可选端口:网桥的端口发送的BPDU配置消息较接收的BPDU配置消息更差,则端口

为可选端口

STP端口状态:

●disabled:不收发任何报文

●Blocking: 不接收或转发数据,接收但不发送BPDU,不进行地址学习

●Listening:不接收或转发数据,接收并发送BPDU,不进行地址学习

●Learning:不接收或转发数据,接收并发送BPDU,开始地址学习

●Forwarding:接收并转发数据,接收并发送BPDU,进行地址学习

拓扑改变:

●拓扑结构改变会使站点在生成树中的相对位置发生移动,那么网桥原来学习到的MAC

地址信息就可能变得不正确,所以学习的MAC地址信息也要有生存期,如果该时间内没有证明地址的正确,则抛弃这条地址信息

●MAC地址在STP中有两个生存期:

●拓扑稳定的时候用较长的生存期

●拓扑改变的时候用较短的生存期

●网络拓扑发生改变的时候,并不是所有的网桥都能够发现这一变化,所以需要把拓扑

改变的信息通知到整个网络

拓扑改变消息的传播:

●拓扑改变的触发条件有两个:

●当Forwarding端口转变为其他状态时

●某端口变为Forwarding状态,且交换机具备DP(交换机为非独立交换机)

●检测到拓扑变化的交换机以HelloTime为周期持续在根端口上向外发送TCN报文,到

接收到TCA为止

●收到TCN后,Root Bridge 发送的BPDU报文中的TC位将被置位,维持时间为

ForwardDelay+MaxAge

2.5.3 时序

BPDU的结构:

●STP通过BPDU(Bridge Protocol Data Unit)报文来学习网络拓扑结构;

●BPDU报文的目标MAC地址为:01-80-C2-00-00-00;

●BPDU报文在直连的两个网桥或多个网桥内交换,不能被转发。没有运行STP协议的

网桥将把BPDU报文当作普通业务报文转发;

STP定时器:

●Hello Timer: 根桥生成BPDU配置消息的周期,缺省时间为2秒钟

●Forward Delay: 配置消息传播到全网的最大时延。缺省为15秒钟

●Message Age:从根桥生成BPDU配置消息开始,到当前时间为止配置消息的存活时间●Max Message Age:BPDU配置消息存活的最大时间

STP端口状态迁移:

图2-8STP端口迁移状态机

STP抓包截图:

图2-9STP报文抓包

2.6 RSTP消息格式

2.6.1 语法

图2-10RSTP报文结构

以太网报文头:

●目的mac地址―目的地址是一个固定的桥的组播地址(0x0180c2000000)

●源MAC地址―即发送该配置消息的桥MAC地址

●长度/类型―这里表示帧长

●LLC Header ―固定的链路头-0x424203

●Payload ― BPDU数据

BPDU数据:

●Protocol ID ―恒为0。

●Version ―恒为2。

●Type ―决定该帧中所包含的两种 BPDU 格式类型(配置 BPDU 或 TCN BPDU)。

●Flags ―标志活动拓朴中的变化,包含在拓朴变化通知(Topology Change Notifications)

的下一部分中。

●Root BID ―包括有根网桥的网桥 ID。会聚后的网桥网络中,所有配置 BPDU 中的该

字段都应该具有相同值(单个 VLAN)。NetXRay 可以细分为两个 BID 子字段:网桥优先级和网桥 MAC 地址。

●Root Path Cost ―通向有根网桥(Root Bridge)的所有链路的积累资本。

●Sender BID ―创建当前 BPDU 的网桥 BID。对于单交换机(单个 VLAN)发送的所有

BPDU 而言,该字段值都相同,而对于交换机与交换机之间发送的 BPDU 而言,该字段值不同)

●Port ID ―每个端口值都是唯一的。端口1/1值为0×8001,而端口1/2 值为0×8002。

●Message Age ―记录 Root Bridge 生成当前 BPDU 起源信息的所消耗时间。

●Max Age ―保存 BPDU 的最长时间,也反映了拓朴变化通知(Topology Change

Notification)过程中的网桥表生存时间情况。

●Hello Time ―指周期性配置 BPDU 间的时间。

●Forward Delay ―用于在 Listening 和 Learning 状态的时间,也反映了拓朴变化通知

(Topology Change Notification)过程中的时间情况。

2.6.2 语义

RSTP和STP的实现方式几乎相同,有个别地方做了改进,下面分别介绍RSTP的改进点

RSTP的端口状态:

图2-11STP端口状态

RSTP端口角色:

●Root Port—根端口

●Designated Port—指定端口

●Alternate Port—可选端口

●Backup Port—备份端口

相比STP的改进:

●如果旧的根端口已经进入阻塞状态,而且新根端口连接的对端交换机的指定端口处于

Forwarding状态,在新拓扑结构中的根端口可以立刻进入转发状态。

●网络边缘的端口,即直接与终端相连,而不是和其它网桥相连的端口可以直接进入转

发状态,不需要任何延时。

●增加了网桥之间的协商机制—Proposal/Agreement。指定端口可以通过与相连的网桥进

行一次握手,快速进入转发状态。其中Proposal报文为正常的BPDU报文,且Proposal Bit位置位。Agreement报文为Proposal报文的拷贝,且以Agreement Bit代替Proposal Bit 位置位。

◆协商必须在点对点链路上进行。(全双工链路)

◆两种端口状态不受协商机制影响:

可选端口(Alternated Port).

1、边缘端口(Edge Port).

图2-12RSTP端口的快速切换

RSTP的改进效果:

●第一种改进的效果:发现拓扑改变到恢复连通性的时间可达数毫秒,并且无需传递配

置消息。

●第二种改进的效果:边缘端口的状态变化不影响网络连通性,也不会造成回路,所以

进入转发状态无需延时。

●第三种改进的效果:网络连通性可以在交换两个配置消息的时间内恢复,即握手的延

时;最坏的情况下,握手从网络的一边开始,扩散到网络的另一边缘的网桥,网络连通性才能恢复。比如当网络直径为7的时候,要经过6次握手。

RSTP拓扑改变消息的传播:

●回顾STP的TC:

◆利用TCN BPDU将拓扑变化上报到根桥

◆根桥通过将FLAG中的TC比特置位(持续时间Forward Delay+Max Age),

通知所有其它交换机

图2-13STP的TC传播

●RSTP的TC报文:

◆拓扑改变检测:只有非边缘端口转变为Forwarding状态时,产生拓扑改变

◆检测到拓扑改变后的动作:在两倍Hello时间内向所有其它指定端口和根

端口发送TC置位BPDU报文; 清除除接收到TC报文的端口之外的所有指定端

口和根端口学习的MAC地址。

◆不再使用TCN报文,报文传送更直接迅速。

图2-14RSTP的TC传播

802.1W与802.1D相兼容:

●RSTP的端口在三秒钟定时器后接收到STP的报文,则端口协议将切换到STP协议●切换到STP协议的RSTP端口将丧失快速收敛特性

●出现STP与RSTP混用的情况,建议将STP设备放在网络边缘

2.6.3 时序

请参考STP的时序介绍:

RSTP抓包截图:

图2-15RSTP抓包截图

3 网络层协议报文3.1 IP报文头

图3-1IPV4报文头格式

图3-2IPV4报文头格式RFC截图

以太网报文头:

●类型:IP报文的类型为0x0800;

IP报文头:

●Version:4比特;表示版本;目前为4;即0100

●IHL:Internet Header Length 首部长度;占4比特。是头部占32比特的数字,包

括可选项。普通IP数据报(没有任何选项),该字段的值是5,即160比特=20字节。此字段最大值为60字节;

●服务类型(Type of Service ,TOS)字段:占8比特。其中前3比特为优先权子字段

(Precedence,现已被忽略)。第8比特保留未用。第4至第7比特分别代表延迟、吞吐量、可靠性和花费。当它们取值为1时分别代表要求最小时延、最大吞吐量、最高可靠性和最小费用。这4比特的服务类型中只能置其中1比特为1。可以全为0,若全为0则表示一般服务。服务类型字段声明了数据报被网络系统传输时可以被怎样处理。

例如:TELNET协议可能要求有最小的延迟,FTP协议(数据)可能要求有最大吞吐量,SNMP协议可能要求有最高可靠性,NNTP(Network News Transfer Protocol,网络新闻传输协议)可能要求最小费用,而ICMP协议可能无特殊要求(4比特全为0)。

实际上,大部分主机会忽略这个字段,但一些动态路由协议如OSPF(Open Shortest Path First Protocol)、IS-IS(Intermediate System to Intermediate System Protocol)可以根据这些字段的值进行路由决策。

●总长度字段:占16比特。指明整个数据报的长度(以字节为单位)。最大长度为65535

字节。

●标志字段:占16比特。用来唯一地标识主机发送的每一份数据报。通常每发一份报文,

它的值会加1。

●标志位字段:占3比特。标志一份数据报是否要求分段。

●段偏移字段:占13比特。如果一份数据报要求分段的话,此字段指明该段偏移距原始

数据报开始的位置

●生存期(TTL:Time to Live)字段:占8比特。用来设置数据报最多可以经过的路由

器数。由发送数据的源主机设置,通常为32、64、128等。每经过一个路由器,其值减1,直到0时该数据报被丢弃

●协议字段:占8比特。指明IP层所封装的上层协议类型,如ICMP(1)、IGMP(2)、

TCP(6)、UDP(17)等

●头部校验和字段:占16比特。内容是根据IP头部计算得到的校验和码。计算方法是:

对头部中每个16比特进行二进制反码求和。(和ICMP、IGMP、TCP、UDP不同,IP 不对头部后的数据进行校验)

●源IP地址、目标IP地址字段:各占32比特。用来标明发送IP数据报文的源主机地址

和接收IP报文的目标主机地址

●可选项字段:占32比特。用来定义一些任选项:如记录路径、时间戳等。这些选项很

少被使用,同时并不是所有主机和路由器都支持这些选项。可选项字段的长度必须是32比特的整数倍,如果不足,必须填充0以达到此长度要求

3.2 ARP协议报文

3.2.1 语法

图3-3ARP报文格式

以太网类型为0x0806代表ARP协议

ARP报文格式:

前四个字段用来指定后四个字段的类型和长度

●硬件地址类型:本地网络的硬件类型,例如10 Mb 的Ethernet,是以0001 为代码。●协议类型:表示ARP 提供解析的协议类型,常为IP 协议, IP 是以0080 为代码。

●硬件地址长度:表示该类型的硬件地址長度,例如Ethernet 和 Token Ring 为06,而Frame

Relay 为02。

●协议地址长度:通常表示IP 位址的长度,IPv4 为04

●OP:操作资源,具体操作如下。

ARP可以用于其他类型的网络,可以解析IP地址以外的地址

3.2.2 语义

●ARP(AddressResolutionProtocol):地址解析用于将计算机的网络地址(IP地址32

位)转化为物理地址(MAC地址48位)是属于链路层的协议。以太网中的数据帧从一个主机到达网内的另一台主机是根据48位的地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核(如驱动)必须知道目的端的硬件地址才能发送数据。当然,点对点的连接是不需要ARP

●RARP:RARP以与ARP相反的方式工作。RARP发出要反向解析的物理地址并希望

返回其对应的IP地址,应答包括由能够提供所需信息的RARP服务器发出的IP地址。

虽然发送方发出的是广播信息,RARP规定只有RARP服务器能产生应答。许多网络指定多个RARP服务器,这样做既是为了平衡负载也是为了作为出现问题时的备份

●ARP proxy:代理ARP是ARP协议的一个变种。对于没有配置缺省网关的计算机要和

其他网络中的计算机实现通信,网关收到源计算机的 ARP 请求会使用自己的 MAC 地址与目标计算机的 IP地址对源计算机进行应答。代理ARP就是将一个主机作为对另一个主机ARP进行应答。它能使得在不影响路由表的情况下添加一个新的Router,使得子网对该主机来说变得更透明化。同时也会带来巨大的风险,除了ARP欺骗,和某个网段内的ARP增加,最重要的就是无法对网络拓扑进行网络概括。代理ARP的使用一般是使用在没有配置默认网关和路由策略的网络上的。

●免费ARP:免费ARP报文是一种特殊的ARP报文,该报文中携带的发送端IP地址和目

标IP地址都是本机IP地址,报文源MAC地址是本机MAC地址,报文的目的MAC地址是广播地址。设备通过对外发送免费ARP报文来实现以下功能:1、确定其它设备的IP 地址是否与本机的IP地址冲突。当其它设备收到免费ARP报文后,如果发现报文中的IP地址和自己的IP地址相同,则给发送免费ARP报文的设备返回一个ARP应答,告知该设备IP地址冲突。2、设备改变了硬件地址,通过发送免费ARP报文通知其它设备更新ARP表项。

3.2.3 时序

●每个主机上都有一个ARP高速缓存,即ARP表

●ARP过程的举例:

假设我们的计算机IP地址是192.168.1.1,要执行这个命令:ping192.168.1.2。

该命令会通过ICMP协议发送ICMP数据包。

●该过程需要经过下面的步骤:

1、应用程序构造数据包,该示例是产生ICMP包,被提交给内核(网络驱动

程序);

内核检查是否能够转化该IP地址为MAC地址,也就是在本地的ARP缓存中

查看IP-MAC对应表;

如果存在该IP-MAC对应关系,那么跳到步骤7;如果不存在该IP-MAC对应

关系,那么接续下面的步骤;

内核进行ARP广播,目的地的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令类

型为REQUEST(1),其中包含有自己的MAC地址;

当192.168.1.2主机接收到该ARP请求后,就发送一个ARP的REPL Y(2)命

令,其中包含自己的MAC地址;

本地获得192.168.1.2主机的IP-MAC地址对应关系,并保存到ARP缓存中;

内核将把IP转化为MAC地址,然后封装在以太网头结构中,再把数据发送出

去;

使用arp-a命令就可以查看本地的ARP缓存内容。

所以,执行一个本地的PING命令后,ARP缓存就会存在一个目的IP的记录了。

当然,如果你的数据包是发送到不同网段的目的地,那么就一定存在一条网关的IP-MAC 地址对应的记录。

ARP 表的老化机制:

1、UNIX实现中完整表项的生存时间为20分钟,不完整表项的生存时间为3分钟所谓

不完整表项就是在以太网上对一个不存在的主机发出ARP请求时,在本地保留的一个只有ip地址没有MAC地址的表项。

2、Windows实现中没有被使用的ARP表项老化时间2分钟,正在使用的ARP表项老化

时间10分钟。在表项正在使用时,超时值就应该启动,但是大多数的从伯克利系统演变而来的系统没有这样做――它们每次都是在访问表项进重设超时值。

3、路由器ARP老化时间可以设置,时间范围一般是1-1440分钟之间,缺省为20分钟。

注:没有UNIX中的完整表项和不完整表项的概念,也不存在Windows中区分ARP 表项是否被上层协议所正在使用,只是固定一个老化时间,时间到了,表项就老化,正在使用的表项也一样被老化。

3.3 VRRP协议报文

3.3.1 语法

源ip地址:物理接口的主ip地址;

目的地址:224.0.0.18

3.4 BGP协议报文

3.4.1 语法

1. BGP报文头格式

图3-4BGP报文头格式

BGP使用TCP端口号179;

报文头参数解释:

●Marker:16字节,用来检查兼容性,固定全1;

●Length:无符号整形,表示整个BGP报文的长度,包括报文头,这也就是说,允许在

传输层数据流定位下一个消息。最小19字节,最大4096字节。

●Type:1字节无符号整形,定义了消息类型码,如下:

2. Open消息格式

图3-5Open消息格式

在TCP连接建立后,第一个发送的就是Open消息,如果发送的Open消息被对方接受,对方会发送一个Keepalive消息来对该Open消息进行确认。

Open消息参数解释:

●Version:1字节无符号整数,表示了BGP的版本号,目前是4;

●My autonomous System:2字节无符号整数,表示了发送者的AS ID号;

●Hold Time:2字节无符号整数,表示了发送者打算设置的Hold time值,在收到一个open

消息后,BGP必须从接收到的open消息中的hold time和自己配置的hold time进行选择,选择其中较小的值为新的本地hold time。Hold time 最少是0或者大于等于3秒,它表示在收到下一个Update或Keepalive报文之前可以流逝的最大秒数。注意:有可能因为hold time时间不一致导致bgp邻居无法建立(根据设备实现)。

●BGP Identifier:4字节无符号整数指示了BGP发言者的标示符。给定的BGP发言者设

置BGP标示符为IP地址。在启动的时候决定BGP表示符,对每一个本地端口和每一个对端是一样的。

●Optional Parameters Length(可选参数长度):1字节无符号整数指示可选参数域的字节

总长度。如果这个域是0,说明没有可选参数。

●Optional Parameters(可选参数):这个域包含了可选参数清单,每一个参数编码为<参

数类型,参数长度,参数值>三元组。(可选参数还可以协商双方支持的能力集)。

网络协议报文格式大集合

可编辑 目录 1 序、 (2) 1.1 协议的概念 (2) 1.2 TCP/IP体系结构 (2) 2 链路层协议报文格式 (2) 2.1 Ethernet报文格式 (2) 2.2 802.1q VLAN数据帧(4字节) (3) 2.3 QinQ帧格式 (4) 2.4 PPP帧格式 (4) 2.5 STP协议格式 (5) 2.5.1 语法 (5) 2.5.2 语义 (6) 2.5.3 时序 (8) 2.6 RSTP消息格式 (9) 2.6.1 语法 (9) 2.6.2 语义 (11) 2.6.3 时序 (13) 3 网络层协议报文 (14) 3.1 IP报文头 (14) 3.2 ARP协议报文 (16) 3.2.1 语法 (16) 3.2.2 语义 (17) 3.2.3 时序 (17) 3.3 VRRP协议报文 (18) 3.3.1 语法 (18) 3.4 BGP协议报文 (19) 3.4.1 语法 (19) 3.4.2 语义 (25)

1 序、 1.1 协议的概念 协议由语法、语义和时序三部分组成: 语法:规定传输数据的格式; 语义:规定所要完成的功能; 时序:规定执行各种操作的条件、顺序关系; 1.2 TCP/IP体系结构 TCP/IP协议分为四层结构,每一层完成特定的功能,包括多个协议。本课程实验中相关协议的层次分布如附图3-1所示。 图1-1TCP/IP协议层次 这些协议之间的PDU封装并不是严格按照低层PDU封装高层PDU的方式进行的,附图3-2显示了Ethernet帧、ARP分组、IP分组、ICMP报文、TCP报文段、UDP数据报、RIP报文、OSPF报文和FTP报文之间的封装关系。 图1-2各协议PDU间的封装关系 2 链路层协议报文格式 2.1 Ethernet报文格式 最新的IEEE 802.3标准(2002年)中定义Ethernet帧格式如下:

实验六TCP报文段的格式及协议分析

实验六TCP报文段的格式及协议分析 【实验目的】 1、分析TCP报文段的格式; 2、了解TCP报文段首部结构以及各个字段的内容及其作用; 3、通过观察TCP协议的交互掌握TCP连接建立、数据传输、连接释放的过程。 【实验内容】 1、分析TCP报文段的结构,熟悉各个字段的内容、功能、格式和取值范围; 2、编辑TCP报文段首部各字段的内容; 3、单个或批量发送已经编辑好的TCP报文段; 4、分析TCP协议的交互过程。 【实验原理】 TCP TCP 序号:占4 字段的值指的是本报文段所发送的数据的第一个字节的序号。 确认号:占4个字节,是期望收到对方下一个报文段的数据的第一个字节的序号。 数据偏移:占4 bit,它指出报文段的数据起始处距离TCP报文段的起始处有多远。实际上就是TCP报文段首部的长度。 保留:占6 bit,保留为今后使用。 紧急比特URG:当URG=1时,表明紧急指针有效。它告诉系统报文段中有紧急数据,应尽快传送。

确认比特ACK:ACK=1时确认号字段才有效,ACK=0时确认号字段无效。 推送比特PUSH:接收方接收到PUSH=1的报文段时会尽快的将其交付给接收应用进程,而不再等到整个接收缓存都填满后再向上交付。 复位比特RST:当RST=1时,表明TCP连接中出现严重差错,必须释放连接。复位比特还用来拒绝一个非法的报文段或拒绝打开一个连接。 同步比特SYN:在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,应在响应的报文段中使SYN=1和ACK=1。因此,SYN=1就表示这是一个连接请求或连接接收报文。 终止比特FIN:当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。 窗口:占2个字节,用来控制对方发送的数据量,单位是字节,指明对方发送窗口的上限。校验和:占2个字节,校验的范围包括首部和数据两个部分,计算校验和时需要在报文段前加上12字节的伪首部。 紧急指针:占2个字节,指出本报文段中紧急数据最后一个字节的序号。只有当紧急比特URG=1时才有效。 选项:长度可变。TCP只规定了一种选项,即最大报文段长度MSS (Maximum Segment Size)。

TCPIP协议格式

通过连接实例解读TCP/IP协议 最近狂补基础,猛看TCP/IP协议。不过,书上的东西太抽象了,没有什么数据实例,看了不久就忘了。于是,搬来一个sniffer,抓了数据包来看,呵呵,结合书里面得讲解,理解得比较快。我就来灌点基础知识。 开始吧,先介绍IP协议。 IP协议(Internet Protocol)是网络层协议,用在因特网上,TCP,UDP,ICMP,IGMP数据都是按照IP数据格式发送得。IP协议提供的是不可靠无连接得服务。IP数据包由一个头部和一个正文部分构成。正文主要是传输的数据,我们主要来理解头部数据,可以从其理解到IP协议。 IP数据包头部格式(RFC791) Example Internet Datagram Header 上面的就是IP数据的头部格式,这里大概地介绍一下。 IP头部由20字节的固定长度和一个可选任意长度部分构成,以大段点机次序传送,从左到右。 TCP协议 TCP协议(TRANSMISSION CONTROL PROTOCOL)是传输层协议,为应用层提供服务,和UDP不同的是,TCP协议提供的可靠的面向连接的服务。在RFC793中是基本的TCP描述。关于TCP协议的头部格式内容的说明: TCP Header FORMat

TCP Header FORMat 跟IP头部差不多,基本的长度也是20字节。TCP数据包是包含在一个IP数据报文中的。 好了,简单介绍到此为止。来看看我捕获的例子吧。这是一次FTP的连接,呵呵,是cuteftp默认的cuteftp的FTP站点,IP地址是:216.3.226.21。我的IP地址假设为:192.168.1.1。下面的数据就是TCO/IP连接过程中的数据传输。我们可以分析TCP/IP协议数据格式以及TCP/IP连接的三次握手 (ThreeWay-Handshake)情况。下面的这些十六进制数据只是TCP/IP协议的数据,不是完整的网络通讯数据。 第一次,我向FTP站点发送连接请求(我把TCP数据的可选部分去掉了) 192.168.1.1->216.3.226.21 IP头部: 45 00 00 30 52 52 40 00 80 06 2c 23 c0 a8 01 01 d8 03 e2 15 TCP头部:0d 28 00 15 50 5f a9 06 00 00 00 00 70 02 40 00 c0 29 00 00 来看看IP头部的数据是些什么。 第一字节,“45”,其中“4”是IP协议的版本(Version),说明是IP4。“5”是IHL位,表示IP头部的长度,是一个4bit字段,最大就是1111了,值为12,IP头部的最大长度就是60字节。而这里为“5”,说明是20字节,这是标准的IP头部长度,头部报文中没有发送可选部分数据。 接下来的一个字节“00”是服务类型(Type of Service)。这个8bit字段由 3bit的优先权子字段(现在已经被忽略),4 bit的TOS子字段以及1 bit的未用字段(现在为0)构成.4 bit的TOS子字段包含:最小延时、最大吞吐量、最高可靠性以及最小费用构成,这四个1bit位最多只能有一个为1,本例中都为0,表示是一般服务。 接着的两个字节“00 30”是IP数据报文总长,包含头部以及数据,这里表示48字节。这48字节由20字节的IP头部以及28字节的TCP头构成(本来截取的TCP头应该是28字节的,其中8字节为可选部分,被我省去了)。因此目前最大的IP数据包长度是65535字节。 再是两个字节的标志位(Identification):“5252”,转换为十进制就是21074。这个是让目的主机来判断新来的分段属于哪个分组。 下一个字节“40”,转换为二进制就是“0100 0000”,其中第一位是IP协议目前没有用上的,为0。接着的是两个标志DF和MF。DF为1表示不要分段,MF

计算机网络使用网络协议分析器捕捉和分析协议数据包样本

计算机网络使用网络协议分析器捕捉和分析协议数据包样 本 计算机网络使用网络协议分析器捕捉和分析协议数据包广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室11月月28日学院计算机科学与教育软件学院年级//专业//班姓名学号实验课程名称计算机网络实验成绩实验项目名称使用网络协议分析器捕捉和分析协议数据包指导老师熊伟 一、实验目的 (1)熟悉ethereal的使用 (2)验证各种协议数据包格式 (3)学会捕捉并分析各种数据包。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 二、实验环境1.MacBook Pro2.Mac OS3..Wireshark 三、实验内容,验证数据帧、IP数据报、TCP数据段的报文格式。 ,,分析结果各参数的意义。 器,分析跟踪的路由器IP是哪个接口的。 对协议包进行分析说明,依据不同阶段的协议出分析,画出FTP 工作过程的示意图a..地址解析ARP协议执行过程b.FTP控制连接建立过程c.FTP用户登录身份验证过程本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。

文档如有不当之处,请联系本人或网站删除。 d.FTP数据连接建立过程 e.FTP数据传输过程 f.FTP连接释放过程(包括数据连接和控制连接),回答以下问题:a..当访问某个主页时,从应用层到网络层,用到了哪些协议?b.对于用户请求的百度主页(),客户端将接收到几个应答报文??具体是哪几个??假设从是本地主机到该页面的往返时间是RTT,那么从请求该主页开始到浏览器上出现完整页面,一共经过多长时间??c.两个存放在同一个服务器中的截然不同的b Web页(例如,,和d.假定一个超链接从一个万维网文档链接到另一个万维网文档,由于万维网文档上出现了差错而使超链接指向一个无效的计算机名,这时浏览器将向用户报告什么?e.当点击一个万维网文档时,若该文档除了次有文本外,,那么需要建立几次TCP连接和个有几个UDP过程?本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 析,分析ARP攻击机制。 (选做),事实上,TCP开始发送数据时,使用了慢启动。 利察用网络监视器观察TCP的传输和确认。 在每一确认到达之后,慢启动过程中发生了什么?(选做),,TCP 必须准备重发初始段(用于打开一个连接的一个段)。 TCP应等多久才重发这一段?TCP应重发多少次才能宣布它不能打开一个连接?为找到结果尝试向一个不存在的地址打开一个连接,并使用网络监视器观察TCP的通信量。

基于tcpip协议的Modbus

基于tcp/ip协议的modbus 业以太网与Modbus TCP/IP 一以太网的标准 以太网是一种局域网。早期标准为IEEE802.3,数据链路层使用CSMA/CD,10Mb/s 速度物理层有: (1)10Base5粗同轴电缆,RG-8,一段最长为500m; (2)10Base2细同轴电缆,RG-58,一段最长为185m; (3)10Base T双绞线,UTP或STP,一段最长为100m。 快速以太网为100Mb/s,标准为802.3a,介质为100Base Tx双绞线、100Base Fx光纤。 目前10/100M以太网使用最为普遍,很多企事业用户已实现100M到以太网桌面,确实体验到高速“冲浪”的快感,另外从距离而言,非屏蔽双绞线(UTP)为100m,多模光纤可达2~3km,单模光纤可大于100km。千兆以太网1000Mb/s为802.3z/802.3ab,万兆以太网10Gb/s 为802.3ae,将为新一轮以太网的发展带来新的机遇与冲击。 二工业以太网与商用以太网的区别 什么是工业以太网?技术上,它与IEEE802.3兼容,故从逻辑上可把商用网和工业网看成是一个以太网,而用户可根据现场情况,灵活装配自己的网络部件,但从工业环境的恶劣和抗干扰的要求,设计者希望采用市场上可找到的以太网芯片和媒介,兼顾考虑下述工业现场的特殊要求:首先要考虑高温、潮湿、振动;二是对工业抗电磁干扰和抗辐射有一定要求,如满足EN50081-2、EN50082-2标准,而办公室级别的产品未经这些工业标准测试,表1列出了一些常用工业标准。为改善抗干扰性和降低辐射,工业以太网产品多使用多层线路板或双面电路板,且外壳采用金属如铸铝屏蔽干扰;三是电源要求,因集线器、交换机、收发器多为有源部件,而现场电源的品质又较差,故常采用双路直流电或交流电为其供电,另外考虑方便安装,工业以太网产品多数使用DIN导轨或面板安装;四是通信介质选择,在办公室环境下多数配线使用UTP,而在工业环境下推荐用户使用STP(带屏蔽双绞线)和光纤。

TCPIP等协议报文格式

TCP/IP等协议报文格式 应用层(Application) HTTP、Telnet、FTP、SNMP、SMTP 传输层(transport) TCP、UDP 网间层(Internet) IP-ARP、RARP、ICMP 网络接口层(NETwork)Ethernet、X.25、SLIP、PPP 以太网数据报文封装格式 TCP报文 TCP数据区 TCP IP报文 IP数据区 IP 帧头 帧数据区

ETH 前导 目的地址 源地址 帧类型 数据 CRC 长度 8 6 6 2 46~1500 4 用户填充数据60~1514 8字节前导用于帧同步,CRC用于帧校验,此2类数据可由网卡芯片自动添加。目的地址和源地址是指网卡的物理地址,即MAC地址,多数情况下具有唯一性。帧类型或协议类型——0X0806为ARP协议,0X0800为IP协议。 ARP/RARP (地址解析/反向地址解析)报文格式 0~7

8~15 16~23 24~31 硬件协议 协议类型 硬件地址长度 协议地址长度 操作 发送者硬件地址(字节0~3) 发送者硬件地址(字节4~5) 发送者IP地址(字节0~1) 发送者IP地址(字节2~3) 目的硬件地址(字节0~1) 目的硬件地址(字节2~5) 目的IP地址(字节0~3) 硬件类型——发送者本机网络接口类型(以太网=1) 协议类型——发送者所提供/请求的高级协议地址类型(IP协议=0x0800)操作——ARP请求=1,ARP响应=2,RARP请求=3,RARP响应=4

IP数据报头格式如下表0~3 4~7 8~11 12~15 16~18 19~31 4位 版本 4位 包头长度 8位 服务类型(TOS) 16位 总长度 16位 标识号(ID号) 3位 Flag 13位 片偏移 8位 生存时间 8位 协议类型 16位

TCP报文段的格式与协议分析

实验六TCP 报文段的格式及协议分析 【实验目的】 1、分析 TCP 报文段的格式; 2、了解 TCP 报文段首部结构以及各个字段的内容及其作用; 3、通过观察 TCP 协议的交互掌握TCP 连接建立、数据传输、连接释放的过程。 【实验内容】 1、分析 TCP 报文段的结构,熟悉各个字段的内容、功能、格式和取值范围; 2、编辑 TCP 报文段首部各字段的内容; 3、单个或批量发送已经编辑好的TCP 报文段; 4、分析 TCP 协议的交互过程。 【实验原理】 TCP 是 TCP/IP 体系中面向连接的运输层协议,提供全双工的和可靠交付的服务。TCP 报文段的格式如下图所示: 32 bit 源端口目的端口 TCP 首部数据 偏移 序号 确认号20 字节保留 U A P R S F 窗口 R C S S Y I G K HTNN 检验和紧急指针 选项和填充 数据 源端口和目的端口:各占 2 个字节,是运输层与应用层的服务接口。 序号:占 4 个字节。 TCP 连接传送的数据流中的每一个字节都被编上一个序号。首部中序 号字段的值指的是本报文段所发送的数据的第一个字节的序号。 确认号:占 4 个字节,是期望收到对方下一个报文段的数据的第一个字节的序号。 数据偏移:占 4 bit,它指出报文段的数据起始处距离TCP 报文段的起始处有多远。实际上 就是 TCP 报文段首部的长度。 保留:占 6 bit ,保留为今后使用。 紧急比特 URG :当 URG=1 时,表明紧急指针有效。它告诉系统报文段中有紧急数据,应尽快传送。

确认比特 ACK :ACK=1 时确认号字段才有效, ACK=0 时确认号字段无效。 推送比特 PUSH :接收方接收到 PUSH=1 的报文段时会尽快的将其交付给接收应用进程, 而 不再等到整个接收缓存都填满后再向上交付。 复位比特 RST :当 RST=1 时,表明 TCP 连接中出现严重差错,必须释放连接。复位比特还 用来拒绝一个非法的报文段或拒绝打开一个连接。 同步比特 SYN :在连接建立时用来同步序号。当 SYN=1 而 ACK=0 时,表明这是一个连接 请求报文段。 对方若同意建立连接, 应在响应的报文段中使 SYN=1 和 ACK=1 。因此,SYN=1 就表示这是一个连接请求或连接接收报文。 终止比特 FIN :当 FIN=1 时,表明此报文段的发送端的数据已发送完毕, 并要求释放运输连 接。 窗口:占 2 个字节,用来控制对方发送的数据量,单位是字节,指明对方发送窗口的上限。 校验和: 占 2 个字节, 校验的范围包括首部和数据两个部分, 计算校验和时需要在报文段前 加上 12 字节的伪首部。 紧急指针:占 2 个字节,指出本报文段中紧急数据最后一个字节的序号。只有当紧急比特 URG=1 时才有效。 选项:长度可变。 TCP 只规定了一种选项, 即最大报文段长度 MSS (Maximum Segment Size) 。 TCP 连接建立的过程如下图所示: 主机 A 主机 B 主动打开 SY N , S EQ = x 被动打开 SYN , S E Q = y , A CK = x 1 确认 确认 A CK = y 1 TCP 连接释放的过程如下图所示: 主机 A 主机 B 应用进程 F IN , SEQ = x 通知主机 释放连接 应用进程 A C K = x 1 FIN , SEQ = y , A CK = x + 1 应用进程 释放连接 A CK = y 1

常见网络协议报文格式汇总

附件:报文格式 1.1Ethernet数据包格式(RFC894) 1、DstMac的最高字节的最低BIT位如果为1,表明此包是以太网组播/广播包, 送给CPU处理。 2、将DstMac和本端口的MAC进行比较,如果不一致就丢弃。 3、获取以太网类型字段Type/Length。 0x0800→IP 继续进行3层的IP包处理。 0x0806→ARP 送给CPU处理。 0x8035→RARP 送给CPU处理。 0x8863→PPPoE discovery stage 送给CPU处理。 0x8864→PPPoE session stage 继续进行PPP的2层包处理。 0x8100→VLAN 其它值当作未识别包类型而丢弃。 1.2PPP数据包格式 1、获取PPP包类型字段。 0x0021→IP 继续进行3层的IP包处理。 0x8021→IPCP 送给CPU处理。 0xC021→LCP 送给CPU处理。 0xc023→PAP 送给CPU处理。 0xc025→LQR 送给CPU处理。 0xc223→CHAP 送给CPU处理。 0x8023→OSICP 送给CPU处理。 0x0023→OSI 送给CPU处理。 其它值当作未识别包类型而丢弃。

1.3 ARP 报文格式(RFC826) |←----以太网首部---->|←---------28字节ARP 请求/应答 ------ 1.4 IP 报文格式(RFC791)(20bytes) TOS 1.5 PING 报文格式(需IP 封装)(8bytes) 1.6 TCP 报文格式(需IP 封装)(20bytes)

紧急指针有效 ACK 确认序号有效 PSH 接收方应该尽快将这个报文交给应用层 RST 重建连接 SYN 同步序号用来发起一个连接 FIN 发端完成发送认务 1.7 UDP 报文格式(需IP 封装)(8bytes) 1.8 MPLS 报文格式 MPLS 报文类型: 以太网中 0x8847(单播) 0x8848(组播) PPP 类型上 0x8281(MPLSCP)

TCPIP协议分析实验报告

.. TCP/IP协议分析及应用实验报告 学号:姓名:班级: 实验项目编号: B03862704 实验项目名称:传输控制协议TCP 一、实验目的: 1. 掌握TCP协议的报文格式。 2. 掌握TCP连接的建立和释放过程。 3. 掌握TCP数据传输中编号与确认的过程。 4. 掌握TCP协议校验和的计算方法。 5. 理解TCP重传机制。 二、实验环境: Windows server 2003 TCP/IP协议分析及应用教学实验平台 三、实验原理(或要求): TCP报文格式 16位源端口号 16位目的端口号 位序号32 位确认序号32F P U A R S 4位首6保留(16I 位窗口大小 C 部长R S S Y 位)N N T G K H 度位紧急指针16位校验和16 选项数据 连接的建立TCP在面向连接的环境中,开始传输数据之前,在两个终 TCP是面 向连接的协议。通信双方必须用彼此的初端之间必须先建立一个连接。对于一个 要建立的连接,(指明希望收到的下一个ackseq始化序列号和来自对方成功传输 确认的应答号。ACK,应答信号写为八位组的编号)来同步,习惯上将同步信 号写为SYN整个同步的过程称为三次握手,如图: 优质范文.

连接的释放TCP附加标记的报FINTCP使用四次握手来结束通话(使用一个带有对于一个已经建立的连接,如图。文段) TCP重传机制只要计时器设置的重传时间到期,就对这个报文段设置一次计时器。TCP每发送一个报文段,但还没有收到确认,就要重传这一报文段。

优质范文. .. 四、实验步骤: 练习一:察看TCP连接的建立和释放 主机B、C、D启动协议分析器进行数据捕获,并设置过滤条件(提取TCP协议)。主机A启动仿真编辑器,进入TCP连接视图。在“服务器信息/IP地址”中填入主机C的IP地址;使用“端口扫描”获取主机C的TCP端口列表,在“服务器信息/端口”中填入主机C的一个TCP端口(大于1024);点击“连接”按钮进行连接。 察看主机B、C、D捕获的数据,填写下表。 字段名称报文1 报文2 报文3 Sequence Number Acknowledgement Number ACK SYN TCP连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。 主机A断开与主机C的TCP连接。 察看主机B、C、D捕获的数据,填写下表。

网络协议:传输层协议报文信息分析

网络协议实验报告 实验名称:传输层协议报文承载信息分析 实验目的:进一步熟悉协议分析工具软件使用,分析传输层报文承载的信息,掌握传输层协议工作的基本原理。 实验内容: 1、熟练应用与传输层有关的程序命令netstat、telnet; 2、截取浏览网页时和即时通讯时的数据报文,分析是基于UDP还是基于TCP(即时通讯程序可选择QQ、MSN),并分析每种应用各自的端口号(分客户端和服务端); 3、通过协议分析软件分析TCP和UDP的报文格式;分析MSS和MTU 的关系,认识TCP报文中携带MSS的时机。 4、截取有关数据报文,分析TCP建立连接时“三次握手”的过程。可通过telnet应用程序帮助建立的TCP连接,也可对基于TCP的应用程序工作时的TCP连接进行截取数据报。 5、截取有关数据报文,分析TCP断开连接时“四次握手”的过程。 6、在进行大量的数据上传或下载时(比如基于HTTP或FTP的较大文件的上传),通过协议分析观察是否有流量和拥塞控制的表征。 实验日期:2010-12-09 实验步骤: (1)学习使用netstat 和telnet 命令 在命令窗口中输入 netstat /?即可得到所有命令(如图下)

当前网络的TCP、UDP连接状态(如图)

(2)telnet 命令(如图) 使用telnet https://www.sodocs.net/doc/8614300010.html, 80 远程登录中国矿业大学服务器,使用三次TCP连接(如图) (3)截取浏览网页时和即时通讯时的数据报文,分析是基于UDP还是基于TCP (即时通讯程序可选择QQ、MSN),并分析每种应用各自的端口号(分客户端和服务端); A、捕获浏览器浏览网页时的数据报文是基于TCP 其对应的源端口号:客户端是:3575 服务端是:80 (如图)

TCPIP协议大作业--修改版.

作业1:OSI/RM、TCP/IP编址和底层网络技术(20分 1、试将以下功能分别属于OSI/RM的哪一层? A、确定路由 B、流量控制 C、将ASCII转换到EBCDIC D、可靠的端到端数据传输 E、定义帧 F、为用户提供电子邮件、文件传输等服务 G、在物理介质上传送bit流 H、建立、维护和终止会话 答: A、确定路由:网络层 B、流量控制:数据链路层、传输层 C、将ASCII转换到EBCDIC :表示层 D、可靠的端到端数据传输:传输层 E、定义帧:数据链路层 F、为用户提供电子邮件、文件传输等服务:应用层 G、在物理介质上传送bit流:物理层 H、建立、维护和终止会话:会话层

2、物理地址属于OSI/RM的哪一层?是否需要全球唯一?应在什么范围内唯一?Ethernet 网卡的物理地址——MAC地址为什么要求全球唯一? 3、在使用Windows系统的PC机上配置Internet协议(TCP/IP属性时,―默认网关‖是指路由器(Router还是网关(Gateway?理由是什么? 4、完成下面的struct语句,用它来描述Ethernet的帧格式(RFC 894,从―目的地址‖开始。 struct Ethernet_frame { …… unsigned long intCRC; }; 作业2:IP 地址规划与路由选择(10分 根据下图所示网络拓扑进行IP 地址规划。 A E C B E0 S0 E0E0 E0 S0 S1

S0S2 S0 S1E1S1 S2 S1 D 要求: (1如果IP 地址总空间是10.1.1.0/24,能否根据图中所示网络大小为每个IP 网络分配适当的IP 地址空间?如果可以,应如何编址?如果不行,请说明理由。 (2IP 地址总空间是10.1.0.0/16,请采用聚合设计,按照图中所示网络大小为每个IP 网络分配适当的IP 地址空间,从而使得每台路由器的路由表项数尽可能最少。写出每个IP 网络的网络地址、掩码和直接广播地址,并写出每台路由器每个网络接口的IP 地址,以及每个有主机的子网中一台主机的IP 地址、子网掩码和缺省网关。 (3请根据(2中的IP 地址分配方案,按以下格式分别写出路由器A 、B 、C 、D 和E 的路由选择表。 作业3:ARP 、IP 、ICMP 、UDP (45分 1、 ARP 分组的长度固定吗?为什么?携带ARP 分组的以太网帧的长度是多 少? 2、路由器A 的一个网络接口的IP 地址为195.23.67.3,掩码是 255.255.255.0,以 太网物理地址是0x2345AB4F67CD 。路由器收到一个目的IP 地址是 185.11.78.10的IP 分组,当路由器检查路由表时,它找出该分组应交付给下一跳路由

http协议数据包格式

竭诚为您提供优质文档/双击可除http协议数据包格式 篇一:数据包格式 tcp/ip协议族包括诸如internet协议(ip)、地址解析协议(aRp)、互联网控制信息协议(icmp)、用户数据报协议(udp)、传输控制协议(tcp)、路由信息协议(Rip)、telnet、简单邮件传输协议(smtp)、域名系统(dns)等协议。tcp/ip 协议的层次结构如图3所示。 图3tcp/ip协议层次结构 (1)应用层应用层包含一切与应用相关的功能,相当于osi的上面三层。我们经常使用的http、Ftp、telnet、smtp 等协议都在这一层实现。 (2)传输层传输层负责提供可靠的传输服务。该层相当于osi模型中的第4层。在该层中,典型的协议是 tcp(transmissioncontrolprotocol)和 udp(userdatagramprotocol)。其中,tcp提供可靠、有序的,面向连接的通信服务;而udp则提供无连接的、不可靠用户数据报服务。 (3)网际层网际层负责网络间的寻址和数据传输,其功

能大致相当于osi模型中的第3层。在该层中,典型的协议是ip(internetprotocol)。 (4)网络接口层最下面一层是网络接口层,负责数据的实际传输,相当于osi模型中的第1、第2层。在tcp/ip协议族中,对该层很少具体定义。大多数情况下,它依赖现有的协议传输数据。 tcp/ip与osi最大的不同在于osi是一个理论上的网络通信模型,而tcp/ip则是实际运行的网络协议。tcp/ip实际上是由许多协议组成的协议簇。图4示出tcp/ip的主要协议分类情况。 整个过程: 1.dhcp请求ip地址的过程 l发现阶段,即dhcp客户端寻找dhcp服务器的阶段。客户端以广播方式发送dhcpdiscoVeR包,只有dhcp服务器才会响应。 l提供阶段,即dhcp服务器提供ip地址的阶段。dhcp 服务器 接收到客户端的dhcpdiscoVeR报文后,从ip地址池中选择一个尚未分配的ip地址分配给客户端,向该客户端发送包含租借的ip地址和其他配置信息的dhcpoFFeR包。 l选择阶段,即dhcp客户端选择ip地址的阶段。如果有多台dhcp服务器向该客户端发送

TCPIP协议头部结构体

TCP/IP协议头部结构体 网络协议结构体定义 1.// i386 is little_endian. 2.#ifndef LITTLE_ENDIAN 3.#define LITTLE_ENDIAN (1) //BYTE ORDER 4.#else 5.#error Redefine LITTLE_ORDER 6.#endif 7.//Mac头部,总长度14字节 8.typedef struct _eth_hdr 9.{ 10. unsigned char dstmac[6]; //目标mac地址 11. unsigned char srcmac[6]; //源mac地址 12. unsigned short eth_type; //以太网类型 13.}eth_hdr; 14.//IP头部,总长度20字节 15.typedef struct _ip_hdr 16.{ 17. #if LITTLE_ENDIAN 18. unsigned char ihl:4; //首部长度 19. unsigned char version:4, //版本 20. #else 21. unsigned char version:4, //版本 22. unsigned char ihl:4; //首部长度 23. #endif 24. unsigned char tos; //服务类型 25. unsigned short tot_len; //总长度 26. unsigned short id; //标志 27. unsigned short frag_off; //分片偏移 28. unsigned char ttl; //生存时间 29. unsigned char protocol; //协议 30. unsigned short chk_sum; //检验和 31.struct in_addr srcaddr; //源IP地址 32.struct in_addr dstaddr; //目的IP地址 33.}ip_hdr; 34.//TCP头部,总长度20字节 35.typedef struct _tcp_hdr 36.{ 37. unsigned short src_port; //源端口号 38. unsigned short dst_port; //目的端口号

Wireshark的数据包截获及协议分析

Wireshark的数据包截获与协议分析 1 引言 在数据包的截获方面,Winpcap 是一个可在 Windows 环境下运行的包俘获结构,它由三部分组成:一个数据包截获驱动程序、一个底层动态链接库(Packet.dll)和一个高层静态链接库(wpcap.lib)。它的核心部分是数据包俘获驱动程序,在 Windows NT/2000 系统中,它实现为一个内核驱动程序(packet.sys),在 Windows 95/98 系统中是一个虚拟设备驱动程序 (packet.vxd), 包俘获驱动程序通过NDIS(Network Driver Interface Specification)同网络适配器的驱动程序进行通信,NDIS 是网络代码的一部分,它负责管理各种网络适配器以及在适配器和网络协议软件之间的通信。在库的高层是一个动态链接库(packet.dll)和一个静态链接库 (wpcap.lib),这两个库的作用是将俘获应用程序同包俘获驱动程序相隔离,屏蔽低层的实现细节,避免在程序中直接使用系统调用或 IOCTL 命令,为应用程序提供系统独立的高层接口(API 函数),从而在 Windows9x、Windows2000/XP 系统下,对驱动程序的系统调用都是相同的。 使用 Winpcap,我们可以编写出用于网络协议实验分析、故障诊断、网络安全和监视等各种应用程序,这方面的一个典型例子就是可在 Windows 系统下运行的 Wireshark,Wireshark 和 Winpcap 都可从网上下载,通过 Wireshark 我们可以从网上拦截数据包并对

数据包进行网络协议分析,下面介绍一个分析实例。

TCPIP协议族的体系结构、数据格式及传输过程

在计算机网络里,两台计算机之间如何沟通呢?这就需要为网上的所有计算机制定通信协议了。那什么是协议呢? 协议规定了网络上的所有通信设备,尤其是一个计算机与另一个计算机之间的数据往来格式、数据的含义和交互过程的控制顺序。 网络用户要把自然语言写成的邮件从一个计算机发到网上另一个计算机(这是一个网络应用),但网线上只能传递电压信号,哪么应该如何实现这一网络通信呢?看来要把自然语言的邮件变成一个个的电压信号,得做许多工作,比如发方要做: 规定邮件的格式、自然语言的编码标准、把邮件分成一个个的数据段(数据段=发放地址+收方的地址+数据)、子网内的交换、内外网之间的路径选择、把数据信号转换成电压信号,还要保证传输数据的正确性。 网上的每个计算机都有地址,用户看到的计算机名是逻辑的如“张三的计算机”、“李四的计算机”、“客户信息数据库”等,得需要找到它们对应的网上的门牌号(IP地址)、在子网内交换时还应进一步找到与它们的IP地址对应的网卡的MAC地址。 收方的工作顺序正好与发放的顺序相反。 由此可见,在计算机网上要发一封邮件,得需要很多工作,也需要很多标准(或者说协议)。因此TCP/IP协议族应运而生。 1. TCP/IP协议族的体系结构 图1的右边是TCP/IP的体系结构,可以看出TCP/IP不是一个单独的协议,而是由多个协议组成的协议族,这些协议从高到低分四层,分别规定了满足网络用户需求的应用层协议、信息传输层协议、网络互联层协议以及面向物理链路的网络接口层协议。 图1的左边是OSI七层模型,图1给出了OSI七层模型与TCP/IP协议族之间的对应关系。 图1 TCP/IP体系结构与OSI体系结构 图2说明了我们常用的以太网协议IEEE802与OSI的对应关系。

网络协议报文格式大集合

目录 1序、 (2) 1.1 协议的概念 (2) 1.2 TCP/IP体系结构 (2) 2链路层协议报文格式 (2) 2.1 Ethernet报文格式 (2) 2.2 802.1q VLAN数据帧(4字节) (3) 2.3 QinQ帧格式 (4) 2.4 PPP帧格式 (4) 2.5 STP协议格式 (5) 2.5.1 语法 (5) 2.5.2 语义 (6) 2.5.3 时序 (8) 2.6 RSTP消息格式 (9) 2.6.1 语法 (9) 2.6.2 语义 (11) 2.6.3 时序 (13) 3网络层协议报文 (14) 3.1 IP报文头 (14) 3.2 ARP协议报文 (16) 3.2.1 语法 (16) 3.2.2 语义 (17) 3.2.3 时序 (17) 3.3 VRRP协议报文 (18) 3.3.1 语法 (18) 3.4 BGP协议报文 (19) 3.4.1 语法 (19) 3.4.2 语义 (25)

1 序、 1.1 协议的概念 协议由语法、语义和时序三部分组成: 语法:规定传输数据的格式; 语义:规定所要完成的功能; 时序:规定执行各种操作的条件、顺序关系; 1.2 TCP/IP体系结构 TCP/IP协议分为四层结构,每一层完成特定的功能,包括多个协议。本课程实验中相关协议的层次分布如附图3-1所示。 图1-1TCP/IP协议层次 这些协议之间的PDU封装并不是严格按照低层PDU封装高层PDU的方式进行的,附图3-2显示了Ethernet帧、ARP分组、IP分组、ICMP报文、TCP报文段、UDP数据报、RIP报文、OSPF报文和FTP报文之间的封装关系。 图1-2各协议PDU间的封装关系 2 链路层协议报文格式 2.1 Ethernet报文格式 最新的IEEE 802.3标准(2002年)中定义Ethernet帧格式如下:

tcpip协议详解,pdf

竭诚为您提供优质文档/双击可除 tcpip协议详解,pdf 篇一:tcpip详解-卷一-协议-3.11小结 3.11小结 本章开始描述了ip首部的格式,并简要讨论了首部中的各个字段。我们还介绍了ip路由选择,并指出主机的路由选择可以非常简单:如果目的主机在直接相连的网络上,那么就把数据报直接传给目的主机,否则传给默认路由器。 在进行路由选择决策时,主机和路由器都使用路由表。在表中有三种类型的路由:特定主机型、特定网络型和默认路由型。路由表中的表目具有一定的优先级。在选择路由时,主机路由优先于网络路由,最后在没有其他可选路由存在时才选择默认路由。 ip路由选择是通过逐跳来实现的。数据报在各站的传输过程中目的ip地址始终不变,但是封装和目的链路层地址在每一站都可以改变。大多数的主机和许多路由器对于非本地网络的数据报都使用默认的下一站路由器。a类和b类地址一般都要进行子网划分。用于子网号的比特数通过子网掩码来指定。我们为此举了一个实例来详细说明,即作者所在

的子网,并介绍了变长子网的概念。子网的划分缩小了internet路由表的规模,因为许多网络经常可以通过单个表目就可以访问了。接口和网络的有关信息通过ifconfig和netstat命令可以获得,包括接口的ip地址、子网掩码、广播地址以及mtu等。 在本章的最后,我们对internet协议族潜在的改进建议—下一代ip进行了讨论。 习题 3.1环回地址必须是127.0.0.1吗? 3.2在图3-6中指出有两个网络接口的路由器。 3.3子网号为16bit的a类地址与子网号为8bit的b类地址的子网掩码有什么不同? 3.4阅读RFc1219[tsuchiya1991],学习分配子网号和主机号的有关推荐技术。 3.5子网掩码255.255.0.255是否对a类地址有效? 3.6你认为为什么3.9小节中打印出来的环回接口的mtu要设置为1536? 3.7tcp/ip协议族是基于一种数据报的网络技术,即ip 层,其他的协议族则基于面向连接的网络技术。阅读文献[clark1988],找出数据报网络层提供的三个优点。 篇二:tcpip等协议报文格式 tcp/ip等协议报文格式

(完整版)协议分析--数据报格式

两种不同的MAC帧格式 常用的以太网MAC帧格式有两种标准,一种是DIX Ethernet V2标准,另一种是IEEE的802.3标准。如下图所示,为便于理解,图中假定网络层使用的是IP协议。实际上使用其他的协议也是可以的。 现在MAC帧最常用的是以太网V2的格式,它较为简单,由5个字段组成。前两个字段分别为6字节长的目的地址和源地址字段。第三个字段是2字节的类型宇段,用来标志上一层使用的是什么协议,以便把收到的MAC 帧的数据上交给上一层的这个协议。施乐公司负责管理这个类型字段的代码分配。例如,当类型字段的值是0x0800时,就表示上层使用的是IP数据报。 若类型字段的值为0x8137,则表示该帧是由Novell IPX发过来的。第四个字段是数据字段,但它的正式名称是MAC客户数据宇段,其长度在46到1500字节之间。最后一个字段是4字节的帧检验序列FCS。 当数据字段的长度小于46字节时,MAC子层就会在数据字段的后面加入一个整数字节的填充字段,以保证以太网的MAC帧长不小于64字节。我们应当注意到,MAC帧的首部并没有指出数据字段的长度是多少。在有填充字段的情况下,接收端的MAC子层在剥去首部和尾部后就将数据字段和填充字段一起交给上层协议。 然而IEEE 802.3标准规定的MAC帧则较为复杂。它和以太网V2的MAC

帧的区别是: (1)第三个字段是长度/类型字段。根据长度/类型字段的数值大小,这个字段可以表示MAC帧的数据字段长度(请注意:不是整个MAC帧的长度),也可以等同于以太网V2的类型字段。具体地讲: 若长度/类型字段的数值小于MAC帧的数据字段的最大值1500(字节),这个字段就表示MAC帧的数据字段长度。 若长度/类型字段的数值大于0x0600(相当于十进制的1536),那么这个数值就不可能表示以太网有效的数据字段长度,因而这个字段就表示类型。 当长度/类型字段表示类型时,802.3的MAC帧和以太网V2的MAC帧一样。当长度/类型字段表示长度时,MAC帧就必须装入802.2标准定义的LLC子层的LLC帧。 从图中可看出,在传输媒体上实际传送的要比MAC帧还多8个字节。这是因为当一个站在刚开始接收MAC帧时,由于尚未与到达的比特流达成同步,因此MAC帧的最前面的若干个比特就无法接收,结果使整个的MAC 成为无用的帧。为了达到比特同步,从MAC子层向下传到物理层时还要在帧的前面插入8字节(由硬件生成),它由两个字段构成。第一个字段共7个字节,称为前同步码(1和0交替的码)。前同步码的作用是使接收端在接收MAC帧时能够迅速实现比特同步。第二个字段是帧开始定界符,定义为10101011,表示在这后面的信息就是MAC帧了。在MAC子层的FCS的检验范围不包括前同步码和帧开始定界符。顺便指出,在广域网点对点通讯中使用同步传输的HDLC规程时则不需要用前同步码,因为在同步传输时收发双方的比特同步总是一直保持着的。 802.3标准规定凡出现下列情况之一的即为无效的MAC帧: (1)MAC客户数据字段的长度与长度字段的值不一致; (2)帧的长度不是整数个字节; (3)用收到的帧检验序列FCS查出有差错; (4)收到的帧的MAC客户数据字段的长度不在46—1500字节之间。考虑到MAC帧首部的长度是18字节,可以得出有效的MAC帧长度为64~1518字节之间。 对于检查出的无效MAC帧就简单地丢弃。以太网不负责重传丢弃的帧。 当MAC客户数据字段的长度小于46字节时,则应加以填充(内容不限)。这样,整个MAC帧(包含14字节首部和4字节尾部)的最小长度是64字节,或512bit。 MAC子层的标准还规定了帧间最小间隔为9.6us,相当于96bit的发送时间。这就是说,一个站在检测到总线开始空闲后,还要等待9.6us才能发送

相关主题