-
二层交换机,没有充当三层网关角色的能力(Capability)。
-
三层交换机,首先也是二层交换机。但是,它有一个额外的能力(Capability),软件配置一下,可以充当三层网关的能力。
使得不同网段(广播域/VLAN)的通信成为可能,换句话说,就是三层网关可以帮助不同的网段主机互相通信。如果没有三层网关,就无法跨网段通信。
---------------------- 分界线---------------------
如果没有记错,无论是二层交换机还是三层交换机出厂的时候,都是二层交换机,即工作在二楼(层)。
工作在二楼的交换机,收发包裹,只关心有关二层的包裹信息,即
干的活也很简单,就是根据包裹的二层信息“目的MAC地址”来寻找对应的出端口,然后把包裹从出端口扔出去,活就算干完了。 (Forwarding)
这个表的名字叫”MAC Address Table”。
MAC Address Table也不可能天生就知道“目的MAC地址与出端口”的绑定关系吧,这个表里的条目是如何生成的?
包裹进入交换机端口的时候,记录其源MAC地址,记录其端口号,然后把两者的绑定关系,生成一个条目,记录在MAC Address Table里。并启动一个倒计时老化定时器(Aging Timer)。一个20分钟的定时器,当定时器归0即删除该条目。如果在归0之前,又有该源MAC地址的流量包裹进入端口,定时器满血复活,可以继续活20分钟。(Learning)
以上就是二层交换机干的活的汇总,准确地说,是一个非网管型二层交换机的干活汇总,非常easy,对吗?
读者可能会有不同意见,一个网管型的二层交换机不是有IP地址的吗?
既然网管型的二层交换机有IP地址,它怎么会不关心包裹里的IP地址?否则它怎么接收属于它的包裹?
目的MAC地址 == 网管型的二层交换机自身的MAC
-
如果yes,直接将包裹扔给网管型的二层交换机的TCP/IP协议栈。IP判断是否目的IP == 自己的IP地址,如果yes,继续进一步处理(TCP/UDP/ICMP处理流程)。如果no,直接扔了。
-
如果no,按照上文的提到的Forwarding流程处理。
-
非网管型二层交换机,只有Learning、Forwarding 2个功能。
-
网管型二层交换机,有Learning、Forwarding 2个功能。还有一个判断逻辑+ TCP/IP。
以上文字尽管是关于二层交换机的,和三层交换机仅有一步之遥。因为三层交换机是在网管型二层交换机的基础上,仅仅修改其判断逻辑,其它的都是一样一样的。
-
如果yes,继续进一步处理(本地TCP/UDP/ICMP处理流程)。
-
如果no,查询路由表,寻找出接口。如果yes,将IP包裹封装一个全新的二层MAC头扔出去。如果no,扔了。
划线加亮部分即为修改之后的逻辑,也是二层交换机与三层交换机的区别。
既然三层交换机仅仅是在二层交换机的基础之上做出的修改,所以三层交换机拥有二层交换机的一切功能。
一个拥有三层交换机功能(capability)的二层交换机在出厂之后,只要一个配置开关“no switchport” 即可将二层交换机端口,修改为三层交换机的接口。
这个命令“no switchport”背后的代码逻辑,就是上文所阐述的修改部分。用户还可以将三层交换机的接口修改回二层交换机的端口,命令是“switchport”,非常简单。
原文始发于微信公众号(车小胖谈网络):二层、三层交换机之间到底有什么区别?
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/2211283.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论