跳到交流

时间:2012-04-06 05:40:28

标签: networking communication router

如果我们在同一个网络中,那么跳转通信将通过在MAC层工作的第2层设备(如交换机,网桥,等。)进行。

但是如果我们必须将数据包发送到某个其他网络中的目的地,则通过路由器进行跳跃式跳转通信。

这是对的吗?

2 个答案:

答案 0 :(得分:3)

您的陈述在概念上是正确的,但细节并不完全正确。

像IP这样的第3层协议可以在整个Internet上将数据包从其源路由到目的地,但像ethernet这样的第2层协议只能为一个数据包路由数据包。当设备在TCP / IP网络上传输数据包时,它必须知道下一跳的以太网(第2层)地址和数据包最终目的地的IP(第3层)地址。

让我们看一下您描述的两种情况,使用设备A上的用户知道设备B的IP地址并希望向其发送数据包的情况。

同一(未切换)子网上的设备

  1. 设备A上的用户发出命令ping 10.1.1.23
  2. 设备A广播ARP(第2层)请求,询问其网络中的哪个设备可以将数据包路由到IP地址10.1.1.23。
  3. 设备B将IP地址识别为自己的IP地址,并通过返回以IP和以太网地址为源,设备A的IP和以太网地址作为目的地的数据包来应答请求。
  4. 现在,设备A拥有与设备B通信所需的一切。它传输到设备B的每个数据包都将具有正确的以太网和IP地址作为目的地。
  5. 同一(已切换)子网上的设备

    1. 设备A上的用户发出命令ping 10.1.1.23
    2. 设备A广播ARP(第2层)请求,询问其网络中的哪个设备可以将数据包路由到IP地址10.1.1.23。
    3. 交换机在其中一个端口上接收数据包,并在连接到设备B的任何端口上重新传输相同的数据包。这是交换和未交换子网之间唯一的重要区别。 /强>
    4. 设备B将IP地址识别为自己的IP地址,并通过返回以IP和以太网地址为源,设备A的IP和以太网地址作为目的地的数据包来应答请求。
    5. 现在,设备A拥有与设备B通信所需的一切。它传输到设备B的每个数据包都将具有正确的以太网和IP地址作为目的地。
    6. 不同子网上的设备

      1. 设备A上的用户发出命令ping 8.8.8.8
      2. 设备A广播ARP(第2层)请求,询问其网络中的哪个设备可以将数据包路由到IP地址8.8.8.8。
      3. 地址8.8.8.8位于不同的网络上,因此没有本地设备将该地址识别为自己的地址。但是,路由器会看到数据包,检查其路由表,并发现它知道如何将数据包转发到8.8.8.x网络。因此,路由器通过返回具有自己的以太网地址作为源的数据包来回复。
      4. 现在,设备A可以通过发送目的地IP地址为8.8.8.8但路由器的以太网地址作为目的地的数据包与设备B通信。
      5. 路由器接收数据包是因为它们的目的地是其以太网(第2层)地址,但是它注意到它们的目标IP(第3层)地址与它自己的地址不同,因此它将它们转发到存储在其中的任何地址。它的路由表。

答案 1 :(得分:0)

是的,你是对的。要访问其他网络(不同子网上的网络),客户端会将流量路由到其默认网关,该网关将适当地封装流量和路由。要在同一网络上进行通信,只需要第2层交换机。