地址转发表概况 MAC地址转发表概况 以太网交换机的主要功能是在数据链路层对报文进行转发,也就是根据报文的目的MAC地址将报文输出到相应的端口。MAC地址转发表是一张包含了MAC地址与转发端口对应关系的二层转发表,是以太网交换机实现二层报文快速转发的基础。MAC地址转发表的表项中包含如下信息: l 目的MAC地址 l 端口所属的VLAN ID l 本设备上的转发出端口编号 以太网交换机在转发报文时,根据MAC地址表项信息,会采取以下两种转发方式: l 单播方式:当MAC地址转发表中包含与报文目的MAC地址对应的表项时,交换机直接将报文从该表项中的转发出端口发送。 l 广播方式:当交换机收到目的地址为全F的报文,或MAC地址转发表中没有包含对应报文目的MAC地址的表项时,交换机将采取广播方式将报文向除接收端口外的所有端口转发。 1.1.2 MAC地址学习过程概况 MAC地址转发表中的表项可以通过两种方式进行更新和维护: l 手工配置方式 l MAC地址学习方式 通常情况下,多数MAC地址表项都是通过MAC地址学习功能创建和维护的。以太网交换机学习MAC地址的过程如下: (1) 如所示,当UserA需要与同处在VLAN1中的UserB通信时,需要将报文发送到交换机的Ethernet1/0/1端口,此时交换机将该报文的源MAC地址,即UserA的地址“MAC-A”记录到自身的MAC地址转发表中,形成如所示的表项。 图1-1 MAC地址学习过程图示一 图1-2 交换机中的MAC地址转发表项一 (2) 学习过程完成后,交换机将对该报文进行转发,由于现有的MAC地址转发表中没有关于UserB的MAC地址及端口的对应表项,因此,交换机会如所示将该报文向除Ethernet1/0/1之外的所有端口进行转发,以尽最大能力保证UserB能够收到该报文。 图1-3 MAC地址学习过程图示二 (3) 由于交换机采用广播方式发送报文,UserB和UserC都会收到,但UserC不是该报文的目的设备,因此不会进行处理。而正常情况下,UserB会向UserA发送报文进行响应,如所示。当该响应报文发送至Ethernet1/0/4端口时,交换机会采取同样的MAC地址学习方式将UserB的地址和端口对应关系保存到MAC地址转发表中。 图1-4 MAC地址学习过程图示三 (4) 此时交换机的转发表中应包含如所示的两条表项。在转发响应报文时,由于MAC地址转发表中已经包含目的为“MAC-A”的表项,因此交换机不会再次采取广播操作,而是直接将报文通过Ethernet1/0/1端口发送至UserA,完成此次报文交互过程。 图1-5 交换机中的MAC地址表项二 (5) 在此之后UserA和UserB的通信报文,交换机将按照表项信息直接进行单播发送。 & 说明: l 在某些特殊情况下,例如UserB不可达或UserB虽然收到报文但没有回复,交换机将无法学习到UserB的MAC地址。因此,在下一次收到目的为UserB的报文时,交换机依然会以广播方式进行发送。 l 交换机通过MAC地址学习机制只能学习到单播地址;对于源MAC地址是广播地址的报文,交换机将直接丢弃。 MAC地址转发表管理-1 MAC地址转发表管理 & 说明: 本章节内容只涉及静态和动态MAC地址表项的管理,有关组播MAC地址表项管理的内容,请参见《Quidway S6500 系列以太网交换机 操作手册》中“组播协议”部分。 1.1 MAC地址转发表管理概况1.1.1 MAC地址学习功能概况 为了快速转发报文,以太网交换机需要维护MAC地址转发表。MAC地址转发表是一张基于端口的二层转发表,是以太网交换机实现二层报文快速转发的基础。MAC地址转发表的表项包括: l 目的MAC地址 l 端口所属的VLAN ID l 转发端口号 以太网交换机通过查找MAC地址转发表得到二层报文的转发端口号,从而实现二层报文的快速转发。 MAC地址转发表中的动态表项(非手工配置)是由以太网交换机学习得来的。以太网交换机学习MAC地址的过程如下: 如果从某端口(假设为端口1)收到一个数据帧,以太网交换机就会分析该数据帧的源MAC地址(假设为MAC-SOURCE)并认为目的MAC地址为MAC-SOURCE的报文可以由端口1转发。 l 如果MAC地址转发表中已经包含MAC-SOURCE,交换机将对应表项进行更新。 l 如果MAC地址转发表中尚未包含MAC-SOURCE,交换机则将这个新MAC地址(以及该MAC地址对应的转发端口)作为一个新的表项加入到MAC地址转发表中。 图1-1 以太网交换机利用MAC地址转发表转发报文 完成对报文的源地址学习过程后,交换机开始转发报文: l 对于目的MAC地址已经存在于MAC地址转发表中的报文,系统将直接使用硬件转发。 l 对于目的MAC地址没有存在于MAC地址转发表中的报文,系统将在接收端口所在VLAN内向除接收端口外的所有端口转发该报文,通常称为对该报文进行广播操作。 在对该报文进行广播操作之后,交换机根据是否收到应答报文会采取以下的操作: l 如果交换机收到目的设备对此广播报文的回应,表示报文已正常发送至目的设备。在应答报文中将包含目的设备的MAC地址,交换机通过地址学习将目的设备的MAC地址加入到MAC地址转发表中。之后去往同一目的MAC地址的报文,就可以利用该新增的MAC地址表项直接进行转发了。 l 如果交换机没有收到目的设备的回应,表示目的设备不可达或目的设备虽然收到报文但没有回复。这种情况下,交换机仍将无法学习到目的设备的MAC地址。因此,交换机在下一次转发目的为该MAC地址的报文时,依然以广播方式进行发送。 以太网交换机的MAC地址转发表是有容量限制的,为了最大限度利用地址转发表资源,以太网交换机利用老化机制更新MAC地址转发表,即:如果在老化时间内没有收到来自某网络设备的报文,交换机就会把与此设备相关的MAC地址表项删除。MAC地址老化对静态MAC地址表项无效。 用户可以根据网络实际情况人工配置(添加或修改)MAC地址表项,添加或修改的表项可以是静态的表项或者动态的表项。 & 说明: 交换机通过MAC地址学习机制只能学习到单播地址,对于源MAC地址是广播地址的报文,交换机将直接丢弃。 1.1.2 MAC地址表项的分类与特点 根据自身特点和配置方式等的不同,MAC地址表项可以分为两类: l 静态MAC地址表项:也称为“永久地址”,由用户手工添加和删除,不会随着时间老化。对于一个设备变动较小的网络,手工添加静态地址表项可以减少网络中的广播流量。 l 动态MAC地址表项:指可以按照用户配置的老化时间而老化掉的MAC地址表项,交换机可以通过MAC地址学习机制或通过用户手工建立的方式添加动态MAC地址表项。 表1-1 MAC地址表项的分类与特点 MAC地址 配置方式 有无老化时间 设备复位后是否被保留(在保存配置的情况下) 静态MAC地址表项 用户手工配置 无 是 动态MAC地址表项 由设备通过MAC地址学习机制生成或者由用户手工配置 有 否
|