以太网交换机是依靠MAC地址来完成工作的。MAC地址(Media Access Control Address,介质访问控制地址),也称为局域网地址(LAN Address)、以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认局域网设备位置的地址。在OSI模型中,第三层网络层负责IP地址,第二层数据链接层则负责MAC地址。MAC地址用于在网络中标示一个网卡且具有唯一性,一台设备若有一个或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。在局域网中的计算机一端,是通过计算机上安装的网卡来连接局域网实现通信的。MAC地址有48位,其中前24位为厂商编号,厂商编号需向IEEE申请,后24位为网卡的序列号,由生产厂商自己编制(图8-10)。
图8-10 网卡MAC地址
如图8-11所示,每台以太网交换机内部都有一张MAC地址表,当数据帧到来时,交换机通过分析数据帧的头信息(其中包含源MAC地址、目标MAC地址、信息长度等),取得目标MAC地址后,查找交换机中存储的地址对照表(MAC地址对应的端口),确认具有此MAC地址的网卡连接在哪个端口上,然后仅将数据帧发送到对应端口。
图8-11 以太网交换机工作机制
MAC地址表建于交换机内,它的表项包含了与以太网交换机相连的设备的MAC地址及与此设备相连的交换机的端口号。通过MAC地址表,交换机可以快速转发报文。
MAC地址表中的动态表项(非手工配置)是由以太网交换机学习得来的。以太网交换机学习MAC地址的方法如下:如果从某端口(假设为端口A)收到一个数据帧,以太网交换机就会分析该数据帧的源MAC地址(假设为MAC-S),并认为如果有目的MAC地址是MAC-S的报文,可以由端口A转发;如果MAC地址表中已经包含MAC-S,交换机将对应表项进行更新,如果MAC地址表中尚未包含MAC-S,交换机则将这个新MAC地址(以及该MAC地址对应的转发端口)作为一个新的表项加入MAC地址表中。用户可以根据网络实际情况人工配置(添加或修改)MAC地址表项,添加或修改的表项可以是静态的表项或者动态的表项。
对于目的MAC地址能够在MAC地址表中找到的报文,系统会直接使用硬件转发;对于目的MAC地址不能在地址表中查到的报文,系统对报文采用广播方式进行转发。如果广播后,报文到达了目的MAC地址对应的网络设备,目的网络设备将应答此广播报文,应答报文中包含了此设备的MAC地址,以太网交换机通过地址学习将新的MAC地址加入MAC地址转发表中。去往同一目的MAC地址的后续报文,就可以利用该新增的MAC地址表项直接进行转发了。(www.xing528.com)
简单来说,就是最初交换机的MAC地址表为空,MAC地址表没有记录(图8-12)。数据帧到达后从其他所有端口转发出去,交换机通过识别数据帧的源MAC地址,学习MAC地址和端口对应关系(图8-13)。经过一段时间的学习,建立了完整的MAC地址和端口对应关系的MAC表之后,就可以通过MAC地址表实现数据帧的单点转发(图8-14)。
图8-12 交换机MAC地址表为空
图8-13 交换机学习MAC地址
图8-14 交换机实现单点转发
以太网交换机提供MAC地址老化的功能。如果在一定时间内没有收到来自某网络设备的报文,交换机就会把与此设备相关的MAC地址表项删除。MAC地址老化对静态MAC地址表项无效。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。