动态路由:
在路由器之间动态协商路由表。
动态路由协议:
-
IGP协议:internal Gateway Protocol(内部网关协议)
-
DV:Distance vector:距离矢量—— 本质传递的是路由条目
-
RIP:routing information Protocol(最多传输路径16)
-
IGRP:思科
-
EIGRP:思科增强版(最多传输路径255)
-
-
LS:Link state 链路状态(不受路径个数影响)—— 本质传递的是LSA,通过计算(SPF)得到相关路由条目。
-
IS-IS:运用商使用(同时支持 clnp 与 ip,扩张性很强)
-
OSPF:open shortest path first开放式的最短路径优先协议
-
-
-
EGP协议:External Gateway Protocol(外部网关协议)
-
BGP Border Gateway Protocol
-
RIP协议:
命令配置:
-
Router rip #启动rip协议
-
Version 2 #确定发送报文的rip版本
-
No auto-summary #禁用自动汇总
-
Network 192.168.1.0 不添加掩码,最终显示为主类网络的形式,表示的是一个IP地址范围;仅仅限制为直连链路,凡是被该类地址覆盖的ip地址,都启用RIP协议。(在发送报文的时候,值会将ip地址的网络部分放在RIP报文中传输给其他路由器)
-
Ditance:表示路由条目的优先级,直连链路默认为0;值越小越优先
测试:
Show ip route
Show ip route rip
OSPF
open shortest path first开放式的最短路径优先协议,属于链路状态协议类型
用于配置动态路由,取代之前手工添加静态路由。防止出现环路
在路由器之间学习和计算路由条目
特点
-
一种公有协议
-
没有网络规模限制
-
支持层次化网络设计
原理
-
建立邻居~邻居表
-
通过参数协商,建立邻居条件
-
-
形成数据库(link-state database)
-
数据库条目,LSA(link-state advertisement 链路状态通告)
-
-
计算路由~路由表
-
每一个OSPF都会基于数据库中的LSA,进行路由计算(SPF算法),从而形成最终的"路由表"。各自路由器拥有独立计算,如果某一个链路路由出现问题,则只关系该路由本身。从而不会出现环路。
-
分层设计
区域:骨干区域:0区域 area 0
非骨干区域:非0区域
表示:十进制
点分十进制
注释:所有非骨干区域必须连接骨干区域,即所有非0区域必须连接0区域。
同一段链路如果不属于相同区域,则无法链接!
OSPF路由类型
-
内部路由
O—表示同一区域内部的路由
O IA—表示不同区域之间的路由
-
外部路由
OE1—表示类型为1的外部路由,extermal
OE2—表示类型为2的外部路由
ABR(area border router)区域边界路由器:
同时连着骨干区域与非骨干区域的理由器。必须链接0区域与非0区域。
Ospf路由在邻居关系中的角色
-
DR(designated route指定路由器)#角色
-
BDR(backup designated router 备份指定路由器)
-
建立邻居的所有的设备,都仅仅与DR/BDR 进行路由计算数据库的同步;
-
但是别人在请求时,仅有 DR 进行回应;
-
BDR仅仅是DR的备份,DR挂掉了,BDR就会升级为DR,实现 DR 的功能
-
-
DRother,既不是DR,又不是BDR,一个网段中,仅有一个DR,BDR可以没有。除了DR与BDR,其他都是DRother,DRother仅仅与DR,BDR建立full关系,其他任意DRother之间均建立two-way状态,不会成为full关系。
注意: 只有在"广播网络环境"中,建立邻居的路由器之间才会有这种角色之分;
常见的"广播网络环境" - ethernet(即以太网)
OSPF报文类型:
-
HELLO 包:用于建立,维护,拆除 邻居数据关系,
-
广播网络(点到点):周期发送,周期—10s,邻居存活时间-140s
-
非广播网络:周期—30s,邻居存活时间—120s
-
-
DBD:database description 数据库描述报文,用于交换和同步数据库之间的准备工作。
-
LSA(link-state advertisement 链路状态通告
-
LSAck, LSA确认报文,链路状态确认报文。
-
LSR,链路状态请求:主动请求报文。
-
LSU;链路状态更新,包含LSA
OSPF包:是加载在3层头部:
结构:二层头部+三层头部+ospf头部+路由条目+校验盒
注释:
-
邻居表:凡是出现在表中的设备都是邻居
-
邻接表:只有状态显示为full时,才称之为邻接。(两边设备的数据库必须完全一致)
将路由条目引入数据库的方式
任何类型的路由协议,引入路由条目(路由数据库)的方式:
-
network——仅仅是针对设备 本地的直连路由,通过该方式引入到协议到数据库的路由,称为内部路由~ 可以发送包和收取包
-
redistribute - 重分发/重发布通过该方式引入到协议数据库的成为外部路由,该方式可以引入" 所有类型"的路由~
验证:
Show ip protocols
查看:redistributing ——static 表示重分发已经启用。
两种方式的区别:
-
Network,仅仅针对直连路由,redisitribute可以引入所有协议类型
-
Network,命令匹配的链路可以收发ospf报文,但是redistribute没有收发ospf报文的功能。
配置命令:
Show ip ospf neighbor #查询邻居表(邻接表 FULL)
Neighbor | ID | Pri | State | Dead Time | Address | Interface |
2.2.2.2 | 1 | FULL/DR | 00:00:38 | 10.10.12.2 | GigabitEthernet0/0 |
Neighbor id:对端设备的OSPF router—id
Pri:Priority#优先级,表示对端设备的优先级,默认为1
State:表示对端设备的状态和角色:down(关系未建立),init(初始化,收到对方的ospf包),attempt(单播环境),two-way(双向通信状态),exstart(交换初始化状态,为确定交换过程中的主从关系,保证后期的稳定性),exchange(交换状态,在该数据库状态下进行同步,本质上只是在加载数据库的目录),loading(加载状态,交换数据库条目),full(完全邻接状态,表示双方数据库内容完全一致)
Full#显示状态,表示完全邻接/ DR(destination route指定路由器)#角色
BDR(dateup destination route 备份指定路由器)
Date time#邻居之间存活时间,周期性发送报文(40s)
对方的ip——本身的端口
Show ip database
Show ip route ospf 查看路由表
Show ip protocol
Show ip ospf 查看ospf相关信息
Clear ip route * # 清除所有路由网段:
配置思路
-
启用OSPF进程1;route ospf 1( 编号)
-
Route-id 1.1.1.1 //路由器命名,二进制地址形式编写的名称( 可以不写)
-
Network 网段 + 反掩码0.0.0.255 + area 0 //指定端口1
-
Network 网段 + 反掩码0.0.0.255 + area 0 //指定端口2
注释:Network的解释(RIP/EIGRP/OSPF)
-
后面跟的是ip网段范围
-
Ip范围所覆盖的 本地设备接口都启用路由协议(表示,该端口可以发送和接收该协议的报文,该端口上的ip地址的 网络部分放入协议报文中传输)