在介绍路由协议(RIP、OSPF、BGP)之前会向大家介绍补充一些基本的概念,以便能够更容易的理解本文。 废话不多说我们开始!
一、自治系统
- 自治系统(Autonomous system)通俗的讲就是我们把全球互联网分成若干个区域,每个区域由一定数量的路由器组成且每个区内部使用相同的内部网管协议协议(RIP或OSPF)去通信,而在区域之间进行通信会使用外部外部网关协议(BGP)去通信。
- 为什么要分自治域呢?不分可以吗?答案是不行的。分自治域主要有两个原因:
- 因特网非常庞大,而我们的路由器的路由表存储的信息将十分庞大,而且在路由器之间交换的信息也将十分庞大,会占据大量的带宽。
- 许多单位不想让别人了解本公司自治域内的网络的使用的具体协议细节,但是又希望连接到因特网中。
路由选择协议概览
定 义
我们首先会想什么是路由选择协议(O_o)??
- 它是一种网络层协议,通过协议规定路由器之间进行通信来分享和维护自己的路由表中的信息。
- 维护了路由表信息之后,就可以确定最佳的路由选择路径。
- 路由器之间的信息分享可以了解非直连网络的状态,当网络状态发什么变化的时候,路由表中的信息也应该相应的更新。
分 类
有了上面的分基础知识之后,下面会具体讲一讲每种具体的协议思想、过程、内容、报文格式等。
RIP协议
简介
-
路由信息协议RIP(Routing Information Protocol) :是一种内部网关协议,它是基于距离矢量算法的路由协议,利用跳数来作为到达某个网络的路由选择标准。 -
主要适用于规模较小的网络(当跳数为16时表示目的网络不可达)、可靠性要求较低的网络,可以通过不断的交换信息让路由器动态的适应网络连接的变化,这些信息包括每个路由器可以到达哪些网络,这些网络有多远等。
RIP协议和谁交换、交换什么、多久交换一次
- 当前路由器仅和相邻的路由器进行信息交换。
- 路由器交换的信息是自己的路由表中的信息(把自己的路由表中的信息封装成RIP报文)
- 每30s交换一次路由信息,然后路由器根据信息去更新路由表。如果超过180s没有收到邻居路由器的通告,则判定邻居没了,把通过邻居作为下一跳的路由给删除掉。
RIP报文格式
在学校RIP报文更新的过程前,我们先学习一下RIP报文的格式,如下图 注意:从上图我们可以看出RIP协议是应用层协议,使用UDP发送数据
RIP更新过程
- 刚开始每个路由器只知道到直接连接网络的距离(距离为1),接着每个路由器会和它的邻居路由器进行交换信息,更新自己的路由表
-
当路由器1与它的邻居路由器2进行信息沟通时,会把自己的路由表封装成数据报发给路由器2,路由器2接收到数据报后(可以认为是接受到了对方的路由表了但是不太严谨),会根据对方的路由表中的信息和距离向量算法来更新自己的路由表项。
- 当路由器1发来RIP报文中的所有表项后,报表项中的“下一跳路由路”修改位路由器1,并把“距离”字段 + 1
- 对修改后的RIP报文中的每一个表项,进行一下步骤:
(1) 若路由器2,没有某个网络(如网络1),则把该表项填入自己的路由表 (2) 若路由器2有某个网络,则查看自己路由表中的下一跳路由器地址: . . 若下一跳是路由器1,则用收到的项目去替换自己路由表中的项目 . . 若下一跳不是路由器1,如果原来距离比从路由器1走距离更远的话我们就更新表项,否则不做处理
-
经过若干次更新后,所有的路由器都会知道在本自治系统中任何一个网络的最短距离和下一跳的路由器地址。即达到**“收敛状态”**
RIP协议的缺点
-
只适用于小规模网络,因为当目的网络的距离(跳数)大于等于16时,路由器认为网络不可达。 -
-
RIP协议在进行消息分享时,是把路由表中的所有表项都封装层RIP报文发送出去,占用的带宽比较大 -
RIP协议好消息传的快,坏消息传的慢,当网络较好的时候能够即时的维护网络状态,但是当我们的网络出现的故障时,可能出现网络中的故障信息不能即时传递。 -
RIP使用“跳数”作为最优距离并非总是最优路径,
从上面的分析中我们可知RIP,有一大堆缺点,那么我们要怎么解决的呢?别担心,这些问题都会再我们下一片文章中讲解的OSPF协议给解决掉。
|