目录
路由选择协议概述
路由选择分为静态路由选择和动态路由选择
静态路由选择
1.由人工配置的网络路由、默认路由、特定主机路由、黑洞路由等都属于静态路由。
2.这种人工配置方式简单,开销小。但不能及时适应网络状态(流量、拓扑等)的变化。
3.一般只在小规模网络中采用
动态路由选择
1.路由器通过路由选择协议自动获取路由信息。
2.比较复杂,开销比较大。能较好的适应网络状态的变化。
3.适用于大规模网络。
因特网所采用的路由选择协议的主要特点
1.自适应:动态路由选择,能较好的适应网络状态的变化
2.分布式:路由器之间交换路由信息
3.分层次:将整个因特网划分为许多个较小的自治系统
自治系统之间的路由选择称为域间路由选择,域间路由选择使用外部网关协议EGP这个类别的路由选择协议
自治系统内部的路由选择称为域内路由选择,域内路由选择使用内部网关协议IGP这个类别的路由选择协议
常见的路由选择协议
内部网关协议IGP
路由信息协议RIP
内部网关路由协议IGRP
RIP和IGRP是基于距离向量的,RIP是因特网上最早使用的,IGRP是思科早期私有的协议,现在已经被EIGRP取代
增强型内部网关路由协议EIGRP
思科特有的,用来取代IGRP的混合型路由协议(基于距离向量和链路状态)
开放式最短路径优先OSPF
中间系统到中间系统IS-IS
OSPF和IS-IS是基于链路状态的,OSPF在各种网络中广泛使用,集成化IS-IS是ISP骨干网上最长常用的IGP协议
外部网关协议EGP
边界网关协议BGP
路由器是一种具有多个输入端口和输出端口的专用计算机,其任务是转发分组。
路由器的组成
整个路由器结构可划分为两大部分:一个是路由选择部分,另一个是分组转发部分。
路由选择部分的核心构件是路由选择处理机,他的任务是根据所使用的路由选择协议周期性的与其他路由器进行路由信息的交互,来更新路由表。
分组转发部分由三部分构成:
交换结构
输入端口
输出端口
信号传输过程:
信号从某个输入端口进入路由器,物理层将信号转换成比特流,送交数据链路层处理。数据链路层从比特流中识别出帧,去掉帧头和帧尾后,送交网络层处理。
如果送交网络层的分组是普通待转发的数据分组,则根据分组首部的目的地址进行查表转发,若找不到匹配的转发条目,则丢弃该分组。否则,按照匹配条目中所指示的端口进行转发。转发到下一个路由器的网络层,网络层更新数据分组中某些字段的值,例如将数据分组的生存时间减1。然后送交数据链路层进行封装。数据链路层将数据分组封装成帧,送交物理层处理。物理层将帧看作是比特流,将其变换成相应的电信号进行发送。
如果送交网络层的分组是路由器之间交换路由信息的路由报文,则把这种分组送交路由选择处理机。路由选择处理机根据分组的内容来更新自己的路由表。
路由表
路由表一般仅包含从目的网络到下一跳的映射。
路由表需要对网络拓扑变化的计算最优化
转发表是从路由表得出的
转发表的结构应当使查找过程最优化
RIP协议
路由信息协议RIP的基本工作原理
1.路由信息协议RIP(Routing Information Protocol)是在内部网关协议GIP中最先得到广泛使用的协议之一,其相关标准文档为RFC 1058。
2.RIP要求自治系统AS内的每一个路由器都要维护从他自己到AS内其他 每一个网络的距离记录。这是一组距离,称为距离向量D-V(distance-vector)
3.RIP使用跳数(hop count)作为度量来衡量达到目的地的距离。
路由器到直连网络的距离定义为1(思科为0)
路由器到非直连网络的距离定义为所经过的路由器数量加1
允许一条路径最多只能包含15个路由器。距离等于16时相当于不可达。因此,RIP 只适用于小型网络。
RIP认为好的路由就是距离短的路由,也就是通过路由器数量最少的路由。
当到达同一目的地的网络有多条距离相等的路由时,可以进行等价负载均衡。
RIP包含以下三个要点:
和谁交换信息 ---》仅和相邻路由器交换信息
交换什么信息 ---》自己的路由表
何时交换信息 ---》周期性交换(例如每30秒)
举例:RIP的基本工作过程
1.路由器刚开始工作时,只知道自己到直连网络的距离为1
2.每个路由器仅和相邻路由器周期性的交换并更新路由信息
3.若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址,称为收敛。
举例:RIP的路由条目的更新规则
当一个路由器将自己的路由表发送给另一个路由器时,另一个路由器根据此路由表更新自己的路由表时的更新规则
1.到达目的网络,相同下一跳,最新消息,更新
2.发现了新的网络,添加
3.到达目的网络,不同下一跳,新路有优势(距离短),更新
4.到达目的网络,不同下一跳,距离相同,添加,进行等价负载均衡
5.到达目的网络,不同下一跳,新路有劣势,不更新
RIP存在坏消息传播得慢的问题
坏消息传播的慢又称为路由环路或距离无穷计数问题,这是距离向量算法的一个固有问题。可以采取多种措施减少出现该问题的概率或减少该问题带来的危害,但不能彻底避免路由环路问题。
1.限制最大路径距离为15(16表示不可达)
2.当路由表发生变化时就立即发送更新报文(即触发更新),而不是周期性发送
3.让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送(即水平分割)
OSPF协议
开放最短路径优先OSPF的基本工作原理
1.开放最短路径优先OSPF(open shortest path first),是为克服RIP的缺点在1989年开发出来的
1.开放表明OSPF协议不是受某一家厂商控制的,而是公开发表的
2.最短路径优先是因为使用了Dijkstra提出的最短距离算法SPF
2.OSPF是基于链路状态的,而不像RIP那样是基于向量的
3.OSPF采用SPF算法计算路由,从算法上保证了不会产生路由环路
4.OSPF不限制网络规模,更新效率高,收敛速度快
5.链路状态是指本路由器都和哪些 路由相邻,以及相应链路的代价
代价用来表示费用、距离、时延、带宽等,这些都由网络管理人员来决定
举例:思科路由器中OSPF计算代价的方法:100mbps/链路带宽
计算结果小于1的值仍记为1,大于1且有小数的值,舍去小数
OSPF相邻路由器之间通过交互(hello)问候分组,建立和维护邻居关系。
hello分组封装在IP数据报中,发往组播地址224.0.0.5
目的IP为224.0.0.5 协议号为89(表明数据报的数据载荷为OSPF分组)
发送周期为10秒
40秒未收到邻居路由器的hello分组,则认为该邻居路由器不可达
LSA
使用OSPF的每个路由器都会产生链路状态通告LSA(link state advertisement)。LSA中包含以下内容:
直连网络的链路状态信息
邻居路由器的链路状态信息
LSA被封装在链路状态更新分组LSU中,采用洪泛法发送。
LSDB --->链路状态数据库
使用OSPF的各路由器基于LSDB进行最短路径优先SPF计算,构建出各自到达其他各路由器的最短路径,即构建各自的路由表。
OSPF分组类型
OSPF有以下五种分组类型:
类型1:问候(hello)分组
用来发现和维护邻居路由器的可达性
类型2:数据库描述(database description)分组
向邻居路由器给出自己的链路状态数据库中的所有链路状态项目的摘要信息
类型3:链路状态请求(link state request)分组
向邻居路由器请求发送某些链路状态项目的详细信息
类型4:链路状态更新(link state update)分组
路由器使用这种分组将其链路状态进行洪泛发送,即用洪泛法对全网更新链路状态
类型5:链路状态确认(link state acknowledgment)分组
这是对链路状态更新分组的确认分组
邻居关系
OSPF在多点接入网络中路由器邻居关系的建立
1.选举指定路由器DR(designated router)和备用的指定路由器BDR(backup designated router)
2.所有的非DR和BDR只与DR/BDR建立邻居关系
3.非DR/BDR之间通过DR/BDR交换信息
区域
为了使OSPF能够用于规模很大的网络,OSPF把一个自治系统再划分为若干个更小的范围,叫做区域(area)
区域内路由器IR(internal router):路由器的所有接口位于同一个区域内
区域边界路由器ABR(area border router):一部分接口用于连接自身所在区域,另一部分接口用于连接主干区域
主干路由器BBR(backbone router):位于主干区域内的路由器,区域边界路由器可以看作主干路由器
自治系统边界路由器ASBR(AS border router): 专门和本自治系统外的其他自治系统交换路由信息
BGP协议
边界网关协议BGP的基本工作原理
在不同自治系统内,度量路由的协议(距离、带宽、费用等)可能不同。因此,对于自治系统之间的路由选择,使用代价作为度量来寻找最佳路由是不行的。
自治系统之间的路由选择必须考虑相关策略(政治、经济、安全等)
BGP只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由
在配置BGP时,每个自治系统的管理员要选择至少一个路由器作为该自治系统的BGP发言人
不同自治系统的BGP发言人要交换路由信息,首先必须建立TCP接口,端口号为179
在此TCP连接上交换BGP报文以建立BGP会话
利用BGP会话交换路由信息(例如增加新的路由,或撤销过时的路由,以及报告出错的情况等)
利用tcp连接交换路由信息的两个BGP发言人,彼此称为对方的邻站或对等站
BGP发言人除了运行BGP外,还必须运行自己所在的自治系统的内部网关协议IGP,例如OSPF或RIP
BGP发言人交换网络可达信息(要达到某个网络所要经过的一系列自治系统)
当BGP发言人互相交换好了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找到到达自治系统的较好的路由。也就是构造出树形结构、不存在回路的自治系统连通图。
BGP适用于多级结构的因特网
报文类型
BGP-4有以下四种报文
OPEN(打开)报文:用来与相邻的另一个BGP代言人建立关系,使通信初始化。
UPDATE(更新)报文:用来通告某一路由的信息,以及列出要撤销的多条路由
KEEPALIVE(保活)报文:用来周期性的证实邻站的连通性
NOTIFICATION(通知)报文:用来发送检测到的差错