一、RIP协议和OSPF协议
(一)自治系统AS
自治系统(AS)是指使用同一个内部路由协议的一组网络,每一个AS会分配一个全局的唯一的长度为16位号码的编码标识。
(二)内部、外部网关协议
我们知道根据分层次的路由选择方法,可以将路由选择协议分为内部网关协议(IGP)和外部网关协议(EGP),这里讲的OSPF也就是一个内部网关协议,与其同类的还有路由信息协议(RIP)等,外部网关协议有边界网关协议(BGP)等。
(三)RIP协议
1、概念
RIP协议是一种根据动态路由算法,是一种分布式基于距离向量的路由选择协议,路由以矢量(距离、方向)的方式通告出去,该协议要求在同一个自治系统(AS)中每一个路由器都要维护从其本身到每一个目的网络的距离记录(距离向量),即维护一张自己的路由表,只与相邻的路由器定期进行信息交换,不相邻的路由器不交换,使路由器不断更新其路由表,从而使每一个路由器到每一个目的网络的路由都是最短的,使其跳数最少(直连网络跳数为0,每经过一个结点跳数加1),另外路由器刚开始工作时,路由表为空。
2、RIP协议路由更新周期
由于距离矢量协议可能会形成路由循环等问题,故采用了一种触发更新方式,即RIP协议中规定的路由更新周期为每30s发送一次,每隔30s路由器更新路由表,即当发送变化,即立即更新报文然后广播至相邻路由器,另外路由器若180s没有回应则标志该路由不可达,即此时把该相邻路由器标志为不可达路由器并将距离置为16,若240s内没有回应则删除路由表信息。
注:RIP协议只允许一条路径最多包含15个路由器,当距离等于16时不可达,所以RIP只适用于小型互联网。
3、RIP基于UDP
RIP协议基于用户数据报协议(UDP),使用运输层用户数据包UDP进行传送,其端口号为520,另外RIP分为RIPv1、RIPv2和RIPng三个版本,其中RIPv1基于广播,RIPv2基于组播(组播地址为224.0.0.9),RIPng属于IPv6中的路由协议。
RIP协议的缺点是当网络出现故障时,要经过较长的时间才能将此信息传送至所有的路由器,其中“好消息”传播得快,而“坏消息”传播得慢,是由于出故障时传播时间往往需较长时间,另外由于其最大距离为15(16不可达),所以RIP协议限制了网络的规模,只适合开销较小的网络。
(四)OSPF路由协议
1、概念
OSPF,即开放式最短路径优先协议,在单一自治系统(AS)内部使用的路由选择协议都是要寻找一条最短的路径,采用最短路径优先算法(SPF)计算最小生成树,确定最短路径。另外RIP协议也是一样,但是其使用的路由协议是不一样的,OSPF使用的是分布式的链路状态路由协议,而RIP使用的是距离矢量路由协议,如下表:
名称 | 采用的路由协议 | 发布方式 |
RIP | 距离矢量路由协议 | 广播 |
OSPF | 链路状态路由协议 | 组播 |
2、OSPF和RIP的区别
以下是RIP协议和OSPF协议的一些主要区别:
(1)OSPF协议通过洪泛法向本AS内的所有路由器发送信息,每一个相邻的路由器又再将信息发送至所有相邻的路由器,但之前发送的不再发送;而相对于RIP协议它只是向相邻的路由器发送信息。
(2)OSPF协议发送的信息是该路由器与相邻的所有路由器的链路状态;RIP协议发送的信息是到所有网络的距离和下一跳路由器。
(3)OSPF协议只在当链路状态发生变化时,路由器才向所有路由器采用洪泛法发生信息;RIP协议不管网络拓扑是否发生变化,路由器间都定期交换路由表。
(4)与RIP协议相比,OSPF协议能够用于规模很大的网络。
3、OSPF基于IP
OSPF基于IP,直接用IP数据报传送,其IP数据报首部的协议字段值(协议号)为89,它采用组播方式交换OSPF包,其组播地址为224.0.0.5(对于全部OSPF路由器)和224.0.0.6(对于指定路由器)。
4、OSPF区域
OSPF通过使用层次结构的区域划分,将一个AS划分为一个个相互独立的区域,其中在上层的区域称为主干区域,它用于连通下层区域,主干区域中内的路由器称为主干路由器;从其他区域来的信息都由区域边界路由器进行概括,每个区域至少有一个区域边界路由器;另外,在主干区域内还有一个路由器专门和本AS外的其他AS交换路由信息,这种路由器称为自治系统边界路由器。
5、OSPF的分组类型
(1)Hello(问候分组),用于发现和维持邻居路由器的可达性,其组播地址为224.0.0.5,默认的Hello发送间隔时间为10s,默认无效时间是40s,即40s内没有从特定邻居接收到这种分组,则认为该邻居路由器不存在。
(2)DD或DBD(数据库描述分组),交换每个LSA(链路状态广播)的摘要,向相邻路由器交换其链路状态数据库中所有链路状态项目的摘要信息。
(3)LSR(链路状态请求分组),向相邻路由器请求一个或多个LAS。
(4)LSU(链路状态更新分组),通过泛洪法向全网更新链路状态,包括了LSA的详细信息,一般用于响应LSR消息。
(5)LSAck(链路状态确认分组),对链路更新分组的确认。
6、OSPF工作流程
首先启动OSPF进程的接口,发送Hello问候分组至相邻;交换Hello消息从而建立邻居关系;每台路由器对所有的相邻的邻居发送LSA;路由器接收邻居发送的LAS后将其保存在LSDB中,发送一个LSAcopy给其他相邻邻居;然后LSA通过泛洪法至整个网络,区域内所有的路由器都会形成相同的LSDB;当完全相同时,每台路由器都以自身为根,然后通过最短路径算法计算出到达每个目的地的最短路径;最后每台路由器构建出自己的路由表。
7、OSPF网络类型
OSPF网络类型 | 传输方式 | 特点 | 例子 |
广播型 | 以组播 形式发送Hello报文、LSU报文和LSAck报文;以单播 形式发送DD报文和LSR报文 |
选举 DR/BDR,所有路由器和BR/BDR交换信息,DR/BDR不能被抢占 |
Ethernet(以太网)、FDDI |
非广播型 | 以单播 形式发送Hello报文、LSU报文、LSAck报文、DD报和、LSR报文 |
需手动 指定邻居 |
Frame Relay(帧中继)、ATM、X.25 |
点到点网络 | 以组播 形式发送Hello报文、LSU报文、LSAck报文、DD报文、LSR报文 |
有效的路由器邻居可以形成邻居关系 | PPP、HDLC |
点到多点网络 | 以组播 形式发送Hello报文;以单播 形式发送 DD报文、LSR报文、LSU报文和LSAck报文 |
不选举 DR/BDR,可看作多个点对点集合 |
需其他网络类型强制更改 |
二、实验目的
实现以下三台交换机互通,且能依据LSW2和LSW3为主要的业务设备来扩展整个网络(通过OSPF协议来实现)。
三、实验内容
1、配置VLAN
配置LSW2的所属VLAN10和VLAN20,即vlan batch 10 20,如下命令:
在LSW2的CLI中输入命令:
<Huawei>sys [Huawei]sy LSW2 [LSW2]vlan batch 10 20
另外配置LSW1和LSW3所属的VLAN10和VLAN20:
2、配置交换机接口的链路类型
执行命令port link-type { trunk | hybrid }指定接口的链路类型为Trunk或Hybrid,即在进入相应接口视图后,输入命令port link-type类型,指定配置接口类型,如下交换机LSW2的链路类型为trunk,进入相关接口后配置并允许所有VLAN通过:
[LSW2]interface GigabitEthernet 0/0/1 [LSW2-GigabitEthernet0/0/1]port link-type trunk [LSW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 [LSW2-GigabitEthernet0/0/1]quit [LSW2]interface GigabitEthernet 0/0/2 [LSW2-GigabitEthernet0/0/2]port link-type trunk [LSW2-GigabitEthernet0/0/2]port trunk allow-pass vlan 20
在LSW2的CLI中输入命令:
另外配置LSW1和LSW3所属的VLAN10和VLAN20对应的交换机接口的链路类型也为trunk,如下:
3、配置接口IP地址
在LSW2的CLI中输入命令,配置相应的接口IP地址:
[LSW2]interface vlanif 10 [LSW2-Vlanif10]ip address 192.168.0.1 24 [LSW2-Vlanif10]quit [LSW2]interface vlanif 20 [LSW2-Vlanif20]ip address 192.168.1.1 24
另外配置LSW1和LSW3所属的VLAN10和VLAN20对应的接口IP地址:
[LSW1]interface vlanif10 [LSW1-Vlanif10]ip address 192.168.1.2 24
[LSW3]interface vlanif20 [LSW3-Vlanif20]ip address 192.168.0.2 24
4、创建进程号和区域以及区域所包含的网段
在LSW2的CLI中输入命令,将OSPF网络划分为area 0和area 1两个区域:
[LSW2]ospf 1 router-id 10.1.1.1 [LSW2-ospf-1]area 0 [LSW2-ospf-1-area-0.0.0.0]network 192.168.0.0 0.0.0.255 [LSW2-ospf-1-area-0.0.0.0]quit [LSW2-ospf-1]area 1 [LSW2-ospf-1-area-0.0.0.1]network 192.168.1.0 0.0.0.255
在LSW1的CLI中输入命令,配置LSW1的OSPF:
[LSW2]ospf 1 router-id 10.2.2.2 [LSW2-ospf-1]area 0 [LSW2-ospf-1-area-0.0.0.0]network 192.168.0.0 0.0.0.255
在LSW3的CLI中输入命令,配置LSW3的OSPF:
[LSW2]ospf 1 router-id 10.3.3.3 [LSW2-ospf-1]area 1 [LSW2-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
四、实验结果
打开LSW2的CLI查看OSPF信息,即通过命令display ospf peer,如下:
<LSW2>display ospf peer OSPF Process 1 with Router ID 10.1.1.1 Neighbors Area 0.0.0.0 interface 192.168.0.1(Vlanif10)'s neighbors Router ID: 10.2.2.2 Address: 192.168.0.2 State: Full Mode:Nbr is Master Priority: 1 DR: 192.168.0.1 BDR: 192.168.0.2 MTU: 0 Dead timer due in 31 sec Retrans timer interval: 5 Neighbor is up for 00:01:41 Authentication Sequence: [ 0 ] Neighbors Area 0.0.0.1 interface 192.168.1.1(Vlanif20)'s neighbors Router ID: 10.3.3.3 Address: 192.168.1.2 State: Full Mode:Nbr is Master Priority: 1 DR: 192.168.1.1 BDR: 192.168.1.2 MTU: 0 Dead timer due in 39 sec Retrans timer interval: 5 Neighbor is up for 00:00:57 Authentication Sequence: [ 0 ]
如下,可以看到LSW2的OSPF邻居:
另外我们分别在LSW1和LSW3上通过命令display ospf routing,查看交换机的OSPF路由信息,如下:
LSW1中:
LSW3中:
然后我们再通过ping命令,测试连通性,在LSW1中测试到LSW3:
<LSW1>ping 192.168.0.2
发现没有任何问题:
在LSW3中测试到LSW1:
<LSW3>ping 192.168.1.2
一样,也是没有任何问题:
到此,就完成了通过OSPF协议来实现三台交换机LSW1、LSW2、LSW3的互通。