如果UDP/TCP数据包在同一交换机的同一网段上,它会被发送到路由器/防火墙吗



一个假设的网络。。。

  • ISP的互联网路由器/调制解调器连接到运行Pfsense的防火墙设备的1Gb/s入站端口
  • 防火墙设备有另外两个1Gb/s以太网端口,每个端口分配不同的IP范围。(例如192.168.100.x、192.168.101.x)
  • 防火墙的每个出站端口都物理连接到同一个24端口10Gb/s交换机
  • 交换机已划分为2个不同的LAN(即LAN1和LAN2各12个端口)
  • 计算机A和B在LAN1上(在交换机IP范围192.168.100.x上)
  • 计算机X在LAN2上(在相同的物理交换机上,但IP范围不同,为192.168.101.X)
  • 所有计算机都在运行Web服务器
  • 所有计算机都在使用相同的交换机,但不是使用相同的IP范围

我密切相关的问题。

如果将文件从计算机a复制到B(同一LAN段),是否所有数据包都需要首先通过防火墙才能到达?换言之,尽管在同一个10Gb/s交换机上,流量是否以防火墙较慢的1 Gb/s端口速度传输?

如果我从计算机A复制到X(即不同的段和不同的IP范围),所有的数据包都需要首先通过防火墙才能到达吗?换言之,尽管在同一个10Gb/s交换机上,流量是否以防火墙较慢的1 Gb/s端口速度传输?

TLDR:

  1. 否,数据包将以10Gbps的线路速度直接在主机之间运行
  2. 是的,数据包将通过防火墙,因此限制为1Gb

更长版本:

一些假设:

  • WAN-连接ISP调制解调器的物理端口
  • LAN1-连接192.168.100.x子网的物理端口
  • LAN2-连接192.168.101.x子网的物理端口

通常交换机工作在L2级别(让我们省略L3级别的"智能"交换机,在通用术语中,它实际上是路由器)。

当交换机收到数据包时,它对其进行source MAC address检查,并将该信息保存在内部表中,因此它具有关联MAC<>物理端口。

下一步是将接收到的包转发到目的地,交换机使用destination MAC,如果该地址已经在内部表中,则数据包只转发到已知的物理端口,如果不是,则转发到所有物理端口(注意:数据包是通过专用硬件芯片按原样转发的,无需修改,因此速度非常快)。

正如您所看到的,这个过程中不涉及任何类型的IP地址,因此,为了使事情真正工作,首先是发送方的主机converts destination IP address into MAC,然后通过有线将包发送到交换机。

要执行此转换,发送方将检查目标IP是否与其自己的地址位于同一子网中,这就是网络掩码的作用所在。如果网络掩码是255.255.255.0(如您的示例所示),那么对于同一子网中的地址(即地址中的前3个数字相同),发送方将获得目的地的真实MAC地址(通过ARP),并将数据包直接发送到该MAC地址。

所以,回答第一个问题-源(A)和目标(B)IP在同一个子网(192.168.100.0/24),所以数据包将包含实际的发送器/接收器MAC地址,所以交换机将以10Gb的线路速度将其直接转发到正确的物理端口(假设所有主机的端口都是10GB,交换机的端口是10GB并且交换机的内部表已经填充,通常是这样)。

在第二种情况下,网络不同,发送方无法获得目的地的真实MAC地址,它只能使用默认网关,即您的pfsense防火墙,因此它将数据包发送到防火墙的MAC地址(LAN1端口的MAC地址),因此交换机将仅以1Gbs的速度将其转发到该物理端口(pfsense LAN1)。然后,pfsense将执行路由(软件将把整个数据包读取到内存中,检查其IP,应用内部规则等),在简单的情况下,只要它知道子网192.168.101.0/24的物理端口,它就可以获得真实目的地的MAC地址,防火墙将发送new packet from LAN2 physical port to switch,这个新数据包的源MAC将设置为pfsense LAN2,目的地-X的真实MAC地址。交换机会很高兴地将它转发到X连接的真实物理端口。

所以,在第二种情况下,通信速度要慢得多,这不仅是因为路由器的1GB端口,数据包必须通过它们传输两次(交换机->LAN1->LAN 2->交换机),而且还涉及到与硬件交换芯片相比慢得多的软件。

如果pfsense不知道某个网络连接到哪个物理端口(除了本地子网之外的所有其他地址,基本上是互联网),那么它将使用WAN端口以类似于A->X、 即它将数据包发送到ISP的调制解调器(这是pfsense的默认网关),然后调制解调器将执行路由。

相关内容

  • 没有找到相关文章

最新更新