第一节 1.帧格式

MAC地址与IP地址的区别?

MAC地址是唯一的、不可变的。48位十六进制数表示。MAC地址的分配是基于制造商,国家分配厂商的编号+厂商自定义编号,其中厂商烧于网卡芯片内的12位的16进制数字,用于标识每一个网卡的,全世界没有一个相同的。IPv4地址可变(但必须唯一),32位点分十进制数表示。IPV6地址可变(但必须唯一)128位。

OSI七层中物理层:数据帧格式相关

1.首先网络通讯除了需要电脑和传输介质外,还需要把电平的高低变化转换成数据才能通讯。一般在电脑是仅识别二进制数的,就是0、1这两个数值。物理层数据传输时,一定时间内的电压高低和传输的电流bit位是固定的,这个时间段我们称其为频率。频率越高密度越大传输的bit位越多,数据就越多。既然物理层传输的是电流,那电流是如何变成电脑能识别的数据的?

答案是数据封装,就好比我英语不好,我为了听懂别人说什么,就需要找人给我翻译一下,翻译成我能听懂的语音。

2.数据在物理层还是Bit流,在往上到数据链路层就是帧(FR),帧有4种:以太帧、数据帧、MAC帧、802.3帧等  如图。

数据帧:就是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如ip数据包。

MAC帧

常用的以太网MAC帧格式有两种标准,一种是DIX Etherent标准,一种是IEEE的802.3标准

前导符  DIX  8字节

         802.3  7字节

帧头

(6字节目的地址+6字节源目的地+2字节类型)

数据

(data)

帧尾

(4字节)

MAC帧物理层插入了8字节的前导字段,
MAC帧的帧头包括三个字段。前两个字段分别为6字节长的目的地址字段和源地址字段,目的地址字段包含目的MAC地址信息,源地址字段包含源MAC地址信息。第三个字段为2字节的类型字段,里面包含的信息用来标志上一层使用的是什么协议,以便接收端把收到的MAC帧的数据部分上交给上一层的这个协议。例如,当类型字段的值是0x0800时,就表示上层使用的是IP数据报;若类型字段的值为0x8137,则表示该帧是由Novell IPX 发过来的。

MAC帧的数据部分只有一个字段,其长度在46到1500字节之间,包含的信息是网络层传下来的数据。

MAC帧的帧尾也只有一个字段,为4字节长,包含的信息是帧校验序列FCS(使用CRC循环冗余校验码校验)。

MAC两种标准帧格式区别?太网V2版DIX前导域为8B,而IEEE802.3的前导域为7B,将空余出来的1个字节用作帧起始分解符,它的位模式为10101011,这样做的目的就是为了和IEEE802.4和IEEE802.5兼容。

802.3帧中,

IEEE802.3帧          单播:48位MAC,如果第8位是0为单播
IEEE802.3帧          组播:48位MAC,如果第8位是1为单播
IEEE802.3帧          广播:48位MAC,如果8位全是F为广播

第四个字段是数据字段,其长度为46~1500B(46B是这样的得出来得;最小帧长64B减去18B的首部地址和尾部就得出数据字段的最小长度),这里要注意的就是如果一个帧的数据部分少于46B,则MAC子层就会在数据字段的后面加入一个整数字节的填充字段(Pad),以保证以太网的MAC地址不小于64B。

第五个字段是4B的CRC帧校验,只能检错,不能纠错。效验的范围为:目的地址,源地址,类型,数据等字段。CRC生成多项式为:G(x)=X(32)+X(26)+X(23)+X(22)+X(16)+X(12)+X(11)+X(10)+X(8)+X(7)+X(5)+X(4)+X(2)+X(1)+1

在以太网V2的MAC帧中,其首部并没有一个帧长度(或数据长度)的字段,那么MAC子层如何知道从接收到的以太网帧中取出多少字节的数据交给上一层的协议?
当数据字段不足46B时候,必须通过填充字段来扩充数据字段的长度,使其满足最小长度64B的要求,那么接收端的MAC子层在从接收到的帧中剥去首部和尾部后把数据字段交给上一层协议后,上一层协议如何识别有效的数据字段的长度。
这是因为以太网采用曼彻斯特编码,曼彻斯特编码的一个重要特点是:在曼彻斯特的每一个码元的正中间一定有一次电压的转化(从高到低或者从低到高)。当发送方把一个以太网帧发送完毕后,就不再发送其他码元(帧之间有着一定的间隔),这样发送方适配器上的电压就不再变化,于是接收方就可以很容易地找到以太网帧的结束位置,这个位置上往前数4B(效验和),就能确定数据字段的结束位置。
 

问题:网络设备如何确定以太网帧上的协议?

问题:FCS校验数据完整性,当数据传输过程中到达的先后顺序有差异时,顺序号和尾校验是怎样判断的?

一、Ethernet帧格式的发展

1980 DEC,Intel,Xerox制订了Ethernet I的标准;

1982 DEC,Intel,Xerox又制订了Ehternet II的标准;

1982 IEEE开始研究Ethernet的国际标准802.3;

1983 迫不及待的Novell基于IEEE的802.3的原始版开发了专用的Ethernet帧格式;

1985 IEEE推出IEEE 802.3规范;

后来为解决EthernetII与802.3帧格式的兼容问题推出折衷的Ethernet SNAP格式 。

(其中早期的Ethernet I已经完全被其他帧格式取代了所以现在Ethernet只能见到后面几种Ethernet的帧格式现在大部分的网络设备都支持这几种Ethernet的帧格式如:cisco的路由器在设定Ethernet接口时可以指定不同的以太网的帧格式:arpa,sap,snap,novell-ether)

二、各种不同的帧格式

下面介绍一下各个帧格式

  •  Ethernet II

是DIX以太网联盟推出的,它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于表示装在这个Frame、里面数据的类型),以上为Frame Header,接下来是46--1500 字节的数据,和4字节的帧校验)

  • Novell Ethernet

   它的帧头与Ethernet有所不同其中EthernetII帧头中的类型域变成了长度域,后面接着的两个字节为0xFFFF用于标示这个帧是Novell Ether类型的Frame,由于前面的0xFFFF站掉了两个字节所以数据域缩小为44-1498个字节,帧校验不变。

  • IEEE 802.3/802.2

   802.3的Frame Header和Ethernet II的帧头有所不同,它把EthernetII类型域变成了长度域(与Novell Ethernet相同)。其中又引入802.2协议(LLC)在802.3帧头后面添加了一个LLC首部,由DSAP(Destination Service Access Point) 1 byte,SSAP(Source SAP) 1 byte,一个控制域 1 byte! SAP用于表示帧的上层协议。

  • Ethernet SNAP

Ethernet SNAP Frame与802.3/802.2 Frame的最大区别是增加了一个5 Bytes的SNAP ID,其中前面3个byte通常与源mac地址的前三个bytes相同,为厂商代码!有时也可设为0。后2 bytes 与Ethernet II的类型域相同。

发布了51 篇原创文章 · 获赞 4 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_34075348/article/details/90245558
今日推荐