资源描述:
《以太网协议封装格式( X页).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一、以太网链路层协议封装格式以太网数据在网络介质上传输需要遵循淀的机制,其屮CSMA/CD介质访问控制机制约定了以太网在传输数据吋,两帧之间需要等待-个帧间隙吋间(IFG或IPG),为以太网接口提供了帧接收之间的恢复吋间,该恢复吋间最小值为传输96bit所花费的时间,对于10M线路,该吋间为9.6uS,100M线路为960nS,1G的线路为96nS。同时以太网数据帧在传输时还需耍有7byte的前导字段和1byte的定界符。因此以太网数据在传输过程屮是由以下部分组成的:7byte(前导)+1byte(定界符)+以太网数据帧+12byt
2、e(IPG)。在全双工工作模式下,如果CSMA/CD介质访问控制机制发现传输冲突吋,则会放弃当前帧发送,改为发送一个48比特的噪声帧。其屮以太网数据帧限制为最小长度为64byte,最人长度为1518byte,其格式为:6byte(目的MAC地址)+6byte(源MAC地址)+2byte(类型字段)+数据字段+4byte(FCS校验字段)。其屮帧类型字段标识艾后的数据类型。这里值得注意的是区分EthernetII帧格式和802.3帧格式的不同,我们有吋可能会混用了这两个术语。EthernetII帧是最常见的-种以太网帧格式,也是今天以
3、太网的事实标准,由DEC,Intel和Xerox在1982年公布标准,EthernetII可以支持TCP/TP,Novel1TPX/SPX,AppleTalkPhaseI等协议,其比较常见的类型字段为:0X0800(TP帧),0X0806(ARP请求/应答帧),0X8035(PARP请求/应答帧),0X8137(NovellIPX),0X809b(AppleTalk)。RFC894定义了IP报文在EthernetII上的封装格式。802.3帧将EthernetTT帧头屮的类型字段替换为帧长度字段(取值范围为0X0000-0X05dc
4、,不包括CRC检验码),因此对于接收到的帧,如果类型字段取值范围为0X0000-0X05dc,则可以判断其为802.3帧,rfn'HhEthernetII帧。其屮RAW802.3是1983年Novell发布Xetware/86网络套件吋釆用的私有以太网帧格式,只支持IPX/SPX一种协议;802・3/802.2LLC是IEEE公布的正式802.3标准,它加入了3byte的LLC字段,其屮SAP值用以标志上层应用,每个SAP字段为8bits,其屮只有6bit用于标识上层协议,因此所能标识的协议数不超过32种,导致802.3/802.2
5、LLC的使用有很大局限性;802.3/802.2SNAP是TEEE为保证在802.2LLC上支持更多的上层协议同时更好的支持TP协议而发和的标准,在802.3/802.2LLC基础上添加了5byte的SXAP字段,从血使其可以标识更多的上层协议类型,0UI字段用于代表不同的组织(-般置为0),在802.3/802.2SNAP基础上RFC1042定义了IP报文在802.2网络屮的封装方法和ARP协议在802.2SANP中的实现。FI前实际环境屮大多数TCP/IP设备都使用EthernetII格式的帧,它采用TRFC894的实现标准。从
6、上述帧格式中可以看出,EthernetTT格式帧数据段的长度限制在46byte—1500byteZ间,半数据段长度小于46个字节时,加填充字段(PAD)补足。EthernetII和802.3对数据帧的长度限制,其最大值分别是1500和1492字节,这一特性称作最大传输单元(MTU)。1隸ARP诫琨应布PAD228毬RARP谓求应齐PAD23ii以大网时奖(ItfCi严4500^节目的堆址!雌址CRC
7、66T"4500IP鞍摘报4初图IEEE802.2/802.3(RFC1042)和EthernetII(RFC894)的封装格式在TC
8、P/IP协议族屮,链路层主要有三个H的:(1)为IP模块发送和接收IP数据报;(2)为ARP模块发送ARP请求和接收ARP应答;(3)为RARP发送RARP请求和接收RARP应答。二、以太网IP层协议封装格式在TCP/IP协议族屮基于链路层以丄的协议主要有三种:IP协议、AR卩协议和RARP协议,其中在IP数据报中又额外封装了ICMP协议和IGMP协议。IP层协议也就是通常的网络层协议,它提供点到点的服务(不同于传输层TCP/UDP协议提供端到端的服务)。4bits4bits8bits3bits13bits版本号首部长度服务类型(T
9、OS)总长度(字节数)标识标志片偏移生存吋间(TTL)协议首部校验和源IP地址冃的IP地址选项数据IP包封装格式版本号:IP包的版本,当前一般为IPv4,即OlOOo首部长度:IP包头长度(InternetHeaderLength,I