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


    前言

    简单解释一下静态路由。

    正文

    先来将一个问题。

    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协议。

  • 相关阅读:
    QT信号槽的5种连接方式Qt::ConnectionType
    java使用phantomjs生成证书图片
    【linux】stat文件属性中三个时间的区别(Access time,Modify time,Change time)
    重装系统后要安装哪些驱动
    HACKTHEBOX——Shocker
    汽车标定技术(六)--基于模型开发如何生成完整的A2L文件(2)
    rpc的通信流程
    web--跨域,cors,jsonp,域名接管劫持
    C++数据结构X篇_15_求二叉树叶子数与高度(递归方法)
    Python算法——二叉树遍历
  • 原文地址:https://www.cnblogs.com/aoximin/p/16910135.html