计算机网络-路由器和交换机的不同之处有哪些?
2020-06-17
一台电脑,两块网卡,软件配置成路由模式,可以实现路由器的三层功能。
同样的一台电脑,两块网卡,软件配置成桥接模式,可以实现交换机的二层功能。
所以,决定电脑能成为路由器还是交换机,决定因素是软件,而不是硬件。
Cisco的中高端交换机,既可以配置成二层交换机,又可以配置成路由器(三层交换机),用的是相同的硬件模块。
如何简单区分桥接与路由功能?
很简单,只要看一块网卡收到的广播,能否自由流淌到另外一块网卡,就是桥接(Bridge),这是典型的二层交换机功能。
否则,广播无法自由在两块网卡之间穿梭,那就是路由器功能。
桥接功能
两块网卡,没有资格绑定任何IP地址,它们在网络上的存在对用户是透明的,用户感受不到它们的存在。
两块网卡,工作在一个广播域里。如果想在广播域里刷存在感,必须拥有一个属于广播域网段的IP地址。
但是上文说了,网卡没有资格拥有IP,那这个IP地址配置在哪里呢?
配置在软件虚拟接口SVI(Software Virtual Interface)上,拥有了IP地址的电脑,就可以远程访问它了。
路由功能
两块网卡,都需要绑定IP地址,而且这两个IP地址不能相同网段,更不能相同。
用户配置时大可不必担心网段冲突,因为凡是冲突的配置,系统会拒绝。
为何要有桥接与路由的区分?
- 分割广播域,控制流量
桥接无法控制广播在不同物理接口之间的穿梭,广播域(物理接口)多,连接的主机多,广播报文多,广播嘈杂,对主机的干扰程度越严重。
此外,同一个桥接下的主机,可以自由通信,桥对这些通信没有任何控制。
所谓控制,就是过滤,没有办法过滤掉某些主机与另外一些主机的通信。
而路由功能,可以将某些主机放在一个广播域,将另外一些主机放在另外的广播域。这样不同的广播域的通信必须流经路由器,路由器就可以控制是让过,还是不让过。
- 不同类型的物理接口,不能使用桥接,只能路由
以太网接口与其它串行接口是不可能通过桥接将它们连接起来,它们的二层封装方式不一样。一个是Ethernet封装,另外的可能是PPP/HDLC封装。
在这种情况下,交换机无用武之地,必须使用路由器,路由器最擅长替换二层封装类型!
决定一台物理设备是路由器还是交换机,决定因素是软件,那么可否将路由器的IOS操作系统刷在交换机上,实现路由器功能。或者将交换机的IOS操作系统刷在路由器上,实现交换机功能呢?
现实的实现是不可以的!这些IOS操作系统只用于专用的硬件平台上,换了一个硬件平台就不行了。
理论上可以,只要操作系统不将自己限制在专用硬件平台上就可以了。
当软件可以完全脱离底层硬件束缚的时候,无疑灵活性是最高的。
终于有一天,这样的产品真的到来了。Cisco CSR1000V,一个纯软件路由器,可以跑在任何品牌的电脑上,实现路由器功能。
当灵活性成为优先考虑目标时,业界开发出了软件交换机(vSwitch)、软件路由器(vRouter)、软件防火墙。
所谓软件的交换机/路由器/防火墙,和硬件交换机/路由器/防火墙的差异是,前者对底层硬件没有指定,而后者需要专用硬件平台。
专用的硬件平台,除了灵活性不足,转发性能由于硬件架构的优化而表现更加优异,这点是软件路由器无法比拟的。
软件脱离硬件平台的束缚与限制,提供更高灵活性,这也是SDN(Software Defined Network)背后的灵魂。底层物理硬件只是做为物理基础设施的存在,至于底层硬件能实现桥接、路由、过滤功能,完全听命于上层的软件的控制。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构