是一个networking交换机IP感知?

关于networking,我有一些很琐碎的基本问题,但是我发现有不同的信息,所以我只想解决这个问题。

据我了解,networking交换机以“智能”方式处理stream量,只是将数据包传播到知道接收方所在的端口(与powershell发送所有数据到所有端口的Hub相反)。

  • 正确?

所以Switch需要记住连接到它的主机的所有地址。 如果没有find主机,则将数据包发送到默认路由(通常是上行链路到更广泛的networking)

  • 正确?

现在我的主要问题是:

  • 交换机是否记住IP地址或MAC地址来计算其决定?

那么,这取决于你正在使用什么样的开关。

非常基本的types在链路层运行,不知道IP地址。 他们使用MAC地址进行操作。 这些交换机通常是不受pipe理的。

但是,也有更多的智能交换机提供IP层的function,例如访问控制列表,这些交换机知道IP地址。 通常,这些交换机是被pipe理的,即它们具有web界面或控制台界面(或两者)以允许用户configuration各种选项。 但是,附加function在基本开关function的基础上工作。

交换机通过监听stream量来“学习”连接到其端口的设备的MAC地址,并使用它们来决定在哪里发送传入的数据报。 一般情况下,交换机不执行路由。 这通常由路由器完成,路由器发送的数据报使用链路层地址(以太网networking中的MAC地址)将数据包发送到下一跳。

据我了解,networking交换机以“智能”方式处理stream量,只是将数据包传播到知道接收方所在的端口(与powershell发送所有数据到所有端口的Hub相反)。

对,那是正确的。

所以Switch需要记住连接到它的主机的所有地址。 如果没有find主机,则将数据包发送到默认路由(通常是上行链路到更广泛的networking)

那么,不完全。 确实,交换机会记住哪些主机连接到哪个端口(通常通过观察到达端口的数据包的MAC地址)。 但是交换机通常不知道“默认路由”,因为这是来自更高networking层的概念。 交换机工作在OSI模型(数据连接层)的第2层。 “默认路由”是用于路由的概念,发生在第3层(networking层)。

因此交换机没有“默认路由”。 如果它不知道目标MAC地址,它只是将数据包发送到所有的端口(至less在开始的时候就是这样 – 这就是所谓的“泛洪”)。 无论如何,在以太网中,每个数据包必须被定址到本地MAC地址,否则将永远不会到达。 发送到“互联网”的数据包仍然获得本地MAC地址目的地,即networking默认网关的地址。 交换机只是将这个数据包传递到默认网关,然后网关(在第三层操作)从embedded在数据包中的IP地址读取“真实”目的地,并将其发送。

交换机是否记住IP地址或MAC地址来计算其决定?

如上所述,交换机是IP不可知的,因为它在较低级别的抽象上工作。 因此,只有MAC地址。

一个复杂的问题:正如Wolfgangsz的回答所解释的那样,在第三层也有一些开关(所谓的多层开关 )。 这些有点复杂,他们可以处理IP地址等等。

只要稍加一些@wolfgangsz和@sleske的答案,就应该强调一个标准的交换机,如前所述,纯粹是一个二层设备,因此它只能理解MAC地址。

尽pipe“数据包”通常被用作通用术语,但是层2处的协议数据单元(PDU)是“帧”,层3处PDU是数据包。

一个“多层交换机”可以被认为是一个交换机,它包含一个路由器,与传统路由器不同,它将数据包从VLAN发送到VLAN,而不是从一个物理接口到另一个物理接口。

如果一台交换机支持VLAN(这不一定是多层交换机),那么一个具有未知目标MAC地址的帧将从所有与该分组相同的VLAN成员的端口(被称为泛洪)因为VLAN是广播域,帧不会超出广播域的边界。

编辑:为了完整性,我还应该提到,支持VLAN的交换机也将支持中继端口,这些端口使用扩展帧,允许来自多个VLAN的stream量在单个物理链路上承载。

查看networking交换机上的维基百科条目 , 特别是“图层”信息 。

“层”(大致) 是开关操作的OSI层 。