HCIA 静态路由

一、前言

前面我们了解了交换机原理,知道交换机网络是通过ARP协议广播来知晓各设备的MAC地址,这个过程中交换机生成了MAC地址表,当PC的数据需要发给目标时,交换机依据MAC地址表来进行转发。

接着了解了路由器原理,知道路由器的每一个端口就像一台独立的PC一样,有独立的IPMAC地址。路由器的端口可以隔离广播域,避免因为网络太大导致广播风暴,同时路由器的端口可以像PC一样接收数据,同时依据路由表来查询目标IP所属的广播域并转发到相应的端口,以此完成不同广播域的数据传输。所以PC需要配置“默认网关”,当目标IP不属于当前子网(广播域)时就将数据发给网关(也就是路由器的端口)。需要注意的是,PC要将数据发给路由器依然需要借助ARP协议来获取其MAC地址。

 

二、直连路由

考虑下面的网络结构,当我们将设备的IP都配置好后,会发现PC1可以直接与PC2通信,你可以在PC1 ping一下PC2IP

 

 

 

这里提一下路由器端口的IP配置:

 

G0/0/0 端口的配置:

 

1)system-view #进入系统视图

 

2)interface GigabitEthernet 0/0/0 #进入0号端口

 

3)ip address 172.16.1.254 24 #配置IP

 

4)quit #返回系统视图

 

G0/0/01 端口的配置:

 

5)system-view #进入系统视图

 

6)interface GigabitEthernet 0/0/1 #进入1号端口

 

7)ip address 172.16.2.254 24 #配置IP

 

8)quit #返回系统视图

 

我们可以看一下路由器AR1的路由表(display ip routing-table):

 

 

由于上述两个直连路由的存在,所以PC1PC2可以直接通信。

 

三、静态路由

考虑下图所示的网络结构,我们按图中标记将IP都配置好。

 

 

由于有直连路由的存在,当我们在PC1ping 172.16.1.254以及172.16.2.1都是可以通的,但是ping 172.16.2.2就不通了。

 

 

在前面直连路由的部分,如果172.16.2.2是普通PC的话是可以ping通的。为何换成路由器就不行了呢?我们在路由器AR2G0/0/0端口(IP=172.16.2.2)抓包看下是怎么回事。

 

 

如上图所示,我们可以看到AR2G0/0/0端口确实有收到源IP=172.16.1.11目标IP=172.16.2.2ICMP报文,但是没有响应的报文。所以由于直连路由的存在,AR1是知道172.16.2.2这个IP可以通过其G0/0/0端口到达,而且数据也确实送达,但因为某种原因AR2并没有响应这个报文。

答案其实就是AR2没有到172.16.1.0这个网段的路由,所以遇到超出其“IP范围”的报文它无法做出响应,就像PC如果没有配置默认路由,当目标IP不是其自身网段时,PC机也是不做处理。我们查看下AR2的路由表,确实没有到172.16.1.0的路由。

 

 

那为什么PC机在这种情况又可以处理呢,答案前面也说了,因为PC机配置了“默认网关”,当出现超出其能力的IPPC机可以直接将包扔给网关,而网关上恰巧就有了到172.16.1.0的路由(直连的)。

所以现在我们给AR2加个路由就可以了。

ip route-static 172.16.1.0 24 172.16.2.1

加静态路由的格式是:ip route-static [目标网段] [下一条]

一定要注意的是下一跳配的是对面路由器对应端口的IP,而不是本机出端口的IP。再看下路由表:

 

 

这时候你再ping 172.16.2.2就能ping通拉,但是到172.16.3.254以及172.16.3.11依旧还是不通。

 

 

答案是AR1还没有到172.16.3.0的路由呢,所以我们给它加一下。

ip route-static 172.16.3.0 24 172.16.2.2

这时候你会发现PC1PC2可以互相ping通了。

 

四、回顾

本篇我们顺着路由器原理讲了下“直连路由”,接着讲了静态路由在路由器网络中的简单应用以及路由器端口的IP配置,同时也解答了一个奇怪的现象,那就是直连路由中PC为何可以响应ICMP报文而直连的路由器端口却不可以(因为路由器没有默认网关,必须有路由才行)。

 

posted @ 2022-10-30 20:11  布兰姥爷  阅读(124)  评论(0编辑  收藏  举报