前言

简单解释一下静态路由。

正文

先来将一个问题。

抓包整理————静态路由[十六]

  1. 这里面R1的f0和R2的f0连接

  2. R2的f1和R3的f0连接。

这个f 是 fast ethernet 的意思。

现在设置:

R1的f0为:192.168.11.1/24
R2的f0为:192.168.11.2/24
R2的f2为:192.168.22.1/24
R3的f0为:192.168.22.2/24

这样就设置了完了,他们都连通了。

抓包整理————静态路由[十六]

现在有个问题,那就是R1 是否能到R2的 192.168.22.1呢?

可以想一下,答案是不可以。

抓包整理————静态路由[十六]

为什么不能呢?

因为R1拥有ip 192.168.11.1 和 192.168.22.1 不在同一个内网中。

那么R2是否能到192.168.11.1呢?

可以想一下,答案是可以。

抓包整理————静态路由[十六]

为什么可以呢?

原因也很简单,因为R2在192.168.11.0/24和 192.168.22.0/24两个网段中。

多个就不多说了,总之如果没有动态路由器的情况下,一个路由器只能访问到他所在的网段中,当然这个网段可以多个。

那么想一下为什么不同网段之间不能通信呢?

首先相同网段之间能通信是因为什么?因为arp(可以看下我前面arp的随笔)。

为什么通过 arp 能够通信呢?那是因为arp,可以获取到mac地址。

mac地址有什么用呢?比如交换机有10个口子(交换机知道每一个口子对方的mac),有了mac地址,就知道往哪个口子发啊。

之所以,R1无法访问到R2的192.168.22.1 就是因为R1不知道往哪里发。

那么如果告诉R1,如果是192.168.22.0/24网段的就往F0发就可以了。

这就是静态路由。

设置一下:

ip route 192.168.22.0 255.255.255.0 f0/0

抓包整理————静态路由[十六]

这里面就是说如果遇到这个192.168.22.0/24这个网段直接往f0/0这个口子发就完了。

抓包整理————静态路由[十六]

这样就可以了,这样消息就给了R2,R2收到了ping,然后给R1返回了。

现在有另外一个问题,那就是如果R1是是否ping通R3的192.168.22.2?

答案是不能。

抓包整理————静态路由[十六]

值得注意的是,上面说的是ping通。

是否R1能否到达R3的192.168.22.2呢?

实际上上是可以的,原因是R1因为192.168.22.2符合前面配置静态路由的网段,而R2拥有两个网段,会把信息给R3的192.168.22.2。

但是关键就是ping是双向的,要可以回包。

当信息达到了R3,但是R3要返回给192.168.11.1,这时候他就蒙了。

他没有这个网段啊。当然现在我们知道,给R3设置静态路由当192.168.11.0/24这个网段直接给f0/0这个口子就行。

这里就不多介绍了。

然后介绍一个网关的东西。

现在有台机器是这样的,如果R3现在换成了一台电脑是:

抓包整理————静态路由[十六]

里面配置的ip是这样的。

抓包整理————静态路由[十六]

也就是替换成了192.168.22.2这样的。

那么是否能R1 能ping通192.168.22.2呢?

是可以的。

抓包整理————静态路由[十六]

为什么可以呢?

抓包整理————静态路由[十六]

因为当电脑有网关,他处理不了就会发给网关,当网关处理不了就直接给他回不行了。

当电脑处理不了,这个信息后的目的地址给了R2,将信息给了R2那么R2就能给到R1了。

如果R1没有设置192.168.22.0/255.255.255.0 到f0/0这个口子的静态路由的话,那么pc 这台机器是ping不同R1的。

原因前面说了,如果R1收到了192.168.22.0/255.255.255.0这个网段的包,不知道怎么回包。

那有人就奇怪了,自己家里的几台路由器串联,最后一台路由器下面的机器还是可以上网啊。如果这台机器到ping不了最上面的路由器,那么无法出网啊。

(在上面这个模型中,R1就相当于最上游,R2就是下游,这台PC就是R2路由下面的mac机器)

这里就看网关的处理方式有几种,一种是直接给你转发了,另外一种是nat模式。

这里用虚拟机介绍一下。

比如我的虚拟机地址是:192.168.62.62 网关是192.168.62.1
我的主机是:192.168.0.30 网关是 192.168.0.1

且我的虚拟机网络是nat的。

现在用虚拟机去ping 172.16.0.1。

抓包整理————静态路由[十六]

也就是说192.168.62.62 去ping 172.16.0.1,实际上192.168.0.30会去ping172.16.0.1,当192.168.0.30收到172.16.0.1的回包的时候,把包映射给了192.168.62.62。

当然192.168.0.30上面还有几层nat了。

这个nat有什么好处呢?那就是下游网络可以访问上层网络,而不用去配置静态路由了(上层访问下层还是需要配置的)。比如192.168.0.30去ping 172.16.0.1,实际上是192.168.0.3去ping192.168.1.1,然后172.16.200.1去ping了172.16.0.1

这样172.16.0.1收到的包就是172.16.200.1,然后回包就是回给了172.16.200.1,如果没有nat的话,192.168.0.30 的包可以到达172.16.0.1,但是172.16.0.1回192.168.0.30的时候就蒙了。

172.16.0.1就会问192.168.0.30在哪? 关于nat的原理,前面介绍了就不多啰嗦了。

所以呢,要说什么几台路由器要访问呢,不能够直接说双向设置静态路由,如果是nat的话,那么单向设置即可,从下游到上游nat模式本来就是通的。

下一节ip的分片和icmp协议。