1. 概述
1. 定义
路由器:异构网络互联机制;
路由:指导路由器如何进行数据发送的路径信息;
路由表:目的地址、下一跳、出接口等;
2. IP连通的条件
沿途的每台路由器上都有到达目的的网段的路由信息;
路由是单向的路径信息,沿途每台路由器都要有往返双向路由信息;
3. 整体流程
① 第一台路由器收数据包;
② 选择合适的路径;
③ 路由器与路由器传递;(逐跳转发)
④ 最后一台负责将数据包交给目的主机;
例子:接力赛
4. 场景
2. 路由表
1. 定义
是路由器进行数据包转发的依据;
表中每条路由项会指明数据包到某个子网或主机的端口;
2. 字段内容
目的地址/网络掩码(Destination/Mask):标识数据包的目的地址或目的网络
出接口(Interface):指明IP包将从该路由器哪个接口转发
下一条地址(Next-hop):更接近目的网络的下一个路由器地址
度量值(Metric):数据包到达目标地址需要花费的代价
3. 路由分类
主机路由:掩码长度32位,表明此路由匹配单一IP地址;
子网路由:掩码长度小于32位且大于0,表明此路由匹配一个子网;
默认路由:掩码长度为0,表明此路由匹配全部IP地址;
3. 查表规则
1. 背景
路由表中存在多个路由项可同时到达匹配目的IP;
问题:数据包不能同时发送;
2. 最长掩码匹配规则
当数据包在路由表中匹配到多条掩码长度不同的路由,会按照掩码最长的路由进行转发;
掩码越长,范围越小;
3. 路由迭代规则
当路由的下一条为非直连网段地址,路由器会再次在路由表中查询下一跳地址,直到查询到下一条是直连地址为止;
例子:
需求:R1 ping R3的192.168.2.1
人的思维:配置2条静态路由,在R1上配R1 → R2;在R2上配R2 → R3;
现实情况:路由器会因为在路由表中找到不直连的下一跳丢弃去往R3的报文;
解决方法:再向R1中添加一条R2去往R3的路由(去了R2就有人告诉你R3怎么走了)
去往192.168.1.0的下一跳是192.168.0.2;
去往192.168.2.0的下一跳是192.168.1.2;
拓展:
递归(recursion):递归常被用来描述以自相似方法重复事物的过程,在数学和计算机科学中,指的是在函数定义中使用函数自身的方法。(A调用A)
迭代(iteration):重复反馈过程的活动,每一次迭代的结果会作为下一次迭代的初始值。(A重复调用B)
第一条路由的下一跳成为第二条路由出接口,因此称为路由迭代
4. 默认路由
没有匹配项则丢弃;
匹配所有IP地址,掩码越短,范围越大;
4. 路由来源类型
1. 直连路由(Direct)
定义:根据直连接口所在网段自动产生;
条件:接口UP状态、接口配置IP地址;
特点:开销小,配置简单,无需人工维护;
场景:小型网络;
2. 手工配置的静态路由(Static)
定义:手动配置到达每个目的的网段的路由信息
特点:配置和维护繁琐复杂、没有协议开销、减轻设备和带宽压力、网络故障要人工介入;
3. 动态路由协议(Routing Protocol)
通过路由协议从邻居自动学习路由信息;
特点:配置简单、维护便捷、协议开销会消耗设备资源和链路资源;
网络结构发生变更,协议的内容也会发生变更,路由的更新也会随之变化而变化;
不断监听网络变化,频繁的发送消息;
例如:RIP(路由信息协议)、OSPF(开放式最短路径优先)、BGP(边界网关协议);
5. 路由优先级
1. 背景:有多条路由来源;
2. 定义:
路由优先级(Preference):代表路由协议的可信度 ;
可以更改;
3. 优先级
6. 路由的度量值
1. 定义
到达这条路由所指目的地址的代价,路由权值;
2. 考虑因素
跳数/链路带宽/链路延时/链路使用率/链路可信度/链路MTU
3. 常用协议
RIP—跳数;
OSPF—链路带宽;
静态—0;
7. 路由器写表规则
① 不同来源的路由优先级高(数字小)的优先;
② 同一来源的路由由Cost小的优先;
③ 同一来源Cost相等的路由会形成等价路由(负载分担);
例子1:
例子2:
例子3: