路由表的工作原理以及怎么利用?

路由表的工作原理以及怎么利用? 需要详细一点的答案。谢谢
2025-01-01 05:57:04
推荐回答(2个)
回答1:

路由器利用网络寻址功能使路由器能够在网络中确定一条最佳的路径,IP 地址的网络部分确定分组的目标网络,并通过IP地址的主机部分和设备的MAC地址确定到目标节点的连接。路由器的某一个接口接收到一个数据包时,会查看包中的目标网络地址以判断该包的目的地址在当前的路由表中是否存在(即路由器是否知道到达目标网络的路径),如果发现包的目标地址与本路由器的某个接口所连接的网络地址相同,那么马上数据转发到相应接口;如果发现包的目标地址不是自己的直连网段,路由器会查看自己的路由表,查找包的目的网络所对应的接口,并从相应的接口转发出去如果路由表中记录的网络地址与包的目标地址不匹配,则根据路由器配置转发到默认接口,在没有配置默认接口的情况下会给用户返回目标地址不可达的ICMP信息。

为了完成“路由”的工作,在路由器中保存着各种传输路径的相关数据--路由表(Routing Table),供路由选择时使用。路由表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路由表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。在路由器中涉及到两个有关地址的名字概念,那就是:静态路由表和动态路由表。由系统管理员事先设置好固定的路由表称之为静态(static)路由表,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络结构的改变而改变。动态(Dynamic)路由表是路由器根据网络系统的运行情况而自动调整的路由表。路由器根据路由选择协议(Routing Protocol)提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。

为了简单地说明路由器的工作原理,现在我们假设有这样一个简单的网络。如图所示,A、B、C、D四个网络通过路由器连接在一起。

现在我们来看一下在如图所示网络环境下路由器又是如何发挥其路由、数据转发作用的。现假设网络A中一个用户A1要向C网络中的C3用户发送一个请求信号时,信号传递的步骤如下:

第1步:用户A1将目的用户C3的地址C3,连同数据信息以数据帧的形式通过集线器或交换机以广播的形式发送给同一网络中的所有节点,当路由器A5端口侦听到这个地址后,分析得知所发目的节点不是本网段的,需要路由转发,就把数据帧接收下来。

第2步:路由器A5端口接收到用户A1的数据帧后,先从报头中取出目的用户C3的IP地址,并根据路由表计算出发往用户C3的最佳路径。因为从分析得知到C3的网络ID号与路由器的C5网络ID号相同,所以由路由器的A5端口直接发向路由器的C5端口应是信号传递的最佳途经。

第3步:路由器的C5端口再次取出目的用户C3的IP地址,找出C3的IP地址中的主机ID号,如果在网络中有交换机则可先发给交换机,由交换机根据MAC地址表找出具体的网络节点位置;如果没有交换机设备则根据其IP地址中的主机ID直接把数据帧发送给用户C3,这样一个完整的数据通信转发过程也完成了。

从上面可以看出,不管网络有多么复杂,路由器其实所作的工作就是这么几步,所以整个路由器的工作原理基本都差不多。当然在实际的网络中还远比上图所示的要复杂许多,实际的步骤也不会像上述那么简单,但总的过程是这样的.

回答2:

一、Routing Process
  当一个数据包进入路由器:
  1、拆去二层帧头;
  2、进入缓冲区;
  3、查看目标地址(匹配路由表);
  4、重新封装二层帧头;
  5、转发。
  二、Switching Process:
  1、Check framing and buffer packet;
  查看二层帧,进行CRC校验,层三的数据和头部进入缓冲区(buffer);
  2、Check routing table;
  查路由表,从buffer中拿出目标IP和路由表进行匹配(与运算);
  3、Re-Encapsulation layer 2 header;
  重新封装二层帧头;
  注: (1)二层帧头包括源MAC地址和目标MAC地址。
  (2)此时的二层帧头的源MAC已经变为路由器出接口的地址。
  4、Forwarding from one local interface;
  转发(从一个本地接口封装);
这个过程就包含了路由表的工作原理