![与有类 IP 寻址相关的问题](https://linux22.com/image/519873/%E4%B8%8E%E6%9C%89%E7%B1%BB%20IP%20%E5%AF%BB%E5%9D%80%E7%9B%B8%E5%85%B3%E7%9A%84%E9%97%AE%E9%A2%98%20.png)
假设我们有两个网络通过路由器互相连接。其中一个网络使用 A 类前缀,另一个网络使用 B 类前缀的 IP 地址。
问题是由于这两个网络使用不同类别的 IP 寻址,它们将如何相互通信。
答案1
这就是为什么您需要一个中间路由器,该路由器将在两个网络上都有接口,并且能够在两个网络之间传递数据包。
答案2
分类 IP 寻址已不再使用。完全不再使用。不必担心。我希望每个人都能从记忆中清除“A 类”、“B 类”和“C 类”这些术语。它们根本不需要。现在使用的是无类别域间路由。请注意,它是无类别的,因为不再有不同类别的 IP 地址(多播和私有 IP 地址除外)
如果您拥有有效的子网和正确配置的路由器,流量就会流动。路由器需要知道的只是它在网络 A 和 B 上的 IP 地址以及子网掩码。如果它知道这些,它就会路由数据(前提是您没有进行任何类型的流量过滤或 NAT)
答案3
好的。我会再试一次。以下是 A 类(第一个八位字节为 0 和 127 的网络,子网掩码为 255.0.0.0)网络与 B 类(第一个八位字节在 128 和 191 之间的网络,子网掩码为 255.255.0.0)网络通信的方式。
数据包源自网络 A 中的设备。此数据包来自 IP 地址 10.0.1.2,目的地为 IP 地址 172.16.1.2。源设备首先检查目标 IP 地址。它将此信息与其自己的路由表中的信息进行比较。其路由表中唯一值得注意的条目是本地子网(10.0.0.0,子网掩码为 255.0.0.0)及其默认网关(0.0.0.0,子网掩码为 0.0.0.0,下一跳为 10.0.1.1)。由于数据包与其路由表中的任何条目(除了默认路由)都不匹配,因此它会将其发送到默认网关,即路由器。
路由器接收此数据包并执行相同的操作。它检查目标 IP 地址并将其与路由表进行比较。路由器有多个本地接口可供比较。它有一个本地网络 10.0.0.0,子网掩码为 255.0.0.0,还有一个本地网络 172.16.0.0,子网掩码为 255.255.0.0。路由器将目标地址与第二个路由表条目进行匹配,并将其定向到连接到该网络的接口。该接口查找 172.16.1.2 的 MAC 地址,创建一个帧,并将其发送到正确的接口。
网络类型其实并不重要。唯一重要的是路由器的路由表中是否有与数据包目标 IP 地址匹配的条目。
答案4
如果有两个不同的主机在同一网络,他们可以直接交谈。
如果有两个不同的主机不同的网络,他们需要一个路由器来传递数据包。
例子:
- 主机 A:10.0.0.42 位于网络 10.0.0.0/8(又称 A 类网络)
- 主机 B:172.16.0.42 位于网络 172.16.0.0/12(又称 B 类网络)
- 主机 C:11.0.0.42 位于网络 11.0.0.0/8(又称 A 类网络)
由于 A 和 B 位于不同的网络上,因此它们需要路由器才能进行通信。
由于 B 和 C 位于不同的网络上,因此它们需要路由器才能进行通信。
由于 A 和 C 位于不同的网络上,因此它们需要路由器才能进行通信。
网络的前缀长度(我们过去称之为类)使得没有不同两台主机是否可以通信。区别在于网络。