接上篇文章《一分钟了解交换机四种报文中的三种:广播、组播、未知单播》
二层交换机传输的90%流量都是已知单播
上一篇文章我们讲述了二层交换机在转发报文时,会把报文分为四类:广播、组播、未知单播、已知单播。前面三种类型的报文虽然看起来不一样,不过二层交换机对它们的处理方式却相同:泛洪转发。我们今天介绍剩下的最后一种类型:已知单播,因为交换对它和其它三种报文的处理不一样,今天来作单独的介绍!
在日常工作环境中,二层交换机正常转发的报文,有90%以上的流量都是已知单播报文,如果不是的话,则说明网络有问题,可能有环路或者交换机正被攻击。
为了照顾刚接触网络的小伙伴,我们先来普及一下已知单播的概念!
在交换机MAC地址表中,有表项的报文,称为已知单播
交换机每收到一个报文,都会取出其目的MAC地址,然后查找MAC地址表,看表中是否有目的MAC对应的表项:
- 如果有表项,则称收到的报文为已知单播报文;
- 如果没有表项,则称收到的报文是未知单播报文。
例如交换机的MAC地址表项如下:
MAC地址表项
- 如果交换机收到一个目的MAC为0000-0011-1111的报文,查找MAC地址表,发现有表项,则称这个报文是已知单播报文;
- 如果交换机收到一个目的MAC为0000-0033-3333的报文,查找MAC地址表,发现没有表项,则称这个报文是未知单播报文。
对于已知报文,二层交换机会从某一特定的接口转发出去
我们上篇文章说交换机对于广播、组播、未知单播,都会进行泛洪处理,那交换机怎么处理已知单播报文呢?
- 交换机只会从某一个特定的端口转发已知报文;
- 其它的三种报文会从在同一个VLAN,所有UP的端口泛洪转发出去。
例如下面的MAC地址表项,交换机收到目的MAC为0000-0011-1111的报文,只会从G0/0/1转发出去,不会从G0/0/2转发出去。
只会从G0/0/1转发
这也是已知单播最大的特性了!
总结
上面说了,网络中超过90%的流量都是已知单播,各位小伙伴能猜出这样说的原因吗?
因为正常转发的报文,肯定要有出接口的,如果没有,流量就会被泛洪!我们知道泛洪的流量会被复制多份,从多个接口发送出去!这种转发方式,不仅会浪费交换机的资源,也占用大量的带宽,是不应该存在的(少量是可以的)。如果存在大量被泛洪的流量,则说明网络出现了问题,需要排除网络故障,同时也应该采取措施,限制泛洪流量的传输!