前言
简单解释一下静态路由。
正文
先来将一个问题。
-
这里面R1的f0和R2的f0连接
-
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协议。