路由器的工作的主要目的
连接 多个网络 并转发 目的地 为其 自己的网络 或 其他网络的数据包 。
路由器被认为是第三层设备,因为它 基于第三层IP数据包
中的信息 进行 转发决策,特别是目的IP地址
。
当路由器收到一个数据包时
1. 它会搜索其路由表
以找到数据包的目标IP地址
与路由表中的一个地址
之间的最佳匹配(不同协议不一样)。
2. 一旦找到匹配项,数据包 将 被 封装在 表项中指示的 输出接口 的 第二层数据链路帧 中
本质上就是 转换为 加封二层 信封 ,根据 路由表中 指定的 输出接口(或者
nex hop ip
) 发到 下一个设备上
- 注:
-
路由器通常不会查看数据包有效负载 ,仅在 第3层 地址进行
转发决策功能
还可以选择其他信息(例如: 服务质量(QoS
)提示)
对于纯粹的IP
转发,路由器被设计为 最小化 与 单个分组 相关的状态信息。
一旦数据包被转发,路由器不会保留有关数据包的任何历史信息。
路由表:
- 路由表本身 可以包含 源 自各种 不同源的信息
- 一般分为三类:
- 手动配置:
-
静态路由
默认路由 - 自动学习:
- 动态路由 (从其他路由器学习路由)
- 默认路由使用范围:
-
用于路由 所有目的地 不会出现 在 路由表 中的 流量 的路由;
在小型网络中这是常见的 - 甚至是必要的 - 在家庭或小型企业中,默认路由只是将所有非本地流量发送到
Internet
服务提供商。
默认路由可以手动配置
(作为静态路由
),也可以通过动态路由协议学习
,或通过DHCP
获取。
路由协议
路由器一次可以运行多个路由协议
- 特别是 在 边界路由器上
- 作用
- 可处理 内部不同路由器之间 ,内部与外部之间 ( 运行不同路由协议的网络各部分)的 信息共享(有选择的共享)
路由器堵塞
除了决定数据包转发到哪个接口(主要通过路由表
处理)之外
路由器还需处理 数据包数目较多时造成的堵塞
处理策略
-
互联网上常用的三种策略是
尾部丢弃
,随机早期检测(RED)
和加权随机早期检测(WRED)
。 - 拖尾:
-
最简单和最容易实现的;
一旦队列长度超过路由器中缓冲区的大小,路由器就会简单地丢弃新的传入数据包。
- 随机早期检测:
-
当队列超过
预先配置 的缓冲区部分时,
RED
提前丢弃数据报,直到达到预定的最大值(变为尾部丢弃) - 加权随机早期检测
-
当流量将超过预先配置的大小时,
WRED
需要对平均队列大小 加权 ,以便短脉冲串
不会触发随机丢弃。
在此期间路由器执行的另一项功能是
确定在存在多个队列时应首先处理哪个数据包。
这是通过QoS
进行管理的,这对于部署IP语音
时非常重要,以免引入过多的延迟。
基于策略的路由
因其中构造了特殊的规则,在进行 分组转发决策 时 覆盖从 路由表派生的规则。