【问题标题】:Is IP routing table required for host to host communication主机到主机通信是否需要 IP 路由表
【发布时间】:2016-02-02 19:21:06
【问题描述】:

只有两台主机可以使用 IP 地址

192.168.1.2

192.168.1.3

如果必须设置,路由表条目将是什么? 如果每台机器上只有一个接口,下一跳会是什么。

数据可以在两台机器之间传输。

基本上,我怀疑每种情况下的下一跳是什么

  1. 如果数据包必须传送到其他网络(那么我认为它将是连接到它的路由器的 IP 地址)
  2. 如果数据包必须在本地(同一子网)传递,那么下一跳 IP 应该是什么
  3. 如果数据包已经到达主机,并且必须将它交给上层(因为它必须查看一次路由表,在这种情况下将是什么条目)

路由表中的所有条目都是静态的。

谢谢

【问题讨论】:

    标签: networking


    【解决方案1】:

    如果这些 IP 地址的标准网络掩码为 255.255.255.0,那么您不需要路由表或默认网关,因为两台机器都在同一个网络中。

    路由表基本上是一组关于如何到达另一个网络的方向。它说如果你想去12.34.56.78然后出去x网卡,然后去192.168.1.x(假设你在192.168.1.0网络上)

    默认网络基本上说明您是否不在此网络上,并且没有更精确的路线,即上面的12.34.56.78。然后只需通过特定的网络地址。

    本地网络通过广播工作,机器A将发送一个广播数据包到MAC(硬件)地址FF:FF:FF:FF:FF:FF,该数据包将被网络上的所有流量接受。 (没有被路由器隔开)。广播数据包基本上说“谁拥有 IP 地址 x.x.x.x”

    当拥有该地址的机器收到该数据包时,它会回复说“我愿意”

    然后机器 A 可以开始将数据包直接发送到该机器的 MAC 地址,并且机器可以回复发送它们的 MAC 地址。

    从这里你可以理解为什么路由变得很重要,一旦你开始在网络上拥有大量的主机,网络就会因为大量的 ARP 请求而变得泛滥。通过将地址空间拆分为单独的地址块,您可以限制主机数量以及网络需要广播的 ARP 请求数量。

    要了解这在较低级别是如何工作的,您需要了解如何使用 IP 地址和子网掩码来确定网络成员资格。在内部,IP 地址和网络掩码表示为二进制数。子网掩码将定义网络和子网之间的分割。 (它使用逻辑 AND 获取网络 ID)

    Address:        11000000 10101000 00000010 00000010
    Subnet Mask:    11111111 11111111 11111111 00000000
    

    一旦获得网络 ID,它就可以将其与尝试发送的地址(使用相同的逻辑)进行比较,并确定如何处理它。

    逻辑是这样的

    如果数据包的网络 ID 与本地网络 ID 匹配,则直接发送,无需路由。

    如果数据包的网络 ID 与路由表中的特定路由匹配。例如,如果数据包是 10.1.1.1,并且有 10.1.0.0/255.255.0.0 的路由,则将数据包转发到该路由条目中标记的路由。

    如果数据包的网络 ID 与特定路由不匹配,并且指定了默认网关,则将其转发到那里。

    如果没有特定路由,也没有默认网关,则返回失败的发送。

    附:这非常简化,实际上还有其他细微差别!

    【讨论】:

    • 谢谢,如果主机必须在同一个子网中传输/接收数据,条目会有什么不同。在这种情况下,下一跳会是什么
    • 如果两台机器在同一个子网,则不涉及任何一跳,在发送数据包之前机器会检查是否在同一个子网,如果是则使用ARP发送数据包到目的地,如果不是,它将使用 ARP 查找下一跳的地址并将数据包转发到那里。
    • 谢谢迈克尔,明白了!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 2022-06-11
    • 2015-09-03
    • 1970-01-01
    • 2012-01-24
    • 2013-01-12
    相关资源
    最近更新 更多