mac地址的长度是多少字节 mac地址的长度是多少位?很多人不了解,今天趣百科为大家带来相关内容,下面一起来看看吧。
3.3.4以太网帧格式有两种常用的以太网标准:Ethernet V2和IEEE 802.3,Ethernet V2的MAC帧格式是使用最广泛的一种。
图3.18 MAC帧格式
传输介质上的实际传输比MAC帧多8个字节。这是因为当一个站刚刚开始接收MAC帧时,由于适配器的时钟还没有与到达的比特流同步,所以MAC帧的第一个比特不能被接收,结果,整个MAC帧变得无用。为了在接收端快速实现比特同步,当帧从数据链路层传输到物理层时,需要在帧前插入8个字节(由硬件产生)。它包括两个领域:前导字段(前同步码)和帧起始符字段(帧开始定界符)。
前导字段(前同步码):的形式为1010…1010(1和0交替编码),共7个字节。它的作用是使接收端的适配器在接收MAC帧时能够快速调整自己的时钟频率,使其与发送端的时钟同步,即实现“位同步”(即位同步)。
帧起始符(帧开始定界符):固定格式的10101011,总共1个字节。它的前六位与前导码的作用相同,后两个连续的1告诉接收适配器“MAC帧信息即将到来,请注意接收”。
目的地址:,的目的MAC地址共6个字节。
源地址:,的源MAC地址共6个字节。
标识类型:,上层使用的协议,以便将接收到的MAC帧数据移交给上层协议,总共2个字节。如果2个字节是16位,可以识别0~65535(2的16次方=65535)。
0~1500用来表示长度值,1536~65535(0x0600~0xFFFF)用来描述类型值。
数据:,上层的协议数据,长度为0~1500字节。
确保填充:的最小帧长为64字节,长度为0~46字节。
校验和(FCS):4字节32位循环冗余码,检查范围不包括前导字段和帧起始符字段。.
上面的帧格式中没有“帧尾定界符”,那么接收方是如何确定帧尾的呢?
以太网采用曼彻斯特编码,曼彻斯特编码的每一个符号(无论符号是1还是0)中间都要有一个跳变(电压由低到高或由高到低)。当发送方发送完一个以太网帧后,它将不再发送其他符号。因此,发送方网络适配器接口上的电压不再变化,因此接收方可以轻松找到以太网帧的结束位置。从该位置开始计数4个字节(FCS字段长度为4个字节)以确定数据字段的结束位置。
以太网最小帧长为64字节,是指从目的地址到校验和(FCS)的长度。
当数据字段的长度小于46字节时,数据链路层会在数据字段的后面加入一个整数字节的填充字段,以保证以太网的MAC帧长不小于64字节。
有效的MAC帧长度为64~1518字节。
3.3.5交换式以太网集线器(hub),的功能就像网线一样,是向其他端口发送数字信号,它无法识别哪些数字信号是前导、帧定界符和网络层数据头。所以集线器只是把接收到的数据信号进行放大以达到增加传输距离的目的,集线器和网线一样工作在物理层。
图3.19多个集线器组成的以太网
如图3.19所示,多个集线器组成的以太网形成了一个很大的“冲突域”。随着以太网中计算机数量的增加,网络利用率会大大降低。
为了把冲突控制在小范围内,出现了“桥”这样的装置。网桥的接口存储数据帧,然后根据帧的目的MAC地址转发数据帧。“网桥”工作在数据链路层,可以隔离“冲突域”。
图3.20网桥隔离冲突域
随着技术的发展,网桥的接口越来越多,逐渐取代了集线器。网桥的接口直接连接计算机,最后发展成现在的交换机(交换机本质上是多接口网桥)。
集线器(工作在物理层)-网桥(工作在数据链路层)-交换机(工作在数据链路层的第2层交换机)
根据交换机的MAC地址,对接收到的帧进行转发和过滤,当收到一个帧时,它不会发送到所有路由器。
口转发该帧,而是根据该帧的目的MAC地址,查找交换机中的MAC地址表,然后确定将该帧转发到哪一个接口,或者丢弃(过滤)。交换机刚接入以太网时,其MAC地址表是空的,交换机会在计算机通信过程中自动构建MAC地址表(自学习)。
假设交换机的接口1、2、3、4分别连着计算机A、B、C、D,计算机A、B、C、D的MAC地址分别为MA、MB、MC、MD。
图3.21 交换机组网
A向B发送一帧,从接口1接入到交换机,交换机收到帧后,先查找MAC地址表,由于此时的MAC地址表是空的,没有查到应从哪个接口转发该帧。此时,交换机把该帧的源地址MA和接口1写入MAC地址表中,并向接口1以外的所有接口广播这个帧。
当计算机B、C、D收到广播的这个帧时,C、D将丢弃这个帧(因为目的地址表面不是给自己的),只有计算机B收下这个目的地址正确的帧。
此时,MAC地址表中新写入了(接口1,地址MA)的项目,那么以后不管从哪一个接口收到帧,只要其目的地址是MA,就应当把收到的帧从接口1转发出去。
接着计算机B通过接口2向A发送一帧,交换机收到帧后,查找MAC地址表,发现MAC地址表中有计算机A的地址MA,表面要发送给A的帧(即目的地址为MA的帧)应从接口1转发。于是就把这个帧传送到接口1转发给计算机A。交换机把该帧的源地址MB和接口2写入MAC地址表中,由于地址表中已经有了A的地址MA,此时就没有必要广播收到的帧了。
计算机C或D只要向其它主机发送帧,交换机中的MAC地址表就会把转发到C或D的帧应当经过接口3或4写入到MAC地址表中。
为了适应网络中计算机发生的调整,MAC地址表中的每个项目都有一定的有效时间,过期会被自动删除。
使用交换机组网与集线器组网相比有以下特点:
(1)端口独享带宽
交换机的每个端口独享端口。例如10M交换机的每个端口带宽是10M,24口的10M交换机,其总的交换能力是240M。而集线器还是10M。
(2)安全
使用交换机组网比集线器组网安全。
(3)全双工通信
(4)不再使用CSMA/CD协议
由于使用全双工通信,数据链路层就不再需要使用CSMA/CD协议了,但是我们还是把交换机组建的网络称为以太网,是因为帧格式和以太网一样。
(5)接口可以工作在不同的速率
交换机使用存储转发,也就是交换机的每一个接口都可以存储帧,从其它接口转发出去时,可以使用不同的速率。
(6)转发广播帧
广播帧会转发到除了发送端口以外的全部端口。广播帧就是指MAC地址48位二进制全是1。
交换机组建的以太网就是一个“广播域”。
图3.22 交换机隔绝冲突域
3.3.6 虚拟局域网(VLAN)IEEE 802.1Q中,对虚拟局域网VLAN是这样定义的:
虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机属于哪一个VLAN。
图3.23 虚拟局域网VLAN
虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标示符,称为VLAN标记(tag),用来指明发送该帧的计算机属于哪一个虚拟局域网。插入VLAN标记得出的帧称为802.1Q帧。显然,如果还使用原来的以太网帧格式,那么就无法区分是否划分了虚拟局域网。如图3.22 所示在红色粗线链路上传输的帧是802.1Q帧,在其它链路上传输的仍然是普通的以太网帧。
图3.24 802.1Q帧格式
VLAN标记的前2个字节总是设置为0x8100(即二进制的10000001 00000000),称为IEEE 802.1Q标记类型。
当数据链路层检测到MAC帧的源地址字段后面的2个字节的值是0x8100时,就知道现在插入了4字节的VLAN标记。于是接着检查后面2个字节的内容。在后面的2个字节中,前3位是用户优先级字段,接着的1位是规范格式指示符CFI,最后的12位是该虚拟局域网VLAN标示符,它唯一地标示了这个以太网帧属于哪一个VLAN。
由于用于VLAN的以太网帧的首部增加了4个字节,因此以太网的最大帧长从原来的1518字节变为1522字节。
3.3.7 生成树协议(STP)我们常见的企业局域网如图3.25所示,这样组建的局域网有一个弊端就是当汇聚层交换机一旦发生故障,那所有连接汇聚层交换机的设备将无法工作。或者当接入层交换机出现故障,那么连接到接入层交换机的计算机将无法访问服务器。
图3.25 单汇聚层局域网
为了让交换机组建的网络更加可靠,通常会在网络中部署两台汇聚层交换机,这样即便有一台汇聚层交换机发生故障或者有一条链路出现问题,接入层交换机也可以通过另一台汇聚层交换机访问服务器。
图3.26 双汇聚层局域网
但是像这样组建的网络又带来了新的问题“形成环路”。如果网络中计算机A发送广播帧,广播帧会在环路中一直转发,占用交换机的接口带宽,消耗交换机的资源,网络中的计算机会一直重复收到该帧,影响计算机接收正常通信的帧,这就是广播风暴。
图3.27 广播风暴
为了解决双汇聚层交换机产生环路的问题,就有了生成树协议(因为树形结构是没有环路问题的)。生成树协议是IEE802.1D中定义的数据链路层协议,可应用于计算机网络中树形拓扑结构建立,主要作用是防止交换机网络中的冗余链路形成环路工作。
生成树协议将交换机的某些端口设置成阻断状态,这些端口就不再转发计算机发送的任何数据,一旦链路发生变化,生成树协议将重新设置端口的阻断或转发状态。
注:虚拟局域网(VLAN)和生成树协议(STP)在后续章节会详细讲述。
(未完待续)