交换机(三层)转发原理

1. 三层交换机转发原理

交换机(三层)转发原理_第1张图片
    如图所示,假如主机A想访问主机B,首先主机A会将自己的IP地址和子网掩码做与操作,得出网路地址(如:Host-A的IP地址100.1.1.2与自身掩码255.255.255.0做与操作后,得到的网络号是100.1.1.0)。然后判断目的IP地址(即Host-B的IP地址)与自己的网络地址是不是在同一个子网。因为图中主机A和主机B不在同一子网内,所以需要进行三层转发。

1、主机A发送ARP广播获取网关MAC地址

    主机A想访问主机B,首先要有主机B的MAC地址,由于主机A和主机B不在同一子网,所以主机A首先会向缺省网关发送ARP广播报文来获取网关的MAC地址。ARP报文格式如下:
在这里插入图片描述
2、交换机形成主机A的MAC表项,并用网关MAC地址回应主机A的ARP请求

    交换机收到ARP广播报文后,首先学习ARP报文Ethernet头部的源MAC地址,交换机芯片将自动记录主机A的MAC地址(00e0-d26b-8121)、接收该ARP报文的交换机接口号(E1/0/0)及此接口所属的VLAN(VLAN 10)等信息,并形成一条MAC表项放入交换机MAC表中。同时,交换机也会通过软件把主机A的IP、MAC、上连到交换机的接口等信息保存到交换机的硬件转发表里(三层硬件表项,MAC表是没有IP的)。

    由于主机A发送的ARP广播报文中的目的IP地址(100.1.1.1)就是交换机上接收该ARP广播报文的接口(E1/0/1)所属VLAN(VLAN 10)的IP地址,所以交换机将使用vlan10的MAC地址回复主机A的ARP请求。ARP回复报文如下:
在这里插入图片描述
3、主机A把网关MAC当作主机B的MAC访问主机B

    主机A收到网关的ARP回应报文后,会把网关的MAC地址当成是主机B的MAC地址,这样主机A发送数据给主机B时就会使用网关MAC作为目的MAC来封装数据侦,侦格式如下:
在这里插入图片描述
4、交换机查找硬件转发表/路由表进行三层转发

    交换机收到主机A发来的数据报文后,仍然会首先学习数据报文Ethernet头部的源MAC地址,然后根据Ethernet头部的目的MAC查找交换机的MAC表,此时发现目的MAC地址就是本地VLAN的MAC地址,这种情况下交换机会把该报文上送到交换芯片的三层引擎处理。三层引擎将首先查找硬件转发表。

    ⑴ 如果硬件转发表中有匹配项,则根据报文目的IP地址作相应处理:

     ① 目的IP地址就是本地的IP地址,则交相应模块处理。

     ② 目的IP是其他设备IP地址,本地只是转发,则根据硬件转发表项使用出接口MAC替换报文的源MAC地址,用下一跳MAC替换报文的目的MAC地址,同时TTL值减1,继续转发。(此处与二层的区别在于需要对报文进行源、目的MAC进行替换)

    ⑵ 如果不匹配则查找路由表,有匹配项则按照上面(2)中的操作进行,同时把相应的目的IP、下一跳MAC、出接口等信息存储到硬件转发表项中,下次就不需要查路由表了,这就是所谓的一次路由多次交换。

    ⑶ 如果路由表也没有匹配项,则丢弃报文。

    此处,由于主机A数据报文的目的IP是主机B的地址,并且主机B和交换机直连,交换机的硬件转发表/路由表已经有主机B的路由表项,所以交换机将主机A发来的报文中的源、目的MAC地址作替换,同时TTL值减1,然后发给主机B。经过MAC替换后的报文格式如下:
在这里插入图片描述
    这样主机A就把数据报文发到了不同网段的主机B。同时交换机上也保存了关于主机A和主机B的硬件转发表项,以后主机A和主机B互访,以及其他网段主机访问主机A或主机B交换机就可以根据硬件转发表项直接转发,而不需要查找路由表。
    

2. 二层交换机和三层交换机的区别

交换机(三层)转发原理_第2张图片
交换机(三层)转发原理_第3张图片
    1. 工作层级不同:二层交换机工作在数据链路层,三层交换机工作在网络层,三层交换机不仅实现了数据包的高速转发,还可以根据不同网络状况达到最优网络性能。

    2. 原理不同:二层交换机的原理是当交换机从某个端口收到一个数据包,它会先读取包中的源MAC地址,再去读取包中的目的MAC地址,并在地址表中查找对应的端口,如表中有和目的MAC地址对应的端口,就把数据包直接复制到这个端口上。三层交换机的原理比较简单,就是一次路由多次交换,通俗来说就是第一次进行源到目的的路由,三层交换机会将此数据转到二层,那么下次无论是目的到源还是源到目的都可以进行快速交换。

    3. 功能不同:二层交换机基于MAC地址访问,只做数据的转发,并且不能配置IP地址,而三层交换机将二层交换技术和三层转发功能结合在一起,也就是说三层交换机在二层交换机的基础上增加了路由功能,可配置不同vlan的IP地址,vlan之间可通过三层路由实现不同vlan之间通讯。

    4. 应用不同:二层交换机主要用于网络接入层和汇聚层,而三层交换机主要用于网络核心层,但是也存在少部分三层交换机用于汇聚层的现象。

你可能感兴趣的:(#,Marvell,交换机)