通过子网路由,静态路由

拓扑结构:

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

我是networking新手,我有一个关于通过子网路由的问题。

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

 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 

那么平能运作。

我认为它是因为:在R2上没有静态路由:ping到C5,但是找不到路。 通过R2上的静态路由,返回path被定义。 这个解释是对的吗?

但是,当我从C1(C6上的默认网关为R2)ping C6时,为什么它没有在R1和R2上的静态路由? 当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 

你的回答基本上是正确的。 只是因为互联网知道如何获得一个数据包到目的地是没有理由认为互联网知道如何从这个目的地获取数据包给你。 这些路线必须在两个方向上积极build设。

给你的信息,我不能解释为什么C6可以ping C1。 我会检查C6,看它是否有一个192.168.111设置的路由。

有了这个静态路由我仍然不能ping通电脑C5,但我有一个超时,这意味着C5是可及的。 为什么是这样?

我认为它是因为:在R2上没有静态路由:ping到C5,但是找不到路。 通过R2上的静态路由,返回path被定义。 这个解释是对的吗?

是。 一个ping发送信息到目的地,并且目的地必须响应。 目标计算机需要知道发回信息的path。

但是,当我从C1(C6上的默认网关为R2)ping C6时,为什么它没有在R1和R2上的静态路由? 当C6上的默认网关是R2时,ping是如何找回的。

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

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