欢迎来到天天文库
浏览记录
ID:38973860
大小:432.50 KB
页数:13页
时间:2019-06-22
《以太网MAC协议》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、以太网MAC协议1位/字节顺序的表示方法1.1位序严格地讲,以太网对于字节中位的解释是完全不敏感的。也就是说,以太网并不需要将一个字节看成是一个具有8个比特的数字值。但是为了使位序更容易描述以及防止不兼容,以太网和多数数据通信系统一样,传输一个字节的顺序是从最低有效位(对应于20的数字位)到最高有效位(对应于27的数字位)。另外习惯上在书写二进制数字时,最低值位写在最左面,而最高值位写在最右面。这种写法被称为“小端”形式或正规形式。一个字节可以写成两个十六进制数字,第一个数字(最左边)是最高位数字,第二个(最右边)是最低位数字。1.
2、2字节顺序如果所有有定义的数据值都是1字节长,则在介绍完位序后就可以停止了。但是很不幸事实并非如此,所以我们必须面对长于单个字节的域,这些域是以从左到右排列的,以连接符“-”分隔的字节串表示。每个字节包含两个十六进制数字。多字节域的各个字节按第一个到最后一个(即从左到右)的顺序发送,而每个字节采用小端位序传送。例如,6字节域:08-00-60-01-2C-4A将按以下顺序(从左向右读)串行地发送:00010000-00000000-00000110-10000000-00110100-010100102以太网地址地址是一个指明特定站
3、或一组站的标识。以太网地址是6字节(48比特)长。图1说明了以太网地址格式。图1以太网地址格式在目的地址中,地址的第1位表明该帧将要发送给单个站点还是一组站点。在源地址中,第1位必须为0。站地址要唯一确定是至关重要的,一个帧的目的地不能是模糊的。地址的唯一性可以是:●局限于本网络内。保证地址在某个特定LAN中是唯一的,但不能保证在相互连接的LAN中是唯一的。当使用局部唯一地址时,要求网络管理员对地址进行分配。●全局的。保证地址在所有的LAN中,在任何时间,以及对于所有的技术都是唯一的,这是一个强大的机制,因为:(1)使网络管理员不必
4、为地址分配而烦恼;(2)使得站点可以在LAN之间移动,而不必重新分配地址;(3)可以实现数据链路网桥/交换机。全局唯一地址以块为单位进行分配,地址块由IEEE管理。一个组织从IEEE获得唯一的地址块(称为OUI),并可用该地址块创建224个设备。那么保证该地址块中地址(最后3个字节)的唯一性就是制造商的责任。地址中的第2位指示该地址是全局唯一还是局部唯一。除了个别情况,历史上以太网一直使用全局唯一地址。3以太网数据帧格式图2基本的以太网帧格式及传输次序图2显示了以太网MAC帧各个字段的大小和内容以及传输次序。该格式中每个字段的字节次
5、序是先传输的字节在左,后传输的字节在右。在每个字节中的位次序正好相反,低位在左,高位在右。字节次序和位的次序通常用于FCS之外的所有字段。FCS将作为一个特殊的32位字段(最高位在左),而不是4个单独的字节。3.1前导码(Preamble)和帧起始定界符(SFD)前导码包含8个字节。前7个字节(56位)的职位0x55,而最后一个字节为帧起始定界符,其值为0xD5。结果前导码将成为一个由62个1和0间隔(10101010---)的串行比特流,最后2位是连续的1,表示数据链路层帧的开始。其作用就是提醒接收系统有帧的到来,以及使到来的帧与
6、输入定时进行同步。在DIX以太网中,前导码被认为是物理层封装的一部分,而不是数据链路层的封装。3.2地址字段每个MAC帧包含两个地址字段:目标地址(DestinationAddress)和源地址(SourceAddress)。目的地址标识了帧的目的地站点,源地址标识了发送帧的站。DA可以是单播地址(单个目的地)或组播地址(组目的地),SA通常是单播地址(即,第1位是0)。3.3长度/类型(Length/Type)长度/类型字段具有两种意义中的一种。如果这个字段的值小于1518,那么这个字段就是长度字段,并定义后面的数据字段的长度。但
7、是如果这个字段的值大于1518,它就标识了在以太网上运行的客户端协议。3.4数据(Data)数据字段包含46~1500字节。数据域封装了通过以太网传输的高层协议信息。由于CSMA/CD算法的限制,以太网帧必须不能小于某个最小长度。高层协议要保证这个域至少包含46个字节。数据域长度的上限是任意的,但已经被设置为1500字节。3.5帧校验序列(FCS)帧校验序列包含4个字节。FCS是从DA开始到数据域结束这部分的校验和。校验和的算法是32位的循环冗余校验法(CRC)。关于FCS部分后面将做详细介绍。4无效的MAC帧格式满足下面条件至少一
8、个的MAC帧即无效:(1)帧长度和length/type字段中指定的长度不一致。如果length/type中包含的是类型值,则认为帧长度与该字段值一致而不认为是无效帧。(2)不是整数字节的长度。(3)对接收到的帧进行CRC校验,发现错
此文档下载收益归作者所有