art10VRP系统
381.VRP系统介绍
VRP:Versatile Routing Platform,通用路由平台,是华为公司数据通信产品的通用操作系统平台。熟悉VRP操作系统并且熟练掌握VRP配置是高效管理华为网络设备的必备基础。
VRP系统的版本迭代
设备初始化过程:1.设备上电 2.运行BootROM软件 3、初始化硬件并显示设备的硬件参数 4.运行系统软件 5.从默认存储路径中读取配置文件进行设备的初始化操作
设备管理方式
Console口登录方式操作步骤:
1、连接线缆(Console口线缆或MiniUSB线缆):
2、设备管理器查看接口名称:可能需要安装驱动
3、打开终端软件创建相关会话:
2.基础命令 基本命令结构:
代码语言:javascript复制举例1:display ip interface GE0/0/0,查看接口信息的命令
命令字:display
关键字:ip
参数名:interface
参数值:GE0/0/0
代码语言:javascript复制举例2:reboot,重启设备的命令
命令字:reboot
命令行视图:
视图 | 备注 |
---|---|
用户视图 | 查看运行状态和统计信息等功能。 |
系统视图 | 配置系统参数以及通过该视图进入其他的功能配置视图。 |
其他视图 | 如:接口视图、协议视图,进行相关的参数配置。 |
用户视图
代码语言:javascript复制<Huawei>
系统视图
代码语言:javascript复制[Huawei]
协议视图:OSPF
代码语言:javascript复制[Huawei-ospf-1]
接口视图
代码语言:javascript复制[Huawei-GigabitEthernet0/0/1]
ACL视图
代码语言:javascript复制[Huawei-acl-basic-2000]
命令 | 备注 |
---|---|
quit | 返回上一层视图 |
return | 直接返回到用户视图 |
命令技巧:按下“?”:寻求帮助 按下“Tab”:补全命令 命令可以只输入部分开头字母,但必须保证唯一性
命令的错误提示:
英文错误信息 | 错误原因 |
---|---|
Error: Unrecognized command found at '^' position. | 命令无效 |
Error: Incomplete command found at '^' position. | 命令不完整 |
Error: Ambiguous command found at '^' position. | 命令不明确 |
Error: Wrong parameter found at '^' position. | 参数类型错、值越界 |
Error: Too many parameters found at '^' position. | 参数太多 |
Error: The specified IP address is invalid. | 特定错误 |
undo命令: 恢复缺省情况、禁用某个功能、删除某项配置 恢复缺省情况:
代码语言:javascript复制[Huawei] sysname Server
[Server] undo sysname
[Huawei]
禁用某个功能:
代码语言:javascript复制<Huawei> system-view
[Huawei] ftp server enable
[Huawei] undo ftp server
删除某项配置:
代码语言:javascript复制[Huawei]interface g0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 192.168.1.1 24
[Huawei-GigabitEthernet0/0/1]undo ip address
快捷键: CTRL_A:将光标移动到当前行的开头 CTRL_B:将光标向左移动一个字符 CTRL_C:停止当前命令的运行 CTRL_E:将光标移动到当前行的末尾 CTRL_X:删除光标左侧所有的字符 CTRL_Y:删除光标所在位置及其右侧所有的字符 CTRL_Z:返回到用户视图 CTRL ]:终止当前连接或切换连接
393.VRP文件系统
文件系统:指对存储器中文件、目录的管理,功能包括查看、创建、重命名和删除目录, 拷贝、移动、重命名和删除文件等。
常见文件类型:
常见存储设备类型:
常用命令:
代码语言:javascript复制display version :查看设备版本信息
配置文件的管理:
命令 | 备注 |
---|---|
display current-configuration | 查看当前运行的配置 |
save [文件名] | 保存配置 |
display saved-configuration | 查看保存的配置 |
reset saved-configuration | 清空已保存的配置 |
display startup | 查看系统启动参数 |
startup saved-configuration [文件名] | 修改系统下次启动加载的配置 |
reboot | 重启 |
设备启动时,会加载存储设备中保存的配置文件到RAM,并作为当前配置文件。
如果存储设备中没有配置文件,设备将会使用默认参数进行初始化。
配置默认保存在vrpcfg.cfg/zip
文件中,也可以创建保存文件名称,华为VRPv5与 VRPv8操作系统指定启动文件的命令是相同的,不同在于保存的目录不同。
404.VRP的基本配置
配置主机名 sysname 配置设备名称
代码语言:javascript复制<Huawei>system-view
[Huawei]sysname sw1
[sw1]
配置系统时钟
代码语言:javascript复制display clock 查看当前时间
clock timezone 设置所在时区
clock datetime 设置当前时间和日期
clock daylight-saving-time 设置采用夏时制
配置标题消息
命令 | 功能 |
---|---|
header login | 配置在用户登录前显示的标题消息 |
header shell | 配置在用户登录后的标题消息 |
命令等级
用户等级 | 命令等级 | 名称 |
---|---|---|
0 | ||
0 | 访问级 | |
1 | 0 and 1 | 监控级 |
2 | 0,1and 2 | 配置级 |
3~15 | 0,1,2 and 3 | 管理级 |
用户界面
用户界面类型 | 编号 |
---|---|
Console | 0 |
VTY | 0~4 |
配置用户界面命令
命令 | 功能 |
---|---|
idle-timeout | 设置超时时间 |
screen-length | 设置指定终端屏幕的临时显示行数 |
history-command max-size | 设置历史命令缓冲区大小 |
配置登陆权限
命令 | 功能 |
---|---|
user privilege | 配置指定用户截面下的用户级别 |
set authentication password | 配置本地用户认证密码 |
用户级别 | 命令级别 | 级别名称 | 说明 |
---|---|---|---|
0 | 0 | 访问级 | 网络诊断工具命令(ping、tracert)、从本设备 出发访问外部设备的命令(Telnet客户端)、部 分display命令等。 |
1 | 0&1 | 监控级 | 用于系统维护,包括display等命令。并不是所有display命令都是监控级,比如 display current-configuration命令和display saved-configuration命令是3级管理级。 |
2 | 0&1&2 | 配置级 | 业务配置命令,包括路由、各个网络层次的命 令,向用户提供直接网络服务。 |
3~15 | 0&1&2&3 | 管理级 | 用于系统基本运行的命令,对业务提供支撑作 用,包括文件系统、FTP、TFTP下载、命令级别 设置命令以及用于业务故障诊断的debugging命 令等。 |
配置接口IP地址给一个路由器的0/0/1的接口配置IP地址
代码语言:javascript复制<Huawei> system-view
[Huawei] intface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] ip address 192.168.10.2 255.255.255.0
[Huawei-GigabitEthernet0/0/1]display ip interface brief
省略了不需要的内容
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/1 192.168.10.2/24 down down
命令 | 备注 |
---|---|
display ip interface brief | 查看三层接口信息 |
display interface brief | 查看所有接口信息 |
display this | 查看当前视图下的配置 |
display diagnostic-information | 查看所有状态信息 |
415.VRP系统远程管理
应用场景:通过远程管理协议,对设备进行集中管理
Telnet连接过程:
配置Telnet连接操作步骤:1、配置网络参数(如:IP地址、路由等),保证客户端和服务端之间网络可达。 2、开启服务端的Telnet服务功能。 3、配置VTY用户界面支持Telnet协议、用户级别、认证模式。 4、客户端使用终端工具发起连接进行登录。
认证模式:
认证模式 | 备注 |
---|---|
AAA | 通过AAA认证(用户名和密码) |
Password | 只通过密码认证 |
相关命令:开启Telnet服务
代码语言:javascript复制telnet server enable
验证Telnet服务
代码语言:javascript复制display telnet server status
进入VTY配置模式:
代码语言:javascript复制user-interface vty 0 4
配置支持Telnet或SSH协议
代码语言:javascript复制protocol inbound telnet/ssh
配置认证模式:
代码语言:javascript复制authentication-mode password/aaa
配置认证密码:
代码语言:javascript复制set authentication password cipher huawei
配置用户级别:
代码语言:javascript复制user privilege level 15
配置最大VTY会话数量:
代码语言:javascript复制user-interface maximum-vty 15
进入AAA配置模式:
代码语言:javascript复制aaa
创建用户和密码:
代码语言:javascript复制local-user wakin password cipher huawei
配置用户级别:
代码语言:javascript复制local-user wakin privilege level 15
配置用户可用服务:
代码语言:javascript复制local-user wakin service-type telnet
查看用户界面占用情况:
代码语言:javascript复制display users
配置案例
服务器端配置:
代码语言:javascript复制<Huawei>system-view
[Huawei]telnet server enable
[Huawei]aaa
[Huawei-aaa]loc-user huawei password irreversible-cipher Huawei@123
[Huawei-aaa]local-user huawei privilege level 15
[Huawei-aaa]local-user huawei service-type telnet
[Huawei-aaa]quit
[Huawei]user-interface vty 0 4
[Huawei]authentication-mode aaa
Telent客户端配置:
代码语言:javascript复制<Host>telnet 10.1.1.2
Login authentication
Username:huawei
password:
省略提示信息
<Huawei>
426.远程管理
VRP系统版本号命名规则 由自身版本号和关联产品版本号两部分组成。产品版本格式包含Vxxx(产品码),Rxxx(大版本号),Cxx(小版本号)。 如果产品版本有补丁,还会包括SPC部分。
实例 | 备注 |
---|---|
Version 5.90 (AR2200 V200R001C00) | 版本为5.90,产品版本号为 V200R001C00。 |
Version 5.120 (AR2200 V200R003C00SPC200) | 版本为5.120,产品版本号为 V200R003C00SPC200,并包含补丁包。 |
FTP,一般使用FTP来传送文件到设备内。 |
传输模式:
传输模式 | 备注 |
---|---|
ASCII | 传输文本文件(TXT、LOG、CFG )时会对文本内容进行编码方式转换, 提高传输效率。传输配置文件、日志文件时推荐使用该模式。 |
Binary | 非文本文件(cc、BIN、EXE、PNG),如:图片、可执行程序等,以二进 制直接传输原始文件内容。传输系统文件时推荐使用该模式。 |
FTP传输过程: 主动模式:
被动模式:
FTP配置(服务端):VRP支持FTP客户端和服务端 开启FTP服务:
代码语言:javascript复制ftp server enable
配置,用户等级必须在3级以上
代码语言:javascript复制aaa
local-user user1 password irreversible-cipher huawei.com
local-user user1 privilege level 15
local-user user1 service-type ftp
local-user user1 ftp-directory flash:
FTP配置案例
FTP服务端配置:
代码语言:javascript复制<Huawei> systme-view
[Huawei]sysname FTP_Server
[FTP_Server] ftp server enable
[FTP_Server]aaa
[FTP_Server]local-user admin1234 password irreversiblecipher HuaweiHCIA@1234
[FTP_Server-aaa]local-user admin1234 privilege level 15
[FTP_Server-aaa]local-user admin1234 service-type ftp
[FTP_Server-aaa]local-user admin1234 ftp-directory flash:
FTP客户端操作示例:
代码语言:javascript复制<FTP Client>ftp 10.1.1.1
[FTP Client-ftp]get sslvpn.zip
200 Port command okay
FTP:828482 bytes(s)received in 2.990 second(s)277.08Kbyte(s)/sec
升级系统步骤: 1,从官网下载最新匹配的系统文件 2,通过FTP或TFTP传输系统文件到网络设备 3,修改配置加载新的系统文件 4,重启设备 5,检查是否正常
代码语言:javascript复制<RTA> tftp 10.1.1.2 get AR2220E-V200R007C00SPC600.cc
or
[ftp] get AR2220E-V200R007C0OSPC600.cc
<RTA> startup system-software AR2220E-V200R007C00SPC600.cc
Info: Succeeded in setting the software for booting system
<RTA> display startup
MainBoard:
Startup system software: flash:/AR2220E_ V200R003C00SPC600.cc
Next startup system software: flash:/AR2220E_ V200R007C00SPC600.cc
Startup saved-configuration file: NULL
Next startup saved-configuration file: NULL
<RTA> reboot
Part11路由基础
431.技术背景
在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的IP 网段之间的转发,就需要借助具有路由功能的设备(路由设备)。 路由:用于指导报文在不同网段之间转发的技术。 路由的过程就是报文转发的过程。 路由信息就是指导报文转发的路径信息。 路由设备维护着一张路由表,保存着路由信息。
术语 | 备注 | 类比 |
---|---|---|
路由(Routing) | 不同网段的转发过程 | 火车 |
路由表(Routing Table) | 路由信息的集合 | 时刻表 |
路由器(Router) | 常见的路由设备 | 火车站 |
网关地址(Gateway) | 路由设备的接口IP地址 | 火车站的地址 |
总结:当路由器收到一个IP数据包时,查看IP头部中的目的IP地址,并在路由表中进行查 找,在匹配到最优的路由后,将数据包发给该路由所指的出接口或下一跳。
442.路由表解析
查看路由表
代码语言:javascript复制display ip routing-table
路由表字段 | 备注 |
---|---|
Destination | 目标,标识IP报文的目标地址/目标网络 |
Mask | 掩码,选择最佳路由的重要判断依据(最长匹配原则) |
NextHop | 下一跳,指明IP报文所经由的下一个路由设备的接口地址 |
Interface | 出接口,指明IP报文将从该路由器的哪个接口转发出去 |
Protoco | 协议,标识该路由条目的来源、学习方式 |
Preference | 优先级,比较不同路由来源到达相同目标网络的优先级 |
Cost | 度量值,比较相同路由来源到达相同目标网络的不同路径的优先级 |
优先级:数字越小越优先(优先级越高)
路由来源 | 路由类型 | 默认优先级 |
---|---|---|
直连 | 直连路由 | 0 |
静态 | 静态路由 | 60 |
动态路由 | OSPF内部路由 | 10 |
动态路由 | RIP | 100 |
动态路由 | OSPF外部路由 | 150 |
开销:数字越小优先级越高
等价路由:ECMP,Equal Cost Multi-Path
当多条路由的路由优先级和路由度量都相同时,这几条路由就称为等价路由,多条等价路由可以实现负载分担。
负载分担规则:根据五元组(源地址、目的地址、源端口、目的端口、协议)进行转发 当五元组相同时,路由器总是选择与上一次相同的下一跳地址发送报文。 当五元组不同时,路由器会选取相对空闲的路径进行转发。
最长匹配原则:将数据包的目的IP地址与自己本地路由表中的所有路由表项进行逐位 (bit-by-bit)比对,直到找到匹配度最长的条目。
453.路由信息的获取方式
路由来源 | 备注 |
---|---|
直连路由 | 设备自动生成指向本地直连网络 |
静态路由 | 管理员手工添加的网络 |
动态路由 | 路由器之间动态学习到的网络 |
464.直连路由
直连路由生成条件:接口配置IP地址 & UP
Part12静态路由
471.静态路由
技术背景:如果只有直连路由,那么非直连网络就无法达到。PC1无法访问PC2
静态路由: 通过手动配置,配置简单、开销小。 缺点是不能自动适应网络拓扑的变化,需要人工干预。 适用于组网规模较小的场景,如果网络规模较大,则配置及维护的成本就会很高。 在大型的网络中,往往采用动、静态路由结合的方式进行部署。 静态路由的配置:
代码语言:javascript复制ip route-static 目标网络 掩码 下一跳
482.缺省路由
缺省路由:一种特殊的路由,能匹配所有目标网络。 配置命令
代码语言:javascript复制ip route-static 0.0.0.0 下一跳地址
应用场景:边界网络(家庭上网、企业网络出口)
493.浮动静态路由
浮动静态路由:通过调整优先级,实现路由的备份(即:主备备份)。
配置案例:修改静态路由的优先级 在RTA上配置两条静态路由,修改其中一条的优先级
代码语言:javascript复制[RTA]ip route-static 20.0.0.0 30 10.1.1.2
[RTA]ip route-static 20.0.0.0 30 10.1.2.2 preference 70
504.LoopBack接口
Loopback接口:回环口,一种虚拟的接口。创建或配置一个回环口,保持Up状态 建议使用/32
代码语言:javascript复制interface loopback 编号 ip地址 掩码
例如
interface loopback 1 2.2.2.2 32
作用:模拟直连网段,可用于测试 设备管理(比物理口更稳定) 供其它协议使用(OSPF、BGP、MPLS等) SNMP Traps 消息的源地址 其它用途等(十分广泛)
Part13路由汇总
511.路由汇总
路由汇总又被称为路由聚合,是将一组有规律的路由汇聚成一条路由,从而达到减小路由表规模的以及优化设备资源利用率的目的,我们把汇聚前的这组路由称为精细路由或明细路由,把汇聚后的路由称为汇总路由或聚合路由。 路由汇总的前提一个网络能够部署路由汇总的前提是该网络中的IP编址及网络设计具备一定的科学性和合理性,如果网络规划的杂乱无章,路由汇总部署起来就相当困难甚至完全不具备实施性。 **路由汇总实验(一)
在这个网络中,对R1而言,如果要到达R2右侧的192.168.1.0/24~192.168.255.0/24,就需要有路由,如果手动给每一个网段配置静态路由,那就意味着需要配置255条,不仅工作量极大,也使得R1的路由表极为臃肿。 R1到达R2右侧网络的静态路由
代码语言:javascript复制ip route-static 192.168.1.0 24 10.1.12.2
.......
ip route-static 192.168.255.0 24 10.1.12.2
通过创建一条汇总路由ip route-static 192.168.0.0 24 10.1.12.2,也可以通过缺省路由,但缺省路由,无法对路由更为细致的控制。
代码语言:javascript复制ip route-static 192.168.0.0 24 10.1.12.2
路由汇总实验(二)
为了实现R2到达R1左侧的网段,为其配置了一条汇总路由:
代码语言:javascript复制ip route-static 172.16.0.0 24 10.1.12.1
这条汇总路由确实起到了网络优化的目的,但它太粗犷了,甚至将R3左侧的网段也囊括在内,如此一来,去往R3右侧的数据包在到达R2后,就有可能被R2转发到R1,从而导致数据包的丢失。
精准的路由汇总上面的路由汇总行为不够精确,一种理想的方式,为R2配置一条刚刚好囊括所有明细路由的汇总路由,精确汇总。
根据R1现有明细路由172.16.1.0~172.16.31.0,计算出关于这些明细路由的、最精确的汇总路由,或者说计算出掩码长度最长的汇总路由。
实现步骤一、将明细路由的目的网络地址都换算成二进制,然后排列起来,找出所有目的网络地址中“相同的比特位”。
具体过程(1)将IP写成二进制,按上图排列,实际只参考第三个8位即可,只有它是变化的。 (2)划一条线,线的左侧每一位数值都必须相同,这条线的位置也标识汇总路由的掩码长度, (3)如图线的位置为19,所以汇总路由掩码就是172.168.0.0/19,这就是一个最精确的地址,换句话说,是一个掩码最长的汇总地址。因此,可以在R2进行如下配置:
代码语言:javascript复制[R2]ip route-static 172.16.0.0 19 10.1.12.1
[R2]ip route-static 172.16.32.0 19 10.1.23.3
将R1左侧的网段进行精确汇总,得到汇总地址及掩码长度:172.16.0.0/19,然后R2上配置相应的静态路由汇总,将下一跳置为R1,将R3右侧的网段进行精确汇总,得到汇总的地址及掩码长度,172.16.32.0/19,然后也在R2上配置相应静态汇总路由,并将下一跳配置为R3。
路由汇总注意事项1、配置路由汇总要非常谨慎与精确,否则可能导致路由的絮乱,如实验(二)所示,如果仅仅以172.16.0.0/24的配置,会导致去往R3的数据丢失。
2、路由汇总是一个非常重要的网络优化思维,但如果处理不当也会带来,会带来环路。
522.路由环路
路由环路,就是数据包不断在这个网络传输,始终到达不了目的地,导致掉线或者网络瘫痪。
解决方案在RTB上配置一条Null0路由,即黑洞路由,Null0口是个永不down的口,另外,将报文丢到Null接口的操作应不需要CPU进行什么处理,所以处理大量的报文也不会消耗设备的CPU资源。
代码语言:javascript复制[RTB]ip route-static 10.1.0.0 16 null0
Part14动态路由
531.技术背景
当网络规模越来越大,使用手动配置静态路由的方获取路由条目将变得越发复杂,同时在拓扑发生变化是不能及时,灵活响应。
动态路由协议能够自动发现和生成路由,并在拓扑变化时更新路由,可以有效减少管理人员的工作量,更适用于大规模网络。
542.动态路由协议分类
根据作用范围:
类型 | 备注 |
---|---|
IGP Interior Gateway Protocol内部网关协议 | 运行在AS内 交换AS内的路由信息如:RIP、EIGRP、OSPF、IS-IS |
EGP Exterior Gateway Protocol | 外部网关协议运行在AS间 交换AS间的路由信息 如:BGP |
AS Autonomous System 自治系统 | 处于单个管理机制下的网络 如:企业、电信、移动、联通 |
根据协议算法:
类型 | 备注 |
---|---|
DV ,Distance-Vector 距离矢量 | 基于距离矢量算法,路由器并不了解网络拓扑结构 类似路牌,道听途说(routing by rumor) 如:RIP、EIGRP |
LS, Link-State 链路状态 | 基于SPF(Shortest Path First,最短路径优先)算法 类似地图,了解完整的网络拓扑结构 如:OSPF、IS-IS |
根据发送的路由信息是否携带掩码:
类型 | 备注 |
---|---|
Classful | 有类不携带掩码 如:RIPv1、IGRP |
Classless | 无类携带掩码 如:RIPv2、EIGRP、OSPF、IS-IS、BGP |
根据业务应用:
类型 | 备注 |
---|---|
Unicast Routing Protocol 单播路由协议 | 指导单播数据的发送 如:RIP、EIGRP、OSPF、BGP、IS-IS |
Routing Protocol 组播路由协议 | 指导组播数据的发送 如:DVMRP、PIM-SM、PIM-DM |
553.路由协议运行的规则
运行规则:路由协议是在接口上运行的; 只能学习和发布相同路由协议已知的路由信息; 如果不同的路由协议间需要交换路由信息,就需要进行引入/注入(import)。 路由收敛:网络拓扑变化引起的通过重新计算路由而发现替代路由的行为; 最终网络(路由)进入一个稳定状态,即收敛完成; 网络在收敛完成前无法完全正常工作。
衡量动态路由协议的一些性能指标:
指标 | 备注 |
---|---|
正确性 | 能够正确找到最优的路由,且无自环。 |
快收敛 | 当拓朴结构发生变化之后,能够迅速作出相应的路由改变。 |
低开销 | 协议自身的开销(内存、CPU、网络带宽)最小。 |
安全性 | 协议自身不易受攻击,有安全机制。 |
普适性 | 适应各种拓扑结构和各种规模的网络。 |
Part15OSPF
561.OSPF基础
OSPF:Open Shortest Path First,开放最短路径优先 典型的链路状态路由协议,是目前业内使用非常广泛的IGP协议之一。 版本:IPv4-OSPFv2(RFC 2328);IPv6-OSPFv3(RFC 2740)。 交互LS(Link State,链路状态)信息,而不是直接交互路由。使用组播(224.0.0.5 和 224.0.0.6)。收敛较快。• 以接口开销作为度量值。 采用的SPF算法可以有效的避免环路。 触发式更新(以较低的频率(每30分钟)发送定期更新,被称为链路状态泛洪)。不支持自动汇总,支持手动汇总。多区域的设计使得OSPF能够支持更大规模的网络。 应用场景
OSPF区域
术语 | 备注 |
---|---|
区域(Area) | 为了适应大型的网络,OSPF在AS内划分多个区域 区域是以接口为单位来划分的 每个OSPF路由器只维护所在区域的完整链路状态信息 |
区域 ID(Area ID) | 可以表示成一个十进制的数字,如:1 也可以表示成一个IP地址,如:0.0.0.1 |
区域优点 | 尽量减少路由表条目,使拓扑变化仅影响本区域内部 |
区域类型
类型 | 备注 |
---|---|
骨干区域 | Area 0,也称为:传输区域 |
非骨干区域 | 非Area 0,也称为:标准区域 |
特殊区域 | Stub、NSSA等,优化LSA传递 |
PS | 所有非骨干区域必须与骨干区域直接相连 |
OSPF核心工作流程:链路状态工作流程
1、发现并建立邻居 2、 邻居之间交互链路状态信息并同步LSDB(链路状态数据库、地图) 3、使用SPF算法计算到每个目标网络的最短距离 4、生成路由表项加载路由表中
OSPF三张表
表名称 | 备注 |
---|---|
邻居表 | 记录所有邻居信息 |
链路状态数据库表(LSDB) | 记录所有链路状态信息 |
路由表 | 记录最佳路由 |
Router ID运行OSPF协议前,必须选取一个RID(非0.0.0.0) 用来唯一标识一台OSPF路由器 RID可以手动配置,也可以自动生成,选取规则如下:RID选取顺序1.手动配置 2.回环接口上选取最大IP地址 3.物理口上选取最大IP地址
备注:一旦选取成功,不会更改,除非删除了原先的RID或者重启OSPF进程,在OSPF网络设计和实施中,考虑的第一点就是Router ID的选择。
OSPF报文结构和类型: 封装于IP协议之上,IP协议号 = 89
数据包类型 | 备注 |
---|---|
Hello | 发现和维护邻居 |
DatabaseDescription简写DD | LSDB的摘要信息,用于同步LSDB |
Link-State Request简写LSR | 请求所需要的LSA |
Link-State Update | 发送所需要的LSA |
Link-State Acknowledgment | 确认收到的LSA |
OSPF状态机制:
状态 | 备注 |
---|---|
Down(失效状态) | 没有收到Hello包 |
init(初始状态) | 收到Hello包,但没有看到自己 |
Two-Way(双向通讯状态) | 收到Hello包,且看到了自己,形成邻居关系 |
ExStart(交换初始状态) | 协商主/从关系,保证DD包能有序的发送 |
ExChange(交换状态) | 交换DD包,对比LSDB |
Loading(加载状态) | 正在同步LSDB,LSR和LSU交换 |
Full(完全邻接状态) | LSDB完成同步,形成邻接关系 |
只有Two-Way和Full是稳定状态
OSPF工作流程数据包的状态切换过程
OSPF的邻居建立条件
条件 | 要求 |
---|---|
RID | 唯一 |
Hello/Dead定时器 | 一致 |
Area ID | 一致 |
认证 | 一致 |
MTU | 一致(默认不检查) |
子网掩码 | 一致(除了点到点和虚连接) |
网络地址 | 一致 |
Option | 一致 |
OSPF网络类型: 一种接口变量,这个变量将影响OSPF在接口上的操作,如:发送报文 的方式,是否选举DR、BDR等。
使用ospf network-type ?
命令可以查看OSPF的网络类型
[Huawei-GigabitEthernet0/0/0]ospf network-type ?
broadcast Specify OSPF broadcast network
nbma Specify OSPF NBMA network
p2mp Specify OSPF point-to-multipoint network
p2p Specify OSPF point-to-point network
常见的就是broadcast和p2p
BMA(Broadcast Multiple Access)广播式多路访问
BMA也被称为Broadcast,值得是一个允许多台设备接入的,支持广播的环境。典型的例子就是Ethernet封装时,OSPF在该接口上采用的缺省网络类型为BMA。
P2P(Point-to-Point)点对点
P2P指的是一段链路上只能连接两台网络设备的环境。典型的例子就是PPP链路。当接口采用PPP封装时,OSPF在该接口上采用的缺省网络类型为P2P。
NBMA(Non-Broadcast Multiple Access)非广播式多路访问
P2MP(Point to Multi-Point),点到多点
DR和BDR
在MA(BMA和NBMA)网络类型,为了减少邻接关系的数量,从而减少数据包交换次数,最终节省带宽,降低对路由器处理能力的压力,选举DR和BDR。
术语 | 备注 |
---|---|
DR | Designed Router,指定路由器,类似:老大 |
BDR | Backup DR,备份DR,类似:老二 |
DRother | 类似:普通员工,普通成员 |
关系 | DR、BDR、DRothers之间建立邻接关系(Full) DRothers之间仅建立邻居关系(Two-Way) |
地址 | DR和BDR监听224.0.0.6 所有OSPF路由器监听224.0.0.5 |
选举规则:
首先比较Hello报文中携带的优先级 范围:0~255,默认=1,0不参与选举 最高的被选举为DR,第二的是被选举为BDR 优先级一致的情况下,比较RID,越大越优先 选举具有非抢占性,除非当DR和BDR都失效或重启OSPF进程。选举制
最高的是DR第二的是BDR
终身制
继承制
拓扑变化
DR向组播地址224.0.0.5发送更新以便通知其他路由器 所有的OSPF路由器监听224.0.0.5这一组播地址,便能够收到DR泛洪的LSU 路由器收到包含变化的LSA的LSU之后,更新自己的LSDB,对更新的链路状态数据库执行SPF算法,必要时更新路由表。 OSPF度量值: Cost,开销 在每一个运行OSPF的接口上,都维护着一个接口Cost Cost = 10^8/BW(bps)= 100Mbps/BW = 接口带宽参考值/接口带宽 计算到一个目标网络的度量值 = 从源到目标沿途所有出站接口的Cost值累加(数据方向) 从源到本路由器沿途所有入站接口的Cost值累加(路由方向) OSPF因为其宽带接口有不同的开销
Router C上路由表存放的192.168.100.0的路由,cost是多少?
最少的开销是65
572.OSPF配置
创建OSPF进程,手动配置RID 配置区域 宣告网络,即指定运行OSPF的接口,宣告使用反掩码
代码语言:javascript复制ospf 1 route-id 1.1.1.1
area 0|0.0.0.0
network 192.168.0.0 0.0.0.255
查看OSPF路由表
代码语言:javascript复制display ip routing-table protocol ospf
显示OSPF邻居信息
代码语言:javascript复制display ospf peer [brief]
进入接口
代码语言:javascript复制interface g0/0/1
修改Hello包发送间隔
代码语言:javascript复制ospf timer hello 10
修改Hello包超时时间
代码语言:javascript复制ospf timer dead 40
修改OSPF接口优先级,默认=1
代码语言:javascript复制ospf dr-priority 100
修改OSPF接口开销
代码语言:javascript复制ospf cost 10
显示OSPF接口信息
代码语言:javascript复制display ospf interface g0/0/1
调整带宽参考值,默认=100Mbps
代码语言:javascript复制bandwidth-reference 1000
重启OSPF进程
代码语言:javascript复制reset ospf process
删除OSPF配置
代码语言:javascript复制undo ospf 进程
583.配置案例
实验拓扑图
实验要求
1.如图所示,配置设备名称和IP地址 a) 设备Ra与设备Rb之间的互联地址按照192.168.ab.a/24和192.168.ab.b/24的方式规划(a<B) 如R3与R4互联地址为192.168.34.3/24和192.168.34.4/24,以此类推。b) 每台设备都有环回口Loopback0,设备Ra的地址为a.a.a.a/32 如R1就有Lo0:1.1.1.1/32
2.在所有路由器上运行OSPF,满足以下需求:a) OSPF进程号为1,RID手动设置为Lo0地址。b) 如图所示划分OSPF区域,network命令使用接口配置掩码的反掩码。c) ABR的环回口宣告到区域0中
5个路由器之间可以互相通信
配置命令配置设备名称和IP地址,配置 OSPF Router-id,并按照区域进行宣告 R1
代码语言:javascript复制sys
sysname R1
interface g0/0/0
ip add 192.168.12.1 24
interface LoopBack 1
ip add 1.1.1.1 32
ospf 1 router-id 1.1.1.1
area 1
network 192.168.12.0 0.0.0.255
network 1.1.1.1 0.0.0.0
R2
代码语言:javascript复制sys
sysname R2
interface g0/0/0
ip add 192.168.12.2 24
interface g0/0/1
ip add 192.168.234.2 24
interface LoopBack 2
ip add 2.2.2.2 32
ospf 1 router-id 2.2.2.2
area 1
network 192.168.12.0 0.0.0.255
area 0
network 192.168.234.0 0.0.0.255
network 2.2.2.2 0.0.0.0
R3
代码语言:javascript复制sys
sysname R3
interface g0/0/0
ip add 192.168.234.3 24
interface LoopBack 3
ip add 3.3.3.3 32
ospf 1 router-id 3.3.3.3
area 0
network 192.168.234.0 0.0.0.255
network 3.3.3.3 0.0.0.0
R4
代码语言:javascript复制sys
sysname R4
interface g0/0/0
ip add 192.168.234.4 24
interface g0/0/1
ip add 192.168.45.4 24
interface LoopBack 4
ip add 4.4.4.4 32
ospf 1 router-id 4.4.4.4
area 0
network 192.168.234.0 0.0.0.255
network 4.4.4.4 0.0.0.0
area 2
network 192.168.45.0 0.0.0.255
R5
代码语言:javascript复制sys
sysname R5
interface g0/0/0
ip add 192.168.45.5 24
interface LoopBack 5
ip add 5.5.5.5 32
ospf 1 router-id 5.5.5.5
area 2
network 192.168.45.5 0.0.0.255
network 5.5.5.5 0.0.0.0
查看OSPF邻居信息
代码语言:javascript复制display ospf peer [brief]
查看OSPF的路由表
代码语言:javascript复制display ip routing-table protocol ospf
查看接口信息就可以看到哪一台设备是DR和BDR
代码语言:javascript复制display ospf interface
修改DR和BDR,在生产环境中一般都是给DR和BDR的优先级设置为0,把要设置成DR和BDR的设备的优先级改成最高和第二高
代码语言:javascript复制ospf dr-priority 优先级
4.路由认证
OSPF认证命令:配置接口认证
代码语言:javascript复制ospf authentication-mode md5 1 cipher huawei
配置区域认证
代码语言:javascript复制authentication-mode md5 1 cipher huawei
如果同时配置,接口认证优先生效
595.缺省路由的发布
缺省路由配置方式:静态配置:
代码语言:javascript复制ip route-static 0.0.0.0 0.0.0.0
动态发布:使用动态路由协议进行发布 OSPF缺省路由发布命令:发布缺省路由
代码语言:javascript复制default-route-advertise[always]
always参数:强制发布,不需要路由表事先存在缺省路由
Part16路由综合实验
601.实验拓扑
612.实验要求
要求: R1只能配置一条静态路由 R2只能配置静态路由 R3只能配置一条静态路由 R3、R4、R5、R6只能配置OSPF 全网都可以通信
623.配置命令
R1
代码语言:javascript复制sys
sysname R1
int g0/0/1
ip add 192.168.255.2 30
int loopback1
ip add 1.1.1.1 32
ip route-static 0.0.0.0 0 192.168.255.1
R2
代码语言:javascript复制sys
sysname R2
int g0/0/0
ip add 192.168.255.1 30
int g0/0/1
ip add 151.151.1.2 30
ip route-static 1.1.1.1 32 192.168.255.2
ip route-static 131.131.255.0 30 151.151.1.1
ip route-static 131.131.255.4 30 151.151.1.1
ip route-static 131.131.255.8 30 151.151.1.1
ip route-static 131.131.255.12 30 151.151.1.1
ip route-static 6.6.6.6 32 151.151.1.1
R3
代码语言:javascript复制sys
sysname R3
int g0/0/0
ip add 151.151.1.1 30
int g0/0/1
ip add 131.131.255.13 30
int s4/0/0
ip add 131.131.255.6 30
ip route-static 0.0.0.0 0 151.151.1.2
ospf 1 router-id 3.3.3.3
area 0
network 131.131.255.13 0.0.0.0
network 131.131.255.6 0.0.0.0
R4
代码语言:javascript复制sys
sysname R4
int g0/0/0
ip add 131.131.255.14 30
int g0/0/1
ip add 131.131.255.10 30
ospf 1 router-id 4.4.4.4
default-route-advertise
area 0
network 131.131.255.14 0.0.0.0
network 131.131.255.10 0.0.0.0
R5
代码语言:javascript复制sys
sysname R5
int g0/0/0
ip add 131.131.255.9 30
int g0/0/1
ip add 131.131.255.1 30
int s4/0/0
ip add 131.131.255.5 30
ospf 1 router-id 5.5.5.5
area 0
network 131.131.255.1 0.0.0.0
network 131.131.255.9 0.0.0.0
network 131.131.255.5 0.0.0.0
R6
代码语言:javascript复制sys
sysname R6
int g0/0/0
ip add 131.131.255.2 30
int loopback6
ip add 6.6.6.6 32
ospf 1 router-id 6.6.6.6
area 0
network 131.131.255.2 0.0.0.0
network 6.6.6.6 0.0.0.0
链接:https://juejin.cn/post/6991351138041724958 来源:稀土掘金,非商业转载请注明出处。
---END---