-
内部网关协议IGP(一个AS内的路由信息传递协议,与其他自治系统选用什么路由协议无关) :RIP、OSPF
-
外部网关协议EGP(两个AS之间路由信息的传递协议) :BGP
- RIP协议
-
协议特点:仅和相邻路由器交换信息 ;交换当前路由器所知道的全部信息,即现在的路由表 ;按固定时间间隔交换信息,如30s,在网络拓扑发生变化后也会及时通知相邻路由器。
-
协议使用的距离向量算法进行以下步骤
1). 改下一跳地址,距离加1:先将所有下一跳地址改为发送报文的路由器的地址X,并把距离字段的值加1,每一个项目都有三个关键数据,即:到目的网络N,距离d,下一跳路由。
2). 对修改后的每个项目,进行以下步骤:
若原来的路由表中没有目的网络N,则添加到路由表中。
否则,查看路由表中的下一跳路由地址:
若下一跳路由地址是X,则更新路由表,替换原有的记录,以最新的为准。
否则,若收到的项目中距离d小于路由表中的距离,则进行更新;
否则,什么也不做。
3). 若3分钟还没有收到相邻路由器的更新路由表,则认为该路由器不可达,距离记为16(RIP协议中最大的路由器跳数为15,16表示不可达)。
4). 返回。 -
RIP协议报文:
四字节首部+20字节路由部分(地址簇标识符+路由标记 -> 4字节 ; 网络地址 -> 4字节 ; 子网掩码 -> 4字节 ; 下一跳路由器地址 -> 4字节 ; 距离 -> 4字节 )作为RIP报文加上UDP首部形成UDP数据报,再加上IP首部形成IP数据报。
路由部分最多包含25个路由记录,若路由表中超过25条记录则分多次发送。 -
RIP协议的优缺点:
优点:协议实现简单,开销小。
缺点:限制了网络的规模,最大距离为15 ; 路由器之间交换的是完整的路由表信息,随着规模的扩大,开销也增加 ; 最后“坏消息传的慢”使更新过程收敛过长 。
对于大规模就应当使用OSPF协议,在小规模的网络中,RIP协议使用仍占多数。
- OSPF协议(开放最短路径优先)
并不是说其他算法不是最短路径,而是因为OSPF使用了Dijkstra算法而得名。
-
协议特点:向本自治系统(后分为更小的区域)的所有路由器发送信息,使用洪泛法:向所有相邻的路由器发送信息,相邻路由器再向所有相邻路由器发送信息 ;发送的是本路由器相邻的所有路由器的链路状态,只发送了路由器所知道的部分信息 ; 仅在链路状态发生变化时,路由器才向所有路由器用洪泛法发送此消息。
-
OSPF协议报文:24字节的首部 + 类型1至类型5的OSPF分组 + IP数据报的首部,形成IP数据报,可以看出OSPF不用UDP而是直接使用IP数据报传。
-
OSPF分组的五种类型:
a.问候分组(Hello),用来发现和维持相邻站的可达性。每隔10s交换一次问候分组,若40s未收到则认为不可达,应立即修改链路状态数据库并重新计算路由表(Dijkstra算法)。
b.数据库描述分组,向邻站给出自己链路状态数据库的摘要信息,邻居根据自己的需求发送下面c提到的链路状态请求信息,然后向邻站发送请求的链路状态更新分组。
c.链路状态请求分组,向对方请求发送某些链路状态项目的详细信息。
d.链路状态更新分组,用洪泛法对全网更新链路状态。是OSPF分组中最复杂的,也是最核心的部分。
e.链路状态确认分组,对d中分组的确认。
为了确保链路状态数据库与全网保持一致,OSPF还规定每隔一段时间刷新一次数据库中的链路状态。如,30min。 -
OSPF协议优点:
a.对于不同类型的业务,可以赋予不同的链路代价,从而得到不同的路由。
b.对于同一目的网络,可能得到多条相同代价的路径,那么可以将通信量分配给几条路径,从而达到负载均衡。RIP协议只能找到一条路径。
c.首部决定了OSPF具有鉴别的能力,能够使分组仅仅是在可信赖的路由之间交换分组。
d.支持可变长度的子网划分和无分类的CIDR。
-
路由转发过程:
a.从收到的数据报中提取目的IP地址D
b.先判断是否直接交付,对路由器直接连接的网络逐个进行检查:用各网络的子网掩码与目的地址相与,看是否与网络地址匹配。
c.若路由表中有目的地址为D的特定路由,直接发送给所指的下一跳
d.上述两条均不满足时,则将路由表中的每一行中的子网掩码与目的地址相与(AND操作),判断其结果是否玉该行的网络地址匹配,若匹配,则传送给该行的下一跳地址。
e.若没有匹配的行,且存在默认路由,则把数据报传送给路由表中所指明的默认路由;否则报告转发分组出错。例:源主机H1向目的主机H2发送分组过程:首先源主机把本子网的子网掩码与目的主机IP地址逐位相与,若是同一网段则直接交付(再使用ARP协议得到硬件地址),否则传给路由器,路由器进行上述转发过程(转发中使用ARP协议得到硬件地址)。