几个月前,我搬进了一间新公寓。公寓里到处都是以太网插孔,壁橱里藏着一台 Airplay101 8 路以太网交换机,它连接了所有这些插孔。我想知道交换机在数据包层面上到底起什么作用。一端插入我的路由器,另一端插入 PC,其余部分暂时未使用。所有发送的数据包都会转发到所有其他端口吗?交换机是否知道每个连接设备的 IP 地址并只将信息转发到正确的端口(如果知道,这与路由器有何不同)?还是其他原因?
另一个论坛上的某个人(在问题因偏离主题而被关闭之前)开始解释以太网交换机进行帧级交换,这意味着它基于 MAC 地址,而不关心嵌入的 IP 数据包。那么连接到交换机的每个设备是否都使用 ARP 来学习 IP/MAC 映射,然后添加正确的目标 MAC 地址,然后由交换机进行排序?
作为参考,我的背景是 EE,我从事芯片设计已有 15 年,虽然我从未在学校上过网络课,但我研究过一些网络芯片,读过一些书,并且一度对路由器的功能有了很好的了解(如果有足够的时间,我可能仍然可以设计一个 Infiniband HCA)。但我不确定独立交换机里有什么。
谢谢。
答案1
当以太网交换机在一个端口上接收到以太网帧时,它会查看该帧上的目标 MAC 地址,如果它知道可以在哪个端口找到该 MAC 地址,它会将其从该端口转发出去。
如果不知道哪个端口连接到目标 MAC 地址,或者目标 MAC 地址是多播或广播 MAC 地址,交换机会将其发送到所有端口(除了它进入的端口)。这称为“泛洪”帧。
交换机会记录在给定端口上收到的任何帧的源 MAC 地址,并使用该地址更新其表,以了解哪些 MAC 地址来自哪些端口。此表称为桥接表或转发表,或者,出于不为人知的历史技术原因,也称为 CAM 表。
以太网的设计目的在于不了解或不关心以太网帧中可能包含哪些高层协议。所以您说得对,像 IP 这样的高层协议必须有自己的方法来查找要将给定帧发送到哪个 MAC 地址。IP 使用一种称为 ARP 的协议来执行此操作。但以太网甚至不真正了解 ARP。
要完全理解以太网,必须记住以太网故意对 IP 一无所知。尽管 IP 是以太网帧中最常见的负载,但以太网对此一无所知,没有给予 IP 任何特殊考虑。
以太网交换机可能比我上面描述的简单桥接复杂得多,包括 VLAN、环路检测、链路聚合、端口身份验证、QoS、时间同步以及太多其他无法一一列举的内容。但基本交换(也称为基本 802.1D 桥接)就像我描述的一样。