三、 路由技术
路由器收到IP分组之后:
- 解封装到L3,提取目的IP地址
- “与”确定目的网络,查路由器
- 重新封装(下三层),按表指示转发
路由表样式:
路由表的来源:
- 直连路由——学习感知
- 静态路由——人工配置
- 动态路由——生成、更新和维护
静态路由中,有一种常用的静态路由:默认/缺省路由
- 找不到路的时候可以从这里转发
- 避免错误丢包
- 缩减路由表的规模
- 减少路由器的运行负担
动态路由
- 计算最优路径
- 量度标准:
- 装载最优路径到路由表
- 引导IP分组的转发
- 优缺点:
路由选择协议
- 距离矢量路由选择(Distance Vector 简称DV)
- 常用于小型网络
- RIP是一个典型的DV
- 链路状态路由选择(Link State 简称LS)
RIP:Routing Information Protocol
路由选择信息协议——属于DV协议
- 采用了跳数(hop)作为量度(metric)
- 当量度超过15跳,目标网络被认为不可达
- 默认地,每30秒钟交换一次矢量/向量信息(全部路由表)
RIP地弊端:
- 无穷计数,产生路由环
- 站得不高,看得不远
解决办法:
- 定义路径代价最大值:15跳
- 水平分割
- 毒性逆转
- 抑制定时器
链路状态路由(Link State Routing)简称LS
1. 发现:
发送Hello数据包,收到的路由器会回发应答
2. 设置:
3. 构造:
构造--链路状态分组/公告:Link State Packet/ Advertisement
4. 发送:
用age可以解决路由器崩溃和序列号损坏
5. 计算
- 分发完成,构造出全网图(Graph)
- 每个路由器,采用最短路径算法,便利图
- 生成树 / 汇集树
L-S路由算法的特点
总结:
开放的最短路径优先:OSPF(Open Shortest Path First)
链路状态路由的一个实例
OSPF具有以下的几个特点:
- OSPF可以在大型网络中使用
- 无路由自环
- OSPF支持VLSM、CIDR
- 使用带宽作为度量值()
- 收敛速度快
- 通过分区实现高效的网络管理
单区域OSPF
- 庞大的自治系统AS,分割成若干区域Area,每个区域里运行OSPF。
- 在这些区域里,必须有一个编号为0,简称Area0(区域0),也叫骨干区域。
- 所有的其他区域必须连接到骨干区域,在一个区域中,连接OSPF,叫做单区域OSPF。
- 如果AS不划分区域,就只能有一个骨干区域。
单区域OSPF术语:
TTL=1情况,虚连接除外
使用的代价是带宽,计算时用
OSPF分组(packet)类型
OSPF运行的步骤:
可以通过选举DR(Designated Router)使得同步次数下降为n-1:
选区过程:
- 选取全网段内OSPF路由器中priority最大的,次选Router ID最大的
- 原则:
- 非指定(选举制)
- 中途不更换(终身制)
- 不重新选举(世袭制)
OSPF采用了一些措施来维护路由信息:
OSPF克服路由自环的原因
- 每一条LSP / LSA都标记了生成者的Router ID
- 计算的结果时一颗树,从根节点到叶子节点时单向不可回复的
- 区域之间通过规定骨干区域避免了区域间的环
无类域间路由CIDR(Classless Inter Domain Routing)
解决的问题
- 分类造成数百万个地址浪费
- 路由表膨胀
- 早期网络数不多,现在网络数超过百万
分配地址方法:按需分配
分组到达路由器后
- 提取分组中的目标IP地址(Destination IP)
- 确定目标网络:目标IP地址和子网掩码进行与操作
- 查找路由表
- 最长地址前缀匹配:多条路由时,选择网络位长的
遏制路由膨胀
网络地址翻译NAT(Net Address Translate)
私人地址:不可路由的地址
作用:实现私有IP地址和共有IP地址之间的转换
PAT(Port Address Translate)超载
- 多个私有IP地址和一个公有IP地址之间的转换
通过NAT转换器(NAT Box)的位置和功能
- 由NAT转换器完成私人地址和共有地址的转换;并且维护一个地址转换表
- 当有外网的分组到达时,NAT转换器查找地址转换表,转换分组目标地址之后,转发该分组到内网
- NAT转换器可以是一个专用的服务器,也可以运行在内网的边界路由器,也可以在家用路由器(AP)上
NAT协议的缺点
- 打破了IP地址的唯一性
- 破坏IP网络的无连接特性,NAT转换器维护着连接状态
- 违背了最基本的协议分层原则
- 如果传输层不是采用TCP或UDP,NAT将不能正常运作
- 有些应用会在分组载荷中插入IP地址,但是NAT转换器对此一无所知,将导致该类应用不能正常运作
- NAT让一个公有IP地址可承载61,440(65536—4096)个私人地址(超载,PAT)
- 另外,有些网络中使用私人地址,但不提供NAT服务——网内无多大影响,不可对外访问
总结:
互联网控制消息协议ICMP(Internet Control Message Protocol)
- 向源报告差错
- 装在IP分组传输,也会遭遇丢包、拥塞等情况,但不生成自己的差错报告
- 测试网络:ping、tracert
作为载荷封装到IP数据域里面
类型
ping时
- 源机向目的站点发送一个ICMP回声请求报,
- 目的站点接收到,必须向源站点发回一个ICMP回声应答报文
- 源站点收到应答报文,则判断目的站点的是可达的,否则为不可达
PMTU:Path MTU(路径MTU)
选取一个最小的MTU——不断尝试
地址解析协议ARP(Address Resolution Protocol)
ARP的请求帧:
目标机的应答帧
数据途径中间路由器包括默认网关的时候,源IP和目的IP都不会发生变化,源MAC和目的MAC会随之变化。
ARP表的变化
- 通过广播ARP请求中的源设备信息添加和更新表
- 利用自己的ARP请求之应答信息来添加和更新表
- 删除超过一定时限的信息
拥塞控制
- 开环: 一开始用良好的设计,避免情况的发生
- 闭环: 建立在反馈环路的概念上
- 监视系统
- 传递拥塞信号
- 调整运行,控制拥塞
检测标准
解决办法:
流量整形
调节数据传输的平均速率(和突发数据流)
算法
- 漏桶(leaky bucket)
- 令牌桶(token bucket)