5

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

 1 year ago
source link: https://www.cnblogs.com/aoximin/p/16910135.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

简单解释一下静态路由。

先来将一个问题。

1289794-20221121215651729-788912905.png
  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

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

1289794-20221121220529143-1954154236.png

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

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

1289794-20221121220700133-1869172310.png

为什么不能呢?

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

那么R2是否能到192.168.11.1呢?

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

1289794-20221121221048839-832241276.png

为什么可以呢?

原因也很简单,因为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

1289794-20221121222953843-82527522.png

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

1289794-20221121223206833-1760647286.png

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

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

答案是不能。

1289794-20221121223454919-1198855698.png

值得注意的是,上面说的是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现在换成了一台电脑是:

1289794-20221121224305327-708908745.png

里面配置的ip是这样的。

1289794-20221121224402746-1884478731.png

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

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

是可以的。

1289794-20221121224544085-1100095273.png

为什么可以呢?

1289794-20221121230222939-960451627.png

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

当电脑处理不了,这个信息后的目的地址给了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。

1289794-20221122082735139-122665712.png

也就是说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协议。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK