路由的转发原理
其实所有的网络都是从简单到复杂的,而交换和路由有是这其中最基本的元素。

我认为路由器其实是一个逻辑的概念,而不仅仅只是我们看到得那个摆在机架上的黑色的铁盒子,逻辑上来说:“有多个接口,用于连接多个IP子网及多种链路,能让他们互联互通的设备应该都可以称之为路由器”路由器的核心是全局路由表,通过路由器的所有数据转发都要经过全局路由表来实现。

那么这样看路由器可以分为两个功能层面

1.控制层面:形成和维护全局路由表

2.转发层面:根据形成的全局路由表来实现数据转发

而控制层面和转发层面的接口就是全局路由表

       控制层面

 
全局路由表
 
 
 

       转发层面

那么控制层面如何形成路由表?

1.    直连路由:只要路由器接口UP了那么这个接口所在的网段会自动进入全局路由表中。

2.    静态路由:通过静态路由手工配置

3.    动态路由:通过动态路由协议学习到的(ospfrip

 
全局路由表包含什么?

全局路由表中包含的以下5个最为重要的项目

1.    通过何种方式学习

2.    目标网段

3.    目标网段子网掩码

4.    出接口

5.    下一跳地址

转发层面如何根据全局路由表来转发IP数据包

1最长掩码匹配原则(选择所有匹配路由中,子网掩码最长的那条进行数据转发)
 
2.递归查找(如图)


IP路由的转发原理_路由

 

4.    IP转发是逐跳进行的,每一条都要查找全局路由表,通过递归算法知道查到下一跳为直连,才会把数据包发往该出接口。且每转发一次TTL-1TTL值为0是数据包会被丢弃

如下分析

IP路由的转发原理_逻辑_02