通过子网路由,静态路由

通过子网路由,静态路由

拓扑:

C1 --192.168.111.0/24 -- R1 -- 172.30.0.0/24 -- Switch -- C6
                                                  |-- R2 -- 172.30.10.0/23 -- C5

我是网络新手,我对通过子网路由有疑问。

我想从计算机 C1 ping 计算机 C5(见下文)。如果我想这样做,我必须在 R1 上定义静态路由,因为 R1 只知道其直接连接的子网,而不知道其他子网。如果 R1 上没有静态路由,则无法从 C1 访问 C5。

Static route on R1: 
Destination: 172.30.10.0 Subnetmask: 255.255.254.0 Gateway: 172.30.0.2

使用此静态路由,我仍然无法 ping 计算机 C5,但出现超时,这意味着 C5 可以访问。这是为什么?

当我进一步在 R2 上定义静态路由时。

Static route on R2
Destination: 192.168.111.0 Subnetmask: 255.255.255.0 Gateway: 172.30.0.1 

然后 ping 就可以了。

我认为是因为:R2 上没有静态路由:ping 到 C5 都通,但找不到回去的路。有了 R2 上的静态路由,回去的路就确定了。这个解释对吗?

但是,为什么当我从 C1 ping C6 时,R1 和 R2 上没有静态路由,而 C6 上的默认网关是 R2,ping 会成功?当 C6 上的默认网关是 R2 时,ping 会如何找到返回的路径?

(C6 and R2 are connected to the Switch)

C1
IP: 192.168.111.11/24
default gateway: R1

C5
IP: 172.30.10.15/23
default gateway: R2

C6
IP: 172.30.0.11/24
default gateway: R2

R1
IP int.: 192.168.111.1
IP ext.: 172.30.0.1

R2
IP int.: 172.30.0.2
IP ext.: 172.30.10.2

答案1

您的答案基本上是正确的。仅仅因为互联网知道如何将数据包发送到目的地,并不能成为假设互联网知道如何将数据包从该目的地返回给您的理由。必须在两个方向上主动构建路由。

根据您的信息,我无法解释为什么 C6 可以 ping C1。我会检查 C6 以查看它是否设置了 192.168.111 的路由。

答案2

使用此静态路由,我仍然无法 ping 计算机 C5,但出现超时,这意味着 C5 可以访问。这是为什么?

我认为是因为:R2 上没有静态路由:ping 到 C5 都通,但找不到回去的路。有了 R2 上的静态路由,回去的路就确定了。这个解释对吗?

是的。ping 会将信息发送到目的地,目的地必须做出响应。目的地计算机需要知道将信息发回的路径。

但是,为什么当我从 C1 ping C6 时,R1 和 R2 上没有静态路由,而 C6 上的默认网关是 R2,ping 会成功?当 C6 上的默认网关是 R2 时,ping 会如何找到返回的路径?

我认为这就是你的误解所在。你从 C1 ping C6 的设置本质上等于 C1---R1---C6
从 C1 到 C5 是 C1---R1---R2---C5。
这是一个路由问题,对于这个解释,交换机基本上可以被认为是透明的。

C6 连接到交换机,知道 ping 来自 R1。因此,响应被发送回交换机,交换机将信息发送到连接到 R1 的交换机端口,并且根本不与 R2 通信,即使 R2 是默认网关。C6 知道 ping 来自 R1,并将其信息发送回 R1,而 C5 将其响应发送回 R2(数据包来自 R2),R2 需要知道如何到达 R1。仅当计算机不知道到 IP 地址的路由时才使用默认网关。在 C1 到 C6 的实例中,计算机知道到 C1 的路由,因为请求来自 R1,而 R1 是返回 C1 的路由。

相关内容