网络知识 娱乐 网络工程管理 第四章 路由器 RIP OSPF 及配置实验

网络工程管理 第四章 路由器 RIP OSPF 及配置实验

网络工程管理 第四章 路由器

路由器:连接多个网络或网段的网络设备

硬件组成

  • CPU:执行路由器操作系统(IOS)指令,解释执行用户输入的命令,完成相关计算工作
  • ROM(只读存储器):开机自检程序(POST),系统引导程序,操作系统的精简版本
  • RAM(内存,随机存储器):存储数据包队列,中间数据,运行配置文件。掉电丢失。
  • FLASH(闪存):保存操作系统的映像文件
  • NVRAM(非易失性内存):路由器的启动配置文件,掉电保持。
  • 控制台端口(Console Port):配置用
  • 辅助端口(AUXiliary Port):常用来连接调制解调器,实现远程管理

软件概述

IOS(Internetworking Operating System):Cisco的网络互联操作系统。配置通常通过基于文本的命令行接口进行(CLI,command Line Interface)

配置文件:管理员创建的文本文件,IOS翻译并执行其中的语句。

  • 启动配置文件,保存在NVRAM,初始化时加载到内存中变成运行配置文件。
  • 运行配置文件,驻留在内存中,使用命令行接口配置时,配置命令被试试添加到路由器的运行配置文件中并被立即执行。

启动过程:

加电启动-》自检-》加载运行启动代码-》定位IOS软件(FLASH)-》加载IOS软件-》定位启动配置文件(NVRAM或网络TFTP服务器)-》加载运行启动配置文件-》运行经过配置的IOS软件

路由表条目

  • 静态路由:管理员手动输入路由器命令。小型网络适合。
  • 动态路由:网络路由协议根据拓扑或流量调整。
  • 默认路由:静态或动态获得,在不知道网络的明确路由的时候使用(默认出口)。最长匹配原则

单臂路由

单臂路由

单臂路由是指在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。二层交换机+单臂路由的功能约等于三层交换机的功能。

单臂路由实验

在这里插入图片描述

操作

1.配置PC:IP+GW
2.配置SW: 划分端口 创建vlan 配置trunk

Switch>enable
Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#int f0/1
Switch(config-if)#sw ac vlan 2
% Access VLAN does not exist. Creating vlan 2
Switch(config-if)#int f0/2
Switch(config-if)#sw ac vlan 3
% Access VLAN does not exist. Creating vlan 3
Switch(config-if)#int f0/24
Switch(config-if)#sw m t

3.配置R 划分端口 配置协议 配置IP

Router>enable
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#int g0/0/0
Router(config-if)#no shut
Router(config-if)#int g0/0/0.2
# 将vlan2封装到g0/0/0.2接口
Router(config-subif)#encapsulation dot1Q 2
Router(config-subif)#ip add 192.168.1.1 255.255.255.0
Router(config-subif)#exit
Router(config)#int g0/0/0.3
Router(config-subif)#encapsulation dot1Q 3
Router(config-subif)#ip add 192.168.2.1 255.255.255.0
Router(config-subif)#exit
Router(config)#

4.测试:PC0能够ping通PC1

RIP路由

RIP是Routing Information Protocol(路由信息协议)的简称,它是一种较为简单的内部网关协议(Interior Gateway Protocol)。RIP是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量来衡量到达目的网络的距离。RIP通过UDP报文与相邻路由器进行路由信息的交换。

RIP有两个版本。RIPv1属于有类路由,不支持VLSM, 以广播形式进行路由更新,30s周期;RIPv2属于无类路由,支持VLSM,以组播形式进行路由更新。

仅和相邻路由器交换信息。交换的信息是当前本路由器所知道的全部信息,即自己的路由表(到本自治系统中所有网络的最短距离,以及到每个网络 应经过的下一跳路由器)。按固定的时间间隔交换路由信息,例如,每隔 30 秒

RIP路由表的建立

  1. 路由器在刚刚开始工作时,只知道到直接连接的网络的距离 (此距离定义为1)。

  2. 以后,每一个路由器也只和数目非常有限的相邻路由器交换 并更新路由信息。

  3. 经过若干次更新后,所有的路由器最终都会知道到达本自治 系统中任何一个网络的最短距离和下一跳路由器的地址。

RIP的更新与维护

  • 定期计时器:用于控制RIP报文的发送频率。
    RIP规定定期计时器初始值为30秒。定期计时 器每秒减1,当计时器归零时,路由器发送 RIP报文,通告新信息。
  • 截止期计时器:用于管理路由的有效性。
    当路由器收到RIP响应报文而更新某条路由时, 该路由的截止期计时器即赋值为180秒。每当收 到该路由的新信息时,该截止期计时器就复位 (=180秒)。
    如果互联网中出现了影响路由更新的问题,会使路由器180秒内收不到更新信息(没有复位),此时该路由就被认为过期了,此时将路由的跳数设为 16,表示该网络不可达。
  • 无用信息收集计时器:用于通知有某个路 由出了故障
    当路由无效时,路由器并不立即将它从路由表中删除,而是把它的跳数设为16,然后保留120秒。 无用信息收集计时器就用于记录这120秒。当无用信息收集计时器归零时,对应的无效路由才被删除。
    之所以把无效路由保留一段时间(2分钟),是为了让相邻路由器知道某条路由已经无效,避免使用它。而120秒的时间可以发送至少4个更新报文, 足以使相邻路由器知道了。

RIP路由配置实验

RIP配置基本操作

RIP路由协议配置方法:
>  router rip       	//在路由器配置中启用rip协议 
>  version 2 			//配置 rip 协议的版本
> network 网络地址		//配置路由器直连的网段

要求:假设校园网通过一台三层交换机S3560连接到校园网出口路由器R1上,路由器R1再和校园外的另一台路由器R2连接。要求适当配置,实现校园网内部主机与校园网外部主机之间的相互通信。 采用RIPv2实现协议互通

在这里插入图片描述

路由器和主机直连时,需要使用交叉线

参考教程

三层交换机配置

Switch>enable
Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#vlan 10 
Switch(config-vlan)#vlan 20
Switch(config-vlan)#exit

Switch(config)#int f0/10
Switch(config-if)#sw ac vlan 10
Switch(config-if)#int f0/20
Switch(config-if)#sw ac vlan 20

Switch(config-if)#int vlan 10
Switch(config-if)#ip add 192.168.1.1 255.255.255.0
Switch(config-if)#no shutd
Switch(config-if)#int vlan 20
Switch(config-if)#ip add 192.168.3.1 255.255.255.0
Switch(config-if)#no shutd
Switch(config-if)#exit

Switch(config)#ip routing
Switch(config)#router rip
Switch(config-router)#network 192.168.1.0
Switch(config-router)#network 192.168.3.0
Switch(config-router)#version 2
Switch(config-router)#exit
Switch(config)#ip routing
Switch(config)#exit
Switch#

路由器Router4

Router>enable
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.

Router(config)#int f0/0
Router(config-if)#ip add 192.168.3.2 255.255.255.0
Router(config-if)#no shutd
Router(config-if)#int s0/0/1
Router(config-if)#ip add 192.168.4.1 255.255.255.0
Router(config-if)#clock rate 64000
Router(config-if)#no shutd

Router(config-if)#exit
Router(config)#router rip
Router(config-router)#network 192.168.3.0
Router(config-router)#network 192.168.4.0
Router(config-router)#version 2
Router(config-router)#no auto-summary
Router(config-router)#exit

路由器Router5

Router>enable 
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.

Router(config)#int f0/0
Router(config-if)#ip add 192.168.2.1 255.255.255.0
Router(config-if)#no shutd
Router(config-if)#int s0/0/1
Router(config-if)#ip add 192.168.4.2 255.255.255.0
Router(config-if)#no shutd

Router(config-if)#exit
Router(config)#router rip
Router(config-router)#network 192.168.4.0
Router(config-router)#network 192.168.2.0
Router(config-router)#version 2
Router(config-router)#no auto-summary

show ip route 命令 查看验证三台路由设备的路由表,查看是否自动学习了其他网段的路由信息。

Switch#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.1.0/24 is directly connected, Vlan10
R    192.168.2.0/24 [120/2] via 192.168.3.2, 00:00:11, Vlan20
C    192.168.3.0/24 is directly connected, Vlan20
R    192.168.4.0/24 [120/1] via 192.168.3.2, 00:00:22, Vlan20

且两台主机能够ping通

OSPF路由

链路状态

OSPF 路由器会将自己所有的链路状态毫不保留地全部发给邻居,邻居将收到的链路状态全部放入链路状态数据库(Link-State Database),邻居再发给自己的所有邻居,并且在传递过程种,绝对不会有任何更改。通过这样的过程,最终,网络中所有的 OSPF 路由器都拥有网络中所有的链路状态,并且所有路由器的链路状态应该能描绘出相同的网络拓朴。

与距离矢量路由不同,距离矢量路由中交换的是完整的路由表,这样如果有人恶意攻击的话,就能够知道整个网络拓扑结构。而链路状态路由则交换链路的状态,用户无法通过这个清晰的得知整个链路拓扑。

比如现在要计算一条地铁线路图,如上海地铁二号线某段的图,如果不直接将该图给别人看,图好比是路由表,现在只是报给别人各个站的信息,该信息好比是链路状态,通过告诉别人各个站左边一站是什么,右边一站是什么,别人也能通过该信息(链路状态),画出完整的线路图(路由表),如得到如下各站信息(链路状态):

  • 南京东路站 (左边一站是人民广场,右边一站是陆家嘴)
  • 南京西路站 (左边一站是静安寺,右边一站是人民广场)
  • 静安寺站 (右边一站是南京西路)
  • 人民广场站 (左边一站是南京西路,右边一站是南京东路)
  • 陆家嘴站 (左边一站是南京东路)

完整的链路状态就是:

静安寺 — 南京西路 — 人民广场 — 南京东路 — 陆家嘴

OSPF 并不会周期性更新路由表,而采用增量更新,即只在路由有变化时,才会发送更新,并且只发送有变化的路由信息;事实上,OSPF 是间接设置了周期性更新路由的规则,因为所有路由都是有刷新时间的,当达到刷新时间阀值时,该路由就会产生一次更新,默认时间为 1800 秒,即 30 分钟,所以 OSPF 路由的定期更新周期默认为 30 分钟

链路状态算法

  • 邻接关系建立。相邻的路由器会形成OSPF 邻接关系。只有邻接关系建立好后,路由器之间才会交互各自知道的LSA(链路状态通告)。

  • LSDB(链路状态数据库) 同步。邻接关系建立好后,每个OSPF 路由器会把自己的LSA 通告给自己的邻居,同时接收邻居通告给自己的LSA,也会把自己知道的其他路由器的LSA 通告给邻居。每个路由器会保存自己收到的LSA。所有LSA 的集合叫作LSDB。

  • SPF(最短路径优先算法) 路由计算。LSDB 同步后,每个OSPF 路由器以自己为根运行SPF 算法。运算的结果是以自己为根的一棵最短路径树。

  • 路由表生成。根据SPF 树,每台路由器都能计算出各自的路由信息,并添加到路由表。

总的来说就是:邻居发现、数据库同步、计算最优路由

OSPF报文类型

Type报文名称报文功能
1Hello报文建立和维护邻居关系
2为数据库描述报文(DD,Database Description)向邻居路由器描述本地链路状态数据库使得邻居路由器识别出数据库中的LSA是否完整。
3链路状态请求报文(LSR,Link State Request)请求刷新的链路状态信息。路由器根据邻居的DD报文,判断本地数据库是否完整,如不完整,路由器把这些LSA记录进链路状态请求列表中,然后发送一个LSR给邻居路由器.
4链路状态更新报文(LSU,Link State Update)描述待刷新的纤细的链路状态信息。用于响应邻居路由器发来的LSR,根据LSR中的请求列表,发送对应LSA给邻居路由器,真正实现LSA的泛洪与同步。
5为链路状态确认报文(LSAck,Link State Ack)确认报文。用来对收到的LSA进行确认,保证同步过程的可靠性。

OSPF路由配置实验

在这里插入图片描述

思路:

1.配置PC的IP和GW
2.配置三层交换机:建立vlan 划分端口 vlanip iprouting 配置ospf
3.配置路由:端口ip ospf配置

ospf基本配置

router ospf 1
network 192.168.1.0 0.0.0.255 area 0
network 192.168.3.0 0.0.0.255 area 0

查看路由表:show ip route

三层交换机配置

Switch>en
Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.

Switch(config)#vlan 10
Switch(config-vlan)#vlan 20
Switch(config-vlan)#exit
Switch(config)#int f 0/10
Switch(config-if)#sw ac vlan 10
Switch(config-if)#int f 0/20
Switch(config-if)#sw ac vlan 20
Switch(config-if)#int vlan 10

Switch(config-if)#ip add 192.168.1.1 255.255.255.0
Switch(config-if)#no shutd
Switch(config-if)#int vlan 20
Switch(config-if)#ip add 192.168.3.1 255.255.255.0
Switch(config-if)#no shutd
Switch(config-if)#ip routing

Switch(config)#route ospf 1
Switch(config-router)#network 192.168.1.0 0.0.0.255 area 0
Switch(config-router)#network 192.168.3.0 0.0.0.255 area 0
Switch(config-router)#exit
Switch(config)#exit

Switch#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.1.0/24 is directly connected, Vlan10
O    192.168.2.0/24 [110/66] via 192.168.3.2, 00:00:03, Vlan20
C    192.168.3.0/24 is directly connected, Vlan20
O    192.168.4.0/24 [110/65] via 192.168.3.2, 00:00:03, Vlan20

路由器R0配置

Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#int f0/0
Router(config-if)#ip add 192.168.3.2 255.255.255.0
Router(config-if)#no shutd
Router(config-if)#int s0/0/0 
Router(config-if)#ip add 192.168.4.1 255.255.255.0
Router(config-if)#no shutd

Router(config)#router ospf 1
Router(config-router)#network 192.168.3.0 0.0.0.255 area 0
Router(config-router)#network 192.168.3.0 0.0.0.255 area 4
Router(config-router)#exit
Router(config)#exit

路由器R1配置(与上面基本一致)

Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#int f0/0
Router(config-if)#ip add 192.168.2.1 255.255.255.0
Router(config-if)#no shutd
Router(config-if)#int s0/0/0
Router(config-if)#ip add 192.168.4.2 255.255.255.0
Router(config-if)#no shutd

Router(config)#router ospf 1
Router(config-router)#network 192.168.4.0 0.0.0.255 area 0
Router(config-router)#network 192.168.2.0 0.0.0.255 area 0
Router(config-router)#exit

查看路由表

Switch#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.1.0/24 is directly connected, Vlan10
O    192.168.2.0/24 [110/66] via 192.168.3.2, 00:00:03, Vlan20
C    192.168.3.0/24 is directly connected, Vlan20
O    192.168.4.0/24 [110/65] via 192.168.3.2, 00:00:03, Vlan20

两个主机能够互相ping通

路由综合配置实验

假设某公司通过一台三层交换机连到公司出口路由器R1上,路由器R1再和公司外的另一台路由器R2链接。三层交换机与R1间运行RIP v2路由协议,R1与R2间运行OSPF路由协议。现要做适 当配置,实现公司内部主机与外部主机之间的相互通信。
在这里插入图片描述

路由重分布:把一种协议翻译成另一种协议。 为了支持本设备能够运行多个路由协议进程,系统软件提供了 路由信息从一个路由进程重分布到另外一个路由进程的功能。 比如将OSPF路由域的路由重新分布后通告RIP路由域中,也可 以将RIP路由域的路由重新分布后通告到OSPF路由域中。

no switchport这条命令的意思是:可以把二层接口改为三层接口,也就是说相当于一个路由器上的接口。no switch 实际上是no switchport的简写,而switchport就是交换口,也就是二层接口,这样no命令就意味着关闭二层接口并启用三层接口。

配置路由重分布:R1rip只写左侧直连网络 OSPF只写右侧直连网络 然后写重定义命令

router rip
redistribute ospf 1 metric10
#每一种路由协议都有自己的度量标准,所以在进行重分布时必须转换度量标准,使得它们兼容。种子度量值(Seed Metric)是定义在路由重分布里的,它是一条从外部重分布进来的路由的初始度量值。
router ospf 1
redistribute rip subnets

配置思路:

1.配置PC的IP+GW
2.配置交换机 端口 路由 及RIP
3.配置R2 端口 路由 及 OSPF
4.配置R1 端口 路由 左侧RIP 右侧OSPF 及重定义

交换机配置

Switch>en
Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#int f0/10
Switch(config-if)#no sw
Switch(config-if)#ip add 192.168.1.1 255.255.255.0
Switch(config-if)#no shut
Switch(config-if)#int f0/20
Switch(config-if)#no sw
Switch(config-if)#ip add 192.168.2.1 255.255.255.0
Switch(config-if)#no shut

Switch(config-if)#ip routing
Switch(config)#router rip
Switch(config-router)#network 192.168.1.0
Switch(config-router)#network 192.168.2.0
Switch(config-router)#version 2
Switch(config-router)#no auto-summary
Switch(config-router)#ex
Switch(config)#ex

路由器R1

Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#int f0/0
Router(config-if)#ip add 192.168.2.2 255.255.255.0
Router(config-if)#no shut
Router(config-if)#int s0/0/0
Router(config-if)#ip add 192.168.3.1 255.255.255.0
Router(config-if)#no shut

Router(config-if)#router rip
Router(config-router)#network 192.168.2.0
Router(config-router)#version 2
Router(config-router)#no auto-summary
Router(config-router)#router ospf 1
Router(config-router)#network 192.168.3.0 0.0.0.255 area 0
Router(config-router)#ex

Router(config)#router rip
Router(config-router)#redistribute ospf 1 metric 10
Router(config-router)#router ospf 1
Router(config-router)#redistribute rip subnets
Router(config-router)#exit
Router(config)#ex
Router#

路由器R2

Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#int s0/0/0
Router(config-if)#ip add 192.168.3.2 255.255.255.0
Router(config-if)#no shut
Router(config-if)#int f0/0
Router(config-if)#ip add 192.168.4.1 255.255.255.0
Router(config-if)#no shut

Router(config-if)#exit
Router(config)#router ospf 1
Router(config-router)#network 192.168.3.0 0.0.0.255 area 0
Router(config-router)#network 192.168.4.0 0.0.0.255 area 0
Router(config-router)#exit
Router(config)#exit
Router#

show ip route查看结果

Switch#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.1.0/24 is directly connected, FastEthernet0/10
C    192.168.2.0/24 is directly connected, FastEthernet0/20
R    192.168.3.0/24 [120/10] via 192.168.2.2, 00:00:04, FastEthernet0/20
R    192.168.4.0/24 [120/10] via 192.168.2.2, 00:00:04, FastEthernet0/20

两台PC 能 ping通