三大路由协议
1.自治系统
1)为了采用分层次的路由选择协议,因特网将整个互联网划分成许多自治系统,简称为AS
2)为什么要采取分层次的路由协议:
- 因特网规模很大,如果要让所有路由器知道所有的网络应该怎么到达,则这种路由表将非常大,处理起来很花时间
- 许多单位不愿意外界了解自己单位所采取额路由选择协议
3)内部网关协议IGP:在一个自治系统AS内部使用的路由协议,常见的有RIP、OSPF
4)外部网关协议EGP:在AS之间使用的路由协议,常见的有BGP
2.内部网关协议
2.1RIP协议
1)RIP(Routing Information Protocol)路由信息协议,是一个基于距离向量的路由协议
2)每个运行RIP的路由器维持着一张路由表,路由表的内容是从它自己到其他每个目的网络的距离和下一跳(最大距离为15,距离为16表示此路由不可达。也就是说一条路径上最多只能包含15个路由器,可见,RIP只适用于小型网络),距离是指本路由器要到达目的网络要经过的路由器数量加1,加1是因为路由器到直连网络的距离被定义为1
3)路由器会定期地向它的邻居路由器发送它的路由表
4)每一个接收者通过把接收到的路由信息与自己路由表中的路由信息比较,并根据Bellman-Ford算法,选出最好的路由来更新自己的路由表
5)RIP使用UDP传送,因为只和邻居交换信息,不容易丢,可以用UDP,就算丢了,由于是定期地发送路由表,又何妨,同时UDP开销小
5)优点:实现简单
6)缺点:
- 最大距离限制,只适用于小型网络
- 路由信息收敛速度慢,由于相互欺骗会引起“累加到无穷”的问题:
- 无法根据链路性能选路
- 不能进行负载平衡,因为只保留了一条最短路径
2.2OSPF协议
1)OSPF(Open Shortest Path First)开放式最短路径优先,是一个基于链路状态的路由协议
2)链路状态:一个路由器的链路状态是指它与哪些网络或路由器相邻,以及到这些网络或路由器的度量,度量可以是时延、带宽、距离、费用等等,这由管理人员来定
3)每一台路由器的链路状态都会被本自治系统AS中的所有路由器知道,使用的方法是洪泛法,首先本路由器向所有相邻路由器发送链路状态,然后每一个相邻路由器又将此信息发往它的所有相邻路由器,不断地进行下去,最后所有的路由器都收到了
4)OSPF用链路状态通告LSA(Link - State Advertisement)来描述链路状态,路由器通过与网络中其他路由器交换LSA来建立和更新链路状态数据库
5)只有当链路状态发生变化时路由器才发送链路状态,不像RIP那样每隔一定时间就发
6)由于各路由器都可以收到其他所有路由器链路状态信息,因此所有的路由器都能建立一个相同的链路状态数据库,也就是全网的拓扑图
7)各个路由器根据这张全网拓扑图,采用dijkstra算法,以自己为根,构造最短路径树,于是就得到了路由表
8)OSPF协议由三个子协议组成:Hello协议、交换协议和扩散协议
9)OSPF五种类型的分组
- Hello报文,通过周期性地向相邻路由器发送来建立和维护邻居关系,网络中传输的绝大多数OSPF报文都是Hello报文,因为每10秒就要发一个Hello报文
- DD(数据库描述)报文,携带自己数据库的摘要,向邻居路由器发送
- LSR(链路状态请求)报文,向对方请求本地没有的LSA
- LSU(链路状态更新)报文,携带更新的LSA
- LSAck(链路状态确认)报文,对LSU的确认
10)Hello协议:
- 路由器定期地给相邻路由器发送Hello报文来建立和维护邻居关系(维护是指定期确认相邻的路由器之间的可达性)
- Hello报文同时完成指派路由器DR及备份指派路由器BDR:在多路访问网络上可能存在多个路由器,为了减少广播的信息量,OSPF要求在区域中选举一个DR,每个路由器都与之建立完全相邻关系,DR负责收集所有的链路状态信息,并发布给其他路由器。选举DR的同时也选举出一个BDR,在DR失效的时候,BDR担负起DR的职责
11)扩散协议:每一个路由器一旦发现链路状态变化,就告知所有的相邻路由器,相邻路由器又将此信息发往它的所有相邻路由器,不断地进行下去,这样就可以使得整个自治系统AS内的所有路由器的链路状态数据库都相同
12)交换协议:
- 由于双方的数据库内容有可能部分重合,为了减少流量,OSPF首先进行的不是整个数据库的交换,而是利用DD报文发送自身数据库的摘要,通过交换摘要信息,发现数据库中没有的项,然后向邻居路由器请求该项的完整信息,最终达到数据库的同步
- 交换的过程是非对称的:存在主 / 从路由器,双方在交换之前首先根据路由器id进行主从路由器的选择(选择id更大的为主),主路由器负责序列号的增加和重传,从路由器负责应答
13)OSPF直接用IP数据报传送,洪泛法导致在网络上发送的信息很多,直接使用IP数据报就可以让开销尽可能地降到最低
14)优点:
- 没有跳数限制,适用于大型网络
- 收敛速度快,没有“好消息传得快,坏消息传得慢的问题”
- 能够根据链路性能(度量)选路,度量可以自己设定
- 提供多路径负载均衡
- OSPF交换的分组支持鉴别(身份验证,通过一个校验码进行保护)功能,提高的了网络的安全性
3.外部网关协议
3.1BGP协议
1)BGP(Border Gateway Protocol)边界网关协议,是一种基于路径向量的路由协议
2)BGP并不寻找最佳路由,而是寻找一条比较好(不兜圈子就行)的路由:
- 一是因为因特网规模大,找出最佳路由太难实现,比较合理的做法就是在AS之间只交换可达性信息,即到达目的网络要经过哪些AS,并不强调距离
- 二是因为不同AS的网络性能相差很大,根据最短距离找出来的路由可能不合适
3)每一个自治系统AS选出一个路由器作为本AS的BGP发言人(往往是BGP边界路由器,但也可以不是),由代表们进行信息交换
4)BGP使用TCP连接,建立了连接的两个BGP发言人称为对方的对等体,在开始时向邻站交换整张BGP路由表,但之后只需要交换有变化的部分;正由于开始时交换整张路由表,所以要采用TCP保证完整性
5)BGP有四种报文:
- Open(打开)报文:用来和另一个BGP发言人建立关系,使通信初始化
- Keepalive(保活)报文:BGP会周期性地向对等体发出Keepalive报文,用来保持对等体的连通性
- Update(更新)报文:用来在对等体之间交换路由信息,既可以发布新的路由,也可以撤销过时的路由
- Notification(通知)报文:用来发送检测到的差错,之后BGP连接会立即中断
6)BGP克服循环选路的方法:AS之间,依靠AS_PATH属性,AS_PATH会把经过的AS号都记录下来
posted on 2019-03-12 19:47 JoeChenzzz 阅读(11628) 评论(0) 编辑 收藏 举报