如果 UDP 和/或 TCP 通过 IP 将数据包发送到 Internet 协议地址,第 2 层交换机如何转发这些数据包?
这是可能的还是您需要第 3 层交换机?
如果 UDP 和/或 TCP 通过 IP 将数据包发送到 Internet 协议地址,第 2 层交换机如何转发这些数据包?
这是可能的还是您需要第 3 层交换机?
第 2 层交换机不会注意到第 2 层以上的任何内容。二层协议承载了多种三层协议(IPX、IPv4、IPv6、AppleTalk等)。二层交换机对此一无所知;它只看到第 2 层帧头。
三层协议可以承载多种四层协议(TCP、UDP等)。第 2 层交换机需要剥离第 2 层报头以查看第 3 层数据包以查看第 2 层帧携带的第 3 层协议,但它不会这样做。
路由器(第 3 层设备,包括第 3 层交换机)将剥离第 2 层帧以显示第 3 层数据包。然后,路由器将根据第 3 层报头将第 3 层数据包切换到新接口,并为新接口创建新的第 2 层帧。
第 3 层交换机实际上是一个第 2 层交换机,但内置了一个路由器。第 3 层交换机的路由部分仅在帧目的地为交换机中的第 3 层接口时才涉及。
编辑以回答您的评论:
应用程序将数据发送到 UDP,UDP 将数据封装到第 4 层数据报中,包括 UDP 报头,然后将其发送到 IP(IPv4 或 IPv6)。IP 将 UDP 数据报封装在 IP 数据包内,包括 IP 报头。IP 将数据包发送到以太网,以太网将 IP 数据包封装在以太网帧内,包括以太网帧头。以太网帧头具有源 MAC 地址和目标 MAC 地址。您的主机可能不知道目标主机的 MAC 地址。它将在其 ARP 缓存中查找具有目标 IP 地址的主机的 MAC 地址。如果它在 ARP 缓存中,则使用该 MAC 地址。如果没有,它将广播一个 ARP 请求,询问 IP 地址所有者的 MAC 地址。目标主机将回复其 MAC 地址,并构建帧。
下一部分涉及开关。交换机将使用 MAC 地址和端口构建 MAC 地址表。每次交换机在端口上接收到帧时,它都会使用 MAC 地址以及该 MAC 地址来自哪个端口来更新其表。当交换机从您的主机接收到帧时,它会查看目标 MAC 地址,并在其 MAC 地址表中查找该地址,以便将帧传送到目标 MAC 地址所在的端口。如果它无法在其表中找到该 MAC 地址,它将将该帧泛洪到所有端口。
当目的主机接收到帧时,它会反向封装过程。
如您所见,每一层都独立于其他层,交换机对 IP 或 UDP 一无所知。
对于不同网络上的目的地,该过程是相同的,只是您的主机将使用其配置的网关(路由器,包括第 3 层交换机的路由部分)的 MAC 地址。路由器将剥离帧,查看数据包,将数据包切换到不同的网络接口,并为新接口构建新帧。
首先,UDP和TCP是L4术语,它们存在于OSI模型的L4上。如果你有一个 L2 交换机,无论你想传输什么,如果有一个有效的路径,数据包都会被转发到它的目的地,我猜一个正确的网关或流量到你局域网中的另一台电脑,无论它们是 UDP 还是TCP