分类: 系统运维
2007-01-15 10:54:21
在网络工程中我们已学习过路由协议的基础知识,并学习了RIP协议的配置。路由协议工作在应用层,因为路由协议数量较多且应用广泛,故单列一章学习。
思考:(1)静态路由中需不需要路由协议?
(2)路由协议有什么作用?
本章重点介绍三个协议:RIP、OSPF和BGP。
1. 几个基本概念:
1) 路由器:①担任数据包寻址和转发的主要网络设备②由于不可能在一台路由器上存储所有的可达信息,所以路由器上没有存储非本地网络以外的可达信息;③路由器必须具有路由表的维护更新、路由分析计算、路由选择切换和负载分担功能。
2) 跳数:HOP Count,记录数据包从源主机到目的主机传送过程中所经过的路由器数目。RIP协议就是采用的跳数作为度量值。
3) 路由选择度量值:不同的路由协议使用不同的度量值来计算发送到目标主机的最佳路由。常用的度量值有:跳数、延时、吞吐量、可靠性和通信费用。(P225)
4) 路由配置方式:静态路由方式和动态路由方式,前者由手工配置好所有路由通路,适合小型网络;后者由路由协议自动建立路由表,通过路由协议产生的报文广播或组播的方式动态更新路由表。
5) 路由协议采用的路由算法:分为距离向量DV协议算法和链路LS状态协议算法两大类。例如:RIP属于距离向量协议算法,基于广播更新和采用跳数作为度量值的协议。注意:路由器定期刷新距离向量记录,每一次广播信息里包含了整个网络的全部路径(较大),并且只对相邻路由器起分发,实现简单,但收敛速度慢。OSPF属于链路状态协议算法,它的特点是将直接相连的路由信息(较小)发给整个网络上的路由器,尽管配置规划复杂,但收敛速度快。
6) 自治系统、内部网关、外部网关及其协议:
n 自治系统:也称为域,AS是一组由网络管理员定义的管理单位,通常将一个大的校园和公司配置成一个AS。在AS内部并运行内部网关协议的路由器通常称为内部网关,反之,运行在AS边界,用于连接多个AS之间的路由器,称为外部网关。
n 内部网关协议:典型的协议有RIP、OSPF。
n 外部网关协议:典型的协议有BGP,即边界网关协议,处理各自治系统之间的路由传递。
7) 直接路由与间接路由:路由器的网络接口所直接连接的网络之间的通信,在接口的IP配置完成之后便可进行,这便是直接路由。间接路由是指源主机的数据包到达目标主机时,必须经过多个路由器进行转送的路由。
2. 内部网关协议RIP (路由信息协议)
1) RIP协议的路由表:是一种AS内部网关协议,采用距离向量协议算法,RIP构成有三项内容即:要到达的目标网络地址、度量值(跳数)和下一跳(直接路由或间接路由)。
2) RIP协议定义的路由规则
n 每30秒(可调整)向相邻路由器发送一次包含路由记录的UDP广播信息;
n 通过比较收到的路由记录,路由表更新原则:
1. 含有不存在的路由记录时,更新,添加;
2. 对同一路径,有更小跳数记录出现,更新,修改原记录;
3. 发现无法访问的路由(跳数大于等于16),更新,删除;
n 网络出现状态改变(如故障),触发机制:立即广播,无需等待30S。优先级非常高的。
n RIP协议由于使用了较大的UDP包,造成网络资源开销较大。另外,网络收敛(更新)慢,但错误信息传播快。
3) RIP—1/2报文格式:被封装在UDP报文中传输。
命令(1字节) |
版本(1字节) |
|
RIP报头 |
数据项(可变,小于512字节) |
RIP报文 |
协议标志符(2字节) |
路由标志(2字节) |
RIP的第一个数据项(20字节,最多25条这样的数据项) |
目标网络IP地址(4字节) | ||
子网掩码,必须为零(4字节)不支持子网划分 | ||
下一网段,必须为零(4字节) | ||
度量值(4字节,值为1~16) | ||
第2~25条数据项 |
RIP其它数据项 |
(解释)RIP应答报文并不提供下一跳的IP!!这个IP是由收到报文的的路由器根据应答报文的内容更新了某项的路由信息后获得的,也就是发送路由器的IP地址!
4) 路由协议存在的问题及RIP的解决方法
n 路由回路(Routing Loops)及解决方法(TTL法)
网络 |
下一跳 |
4 |
routerC |
… |
… |
网络 |
下一跳 |
4 |
routerB |
… |
… |
网络 |
下一跳 |
4 |
routerA |
… |
… |
IP报头中有一个TTL字段
n 无穷计数的问题及解决方法( 抑制法、水平分割、毒性逆转)
5) RIP协议通信的实例
n RIP协议配置好后,初始阶段只能收集到与其直接相连的网络信息,也就是直接路由信息。下面以两台路由器的路由表更新实例来说明RIP的工作过程。
X路由器 |
Y路由器 | ||
初始化 |
10.0.0.0 1 直接 |
现有 |
192.168.1.220 1 直接 |
10.5.0.0 1 直接 | |||
192.168.100.0 1 直接 |
10.10.0.0 4 间接 | ||
10.0.0.0 5 间接 | |||
192.168.100.0 5 间接 | |||
|
Y发出了一个RIP广播 | ||
比较收到的报文,并更新 10.0.0.0 1 直接 192.168.100.0 1 直接 192.168.1.220 2 Y的IP 10.5.0.0 2 Y的IP 10.10.0.0 5 Y的IP |
| ||
X发出了一个RIP广播 |
| ||
|
比较收到的报文,并更新 192.168.1.220 1 直接 10.5.0.0 1 直接 10.10.0.0 4 间接 10.0.0.0 2 X的IP 192.168.100.0 2 X的IP |
6) RIP协议的不足
n RIP的度量值仅采用跳数衡量,忽略了其它的因素;
n 16跳数比较小限制了它的联网规模;
n RIP—1没有子网划分的概念,不能区分非标准的子网号。
7) RIP-2简介
先来认识一下RIP-2的报文格式,虽然域相同,但是意义变化较大:
命令(1字节) |
版本(1字节) |
路由域(3字节) |
RIP报头 | |
协议标志符(2字节) |
路由标记(2字节) |
| ||
目标网络IP地址(4字节) |
RIP的第一个数据项(20字节,最多25条这样的数据项) | |||
子网掩码(4字节)支持子网划分 | ||||
下一网段(4字节)即下一跳的路由器IP | ||||
度量值(4字节,值为1~16) | ||||
第2~25条数据项 |
其他数据项 | |||
解决了RIP-1的一些问题:
n 报文中提供了子网掩码项,可以识别非标准子网掩码;
n 协议标识符的后16字节提供了简单的明文口令验证功能,确保RIP报文只被选定的路由器接收;
n 增加了组播功能,不再使用广播。
n 提供了路由标识识别功能,可以区分RIP协议和其它协议。