字号:大
一、以太网链路层协议封装格式
 
以太网数据在网络介质上传输需要遵循一定的机制,其中CSMA/CD介质访问控制机制约定了以太网在传输数据时,两帧之间需要等待一个帧间隙时间(IFGIPG),为以太网接口提供了帧接收之间的恢复时间,该恢复时间最小值为传输96bit所花费的时间,对于10M线路,该时间为9.6uS100M线路为960nS1G的线路为96nS。同时以太网数据帧在传输时还需要有7byte的前导字段和1byte的定界符。因此以太网数据在传输过程中是由以下部分组成的:7byte(前导)+1byte(定界符)+以太网数据帧+12byteIPG
在全双工工作模式下,如果CSMA/CD介质访问控制机制发现传输冲突时,则会放弃当前帧发送,改为发送一个48比特的噪声帧。
其中以太网数据帧限制为最小长度为64byte,最大长度为1518byte,其格式为:6byte(目的MAC地址)+6byte(源MAC地址)+2byte(类型字段)+数据字段+4byteFCS校验字
段)。其中帧类型字段标识其后的数据类型
这里值得注意的是区分Ethernet II帧格式和802.3帧格式的不同,我们有时可能会混用了这两个术语。
Ethernet II帧是最常见的一种以太网帧格式,也是今天以太网的事实标准,由DECIntelXerox1982年公布标准,Ethernet II可以支持TCP/IPNovell IPX/SPXApple Talk Phase I等协议,其比较常见的类型字段为:0X0800IP帧),0X0806ARP请求/应答帧),0X8035PARP请求/应答帧),0X8137Novell IPX),0X809bApple Talk)。RFC 894定义了IP报文在Ethernet II上的封装格式。
802.3Ethernet II帧头中的类型字段替换为帧长度字段(取值范围为0X0000-0X05dc不包括CRC检验码),因此对于接收到的帧,如果类型字段取值范围为0X00000X05dc,则可以判断其为802.3帧,而非Ethernet II帧。其中RAW 802.31983Novell发布Netware/86网络套件时采用的私有以太网帧格式,只支持IPX/SPX一种协议;802.3/802.2 LLCIEEE 公布的正式802.3标准,它加入了3byteLLC字段, 其中SAP值用以标志上层应用,每个tcp ip协议设置怎么填SAP字段为8bits,其中只有6bit用于标识上层协议,因此所能标识的协议数不超过32种,导
802.3/802.2 LLC的使用有很大局限性;802.3/802.2 SNAPIEEE为保证在802.2 LLC上支持更多的上层协议同时更好的支持IP协议而发布的标准,在802.3/802.2 LLC基础上添加了5byteSNAP字段,从而使其可以标识更多的上层协议类型,OUI字段用于代表不同的组织(一般置为0),在802.3/802.2 SNAP基础上RFC1042定义了IP报文在802.2网络中的封装方法和ARP协议在802.2 SANP中的实现。
目前实际环境中大多数TCP/IP设备都使用Ethernet II格式的帧,它采用了RFC 894的实现标准。从上述帧格式中可以看出,Ethernet II格式帧数据段的长度限制在46byte1500byte之间,当数据段长度小于46个字节时,加填充字段(PAD)补足。Ethernet II802.3对数据帧的长度限制,其最大值分别是15001492字节,这一特性称作最大传输单元(MTU)。
 
IEEE802.2/802.3RFC1042)和Ethernet IIRFC894)的封装格式
TCP/IP协议族中,链路层主要有三个目的:(1)为IP模块发送和接收IP数据报;(2)为ARP模块发送ARP请求和接收ARP应答;(3)为RARP发送RARP请求和接收RARP应答。
 
二、以太网IP层协议封装格式
TCP/IP协议族中基于链路层以上的协议主要有三种:IP协议、ARP协议和RARP协议,其中在IP数据报中又额外封装了ICMP协议和IGMP协议。IP层协议也就是通常的网络层协议,它提供点到点的服务(不同于传输层TCP/UDP协议提供端到端的服务)。
4 bits
4 bits
8 bits
3 bits
13 bits
版本号
首部长度
服务类型(TOS
总长度(字节数)
 
标志
片偏移
生存时间(TTL
协议
首部校验和
IP地址
目的IP地址
                   
                   
IP包封装格式
版本号IP包的版本,当前一般为IPv4,即0100
首部长度IP包头长度(Internet Header LengthIHL),是一个4bit字段,是头部占32比特的数字,包括可选项。普通IP数据报(没有任何选项),该字段的值是5,即160比特=20字节。此字段最大值为60字节,表示头部报文中没有发送可选部分数据。
服务类型(TOS:其中前3比特为优先权子字段(Precedence,现已被忽略)。第8比特保留未用。第4至第7比特分别代表延迟、吞吐量、可靠性和花费。当它们取值为1时分别代表要求最小时延、最大吞吐量、最高可靠性和最小费用。这4比特的服务类型中只能置其中1比特为1。可以全为0,若全为0则表示一般服务。服务类型字段声明了数据报被网络系统传输时可以被怎样处理。例如:TELNET协议可能要求有最小的延迟,FTP协议(数据)可能要求有最大吞吐量,SNMP协议可能要求有最高可靠性,NNTPNetwork News Transfer Protocol,网络新闻传输协议)可能要求最小费用,而ICMP协议可能无特殊要求(4比特全为0)。实际上,大部分主机会忽略这个字段,但一些动态路由协议如OSPFOpen Shortest Path First Protocol)、IS-ISIntermediate System to Intermediate System Protoc
ol)可以根据这些字段的值进行路由决策。
总长度:头部及数据项长度,最大长度为65535bytes
标识:当IP包较大需要进行分段时,用于标识该段所属的分组。通常每发一份报文,它的值会加1
标志:构成为[0][D][M],其中D1表示不分段,M0表示为最后分段,为1表示非最后分段。
片偏移:即分段偏移。如果一份数据报要求分段的话,此字段指明该段偏移距原始数据报开始的位置。
生存时间(TTL:表示一个IP数据流的生命周期,由发送数据的源主机设置,通常为3264128等。每次IP数据包经过一个路由器的时候TTL就减一,当减到0时,这个数据包就消亡了。
协议:传输层的协议类型。
协议代码
1
ICMP (Internet Control Message Protocol)
2
IGMP (Internet Group Management Protocol)
3
GGP (Gateway-to-Gateway Protocol)
4
IP (IP in IP encapsulation)
6
TCP (Transmission Control Protocol)
8
EGP (Exterior Gateway Protocol)
17
UDP (User Datagram Protocol
首部校验和:根据IP头部计算得到的校验和码。计算方法是:对头部中每个16比特进行二进制反码求和。(和ICMPIGMPTCPUDP不同,IP不对头部后的数据进行校验)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。