IP路由的转发原理

IP路由的转发原理


看到一篇写得不错的文章,留自己学习用。
路由的转发原理
其实所有的网络都是从简单到复杂的,而交换和路由有是这其中最基本的元素。
我认为路由器其实是一个逻辑的概念,而不仅仅只是我们看到得那个摆在机架上的黑色的铁盒子,逻辑上来说:“有多个接口,用于连接多个IP子网及多种链路,能让他们互联互通的设备应该都可以称之为路由器”路由器的核心是全局路由表,通过路由器的所有数据转发都要经过全局路由表来实现。

那么这样看路由器可以分为两个功能层面
1.控制层面:形成和维护全局路由表

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

而控制层面和转发层面的接口就是全局路由表。
在这里插入图片描述
那么控制层面如何形成路由表?

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

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

  3. 动态路由:通过动态路由协议学习到的(ospf,rip)

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

  1. 通过何种方式学习

  2. 目标网段

  3. 目标网段子网掩码

  4. 出接口

  5. 下一跳地址

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

1最长掩码匹配原则(选择所有匹配路由中,子网掩码最长的那条进行数据转发)

2.递归查找(如图)
在这里插入图片描述
4. IP转发是逐跳进行的,每一条都要查找全局路由表,通过递归算法知道查到下一跳为直连,才会把数据包发往该出接口。且每转发一次TTL值-1。TTL值为0是数据包会被丢弃。分析如下:
在这里插入图片描述
其中,第一个静态路由配置中(ip route),192.168.200.0是目的网段,192.168.100.2是下一跳IP地址。