路由器的工作原理

时间:2021-05-20 17:07:19

一、原理概述

路由器是最常见的网络设备之一,本文简单描述其工作原理:

1、成表:当路由器的端口配置了IP地址后,会自动形成直连路由的条目。然后无论采用静态路由,还是采用动态路由协议,都需要在路由表中生成网络中各个地址段对应的路由条目。

2、查表:分析数据包的 目标IP地址,并且查找路由表:能找到对应的路由条目,则在对应端口转发;如果找不到对应的路由条目,则丢弃数据包。

说明:结合我的上一篇文章《无VLAN配置的交换机的工作原理》,可以看出交换网络和路由网络的工作原理是比较相似的。

二、案例讲解:

1、网络拓扑:

为便于理解,结合下图进行讲解:

路由器的工作原理

如上图所示,主机PC1和PC2分别连接路由器R1和R2,PC1的网关地址配置为192.168.1.254,PC2的网关地址配置为192.168.3.254,其他配置如上图所示。

此时我们查看R1和R2的路由表(在特权模式下执行show ip route),如下:

路由器的工作原理

路由器的工作原理

可以看到R1的路由表里面只有192.168.1.0/24和192.168.2.0/24两个直连网段的路由,而R2的路由表里面只有192.168.2.0/24和192.168.3.0/24两个直连网段的路由。

此时从PC1主机ping主机PC2是不通的,因为R1上面没有PC2的网段192.168.3.0/24的路由,而R2上面也没有PC1的网段192.168.1.0/24的路由。

测试结果如下:

路由器的工作原理

可以看到PC1的网关192.168.1.254返回结果:Destination host unreachable,即目标主机不可达。此时PC1发出的ICMP数据包到达R1后,R1检查自己的路由表,没有发现目标地址192.168.3.0/24所在的网段对应的路由表,于是把数据丢弃,并返回提示信息给源主机PC1.

2、成表

为了实现PC1和PC2的网络互通,我们需要在R1和R2的路由表分别添加一下PC2和PC1所在网段的路由条目。本实验通过静态路由实现。命令如下:

R1(config)#ip route 192.168.3.0 255.255.255.0 192.168.2.2

R2(config)#ip route 192.168.1.0 255.255.255.0 192.168.2.1

此时我们查看R1和R2的路由表(在特权模式下执行show ip route),如下:

路由器的工作原理

路由器的工作原理

可以看到分别增加了一条类型为“S”的路由条目(S-Static,指的是静态路由)。

3、查表

此时从PC1主机ping主机PC2就可以通了,测试结果如下(前两个包“timed out”是由于在执行ARP过程,具体可参考ARP协议工作原理):

路由器的工作原理

当ICMP数据包从PC1到达R1的时候,R1检查数据包的目的IP地址192.168.3.1,然后在自己的路由表中查到对应的路由条目“S    192.168.3.0/24 [1/0] via 192.168.2.2”,需要从192.168.2.2这个地址转发出去,然后再看路由条目“C       192.168.2.0/24 is directly connected, GigabitEthernet0/1“,知道数据包最终需要从端口”GigabitEthernet0/1“发送出去。

从R1的”GigabitEthernet0/1“端口发送的数据包,被R2的端口”GigabitEthernet0/1“收到,R2检查数据包的目的IP地址192.168.3.1,然后在自己的路由表中查到对应的路由条目“C       192.168.3.0/24 is directly connected, GigabitEthernet0/0”,于是把数据包从R2的”GigabitEthernet0/0”端口发送到目标主机PC2。

目标主机PC2收到ICMP包以后,发现目标IP地址就是自己,于是构建ICMP回应数据包,即把目标地址修改为192.168.1.1,而源地址修改为192.168.3.1,依次经过R2、R1返回PC1(R2、R1查找路由表的过程与上述类似),于是PC1和PC2能够互相ping通了。

三、总结

由上述过程可见,路由器的工作原理也可以分为“成表”和“查表”两步,与交换机的工作原理很类似。

本文出自 “13391027” 博客,请务必保留此出处http://13401027.blog.51cto.com/13391027/1975059