Answers:
好吧,这取决于您使用哪种开关。
最基本的类型在链路层运行,并且不知道IP地址。他们使用MAC地址进行操作。这些开关通常不受管理。
但是,还有更多的智能交换机,它们在IP层提供功能,例如访问控制列表,并且这些交换机知道IP地址。通常,对这些开关进行管理,即它们具有Web界面或控制台界面(或两者都有),以允许用户配置各种选项。但是,附加功能在基本开关功能之上起作用。
交换机通过侦听流量来“学习”连接到其端口的设备的MAC地址,并使用它们来决定将传入数据报发送到何处。交换机通常不执行路由。通常,这是由路由器完成的,路由器发送的数据报使用链路层地址(以太网中的MAC地址)将数据包发送到下一跳。
只是要稍微补充@wolfgangsz和@sleske的答案,应该强调的是,如前所述,标准交换机是纯粹的第2层设备,因此它仅理解MAC地址。
尽管通常使用“数据包”作为通用术语,但第2层的协议数据单元(PDU)是“帧”,而在第3层,PDU是数据包。
可以将“多层交换机”视为包含路由器的交换机,与传统路由器不同,该路由器可以将数据包从VLAN路由到VLAN,而不是从一个物理接口路由到另一个物理接口。
如果交换机支持VLAN(不一定使它成为多层交换机),则将从与数据包相同VLAN成员的所有端口(称为泛洪)中发送出具有未知目标MAC地址的帧。由于VLAN是一个广播域,并且帧不会超出广播域的边界,因此收到该消息。
编辑:为了完整起见,我还应该提到支持VLAN的交换机也将支持中继端口,这些交换机使用扩展的帧,这些帧允许来自多个VLAN的流量在单个物理链路上传输。
据我了解,网络交换机以“智能”方式处理流量,因为它仅将数据包传播到其知道接收者所在的端口(与集线器不同,集线器将所有数据发送到所有端口)。
对,那是正确的。
因此,交换机需要记住与其连接的所有主机地址。如果找不到主机,则将数据包发送到默认路由(通常是指向更广网络的上行链路)
好吧,不完全是。交换机确实会记住哪些主机连接到哪个端口(通常通过观察到达端口的数据包的MAC地址)来记住。但是,交换机通常不知道“默认路由”,因为这是更高网络层的概念。交换机在OSI模型的第2层(数据链接层)上工作。“默认路由”是用于路由的概念,它发生在第3层(网络层)。
因此,交换机没有“默认路由”。如果它不知道目的MAC地址,它只是将数据包发送到所有端口(至少在开始时就可以完成,这就是“泛洪”)。无论如何,在以太网中,每个数据包都必须寻址到本地MAC地址,否则它将永远不会到达。发送到“ Internet”的数据包仍然获得本地MAC地址目的地,即网络默认网关的地址。交换机仅将此数据包传递到默认网关,然后网关(在第3层运行)从嵌入在数据包中的IP地址读取“真实”目标,并按其方式发送。
交换机是否记住IP地址或MAC地址以计算其决策?
如上所述,交换机是IP不可知的,因为它在较低的抽象级别上工作。因此,只有MAC地址。
一种并发症:如wolfgangsz的回答解释的,存在是开关,其还对层3操作(所谓的多层交换机)。这些稍微复杂一点,它们可以处理IP地址和更多地址。