桥接,交换,转发帧之间的区别?

桥接,交换,转发帧之间的区别?

桥接、交换、转发帧之间有什么区别?

控制平面与转发平面、慢速路径与快速路径之间有何区别?上述术语与这些有何关系?

有人能解释一下数据包如何从入口端口(在 I/O 卡上)传输到出口端口(在另一个 I/O 卡上)吗?有哪些例外情况?每个数据包都会到达 CPU 吗?

做出这些决定使用了什么逻辑或算法?

答案1

这些都与制造商和设备有关。在某些情况下,甚至是与固件/操作系统有关的。

移动数据包的设备(以太网交换机移动以太网帧、IP 路由器移动 IP 数据报、ATM 交换机移动单元)试图以最高效的方式进行移动。这通常意味着使用带有基于硬件的算法的定制芯片 (ASIC) 来识别流量并移动它们。

通常,这些基于硬件的算法的功能是有限的(通常涉及基于策略的流量操作——安全性、深度数据包检测等),当需要更高级的决策时,ASIC 将需要涉及设备的 CPU 和固件来做出流量决策。

使用 CPU 和软件来做出流决策通常比纯硬件路径慢得多。在某些设备中,CPU 可以为初始数据包做出决策,并将在 ASIC 可以访问的基于 RAM 的表中输入条目,以便同一流中的未来数据包可以遵循纯硬件路径。

制造商不会公开其算法的实施细节,因为这通常是他们的“秘密武器”,有助于在市场上脱颖而出。此外,这些算法通常依赖于 ASIC 的功能以及设备所依赖的底层硬件。

你可以通过阅读协议和学习来推断如何数据包应该在交换/路由设备内流动。但对于给定的设备,具体算法和优化是什么,你通常无法了解。

相关内容