如果UDP和/或TCP通过IP将数据包发送到Internet协议地址,那么第二层如何转发这些数据包?
这是可能的还是你需要一个第三层开关?
发布于 2016-06-13 16:30:41
第二层开关对第二层上的任何东西视而不见.第二层协议包含多种第三层协议(IPX、IPv4、IPv6、AppleTalk等).第二层交换机对此一无所知,它只看到第二层帧头.
第三层协议可以承载多种四层协议(TCP、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一无所知。
对于不同网络上的目的地,进程是相同的,但主机将使用其配置网关的MAC地址(路由器,包括第三层交换机的路由部分)。路由器将剥离帧,查看数据包,将数据包切换到不同的网络接口,并为新接口构建新框架。
发布于 2016-06-13 16:32:35
首先,UDP和TCP是L4术语,它们存在于L4上。如果您有一个L2交换机,无论您想要发送什么,如果有有效路径,数据包将被转发到它的目的地,我猜是正确的网关或流量到您的局域网中的另一台pc,不管它们是UDP还是TCP。
https://networkengineering.stackexchange.com/questions/32212
复制相似问题