目录
动态路由
因特网所采用的路由选择协议的主要特点
- 自适应:动态路由选择,能较好的适应网络状态的变化
- 分布式:路由器之间交换路由信息
- 分层次:将整个因特网划分为许多较小的自治系统AS
因特网采用分层次的路由选择协议
- 自治系统AS的路由选择简称为域内路由选择
- 自治系统之间的路由选择简称为域间路由选择
- 域间路由选择使用外部网关协议EGP -- exterior gateway protocol -- 外部网关协议
- 域内路由选择使用内部网关协议IGP -- inner gateway protocol -- 内部网关协议
由于在因特尔早期RFC文档中,没有使用“路由器”,使用的是“网关”这一名词
现在新的RFC文档中又改用“路由器”这一名词,因此EGP可改称为ERP,IGP可改称为IRP
常见的路由选择协议
- IGP
- RIP:路由信息协议
- IGRP:内部网关路由协议
- EIGRP:增强型内部网关路由协议
- OSPF:开放式最短路径优先
- IS-IS:中间系统到中间系统
- EGP
- BGP:边界网关协议
路由信息协议RIP
是内部网关协议中最先得到广泛使用的协议之一
RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录
RIP使用跳数作为度量,来衡量到达目的网络的距离
- 路由器到直连路由的距离定义为1
- 路由器到非直连网络的距离定义为所经过的路由器数加1
- 允许一条路径最多只能包含15个路由器
- 距离等于16时相当于不可达
- 因此,RIP只适用于小型互联网
RIP的基本工作原理
- RIP认为好的路由就是“距离短”的路由,也就是所通过路由器数量最少的路由
- 当到达同一目的网络有多条“距离相等”的路由时,可以进行等价负载均衡
- RIP包含以下三个要点
- 和谁交换信息 -- 仅和相邻路由器交换信息
- 交换什么信息 -- 自己的路由表
- 何时交换信息 -- 周期性交换
- RIP的基本工作过程(举例)
- 路由器刚开始工作时,只知道自己到直连网络的距离为1
- 每个路由器仅和相邻路由器周期性地交换并更新路由信息
- 若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址
- 路由条目的更新规则
- 到达目的网络,相同下一跳,最新消息,更新
- 发现了新的网络,添加
- 到达目的网络,不同下一跳,新路由优势,更新
- 到达目的网络,不同下一跳,等价负载均衡
- 到达目的网络,不同下一跳,新路由劣势,不更新
开放最短路径优先OSPF
OSPF的基本工作原理
- “最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF
- OSPF是基于链路状态的,而不像RIP那样是基于距离向量的
- OSPF采用SPF算法计算路由,从算法上保证了不会产生路由环路
- OSPF不限制网络规模,更新效率高,收敛速度快
- 链路状态是指本路由器都和哪些路由器相邻,以及相应链路的“代价”
- “代价”用来表示费用、距离、时延、带宽等,这些都由网络管理人员来决定
- 使用OSPF的每个路由器都会产生链路状态通告LSA,LSA中包含以下内容
- 直连网络的链路状态信息
- 邻居路由器的链路状态信息
- LSA被封装在链路状态更新分组LSU中,采用洪泛法发送
- 使用OSPF的每个路由器都有一个链路状态数据库LSDB,用于存储LSA
- 通过各路由器洪泛发送封装有自己LSA的LSU分组,各路由器的LSDB最终将达到一致
- 使用OSPF的各路由器基于LSDB进行最短路径优先SPF计算,构建出各自到达其他各路由器的最短路径,即构建各自的路由表
- OSPF有以下五种分组类型
- 问候(Hello)分组
- 数据库描述(Database Description)分组
- 链路状态请求(Link State Request)分组
- 链路状态更新(Link State Update)分组
- 链路状态确认(Link State Acknowledgment)分组
- OSPF在多点接入网络中路由器邻居关系的建立
- 选举指定路由器DR和备用的指定路由器BDR
- 所有的非DR/BDR只与DR/BDR建立邻居关系
- 非DR/BDR之间通过DR/BDR交换信息
- 为了使OSPF能够用于规模很大的网络,OSPF把一个自治系统再划分为若干个更小的范围,叫做区域
- 划分区域的好处就是把利用洪泛法交换链路状体信息的范围局限于每一个区域而不是整个自治系统,这就减少了整个网络上的通信量
边界网关协议BGP
BGP的基本工作原理
- 外部网关协议EGP
- 在不同自治系统内,度量路由的"代价"可能不同,因此对于自治系统之间的路由选择,使用"代价"作为度量来寻找最佳路由是不行的
- 自治系统之间的路由选择必须考虑相关策略(政治,经济,安全等)
- BGP只能是力求寻找一条能够到达目的网络且比较好的路由,而并非要寻找一条最佳路由
- 在配置BGP时,每个自治系统的管理员要选择至少一个路由器作为该自治系统的"BGP发言人"
- 不同自治系统的BGP发言人要交换路由信息,首先必须建立TCP连接,端口号为179
- 在此TCP连接上交换BGP报文以建立BGP会话
- 利用BGP会话交换路由信息
- 使用TCP连接交换路由信息的两个BGP发言人,彼此称为对方的邻站或对等站
- BGP发言人除了运行BGP外,还必须运行自己所在自治系统所使用的内部网关协议IGP
- BGP发言人交换网络可达性的信息(要到达某个网络所要经过的一系列自治系统)
- 当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各自治系统的较好的路由,也就是构造出树形结构,不存在回路的自治系统连通图
- BGP适用于多级结构的因特网
- BGP-4有以下四种报文
- OPEN(打开)报文:用来与相邻的另一个BGP发言人建立关系,使通信初始化
- UPDATE(更新)报文:用来通告某一路由的信息,以及列出要撤销的多条路由
- KEEPALIVE(保活)报文:用来周期性地证实邻站的连通性
- NOTIFICATION(通知)报文:用来发送检测到的差错