数据包如何在网络中流动?

时间:2014-07-23 00:49:59

标签: networking packet packet-sniffers

我想知道数据包是如何在网络中实际流动的。例如,假设路由器后面有两台计算机A和B. A的数据包到达路由器。是否将此数据包发送到A和B,然后通过计算机IP验证数据包IP以了解最终目的地?我问这个问题的原因是因为我不了解数据包嗅探器如何在内部工作

3 个答案:

答案 0 :(得分:1)

IPv4环境中的所有主机都分配有唯一的逻辑IP地址。当主机想要将某些数据发送到网络上的另一台主机时,它需要目标主机的物理(MAC)地址。为了获得MAC地址,主机广播ARP消息并要求给出MAC地址,无论谁是目的地IP地址的所有者。该段上的所有主机都接收ARP数据包,但只有其IP与ARP消息中的IP匹配的主机才会收到其MAC地址。一旦发送方收到接收站的MAC地址,就会在物理介质上发送数据。

答案 1 :(得分:0)

这取决于网络。如果A和B都使用共享介质网络(例如同轴以太网)连接到路由器,那么路由器将把数据包放在线路上,A和B都将从线路读取数据包,但B将忽略它因为它不是针对B.如果另一方面你使用带有单独电线的交换网络用于A和B,路由器将把数据包交给交换机,交换机将它复制到电线上对于A,除非B已与交换机协商混杂监控,在这种情况下交换机也会将其发送给B

答案 2 :(得分:0)

条件-1 PC1 -192.168.1.5 PC2 192.168.1.3 条件-2 PC1 192.168.1.5 PC2 192.168.2.3

条件-1

当PC 1想要向PC 2发送数据包时,它将首先检查源和目标MAC,因为所有通信都发生在第2层或数据链路层发生在MAC。源MAC地址将是PC 1,目标MAC地址将是PC 2,在这种情况下是未知的。 PC将生成ARP以查找PC 2的MAC地址,因为主机和目的地在同一网络上是192.168.1.1一旦ARP请求获取PC交换机的MAC地址将在CAM表中查找他需要转发的端口帧。如果CAM表中没有条目,Switch将发送广播以找出PC 2连接的端口并将帧转发到PC 2

条件2

当PC看到源IP和目标IP地址不属于同一子网时,它知道数据包需要转发到默认网关。它将开始查找应该可用的默认网关的MAC地址,以防默认网关的MAC地址不可用,然后它将生成ARP请求,找到默认网关MAC地址并将其发送到默认网关。

在默认网关上创建新帧源Ip 192.168.1.5目标IP 192.168.2.5 PC 1的源MAC和默认网关的目标MAC。

路由器上的

将检查192.168.2.1连接的接口,并将数据包路由到特定接口。

现在目的地在同一个子网上,它将寻找192.168.2.3的MAC地址并将帧转发到PC 2

请注意,源IP和目标IP永远不会改变数据包流。

源和目标MAC更改