假设我们有一个路由器(例如 Internet 盒子),上面连接了 2 个交换机。
我们在开关 1 上有一台机器 A,在开关 2 上有一台机器 B。
路由器想要在交换机 1 上向机器 A 传输一个数据包。ARP 已经解析,因此数据包将包含机器 A 的目标 MAC 地址。
路由器如何知道哪个交换机发送此数据包?
假设我们有一个路由器(例如 Internet 盒子),上面连接了 2 个交换机。
我们在开关 1 上有一台机器 A,在开关 2 上有一台机器 B。
路由器想要在交换机 1 上向机器 A 传输一个数据包。ARP 已经解析,因此数据包将包含机器 A 的目标 MAC 地址。
路由器如何知道哪个交换机发送此数据包?
每个路由器接口将位于不同的网络中。路由器将使用目标网络的接口,因此连接到目标网络接口的交换机将获得目标主机的帧。路由器将在其 ARP 缓存中查找或使用 ARP 作为与目标主机的接口。
大多数家庭路由器使用一种称为 PAT 的特殊 NAT。当数据包从您的内部机器发出时,源地址会如您所知被重写。源端口也改变了,通常是一个大的数字,路由器保持一个地址转换表。
更多相关信息:https ://superuser.com/questions/105838/how-does-router-know-where-to-forward-packet