为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > RG-S5760 系列交换机运行维护与故障排查 前言 本文针对 RG-S5760 ...

RG-S5760 系列交换机运行维护与故障排查 前言 本文针对 RG-S5760 ...

2018-04-11 50页 doc 351KB 98阅读

用户头像

is_591137

暂无简介

举报
RG-S5760 系列交换机运行维护与故障排查 前言 本文针对 RG-S5760 ...RG-S5760 系列交换机运行维护与故障排查 前言 本文针对 RG-S5760 ... RG-S5760 系列交换机运行维护与故障排查 前言 本文针对 RG-S5760 系列交换机产品, 介绍如何进行运行维护、 自检、 产品故障的定位与排除,供客支工程师在实际工作中参考。 内容简介 编号 章节名 内容简介 1 运行维护及自检 介绍产品日常维护与自检的方法、输出信息解释、 产 品出现紧急故障时所采用的恢复方法。 2 基本功能维护 针对基本故障,介绍故障的处理逻辑、方法以及案例。 3 硬件转发功能维护 这部分主要是对...
RG-S5760 系列交换机运行维护与故障排查 前言 本文针对 RG-S5760 ...
RG-S5760 系列交换机运行维护与故障排查 前言 本文针对 RG-S5760 ... RG-S5760 系列交换机运行维护与故障排查 前言 本文针对 RG-S5760 系列交换机产品, 介绍如何进行运行维护、 自检、 产品故障的定位与排除,供客支工程师在实际工作中参考。 内容简介 编号 章节名 内容简介 1 运行维护及自检 介绍产品日常维护与自检的方法、输出信息解释、 产 品出现紧急故障时所采用的恢复方法。 2 基本功能维护 针对基本故障,介绍故障的处理逻辑、方法以及案例。 3 硬件转发功能维护 这部分主要是对交换机的硬件转发原理, 以及部分底层命令信息收集的指导, 以及在判断软件问题时常需要收集的信息。 4 协议功能维护 针对功能模块故障,介绍故障的处理逻辑、方法以及案例。 阅读 在阅读本文档之前,希望您能够基本了解该产品所涉及的技术原理。参考文档如下: RG-S5760 系列交换机用户手册 锐捷交换机软件版本升级操作指导 1 运行维护及自检 1.1 产品状态自检 1.1.1 产品自 检一览表 硬件诊断项目及命令 1 诊断项目及命令 说明 设备指示灯 观察所有的系统运行灯及模块灯的运行状况, status 状态灯 常亮,插入模块的模块指示灯常亮, 具体信息请参考《安全 智能万兆多层交换机交换机 RG-S5760 硬件说明 V 1.0.pdf 》 。 Show device 查看模块运行状况, 由于 S5760 不支持扩展模块, 从设备 列表中是否正常连接其他设备。 风扇电源状态 由于 S5760 暂不提供 show 命令,通过指示灯以及外观检 查 系统状态诊断项目及命令 诊断项目及命令 说明 show cpu 查看 CPU 利用率, RGOS10.x 以后提供对功能模块的 CPU 占 用信息的详细描述。 Show cpu-protect 【】 查看设备 CPP 保护的阀值以及协议报文送 CPU 的 队列优先级, 对于硬件的丢弃送 CPU 的报文速率暂时无法显 示。 Show memory 内存利用率, RGOS 10.X 平台提供对功能模块的 Memory 暂用信息详细描述, Memory 占用见各功能模块介绍部分。 Show logging 查看日志信息, 正常情况下无严重出错日志, 查看有 无端口 频繁震荡等情况。 Show mac-address-table 查看交换机 MAC 地址表, 观察交换机学习 MAC 地址的情况, 默认情况下 MAC 的老化时间为 300s 。 2 Show arp 查看交换机的 ARP 地址表, 观察交换机学习 ARP 地址的情 况, 重点关注 ARP 地址的老化时间。 Show clock 查看系统的日期和时间信息。如果发现系统时间有误,可及时 调整。 Show running 显示交换机当前生效的配置参数。 当用户完成一组配置之 后, 如果需要验证配置是否正确,则可以执行 show running 命令查 看当前生效的参数。对于某些正在生效的配置参数, 如果与缺省工作 参数相同,则不显示。对于某些参数,虽然用户已经配置,但如果这 些参数对应的功能没有生效,则不显示。 Show version 显示系统的版本信息。 用户可以通过该命令查看软件的版本 信息、 发布时间、 交换机的基本硬件配置、设备运行时间等信息。 接口状态诊断项目及命令 断项目及命令 说明 show interface 1 、 以太网端口是否协商出了半双工,端口默认为自 协 商,如果此时协商出的结果为半双工,很可能两端配置不一致, 是否 存在一端强制一端协商的情况,将两端配置成一致。 如果厂商兼容问 题需深入排查解决。 2 、端口是否有大量的错误报文,包括收和发,是否迅速增加 检查 线路,中间连接的光电转换器;检查两端配置是否一致, 3 、光电复用接口是否 up 4 、端口流量信息,观察是否有广播报文环路等状况。 Show vlan 互联 Trunk 端口的两端设备允许通过的 VLAN 配置为一致, 3 并且两端 PVID 配置为一致。 Show spanning-tree interface xxx 确认和 PC 连接的端口设置为 Edge Port 或者 BPDUfilter ( BPDUguard )开启。和非交换机设备连接的 链路开启 BPDUfilter ( BPDUguard )。 Show interface status 互联 Trunk 端口的两端设备允许通过的 VLAN 配置 为一致, 并且两端 PVID 配置为一致。 协议状态诊断项目及命令 协议状态诊断项目及命令 说明 show ip protocols 显示设备目前正在运行的路由协议进程及具体参数。 Show vrrp 握手时间是否设置成 3 秒,两端的 vrrp 握手时间是否一致, 两端 master 或 slave 状态是否正确,是否出现都是两边 master 的状 态,是否和思科的 PVST+ 互通, 对于兼容性问题请参考 《 MSTP+VRRP 维护白皮书》 Show ip router 确认路由表数量,路由表是否有频繁震荡的情况,缺省路由 是否正常 Show ip ospf neighbor 查看设备 OSPF 邻居建立状态,进一步的信息可以 在功能维护部分详细排查 。 1.1.2 设备启动自检信息 设备启动过程 log 信息: 设备的启动。 Ruijie#reload Processed with reload? [no]y 4 *Oct 2 System bootstrap ... Nor Flash ID: 0x00010049, SIZE: 2097152Byte Press Ctrl+B to enter Boot Menu ...... Load Ctrl Program ... // BOOT 只在交换机产品中存在,类似于 PC 机中的 BIOS ,位于 产品的 ROM芯片中,用于系统引导功能,系统上电后 CPU 的第一 条指令就会跳转到这里执行,此后完成系统硬件初始化,然后引导 CTRL 运行。 Executing program, launch at: 0x01000000 Ctrl Version: RGOS 10.3(4), Release(43933) 1 NAND chips(chip size : 33554432) detected Press Ctrl+C to enter Ctrl Menu ...... Main Program File Name rgos.bin, Load Main Program ... // CTRL 只在交换机产品中存在,由 BOOT 程序引导运行,主要加载 交换机中的交换芯片驱动包,支撑产品的 TFTP 功能方便主程序的下 载升级 ( 在 S86 等机箱式产品中还用于主控板和线卡间的同步功 能 ) ,然后加载系统 MAIN 程序运行的功能。也位于产品的 ROM 芯 片中。 Executing program, launch at: 0x00010000 Ruijie General Operating System Software Release Software (tm), RGOS 10.3(4), Release(43933), Compiled 5 Thu Aug 28 21:09:23 CST 2008 by ngcf49 Copyright (c) 1998-2008 by Ruijie Networks. All Rights Reserved. Decompiling or Reverse Engineering is Not Allowed. *Oct 25 16:51:13: %7: 1 NAND chips(chip size : 33554432) detected // 设备主程序加载完毕后,会检测设备是否配置堆叠,堆叠选举功能 会占用较长时间,启动时间还和堆叠成员数相关,如果而没有堆叠建 议将堆叠配置删除。 Stack System is electing.................... *Oct A25 16:S5S3:09: %DEVICE-5-ECHANGED: DERVICE S5760 (1) is UP. // 堆叠选举完成, 配置加载成功后, 主设备显示启动完毕, 进入运 行模式。 堆叠的备份设备进入 CTRL 模式,无法配置 *Oct 25 16:53:24: %SYS-5-WARMSTART: System warmstart. Ruijie> Ruijie> 如果设备在软件启动过程中遇到软件崩溃,需要捕获详细的 debug 信 息,可以在 ctrl 模式下打开 ctrl 层的 debug 调试开关。 Executing program, launch at: 0x01000000 Ctrl Version: RGOS 10.3(4), Release(43933) 1 NAND chips(chip size : 33554432) detected 6 Press Ctrl+C to enter Ctrl Menu ====== Ctrl Menu("Ctrl+Z" to upper level) ====== ************************************************ TOP menu items. ************************************************ 0. Tftp utilities. 1. XModem utilities. 2. Run Main. 3. Run an Executable file. 4. File management utilities. 5. Scattered utilities. ************************************************ Press a key to run the command: // 输入 CTRL+Q ,进入命令行配置模式。 Hot Commands: ------------------------------------------------------------ Ctrl>help Total commands: debug Open or Close the tftp debug switch. setmain Set Main file name. version Show current version information. reload Reload tools. 7 setbaud Set CTRL Baudrate tools. format Format flash filesystem. rename Rename or Move a file. rm Remove a file. ls List information about the files. load Load main or a binary file from filesystem. xmup Upload file / FlashROM through XModem. xmdown Download programs through XModem. help Dump command list OR show a command's details tftp Download programs through TFTP. hotcmd List current hot commands. quit Quit from CLI command line. Ctrl>Ctrl>help debug Syntax: debug (-on | -off) Usage Details: on: Open fset debug message. off: Close fset debug message. Examples: debug -on debug -off Ctrl>Ctrl>debug –on Ctrl>Ctrl>quit 8 1.2 系统灾难恢复 1.2.1 系 统密码恢复 RG-S5760 交换机初始无密码,如密码忘记,通过以下步骤进行恢复: 在设备使用过程中,如果忘记密码,可以采取如下步骤恢复密码。 1. 加电启动, 同时按住― ctrl ‖和― c ‖键进入 ctrl 模式, 通过 Xmoden 将 配置文件 config.text 下载到 PC 。 *Oct 25 2 System bootstrap ... Nor Flash ID: 0x00010049, SIZE: 2097152Byte Press Ctrl+B to enter Boot Menu ...... Load Ctrl Program ... Executing program, launch at: 0x01000000 Ctrl Version: RGOS 10.3(4), Release(43933) 1 NAND chips(chip size : 33554432) detected Press Ctrl+C to enter Ctrl Menu ====== Ctrl Menu("Ctrl+Z" to upper level) ====== ************************************************ TOP menu items. ************************************************ 0. Tftp utilities. 1. XModem utilities. 9 2. Run Main. 3. Run an Executable file. 4. File management utilities. 5. Scattered utilities. ************************************************ Press a key to run the command: 1 ====== Ctrl Menu("Ctrl+Z" to upper level) ====== ************************************************ XModem utilities. ************************************************ 0. Upgrade CTRL. 1. Upgrade Main program. 2. Download a special file to filesystem. 3. Down to memory and jump to run. 4. Upload a file to PC. ************************************************ Press a key to run the command: 4 Plz enter the filename:config.text Now, begin upload special file through XModem... Starting xmodem transfer. Press Ctrl+C to cancel. Transferring test... 1152 bytes 192 bytes/sec 00:00:06 0 Errors 10 OK, upload file successfully! 2. 将下载的配置文件删除密码字段部分, 回到主菜单文件操作项, 删除 配置文件 config.text 。 3. 加载主程序,启动交换机配置文件,系统恢复为无配置状况,再将配置 文件重新粘贴添加。 1.2.2 版本升级及回退 相关内容请参考《锐捷交换机 RGNOS 10.2 版本升级操作指导》。 1.3 故障处理基本逻辑 1.3.1 流程图 1.3.2 流程介绍 11 流程简介 S5760 系列交换机产品问题,通常可以遵循上述流程进行故障定位。 硬件问题 分为设备本身、互联设备的问题和线路连接问题。 开机无法通过自检; 设备接口损害或者雷击烧毁; 风扇噪音或停转; 电源无 输出或警示灯长亮; 此类故障排查可参考《安装手册》。对于比较明显的硬件故障可以直接 定位, 对于确认的高端产品硬件故障按照硬件故障处 理流程处理, 有些硬件故障无法直接定位在配置和软件排查过程中可能深 入分析后才能确认。 配置 / 环境 / 已知问题 首先查询交换机现有版本的 release 及《锐捷交换机预警通告》,《锐捷交换 机 FAQ 》, 通过结合网络环境以及配置分析, 确认是否为现有版本 上已知的 BUG 或功能限制,并同 TAC 确认解决方式。 排除上述问题的可能性后, 则对配置功能进行深入分析, 针对某功能的 特性、 设备兼容等专项故障维护, 参见后续故障排查章节。 软件问题 如配置正确,现场工程师经过多方排查(参见后续故障排查章节),仍无法 解决问题,提供充分必要的数据分析信息, 在服务事件管理系统提交 CASE ,请 TAC 工程师协助处理。 1.4 网络联通性 1.4.1 Ping 12 功能简介 Ping 功能用来检查 IP 网络连接及主机是否可达。 通常,如果 不能 Ping 到某台主机,则不能对这台主机进行 Telnet 或者 FTP 操 作。 Ping 是通过向目的地发送 ICMP ECHO-REQUEST 报文,如果到目的地网 络连接正常,目的地主机接收到 ICMP ECHO-REQUEST 报文后,向 源主机响应 ICMP ECHO-REPLY 报文。可以用 Ping 命令测试网络连 接是否出现故障或网络线路质量等,其输出信息包括: 目的地对每个 ECHO-REQUEST 报文的响应情况, 如果在超时时 间内没有收到响应报文,则输出―?????‖,否则输出―~~~~~‖ 最后的统计信息,包括发送报文个数, 接收到响应报文个数,响应 报文数百分比和响应时间的最小,最大和平均值 功能示例 Ping 不可达的输出 S5760#ping 192.168.197.5 Sending 5, 100-byte ICMP Echoes to 192.168.197.5, timeout is 2 seconds: < press Ctrl+C to break > ..... Success rate is 0 percent (0/5) Ping 可达的输出 S5760#ping 192.168.197.1 Sending 5, 100-byte ICMP Echoes to 192.168.197.1, timeout is 2 13 seconds: < press Ctrl+C to break > !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/10 ms 功能维护 如果出现无法 Ping 通的情况,可以通过以下方法来确认问题的所在: 查看目的地址的所属接口是否是 UP 的 查看链路中是否存在 IP 地址冲突 查看是否正确的学习到对端的 MAC 地址 查看从本机到目的地址是否存在路由 查看目的网络是否存在回程路由 如果上述步骤中都没有发现问题, 则可以打开 Debug ip packet , Debug ip icmp , Debug ip error 调试开关来查看报文的收发流程。 Debug 命名请参考 《 S5760 命令参考手册》。 1.4.2 Traceroute 功能简介 Traceroute 命令用来测试数据包从发送主机到目的地所经过的 网关,主要用于检查网络连接是否可达,以及辅助分析网络在何处发 生了故障。 Traceroute 命令的执行过程: 首先发送一个 TTL 为 1 的数据包, 因此 第一跳发送回一个 ICMP TTL-expired 超时报文以指明此数据包不能 被发送(因为 TTL 超时), 之后此数据包被重新发送, TTL 为 2 , 14 同样第二跳返回 TTL 超时, 这个过程不断进行, 直到到达目的地。 执行这些过程的目的是记录每一个 ICMP TTL 超时报文的源地址, 以提供一个 IP 数据包到达目的地所经历的路径。 功能示例 S5760# Traceroute 61.154.22.36 < press Ctrl+C to break > Tracing the route to 61.154.22.36 1 192.168.12.1 0 msec 0 msec 0 msec 2 192.168.9.2 4 msec 4 msec 4 msec 3 192.168.9.1 8 msec 8 msec 4 msec 4 192.168.0.10 4 msec 28 msec 12 msec 5 202.101.143.130 4 msec 16 msec 8 msec 6 202.101.143.154 12 msec 8 msec 24 msec 7 61.154.22.36 12 msec 8 msec 22 msec 从上面的结果可以清楚地看到,从源地址要访问 IP 地址为 61.154.22.36 的主机, 网1络数据包都经过了哪些网关( 1-6 ),同时给出了到达 该网关所花费的时间。 功能维护 网络中某些网关不通的 Traceroute 例子: S5760# Traceroute –d 202.108.37.42 < press Ctrl+C to break > Tracing the route to 202.108.37.42 15 1 192.168.12.1 0 msec 0 msec 0 msec 2 192.168.9.2 0 msec 4 msec 4 msec 3 192.168.110.1 16 msec 12 msec 16 msec 4 * * * 5 61.154.8.129 12 msec 28 msec 12 msec 6 61.154.8.17 8 msec 12 msec 16 msec 7 61.154.8.250 12 msec 12 msec 12 msec 8 218.85.157.222 12 msec 12 msec 12 msec 9 218.85.157.130 16 msec 16 msec 16 msec 10 218.85.157.77 16 msec 48 msec 16 msec 11 202.97.40.65 76 msec 24 msec 24 msec 12 202.97.37.65 32 msec 24 msec 24 msec 13 202.97.38.162 52 msec 52 msec 224 msec 14 202.96.12.38 84 msec 52 msec 52 msec 15 202.106.192.226 88 msec 52 msec 52 msec 16 202.106.192.174 52 msec 52 msec 88 msec 17 210.74.176.158 100 msec 52 msec 84 msec 18 202.108.37.42 48 msec 48 msec 52 msec 从上面的结果可以清楚地看到,从源地址要访问 IP 地址为 202.108.37.42 的主机,网络数据包都经过了哪些网关( 1-17 ),可能是网关 4 设备 的 CPU 利用率过高,或中间路由器不返回 ICMP TTL-expired 包。 2 基本功能维护与故障排查 16 2.1 以太网接口维护 2.1.1 端口协商 电口:支持 10/100/1000M 协商及强制手工配置; 光口:速率千兆,支持强制设置双工和流控; 2.1.2 流控设置 交换机是基于存储转发的 , 因此很关键的问题是在缓冲存储器大小一定的 情况下 , 如何合理的使用缓冲存储器,以避免由于用完这个存储器资 源而出现丢包现象在实际运用中 , 当流量超过了网络的最大传输能力 时, 网络吞吐量将会下降。 例如在一个交换机中, 如果流量是突发 性的且都流向一个端口, 那么缓冲区将溢出, 并将导致吞吐量下降 和数据包丢失。 数据包丢失对于吞吐量性能具有负面效应, 对于那 些使用像 TCP / IP 这样的存取方法的应用而言尤为如此。 在 TCP / IP 中, 如果一个数据包丢失了, 发送方的 TCP / IP 最终会发现数据包 没有被送到,并将重发这些帧。即使帧丢失率很小,也将导致很大的 吞吐量下降。一个简单的流量控制机制会带来很大的好处 , 流量控制 是交换机用于限制网络访问的机制 , 它通过对缓冲区设置上限 , 修 改发送速率或将发送源关闭一段预定的时间来实现 . 流量控制是当交换机的端口 出现拥塞时 , 才会起作用 . 当交换机的 各个端口都是一对一的同速率转发 , 不出现拥塞时 , 是不会产生流 控的。 S5760 系列交换机默认关闭端口流控,当网络结构为非对称网络时,建议 打开流控。观察流控是否打开的方法为: 17 show interface fastethernet xx Ruijie#show interface GigabitEthernet 0/1 Index(dec):1 (hex):1 GigabitEthernet 0/1 is DOWN , line protocol is DOWN Hardware is marvell GigabitEthernet Interface address is: no ip address MTU 1500 bytes, BW 1000000 Kbit Encapsulation protocol is Bridge, loopback not set Keepalive interval is 10 sec , set Carrier delay is 2 sec RXload is 1 ,Txload is 1 Queueing strategy: FIFO Output queue 0/0, 0 drops; Input queue 0/75, 0 drops Switchport attributes: interface's description:"" medium-type is copper lastchange time:0 Day:22 Hour:57 Minute:49 Second Priority is 0 admin duplex mode is AUTO, oper duplex is Unknown admin speed is AUTO, oper speed is Unknown flow control admin status is OFF,flow control oper status is Unknown 18 broadcast Storm Control is OFF,multicast Storm Control is OFF,unicast Storm Control is OFF 5 minutes input rate 0 bits/sec, 0 packets/sec 5 minutes output rate 0 bits/sec, 0 packets/sec 1444606 packets input, 395920698 bytes, 0 no buffer, 0 dropped Received 478336 broadcasts, 0 runts, 0 giants 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 abort 0 packets output, 0 bytes, 0 underruns , 0 dropped 0 output errors, 0 collisions, 0 interface resets 2.1.3 端口状态监控 通过以下三条命令, 可以查看端口当前的 link- 状态, 协商状态, 及数 据包转发统计信息。 show interface fastethernet xx Ruijie#show interface GigabitEthernet 0/1 Index(dec):1 (hex):1 端口索引 GigabitEthernet 0/1 is DOWN , line protocol is DOWN 端口状态 指示 Hardware is marvell GigabitEthernet Interface address is: no ip address MTU 1500 bytes, BW 1000000 Kbit 19 Encapsulation protocol is Bridge, loopback not set Keepalive interval is 10 sec , set Carrier delay is 2 sec RXload is 1 ,Txload is 1 Queueing strategy: FIFO Output queue 0/0, 0 drops; Input queue 0/75, 0 drops Switchport attributes: interface's description:"" medium-type is copper lastchange time:0 Day:22 Hour:57 Minute:49 Second Priority is 0 admin duplex mode is AUTO, oper duplex is Unknown admin speed is AUTO, oper speed is Unknown flow control admin status is OFF,flow control oper status is Unknown // 端口协商控制说明 broadcast Storm Control is OFF,multicast Storm Control is OFF,unicast Storm Control is OFF 风暴控制状态 5 minutes input rate 0 bits/sec, 0 packets/sec 5 minutes output rate 0 bits/sec, 0 packets/sec 1444606 packets input, 395920698 bytes, 0 no buffer, 0 dropped 20 Received 478336 broadcasts, 0 runts, 0 giants 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 abort 0 packets output, 0 bytes, 0 underruns , 0 dropped 0 output errors, 0 collisions, 0 interface resets 端口收发数据统计 show interface couter 查看端口的数据包统计详细说明 Interface : GigabitEthernet 0/1// 基于接口的收发流量统计 5 minutes input rate :458 bits/sec, 0 packets/sec 5 minutes output rate :0 bits/sec, 0 packets/sec// 基于数据包类型统 计 InOctets : 23798 InUcastPkts : 0 InMulticastPkts : 0 InBroadcastPkts : 189 OutOctets : 0 OutUcastPkts : 0 OutMulticastPkts : 0 OutBroadcastPkts : 0 Undersize packets : 0 Oversize packets : 0 collisions : 0 21 Fragments : 0 Jabbers : 0 CRC alignment errors : 0 AlignmentErrors : 0 FCSErrors : 0 dropped packet events (due to lack of resources): 0 // 基于数据包长度统计 packets received of length (in octets): 64 : 18 65-127 : 138 128-255 : 24 256-511 : 9 512-1023 : 0 1024-1518 : 0 show interface staus 端口的物理状态信息 S3760#sh interfaces status Interface Status Vlan Duplex Speed Type ------------------------ -------- ---- ------- --------- ------ GigabitEthernet 0/1 up 1 Full 1000M copper GigabitEthernet 0/2 down 1 Unknown Unknown copper 2.2 常见故障处理一:端口 LINK 状态异常 22 2.2.1 故障说明 以太网端口连接后,无法 link ,或者 link 不稳定, link 后协商的速率不 正常; 2.2.2 诊断流程 Link down 1. 首先确认配置是否有问题,如端口被 shut down ,光电复用口未切换 到合适状态 2. 检查两端端口的自协商是否打开, 建议双方交换机的端口将自协商打 开。 至少需要保证两台交换机的端口的工作状态是一致的 3. 重新插拔线缆(网线或者光纤或者光模块),看是否可以 Linkup 。此 举可以确定是否由于这些部件未良好连接导致的问题 4. 尝试更换网线或者光纤(或者光模块、扩展模块),看是否可以 Linkup 5. 把线缆更换到本机的其他端口上, 看是否可以正常 Linkup 。 如果其 他端口可以 Linkup , 很大可能是端口硬件故障。 如果无法 Link, 需 要更换 RJ45 线( 需要尝试正线和反线),确认光纤线的 TX 、 RX 的正确连接 6. 如果是长线,则改为短线进行和其他正常端口连接,看是否 Link 正常 7. 把对端更换到其他正常端口上,看是否可以正常 Linkup 8. 或者使用测试设备对网线或者光纤的衰减进行测试, 并和值比较, 以确认线缆是否损坏 2.3 常见故障二: 端口丢包 / 错帧 , 或 ping 包延迟大 2.3.1 故障说明 23 网络访问缓慢,检查用户接入端口或者上联端口出现丢包及 CRC 错误。 2.3.2 诊断流程 1. 确认网络拓扑是否有问题 2. 确认软件配置是否有问题 3. 通过端口 LED 指示灯观察或者通过 Console 口进入主程序界面, 使 用 Show interfaceGi 0/1 counters ( 假设 Gi 0/1 故障 ) 来确认是否有 CRC 等错误。 以及是发送还是接收错误。 务必保存串口信息,以备 后续分析。 2.4 常见故障三:光模块无法 link-up 或出现大量 CRC 2.4.1 故障现象 光模块无法 link-up 或出现大量的 CRC. 2.4.2 诊断流程 1. 确认光纤线是否和光模块匹配 , 不能使用单模光纤连接两个多模光模 块,多模信号在单模光纤上衰减非常大 2. 确认光模块安装是否到位 3. 确认光模块指标是否符合现场环境 . 因为光纤通信是比较精密的技 术,若现场环境恶劣(尤其是灰尘),对通信质量会有较大的影响,应 该尽可能避免在这种环境下使用,若要用,需要做好对光纤和光模块 接口的保护工作 4. 确认交换机互连光口的端口配置是否匹配 , 主要要留意光电复用口是 否已经切换为光口、互连的两个光口的速率配置是否对称 5. 将互连光口的端口配置为自适应,确认是否解决 24 6. 更换其中一个光模块所处端口,确认是否解决 7. 更换光纤线,确认是否解决 8. 将其中一个光模块换到第三台设备上,确认是否解决 9. 插入第三个光模块,确认第三个光模块和其他两个模块的连接情况 1 0. 测试光模块的 TX 端、光模块的 TX 端接光纤后的光强,现场需要有 测试光强的设备 11. 上述步骤可依现场条件选择执行。 完成上述步骤后, 基本可以定位出 故障点, 若为光纤线问题, 提交客户处理, 若为光模块问题, 使 用吹气球(即皮老虎) 或强风(可用风扇) 吹或吸光模块 TX 光口、 RX 光口, 然后在测试光模块的连接情况。(光口上的灰尘会引起光模 块连接不上,使用这种方法可以排除灰尘问题) 记录所做的全部操作 和操作过程中所产生的信息 , 以备后续分析。 2.5 二层转发功能维护 2.5.1 查看 MAC 地址表 可通过 show mac-address-table 命令来查看 MAC 地表。 S5760#show mac-address-table Vlan MAC Address Type Interface ---------- -------------------- -------- ------------------- 1 0000.5e00.0154 DYNAMIC GigabitEthernet 0/1 1 0000.5e00.01cc DYNAMIC GigabitEthernet 0/1 2.5.2 常见故障排查 二层转发是基于 MAC+VID 的转发流程, 有多种因素可能导致二层转发 25 异常, 一般来说有以下几种情况: 物理端口损坏,导致数据无法正常转发; 生产树 block 端口以及安全功能如 mac 地址过滤, dot1x , 端口安全 等原因导致端口无法正常转发; 对于问题一,可参考端口状态一章进行排查,问题二则通过以下步骤对信 息进行收集,并结合二层转发原理进行分析处理。 1. 查看设备基本运行状态: Show cpu , show memory 2. 查看端口状态及收发报文: 统计 Show interface counters,show interface 3. 查看 vlan 配置, Show interface , show vlan 4. 查看 mac 表, Show mac-address-table 查看 STP 状态, Show spanning-tree interface 3 硬件转发功能维护与故障排查 3.1 底层命令简介 通过上层和底层相关表项的对应, 能快速的定位问题的原因。 如上层 mac 地址表对应底层的 fdbtable 表, 上层路由表对应底层的 vs dump v4disprefix 表, 上层 ACL 应用表对应底层的 PCL 表。 在交换机日常运行和维护过程中可能遇到下述几种情况,需要使用底层排 查: 1. 上层 show mac-address-table 表项中, 有目的 mac , 但是交换机不 转发数据, 可通过底层 fbdtable 命令查看底层 mac 表项是否正确 2. 上层路由表中, 有目的 ip 网段, 但是交换机却不转发数据, 可通 过使用底层 vs dumpv4disprefix 命令排查底层路由表是否正确 3. 26 上层应用了 acl 策略(如: acl ,端口安全, arp-check 等),交换机 数据转发时, 应用不生效。可通过 acl show acl 命令查看底层 PCL 应 用是否匹配。 后续章节针对底层作重点介绍。 3.2 基本命令 使用 debug ssp remote 进入底层调试模式: Debug ssp remote 的为管理层进行处理,不会对网络应用照成影响, 但由于该调试模式可能会输出大量信息,建议将控制台的波特率调整 为 115200bps 。 Ruijie#debug ssp remote // 该命令为隐藏命令 Ruijie(ssp-debug)#?// ,帮助键 SSP debug commands: access-list Access-list deubug clis// 底层 pcl 调试命令 addcpuacl Add cpu acl arp Arp set debug assert Ssp assert on/off cascdedeviceinfo Print cascde device info cfgdevtab Configure device table ctrl_packet Ctrl packet format d1xdump Dump dot1x user information // 查看 dot1.x 认证在线用户表项 d1xsetuser Set dot1x user dbgsave Save debug config 27 debug Turn on/off the debug switch default Set a command to its defaults device Set current operated pp device dot1x Dot1x debug //dot1.x 调试命令 dpk Packet debug// 底层 debug 报文调试命令 drlbrg Drl brg debug cmd dumpcpuacl Dump cpu netif acl dumpfdbshadow Dump mac address shadow table dumpl3port L3port dump // 查看三层接口 dumpmsgbucket Dump mac address shadow table dumpregen Ssp dumpreg on/off dumpsspen Ssp dumpssp on/off dumpstacken Ssp dumpstack on/off enablelearn Enable device address learn end Exit from SSP debug command mode exit Exit from SSP debug command mode fdbtable Dump chip fdb table// 底层 MAC 表 hash Macadd [mac addr] [vid] igs Igs debug int Enable/disable show cpu rx/tx packets interrupt loopback Set port loopback mode mirror Mirror debug 28 mllwrite Write mll to hw msg Disable/enable aa/na msg nbr-coa Nbr-coa debug clis no Negate a command or set its defaults pbr Pbr debug phyidentifier Read phy identifier pk Enable/disable show cpu rx/tx packets port Init port des & buffer port-range Security ACL’s port-range lookup privlan Private-vlan module debug information qos Qos debug readmem Read memory readphy Read phy register readreg Read pp register readtable Read pp table reg resetallport Reset all port resetport Reset port route Route dump // 路由调试命令,通过该命令可以查看 ipv4,ipv6 的单播路由和多播路由 send_pk Send/mail a packet to other cpu setbasedevice_id Configure base id 29 setcascadeport Set device id setdeviceid Set device id setdevicetable Configure device table setsourceidtable Configure sourceid table showdes Show cpu tx/rx des stmem Show memory statis stp Stp debug//stp 调试命令 stptable Dump chip stp table// 查看 stp 状态 vlantable Dump chip vlan table writemem Write memory writephy Write phy register writereg Write pp register writetable Write pp table reg 3.2.1 L2 部分 该部分介绍上层和底层 mac 地址表对应关系的应用举例,以及底层 mac 表中各参数的意义。通过表项的查看,可判断底层转发是否正确。 上层 MAC 表 通过 show mac-address-table 命令查看 mac 地址表 Ruijie#show mac-address-table Vlan MAC Address Type Interface ---------- -------------------- -------- ------------------- 10000.0000.0002 DYNAMIC GigabitEthernet 0/1 30 10000.0000.0003 DYNAMIC GigabitEthernet 0/1 10000.5e00.0154 DYNAMIC GigabitEthernet 0/1 10000.5e00.01cc DYNAMIC GigabitEthernet 0/1 10011.0a81.af63 DYNAMIC GigabitEthernet 0/1 1 0014.a552.7400 DYNAMIC GigabitEthernet 0/1 10018.f3a8.0f67 DYNAMIC GigabitEthernet 0/1 1001b.210b.8b5a DYNAMIC GigabitEthernet 0/1 1001b.210b.8c2e DYNAMIC GigabitEthernet 0/1 1001b.fca6.b678 DYNAMIC GigabitEthernet 0/1 1 001c.bf5f.7e4c DYNAMIC GigabitEthernet 0/1 底层 MAC 表项 底层通过 fbdtable+[counter] 命令查看 由于 FDB 表项巨大,因此设定个参数,目的是避免在不知道表项个 数情况下,输入了该命令,只能等待全部打印完成才能退出 Ruijie(ssp-debug)#fdbtable 20 %current device is:0 === HW MAC TABLE READ dev 0 (address N/A) === )v sk ag Vid MAC dv sId tr p_t sp dQ sQ Vidx S m dC sC A U R 01248)1 0 1 0x00100:14:a5:52:74:00 00 00 P 000 0 0 0 0x000 0 - 0 0 0 0 0 02600)1 0 1 0x00100:00:00:00:00:02 00 00 P 000 0 0 0 0x000 0 - 0 0 0 0 0 03484)1 0 1 0x00100:1b:21:0b:8c:2e 00 00 P 000 0 0 0 0x000 0 - 0 0 0 0 0 03516)1 0 1 0x00100:1b:21:0b:8b:5a 00 00 P 000 0 0 0 0x000 0 - 0 0 0 0 0 05720)1 0 1 0x00100:1b:fc:a6:b6:78 00 00 P 000 0 0 0 0x000 0 - 0 0 0 0 0 09908)1 0 1 0x00100:00:5e:00:01:cc 00 00 P 000 0 0 0 0x000 0 - 0 0 0 0 0 11052)1 0 1 0x00100:00:00:00:00:03 00 00 P 000 0 0 0 0x000 0 - 0 0 0 0 0 13096)1 0 0 0x001 00:1b:21:0c:f2:35 00 00 P 000 0 0 0 0x000 0 - 0 0 0 0 0 14180)1 0 1 0x00100:00:5e:00:01:54 00 00 P 000 0 0 0 0x000 0 - 0 0 0 0 0 31 14648)1 0 1 0x00100:11:0a:81:af:63 00 00 P 000 0 0 0 0x000 0 - 0 0 0 0 0 End of table - num of entries : 21 , 21 valid ,0 skip ,1 Aged , 0 sp === Display only the first 20 entries === static mac address num : 2 v // 等于 1 表示该表项有效 sk // 等于 1 表示硬件查找 FDB 时, 可以跳过改表项, 若等于 1 那么 这条表象也相当于无效的 ag // 老化时间 Vid //vlanid MAC //MAC 地址 dv // 对于 S5760-24 都是等于 0 , tr // 对于单播地址显示― T ‖或― P ‖,若是― T ‖,则表示这条 MAC 地 址是挂在 Ap 口上― P ‖表示非 Ap 口;对于组播地址会显示― X ‖ p_t // 显示端口号,或 ap 口号,注意这里端口号与面板上的端口不一 定对应,存在一定的映射关系 Vidx // 只对于组播地址,用于表示该组播地址对应的转发表 S // 等于 1 表示是静态地址 dC // 目的 mac 匹配中的控制命令, 0- 转发, 1- 镜像到 cpu , 2- 只送 cpu , 3 和 4- 丢弃其它无意义 sC // 源 mac 匹配中的控制命令, 0- 转发, 1- 镜像到 cpu , 2- 只 送 cpu , 3 和 4- 丢弃,其它无意义 R // 等于表示会触发路由, 在我们的交换机中, 如果等于 1 , 那 么只会是网络 mac 地址, 即本机的 MAC 地址之一 32 其他可不需要了解 底层 L2 表和上层路由表的对应关系,用不同的颜色标识 3.2.2 L3 部分 交换机三层数据转发通过查找底层 l3 表, 来正确转发。 下述部分介绍上 层路由表和底层路由表的对应关系的应用举例。 上层路由表 三层路由表的通过 show ip route 查看 Ruijie#show ip route Codes: C - connected, S - static, R - RIP, B - BGP 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 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default Gateway of last resort is no set • 2.2.2.2/32 [110/1] via 192.168.204.111, 00:01:13, VLAN 1 • 111.1.1.1/32 [110/1] via 192.168.204.111, 00:01:13, VLAN 1 C192.168.204.0/24 is directly connected, VLAN 1 C192.168.204.101/32 is local host. 底层路由表 Ruijie(ssp-debug)#route softwareroute v4uc print all ipv4 uc prefix table// 打印出 ipv4 的前缀路由 33 print all ipv4 uc next table// 打印 ipv4 的下一跳列表 vrid:0,0.0.0.0/0 nhid: 0, nhptr: 0x6ffcc00 nh 0x6ffcc00 ispyrt:0, nh_id:0, nh_num:1, refcnt:2 nhip0.0.0.0 cmd 4, dmac 0000.0000.0000, weight 1, arppter 0, istt 0, ttid 0, phyid 0x0, vid 0, ttl 0, vidx 0, mtu 0, enrpf 0, rpfcmd 0, mll 0, flag 0, vrid 0 // 目的网段为 0.0.0.0 ,下一跳为 0.0.0.0 表示不可达 vrid:0,192.168.204.0/24 nhid: 1, nhptr: 0x6ff8800 nh 0x6ff8800 ispyrt:0, nh_id:1, nh_num:1, refcnt:2 nhip 0.0.0.1 cmd 5, dmac 0000.0000.0000, weight 1, arppter 0, istt 0, ttid 0, phyid 0x0, vid 0, ttl 0, vidx 0, mtu 0, enrpf 0, rpfcmd 0, mll 0, flag 0, vrid 0 // 目的网段为 192.168.204.0 ,下一跳为 0.0.0.1 ,表示为本地路由 vrid:0,2.2.2.2/32 nhid: 4, nhptr: 0x6986800 nh 0x6986800 ispyrt:0, nh_id:4, nh_num:1, refcnt:3 nhip192.168.204.111 cmd 0, dmac 00d0.f8a4.9e81, weight 1, arppter 0, istt 0, ttid 0, phyid 0x1000001, vid 1, ttl 0, vidx 0, mtu 1500, enrpf 0, rpfcmd 0, mll 0, flag 20, vrid 0 // 目的网段为 2.2.2.2 ,下一跳为 192.168.204.111 34 vrid:0,111.1.1.1/32 nhid: 4, nhptr: 0x6986800 nh 0x6986800 ispyrt:0, nh_id:4, nh_num:1, refcnt:3 nhip192.168.204.111 cmd 0, dmac 00d0.f8a4.9e81, weight 1, arppter 0, istt 0, ttid 0, phyid 0x1000001, vid 1, ttl 0, vidx 0, mtu 1500, enrpf 0, rpfcmd 0, mll 0, flag 20, vrid 0 // 目的网段为 111.1.1.1 ,下一跳为 192.168.204.111 vrid:0,192.168.204.101/32 nhid: 3, nhptr: 0x6986c00 nh 0x6986c00 ispyrt:0, nh_id:3, nh_num:1, refcnt:1 nhip 0.0.0.1 cmd 5, dmac 0000.0000.0000, weight 1, arppter 0, istt 0, ttid 0, phyid 0x0, vid 0, ttl 0, vidx 0, mtu 0, enrpf 0, rpfcmd 0, mll 0, flag -2147483630, vrid 0 // 目的网段为 192.168.204.101 ,下一跳为 0.0.0.1 ,表示为本地路 由 部分注释如下: Nhid // 是内部用,软件内部将路由分成 2 部分, 即 prefix 和 nexthop ,一条 prefix 只能关联一条 nexthop ,而一个 nexthop 可以 被多条 prefix 共同关联, nhid 就是 nexthop id Nhptr // 是 nexthop 在内存中的位置 Nh // 与 nhptr 是相等的, 因为前一行是 prefix 表的表项, 后一行 35 是 nexthop 表的表项,说明这两条表项是关联的 Ispyrt // 指是否是策略路由 nh_id // 对应硬件上的 nexthop 表项,硬件上有 4096 条表项 nh_num //nexthop 表项的条目数,若是 ECMP/WCMP 则会大于 1 ,表示有多少条下一跳,否则都是 1 refcnt // 引用计数,软件内部使用,用于记录这条 nexthop 表项被多少条 prefix 表项关联 nhip // 即下一跳的 ip 地址 CMD // 这条路由的转发行为, 0- 正常路由处理并转发到下一跳, 1- 路由并镜像到 cpu , 2- 不路由只在输入端口所在 vlan 内桥转发, 3- 桥转发并镜像到 cpu , 4- 丢弃该报文, 5- 只送到 cpu Dmac // 这就是下一跳的 mac 地址,即常说的 arp 地址 Weight //WCMP 中下一跳权重 Arppter // 对应硬件上的 arp 表项 id Istt // 是否是 tunnel 路由的标志 Ttid //tunnel 封装表项 id Phyid // 下一跳的出口 id Vid // 下一跳出口所在的 vlanid Mtu // 最大传输单元 其他可不需要了解 36 底层 L3 表和上层路由表的对应关系,用不同的颜色标识 3.3 PCL 部分 底层 ACL 硬件资源称为 PCL ( policy control list )与上层 ACL 对应, PCL 由多条 PCE ( policy control entry )组成, PCE 对应 ACE 。 PCL 硬件资源分配情况如下图: PCL 资源在硬件中一个共 512 行,每行有 2 列,每个单元有 24 字 节,当使用标准模式时, 每个单元可以用于存储一个 PCE , 而使用 37 扩展模式是, 一行只能存储一个 PCE 。在安全 ACL 中,若使用专 家级的配置命令,会对应扩展模式。中,由于其它功能也会借用 PCL 引擎实现,因此我们做了资源保留,实际用户可用的表项无法达 到 512 或 1024 ,扩展模式下最多 500 条,标准模式下最多 1000 条。 PCL 中 PCE 优先级为顺序匹配 3.3.1 ACL 应用 ACL 的全称为接入控制列表 (Access Control Lists) , 也称为访问列表 ( AccessLists )。 ACL 通过定义一些规则对网络设备接口上的数据 报文进行控制:允许通过或丢弃。 ACL 的应用包括: 标准 ip ACL , 扩展 ip ACL , 时间 ACL , 单向 ACL MAC 扩展 ACL,IPV6 的 ACL 等。 RG-S5760 硬件全局支持 1000 条 ACE 上层 ACL 的配置 ip access-list extended 111 10 permit ip host 1.1.1.1 host 2.2.2.2 interface GigabitEthernet 0/1 ip access-group 111 in 底层 ACL 查看 Ruijie(ssp-debug)#access-list show memory-list ACL-ID : 0000006f , 06989400 ACL-ID:ace_num : 1 38 ACL-ID:acl_mode : 00000004 ACL-ID:pcl : 0x00000000 ACL-ID:ace_list : 0x06989434 ACL-ID:reference : 1 acl111 mode 4 ace num1 //111 表示 ACL 的名称, 1 表示 ACE 的数目 0x0691e540 00840030 0010etype=0000 vidd=0000 smac:0000.0000.0000 dmac:0000.0000.0000 sip:1.1.1.1 0.0.0.0 dip:2.2.2.2 0.0.0.0 pro:0000 sport:0000 sport2:0000 dpt_icmp_type:0x00 dpt_icmp_code:0x00 tos:0x00000000 dscp:0x00000000 prec:0x00000000 tcp_flag:0x00000000ACE_IP_SRC ACE_IP_DSTACE_PERMIT ACE_VALID // ACE_PERMIT 表示 ACL 动作 // 表示允许源为 1.1.1.1 到目的为 2.2.2.2ip 数据流通过 ----------------------------------------------------------------- ACL-ID : f8000001 , 06913780 ACL-ID:ace_num : 1 ACL-ID:acl_mode : 20000000 ACL-ID:pcl : 0x00000000 ACL-ID:ace_list : 0x069137b4 ACL-ID:reference : 0 acl 4160749569 mode 536870912 ace num 1 39 0x0691e980 00020008 0000 etype=86dd vidd=0000 smac:0000.0000.0000 dmac:0000.0000.0000 pro:0000 sport:0000 sport2:0000 dpt_icmp_type:0x00 dpt_icmp_code:0x00 tos:0x00000000 dscp:0x00000000 prec:0x00000000 tcp_flag:0x00000000ACE_ETYPEACE_DENYACE_L2 // 拒绝所有的 ipv6 的报文,该 ACL 会默认增加对 IPV6 报文的拒 绝表项 ACL-ID : f6000001 , 069136e0 ACL-ID:ace_num : 0 ACL-ID:acl_mode : 10000000 ACL-ID:pcl : 0x00000000 ACL-ID:ace_list : 0x06913714 ACL-ID:reference : 0 ACL-ID : f6000001 , 06913640 ACL-ID:ace_num : 0 ACL-ID:acl_mode : 10000000 ACL-ID:pcl : 0x00000000 ACL-ID:ace_list : 0x06913674 ACL-ID:reference : 0 ACL-ID : f0000001 , 069135a0 ACL-ID:ace_num : 0 40 ACL-ID:acl_mode : 00000040 ACL-ID:pcl : 0x00000000 ACL-ID:ace_list : 0x069135d4 ACL-ID:reference : 0 // 整条 PCL 表示仅允许源为 1.1.1.1 到目的为 2.2.2.2ip 数据流通 过,拒绝所有的 ipv6 报文通过 3.3.2 端口安全 通过对数据流源 ip 和源 mac 两元素的绑定,达到用户的安全控制接入。 端口绑定 IP+MAC 地址时, 占用 的硬件资源与 ACLs 、 802.1x 认证 功能占用的系统硬件资源共享。 1 个接口上的 802.1x 和端口安全不 能共用。 端口安全的配置 interface GigabitEthernet 0/1 switchport port-security mac-address1234.1234.1234 ip-address1.1.1.1 switchport port-security no arp-check 端口安全的底层表项 Ruijie(ssp-debug)#access-list show memory-list ACL-ID : f8000001 , 06913780 ACL-ID:ace_num : 2 ACL-ID:acl_mode : 20000000 ACL-ID:pcl : 0x00000000 41 ACL-ID:ace_list : 0x069137b4 ACL-ID:reference : 0 acl 4160749569 mode 536870912 ace num 2 0x06912560 00040009 0000etype=86dd vidd=0000 smac:1234.1234.1234 dmac:0000.0000.0000 pro:0000 sport:0000 sport2:0000 dpt_icmp_type:0x00 dpt_icmp_code:0x00 tos:0x00000000 dscp:0x00000000 prec:0x00000000 tcp_flag:0x00000000ACE_MAC_SRC ACE_ETYPEACE_PERMIT ACE_L2 0x0691e980 00020008 0000etype=86dd vidd=0000 smac:0000.0000.0000 dmac:0000.0000.0000 pro:0000 sport:0000 sport2:0000 dpt_icmp_type:0x00 dpt_icmp_code:0x00 tos:0x00000000 dscp:0x00000000 prec:0x00000000 tcp_flag:0x00000000ACE_ETYPEACE_DENYACE_L2 // 仅允许 MAC 地址为 1234.1234.1234 的 ipv6 报文通过,拒绝其 他报文 ----------------------------------------------------------------- ACL-ID : f6000001 , 069136e0 ACL-ID:ace_num : 0 ACL-ID:acl_mode : 10000000 ACL-ID:pcl : 0x00000000 ACL-ID:ace_list : 0x06913714 42 ACL-ID:reference : 0 ACL-ID : f6000001 , 06913640 ACL-ID:ace_num : 0 ACL-ID:acl_mode : 10000000 ACL-ID:pcl : 0x00000000 ACL-ID:ace_list : 0x06913674 ACL-ID:reference : 0 ACL-ID : f0000001 , 069135a0 ACL-ID:ace_num : 2 ACL-ID:acl_mode : 00000040 ACL-ID:pcl : 0x00000000 ACL-ID:ace_list : 0x069135d4 ACL-ID:reference : 0 acl 4026531841 mode 64 ace num 2 0x0691edc0 00040219 0000etype=0800 vidd=0000 smac:1234.1234.1234 dmac:0000.0000.0000 sip:1.1.1.1 0.0.0.0 dip:0.0.0.0 0.0.0.0 pro:0000sport:0000 sport2:0000 dpt_icmp_type:0x00 dpt_icmp_code:0x00 tos:0x00000000 dscp:0x00000000 prec:0x00000000 tcp_flag:0x00000000ACE_MAC_SRC ACE_ETYPE ACE_IP_SRC ACE_PROTOCOL ACE_PERMIT ACE_L2 0x06912120 00020208 43 0000 etype=0800 vidd=0000 smac:0000.0000.0000 dmac:0000.0000.0000 sip:0.0.0.0 0.0.0.0 dip:0.0.0.0 0.0.0.0 pro:0000 sport:0000 sport2:0000 dpt_icmp_type:0x00 dpt_icmp_code:0x00 tos:0x00000000 dscp:0x00000000 prec:0x00000000 tcp_flag:0x00000000ACE_ETYPE ACE_PROTOCOLACE_DENY ACE_L2 // 仅允许 MAC 为 1234.1234.1234 , ip 地址为 1.1.1.1 的 ipv4 报文通过 // 整条 PCL 仅允许源 ip 为 1.1.1.1 ,源 mac 为 1234.1234.1234 的 ipv4 报文通过。 3.3.3 Arp-check 根据端口安全绑定标检查 ARP 报文, 不符合绑定的 ARP 报文被认为是 非法报文, 将被丢弃。 arp-check 的配置 interface GigabitEthernet 0/1 switchport port-security mac-address 1234.1234.1234 ip-address 1.1.1.1 switchport port-security arp-check 的底层表项 ACL 占用情况如下: Ruijie(ssp-debug)# access-list show memory-list ACL-ID : f8000001 , 06913780 44 ACL-ID:ace_num : 2 ACL-ID:acl_mode : 20000000 ACL-ID:pcl : 0x00000000 ACL-ID:ace_list : 0x069137b4 ACL-ID:reference : 0 acl 4160749569 mode 536870912 ace num 2 0x06912560 00040009 0000 etype=86dd vidd=0000 smac:1234.1234.1234 dmac:0000.0000.0000 pro:0000 sport:0000 sport2:0000 dpt_icmp_type:0x00 dpt_icmp_code:0x00 tos:0x00000000 dscp:0x00000000 prec:0x00000000 tcp_flag:0x00000000ACE_MAC_SRC ACE_ETYPEACE_PERMIT ACE_L2 0x0691e980 00020008 0000 etype=86dd vidd=0000 smac:0000.0000.0000dmac:0000.0000.0000 pro:0000 sport:0000 sport2:0000 dpt_icmp_type:0x00 dpt_icmp_code:0x00 tos:0x00000000 dscp:0x00000000 prec:0x00000000 tcp_flag:0x00000000ACE_ETYPE ACE_DENYACE_L2 // 仅允许 MAC 地址为 1234.1234.1234 主机 ipv6 的报文通过 ----------------------------------------------------------------- ACL-ID : f6000001 , 069136e0 ACL-ID:ace_num : 0 ACL-ID:acl_mode : 10000000 45 ACL-ID:pcl : 0x00000000 ACL-ID:ace_list : 0x06913714 ACL-ID:reference : 0 ACL-ID : f6000001 , 06913640 ACL-ID:ace_num : 0 ACL-ID:acl_mode : 10000000 ACL-ID:pcl : 0x00000000 ACL-ID:ace_list : 0x06913674 ACL-ID:reference : 0 ACL-ID : f0000001 , 069135a0 ACL-ID:ace_num : 3 ACL-ID:acl_mode : 00000040 ACL-ID:pcl : 0x00000000 ACL-ID:ace_list : 0x069135d4 ACL-ID:reference : 0 acl 4026531841 mode 64 ace num 3 0x0691edc0 00040219 0000 etype=0800 vidd=0000 smac:1234.1234.1234 dmac:0000.0000.0000 sip:1.1.1.1 0.0.0.0 dip:0.0.0.0 0.0.0.0 pro:0000 sport:0000 sport2:0000 dpt_icmp_type:0x00 dpt_icmp_code:0x00 tos:0x00000000 dscp:0x00000000 prec:0x00000000 46 tcp_flag:0x00000000ACE_MAC_SRC ACE_ETYPE ACE_IP_SRC ACE_PROTOCOL ACE_PERMIT ACE_L2 0x06912120 00020208 0000 etype=0800 vidd=0000 smac:0000.0000.0000 dmac:0000.0000.0000 sip:0.0.0.0 0.0.0.0 dip:0.0.0.0 0.0.0.0 pro:0000 sport:0000 sport2:0000 dpt_icmp_type:0x00 dpt_icmp_code:0x00 tos:0x00000000 dscp:0x00000000 prec:0x00000000 tcp_flag:0x00000000ACE_ETYPE ACE_PROTOCOLACE_DENY ACE_L2 0x06912780 00020208 0000 etype=0806 vidd=0000 smac:0000.0000.0000 dmac:0000.0000.0000 sip:0.0.0.0 0.0.0.0 dip:0.0.0.0 0.0.0.0 pro:0000 sport:0000 sport2:0000 dpt_icmp_type:0x00 dpt_icmp_code:0x00 tos:0x00000000 dscp:0x00000000 prec:0x00000000 tcp_flag:0x00000000ACE_ETYPE ACE_PROTOCOLACE_DENY ACE_L2 // 仅允许 MAC 地址为 1234.1234.1234 , ip 为 1.1.1.1 主机 ipv4 的 报文通过, 并拒绝其他非法 arp 报文。 // 整条 PCL 仅允许源 ip 报文为 2.2.2.2 ,源 mac 为 1234.1234.1234 的 ipv4 报文通过,并对源 mac 为 1234.1234.1234 的 ipv6 报文透传。 4 协议功能维护与故障排查 4.1 STP 4.1.1 STP 简介 47 S5760 系列交换机支持标准生成树协议( STP/RSTP )。该协议可应用于环路网络,通过一定的算法实现路径冗余, 同时将环路网络修剪成无环路的树型网络, 避免报文在环路网络中的增生和无限循环。 S5760 所实现的快速生成树协议 RSTP ( Rapid SpannIng Tree Protocol )是生成树协议的优化版。系统缺省不运行 RSTP 协议。 RSTP 协议可以与 STP 协议完全兼容, RSTP 协议会根据收到的 BPDU 版本号来自动判断与之相连的网桥是支持 STP 协议还是支持 RSTP 协议,如果是与 STP 网桥互连就只能按 STP 的 forwardIng 方法,过 30 秒再 forwardIng ,无法发挥 RSTP 的最大功效。生成树协议报文的目的 MAC 地址是 0180-C200-0000 ,源 MAC 地址为接口地址。 当端口的生成树协议启动后, 目的 MAC 地址为 0180-C200-0000 的报文被自动识别为桥控制报文,不论端口为何种生成树状态,该报文都将无条件送 CPU 进行处理。 MSTP 和 RSTP 能够互相识别对方的协议报文,可以互相兼容。而 STP 无 法识别 MSTP 的报文, MSTP 为了实现和 STP 的兼容,设定了两种 工作模式: STP 兼容模式, MSTP 模式。在 STP 兼容模式下,交 换机各个端口将发送 STP 报文;在 MSTP 模式下,交换机的各个端 口将发送 MSTP 报文或者 STP 报文(如果端口上连接了 STP 交换 机), 并且具备多生成树的功能。 可以通过命令配置 MSTP 的工作 模式。 MSTP 可以和 STP 协议互通,如果交换网络中存在运行 STP 协议的交换机,可以通过命令配置当前的 MSTP 运行在 STP 兼容模 式下,否则可以配置 MSTP 运行在 MSTP 模式下。MSTP 可以弥补 STP 和 RSTP 的缺陷, 它既可以快速收敛, 也能使不同 VLAN 的 48 流量沿各自的路径分发,从而为冗余链路提供了更好的负载分担机制。 MSTP 属性 49 4.1.2 STP 常见问题 哪些端口不受生成树协议控制 路由口, 配置了 BPDU filter 的端口, 配置了 Dot1q tunnel 的端口。 所 谓不受控制的意思是:这些端口是不处理 BPDU 的,此外,这些端口 的状态改变不会影响到网络拓扑。 全局 BPDUguard 对所有边缘端口都起作用。 端口的 BPDUguard 只在显 示配置的端口上起作用, 提供两种配置可以提高应用的灵活性。 BPDUguard 功能用于端口安全, 配置了该功能后,如果对应端口收 到 BPDU 将引发一个端口违例并使得端口 down 掉。 配置全局的 BPDUfilter 和配置接口的 BPDUfilter 有什么区别 接口模式下的 BPDUfilter 功能是指在某些端口上强制不收 / 发处理 任何 BPDU 报文,一般是用于在直连 PC 的端口上防止用户的恶意 BPDU 攻击的。 全局的 BPDUfilter 只在配置了 Portfast 的端口上起 作用, 在这种状态下, Port Fast enabled 的 Interface 将既不收 BPDU , 也不发 BPDU ,这样,直连 Port Fast enabled 端口的主机 50 就收不到 BPDU 。 而如果 Port Fast enabled 的 Interface 因收到 BPDU 而使 Port Fast Operational 状态 disabled , BPDU Filter 也就 自动失效。 通常我们还是建议在端口上配,因为这样才能说明用于 对网络拓扑有个清晰的掌握。 Portfast 功能是什么意思 Portfast 是一个接口命令,它使得设备在运行生成树的时候,配置了该命令 的端口可以快速进入转发状态,通常这个功能是用在接入层设备上直 连 PC 的端口。这样可能避免生成树协议中转发延迟对用户的影响。 交换机打印― topochange : topology is changed ‖信息表示了什么意思 说明当前设备拓朴发生变化, 简单理解就是有端口发生了角色变化, 比 如从 Disableport变成 DesignatedPort, Alternateport 变成 DesignatedPort 等等。这种拓扑变化有两种可能情况: 端口从转发 状态变成阻塞状态(ForwardIng->DiscardIng), 端口从阻塞状态变成 转发状态 (DiscardIng->ForwardIng) 。打印这个信息通常有如下两中可 能: 一是端口 LInk 状态发生变化,此时在 up/down 时都会打印; 二是端口的 LInk 状态没有发生变化,但 Stp 的协议计算让某些端口 的角色进行了切换,比如从 Root 口变成了 Alternate 口等。 交换机打印― NEWROOT : new root is produced ‖表示什么意思 说明本机的 Instance 0 的根桥从其它设备切换成自己, 注意这里指的是 51 Instance 0 , 对于其它 Instance 的根桥切换, 是不打印这个信息的。 打印这个信息通常是因为 Root 口丢失了上游交换机的的 BPDU ,比 如上游交换机宕机或者是运行异常等。 端口在哪些情况下会发生拓扑变化 常见的是 Rootport 和 Alternateport 无法在 3 倍的 Hello 时间内获得上 游网桥的 BPDU 导致的。 如果是 Rootport 上的 BPDU 报文超时, 会造成根桥震荡。 如果是 Alternateport 超时,则会造成端口转发状态 变化。利用 Debug mstp rx 调试命令可以比较有效的分析出是否是由 于无法接收到 bpud 导致的。 如何查看 Show spannIng-tree 打印的信息 在 Mstp 模式下,我们以配置了两个 Instance 的生成树协议为例子讲解几 个比较关键和容易误解的信息 S5760#show spanning-tree StpVersion : MSTP 当前配置的生成树模式 SysStpStatus : ENABLED MaxAge : 20 HelloTime : 2 ForwardDelay : 15 BridgeMaxAge : 20 BridgeHelloTime : 2 52 BridgeForwardDelay : 15 MaxHops: 20 TxHoldCount : 3 PathCostMethod : Long BPDUGuard : Disabled BPDUFilter : Disabled ###### mst 0 vlans map : 1-99, 101-199, 201-299, 301-399, 401-4094 vlan 关联在 Instance0 上 BridgeAddr : 00d0.f822.33aa 本机的 mac 地址 Priority: 32768 TimeSinceTopologyChange : 0d:3h:45m:30s TopologyChanges : 0 DesignatedRoot : 8000.00d0.f822.33aa 所在域的根桥的 mac 地址 RootCost : 0 RootPort : 0 本机在 Instance0 中选择的根口,如果根桥是本机,则该值为 0 CistRegionRoot : 8000.00d0.f822.33aa Instance0 在本域内的根桥的 mac 地址 CistPathCost : 0 这里要特别注意 Instance 0 和其它 Instance 的显示信息有所区别, 这是由 Instance0 在 mstp 中的特殊作用决定的。因为 Instance0 除了 53 参与本域内的拓扑计算外,还必须参与整个交换网络的拓扑计算。当 网络中存在多个 mst 域的时候, Instance0 的 DesignatedRoo 信息就 会显示出差别了。 通常我们是利用该命令来察看生成树的宏观计算结果, 也就是确定根 桥的 mac 地址以及根口的位置。 如何查看 Show spannIng-tree Interface 显示的信息 同样在上面的配置下,我们以 gi0/24 显示的信息做讲解 S5760#show spanning-tree interface GigabitEthernet 0/24 PortAdmInPortFast : Disabled PortOperPortFast : Disabled PortAdmInLInkType : auto PortOperLInkType : poInt-to-poInt p2p 表示全双工,如果是 shared 则表示半双工 PortBPDUGuard : disable PortBPDUFilter : disable ###### MST 0 vlans mapped : 1 , 3-4094 PortState : forwardIng 当前端口在 Instance0 里面的转发状态 PortPriority : 128 PortDesignatedRoot : 8000.00d0.f822.3caa 该端口学习到的 Instance0 的总根桥(注意,不是域根桥) PortDesignatedCost : 0 PortDesignatedBridge : 8000.00d0.f822.3caa 该端口在 54 Instance0 中的上游网桥 PortDesignatedPort : 8018 该端口在 Instance0 中的上游端口, 该值共 16bit , 其中前四个 bit 表示上游端口的优先级 /16 ,后 12bit 表示上游端口的索引值, 他们都用 16 近制表示。 端口的索引值的查看请使用 Show Interface 命令查看。在例子里面该值就表示上游端口的优先级为十近制的 128 ,上游端口的索引值为十近制的 24 PortForwardTransitions : 2 PortAdmInPathCost : 200000 PortOperPathCost : 200000 PortRole : designatedPort 该端口在 Instance0 中的角色 ###### MST 1 vlans mapped : 2 PortState : forwardIng 该端口在 Instance1 中的转发状态 PortPriority : 128 PortDesignatedRoot : 0001.00d0.f822.3caa 该端口在 Instance1 中学习到的根桥 PortDesignatedCost : 0 PortDesignatedBridge : 0001.00d0.f822.3caa 该端口在 Instance1 中的上游根桥 PortDesignatedPort : 8018 PortForwardTransitions : 1 PortAdmInPathCost : 200000 PortOperPathCost : 200000 55 PortRole : designatedPort 该端口在 Instance1 中的角色 为什么有时修改路径值不会引起拓扑变更 假设 A , B 两台设备互联。 A 是根桥, 我们也可以将其称为 B 的上 游网桥。 此时 BPDU 是由 A 发向 B 的。 如果在 B 的端口上修改 端口的 Cost 值, 是不会引起 B 上的选路变化。必须在上游网桥的 端口上修改才有效果。 设备在不断清除 mac 地址是为什么 本机发生拓朴变化或者是网络中其它设备发生拓朴变化时就会清本机的 Mac 地址。典型的有: 本机有端口 up/down , 本机某些端口角色发 生变化了, 比如根口变成 Alternate 口,收到其它设备发送的 TCN 报 文或者是 TC BPDU TCN 和 TC BDPU 的说明 TCN 和 TC BPDU 是通告网络拓扑变化的两种报文,不同的是 TCN 只在 STP 模式下才能发送并且只向根口发送,其 BPDU 类型是 ox80 。 TC BPDU 也算是 Config BPDU ,类型都是 0x02 ,只不过此时报文 里面的 Flags 字段的 Topology Change 位被置成了 1 。 TC BPDU 可以在根口和 DesignatedPort 上发送。这两种报文的作用是一样的, 都是向其他设备通告网络拓扑变化, 其结果将导致报文的接收者清除 本机的 Mac 地址, 同时将这种拓扑信息通过根口或 DesignatedPort 56 口继续向网络扩散, 并最终引发全网的 Mac 地址清除操作。 清地址对网络通讯的影响有哪些 对于二层设备来说, 清地址对用户的通讯是没有影响的, 因为 mac 地址 删除后, 未知名单播报文是会被当做广播在 vlan 内泛洪的,不过对 设备的 CPU 会有一定的冲击,原因是设备必须重新学习 mac 地址。 对于三层设备来说,清 Mac 地址会导致 2-10 秒左右的三层转发的中 断 ( 这时因为三层转发功能需要延迟重学习 Arp) ,同时还伴有大量 的 Mac 地址学习 ( 三层设备通常是作为网关设备, 学习的 Mac 地 址相对较多 ) , 而当这种清除地址操作很频繁时就会严重影响用户的 网络通讯, 尤其是需要通过该设备进行三层转发的流将会中断。 TPP 功能对 SpannIng-Tree 的影响 RGNOS10.1 软件上开始提供的 TPP 功能能够在系统繁忙的情况下保持系 统拓扑的稳定性,避免一些因为系统繁忙引发的拓扑振荡甚至是环路 等问题。 TPP 绝大多数情况下是用在本机 CPU 利用率高, 内存不足, 或者是邻 居 CPU 利用率高,内存不足时,保证本机的生成树协议和 Vrrp 协议 稳定。因为这类系统繁忙情况下,容易引发系统处理 BPDU 延迟或发 送 BPDU 延迟,一旦这种繁忙的状况短时间内无法恢复, 就会引发 生成树协议因为 BPDU 消息老化而出现拓扑振荡, 这时将出现大量 57 的 Mac 地址清除操作以及网络环路问题,使得原本就已经繁忙的系统 更难恢复。 此时引入 TPP 协议后, 系统将有能力检测到这种情况并告知生成树协议 保持稳定。 TPP 功能默认是打开的(命令: topology guard ),使用 时要通过 cpu topology-limit 命令配置一个合理的 cpu 利用率阀值来 作为生成树保护的依据,当系统 CPU 利用率超过该值是 STP 将维持 当前的端口角色状态。 我们建议这个值在中偏上比较合适, 太小或 太大都比较有可能使得对当前系统是否繁忙的判断产生错误的判断。 4.2 ARP 4.2.1 ARP 简介 ARP (地址解析协议), 为 IP 地址到对应的硬件地址之间提供动态映射。 通常, S5760 上学习不到主机或其他交换机的 ARP ,可能是由于下 面几种原因造成: ARP 请求报文发送异常 ARP 响应报文接收异常 4.2.2 ARP 诊断思路 ARP( 地址解析协议 ) 提供从 IP 地址到对应硬件地址的动态映射。通常 情况下 ARP 故障诊断遵循从上至下诊断思路。 ARP 是否学习到, 通过 Show arp IP_ADDR 查看, 如果是可信 ARP , 58 则只能通过 Show arp Trusted 查看了。如果没有学到 ARP ,则 Show arp counter 查看 ARP 个数是否已经达到 ARP 容量上限。在 Debug arp 的情况下 Show arp counter 可以看到 ARP 及可信 ARP 的容量 上限。 值得注意的是, 如果支持可信 ARP 且全局模式下 Service trustedarp 打开, 将为可信 ARP 保留其容量大小的空间,对应的非 ARP 容量将减去对应大小空间。例如:如下所示, 非可信 ARP 容量 4k , 可信 ARP 容量 1k , 如果打开 Service Trustedarp , 将为 可信 ARP 保留 1k 容量, 则非可信 ARP 容量只能达到 4k – 1k = 3k 的大小。 可以通过全局模式下 Arp trusted 调整可信 ARP 的容量。 S5760#debug arp S3760#show arp counter ARP Limit: 4096 T_Arp Limit: 1024 The Arp Entry counter:1 The Unresolve Arp Entry:0 如果 ARP 未达到其容量,尝试打开 Debug arp 查看 ARP 模块是否有收到及过滤掉对应的报文。下面简单的介绍 一下 ARP 的调试信息。 ARP 存在一个统一的过滤打印接口,报文被 过滤掉时会打印操作的类型 ( 收到, 发送, 过滤 ) ,报文类型(请 求, 应答), 源 IP , 源 Mac , 目标 IP , 目标 Mac 及接口(收 到和过滤则打印源接口,发送则打印目标接口),如下所示: %7 : %IP-4-ARP : filterd request src 192.186.195.1 00d0.f8a6.5af7; dst 192.186.195.169 0000.0000.0000; Interface FastEthernet 0/1 更加具体的过滤打印有: 59 a , ARP 报文源接口状态检查是否 up , 例如在配置子接口的情况下主 接口不配置 IP 地址就可能出现主接口没有 up 但是有报文上来的情 况。报文被过滤会有如下打印: Ipv4Arp_NifStateTest fail-->dealed the pkt! b , 源 IP 及源 mac 和发现检查,源 IP 是否为全 0 , 多播, 广 播, 全网广播, 127 网段, mac 是否为多播等。提示如下: pkt->src_ip test failed--> free the pkt! c , 请求报文, 应答报文的源 IP 是否不属于收到接口网段,提 示如下: ARP Reply/Request source ip test failed--> free the pkt! d , 有关于 SuperVlan 应用,检查源 IP 是否不属于 SuperVlan IP ,提示如下: ARP : 1.1.1.1 is beyond the address-range of sub VLAN 2! e , VRRP 相关处理完相关报文,提示如下: Ipv4Arp_Vrrp_Deal--->dealed the pkt! f , ARP 代理处理完相关报文,提示如下: Ipv4Arp_ArpProxy_Deal--->dealed the pkt! g , 另外 IP 地址冲突(或者跟 VRRP 地址冲突),即便调试开关 没有打开也会有如下打印: %IP-4-DUPADDR3 : Duplicate address 1.1.1.1 on FastEthernet 0/1 , sourced by 00d0.fa00.d0fa 如果打开 Debug arp 没有显示收到相应的报文可以打开 Debug ip packet 60 及 Debug ip error 这两个网络层开关。如果报文到达网络层, Debug ip packet 能够打印相应的报文信息。如果网络层报文队列已满出现丢包 时, Debug ip error 能够看到相应的提示。 通过在报文入口抓包或者 Show 对应 Interface 的收包统计(报文流很小的 情况)来查看报文是否正确被接受和发送。在复杂的应用环境中可能 出现请求报文未能正确的发送,应答及路由不可达等都可以通过这一 步的核查查找出来。 实际环境情况可能更加复杂, 问题更加多样, 上面 ARP 故障诊断的基 本思路仅供参考,各个诊断步骤中的诊断手段也是多样的,不仅仅局 限提到的方式方法了。4.2.3 ARP 诊断示例 ARP 请求报文发送异常 1. 在特权用户层,打开 ARP 报文调试开关,确认 ARP 请求报文是否被 发送。 S5760#Debug arp 2. 查看端口统计是否已经发送 ARP 请求广播报文。 3. 如果现场条件允许,也可以通过端口出报文镜像来分析 ARP 请求报文 是否被正确的发送。 调试开关打开后,显示管理板发送和接收到的相关报文。 ARP 响应报文接收异常 1. 在特权用户层查看软件 ARP 表项中是否存在希望的 ARP 表项。 S5760#Show arp 2. 在特权用户层,打开 ARP 报文调试开关,确认是否接收到 ARP 相应 61 报文。 S5760#Debug arp 3. 如果已经接收到 ARP 报文,但没有生成 ARP 表项,属于故障。 4. 如果交换机没有接收到 ARP 报文,分析报文接收。打开报文接收调试 开关,确定 ARP 报文是否被接收。 5. 查看端口统计是否收到 ARP 应答报文。 6. 如果现场条件允许, 可以通过端口入报文镜像来分析是否接收到对端 发送的 ARP 响应报文。 4.3 OSPFv2 4.3.1 OSPFv2 简介 功能简介 OSPF 是由 IETF 的 IGP 工作组为 IP 网络开发的路由协议。 OSPF 作为 一种内部网关协议( Interior Gateway Protocol , IGP ),用于在同一 个自治域( AS )中的路由器之间发布路由信息。它是一种链路状态 协议,区别于距离矢量协议 (RIP) , OSPF 具有支持大型网络, 路 由收敛快, 占用网络资源少等优点, 在目前应用的路由协议中占有 相当重要的地位。 我司 OSPFV2 支持以下特性: 支持广播网络与点对点网络(配置为点对点的以太网接口)以及点 到多点网络。 支持的区间包括存根区间 (Stub) ,不完全存根区间 ( NSSA )。 支持虚拟连接。支持路由认证,认证方式可以选择文本 认证或者 MD5 加密认证。支持通过 Loopback 接口选择路由器 ID 。 62 支持路由重分发, 即能将一个 IP 路由协议的路由信息重新分配到另 一个协议, 比如:将通过 RIP 学习到的路由信息导入 OSPF ,或者 相反地, 将 OSPF 学习到的路由信息导入 RIP 。支持丰富的状态显 示命令和调试命令,方便用户进行诊断故障。 支持地址汇总和区域间 路由过滤。 缺省设置 网络接口 接口代价: 不预设接口代价 ;LSA 重传间隔: 5 秒 LSA 发送延迟: 1 秒 Hello 报文发送间隔: 10 秒 邻接路由器失效的时 间: Hello 报文发送间隔的四倍 优先级: 1 认证类型:无认证 认 证密码:无 区间 认证类型:无认证 ;进入 Stub 或 NSSA 区域的汇总路由的缺省 Metric : 1 网络范围:未定义 存根区间: 未定义 不完全存根区 间: 未定义 虚拟连接 未定义虚拟连接。 有关虚拟连接参数的缺省值: LSA 重传间 隔: 5 秒 LSA 发送延迟: 1 秒 Hello 报文发送间隔: 10 秒 邻接路由器失效的时间: Hello 报文发送间隔的四倍 认证类型:无 认证 认证密码:无 自动代价生成 打开 缺省的自动代价参考是 100 Mbps 缺省路由生成 关闭 如果打开则缺省使用的 Metric 是 1 ,类型是 type-2 缺省 Metric 重分发其他路由协议所使用的缺省 Metric 若配置重分发路由 63 的 Metric , 则为配置的 Metric , 缺省情况下, 重分发 BGP 的路 由 Metric 为 1 , 其他协议的路由为 20 管理距离 OSPF 缺省配置如下: 区间内路由信息: 110 区间间路由信息: 110 外部路由信息: 110 可通过 distance ospf 配置管理距离 数据库过滤 关闭,所有接口都可以接收状态更新信息 LSA 。 邻居变化日志记录 打开 邻居 无 邻居数据库过滤 关闭,输出的 LSA 发送到所有邻居; 区间 无 路由器 ID 未定义 路由汇总 未定义 状态更新信息调整时间 240 秒 最短路径优先算法定时器 收到拓扑改变信息到下一次开始调用 SPF 算 法计算的延迟时间: 5 秒 . 两次计算至少间隔的时间: 10 秒 . 确定到达自治系统外部网络的最优路径的规则 采用 RFC1583 规则 Ospf Trap 开关 关闭 常用监控命令 Show ip ospf 显示系统 ospf 的运行信息,包括协议启动时间, ospf 的 rOuter-id ,协 议运行参数等。 S3760#sh ip ospf ROutIng Process "ospf 1" with ID 192.26.10.22 64 Process uptime is 21 hours 12 mInutes Process bound to VRF default Conforms to RFC2328 , and RFC1583Compatibility flag is enabled Supports only sIngle TOS(TOS0) rOutes Supports opaque LSA Supports Graceful Restart SPF schedule delay 5 secs , Hold time between two SPFs 10 secs LsaGroupPacIng : 240 secs Number of IncommIng current DD exchange Neighbors 0/5 Number of OutgoIng current DD exchange Neighbors 0/5 Number of external LSA 0. Checksum 0x000000 Number of opaque AS LSA 0. Checksum 0x000000 Number of non-default external LSA 0 External LSA database is unlimited. Number of LSA origInated 0 Number of LSA received 0 Log Neighbor Adjency Changes : Enabled Number of areas attached to this rOuter : 1 Area 0 (BACKBONE) (Inactive) Number of Interfaces In this area is 0(2) Number of fully adjacent Neighbors In this area is 0 65 Area has no authentication SPF algorithm executed 0 times Number of LSA 0. Checksum 0x000000 Show ip ospf Interface Interface-name 显示接口的 ospf 配置信息及运行时状态, 如接口网络类型, 状态, 花 费, 优先级, 本网段的 DR/BDR 及接口相关配置参数等。 S3760# sh ip ospf Interface fastEthernet 0/1 FastEthernet 1/0 is down , lIne protocol is down Internet Address 192.186.5.1/24 , IfIndex 2 , Area 0.0.0.0 , MTU 1500 MatchIng Network config : 192.186.0.0/16 Process ID 1 , ROuter ID 192.26.10.22 , Network Type BROADCAST , Cost : 1 Transmit Delay is 1 sec , State Down , Priority 1 No designated rOuter on this Network No backup designated rOuter on this Network Timer Intervals configured , Hello 10 , Dead 40 , Wait 40 , Retransmit 5 Show ip ospf Neighbor 显示设备的所有邻居的信息及与邻居的关系。 66 S3760# show ip ospf Neighbor OSPF process 1 : Neighbor ID Pri State Dead Time Address Interface 192.186.1.2 1 Full/DR 00: 00: 35 192.186.1.2 FastEthernet 1/0 通过该命令可以查看与邻居的关系及邻居的状态, 当 OSPF 运行异 常时, 可以执行该命令以确定邻居关系是否正常, 一般情况下, 两台设 备之间达到 LSDB 同步的标志是邻居状态机达到 Full 状态。 Show ip ospf database 显示协议当前的链路状态数据库信息, 当路由计算相关发生异常时, 通 过该命令做更进一步分析。 S3760#sh ip ospf 1 database OSPF ROuter with ID (192.186.1.1) (Process ID 1) ROuter LInk States (Area 0.0.0.0) LInk ID ADV ROuter Age Seq# Checksum LInk-Count 12.12.12.12 12.12.12.12 760 0x8000000B 0xAB50 2 100.1.1.1 100.1.1.1 201 0x80000014 0x37B7 1 192.186.64.21 192.186.64.21 30 0x8000001C 0xAB88 1 Network LInk States (Area 0.0.0.0) LInk ID ADV ROuter Age Seq# Checksum 192.186.64.22 12.12.12.12 1803 0x800000 1A 0x4D2 Summary Net LInk States (Area 0.0.0.0) LInk ID ADV ROuter Age Seq# Checksum 33.33.33.33 192.186.64.21 13 0x80000001 0x35E3 常用调试命令 OSPF 调试信息用于显示 OSPF 运行时的动态信息, 当通过前面的静态信 息无法判断 OSPF 故障的原因时,我们可以通过打开 OSPF 调试开 67 关,通过观察 OSPF 动态运行信息,从而确定故障原因。主要的调试 命令如下: Debug ip ospf packet Hello 该调试命令用于显示 OSPF 的 Hello 报文的收发情况; Hello 报文用于发 现邻居,选择 DR/BDR ,为 OSPF 的基本协议报文。一般情况下, 通过 Show ip ospf neighbour 来查看是否与邻居设备建立邻居关系,若 出现错误,比如不能发现邻居,那就是 Hello 报文除了问题,通过打 开 Hello 报文的 Debug 开关,来进一步诊断失败的原因。有些情况, 还可以通过打开 detail (Debug ip ospf packet Hello detail) 开关,来查看 Hello 报文的详细信息,从而确定错误的原因,比如接口状态长时间处 于 waitIng 状态时,可以通过查看 Hello 报文中的 dr/bdr , 邻居列 表, 来进一步确定原因。 下面为相关调试信息的具体含义。 RECV[Hello] : From 192.186.2.1 via FastEthernet 1/0 : 192.186.1.2 : Interface is passive 当接口配置了被动模式时,接收到的 Hello 报文将被丢弃,产生此信 息。 RECV[Hello] : From 192.186.2.1 via FastEthernet 1/0 : 192.186.1.2 : HelloInterval mismatch 接收到的 Hello 报文的 HelloInterval 参数与本地接口的配置不一致。 RECV[Hello] : From 192.186.2.1 via FastEthernet 1/0 : 192.186.1.2 : ROuterDeadInterval mismatch 同上, ROuterDeadInterval 参数配置不一致。 68 RECV[Hello] : From 192.186.2.1 via FastEthernet 1/0 : 192.186.1.2 : Options mismatch : Local(*|-|-|-|-|-|E|-) <-> Nbr(*|-|-|-|N/P|-|E|-) Hello 报文中的选项字段与本接口所在区域支持的可选功能不匹配,一般属于配置错误 Debug ip ospf packet dd 该调试命令用于显示 OSPF 的 DD 报文的收发情况; 当出现邻居之间长期不能 Full 或者不停的在 ExChange 和 ExStart 间振荡等现象时, 可通过打开该 Debug 开关, 查看 DD 报文的收发状况。下面为相关调试信息的具体含义。 RECV[DD] : From 192.186.2.1 via FastEthernet 1/0 : 192.186.1.2 : Unknown Neighbor 当接收到的 DD 报文所对应的邻居设备还没有被本地识别时(即还没有通过 Hello 报文与该设备建立邻居关系, 这时会产生该错误信息。 该情况通常发生在修改 ROuterID 或者重启设备时或者发生单向 链路。 RECV[DD] : From From 192.186.2.1 via FastEthernet 1/0 : 192.186.1.2 : MTU size is too large (2000) 当 DD 报文中 MTU 值大于接收接口的 MTU 时,会产生该调试信息,可能是两边接口 MTU 不一致,这时会将 DD 报文丢弃,从而导致长时间不能协商一致,可以配置 MTU 忽略( ip ospf mtu-ignore ) 来避免此事件。 69 RECV[DD] : From 1.1.1.1 via FastEthernet 1/0 : 192.186.1.1 : Neighbor state is down , packet discarded 邻居状态不匹配,处于 down/Atempt 状态时,将丢弃 DD 报文 Debug ip ospf nfsm 该调试命令用于显示 OSPF 邻居状态机的运行状况,如邻居状态的改变等。 Debug ip ospf lsa 该调试命令用于显示协议运行过程中 LSA 相关信息,如 LSA 的刷新, 老 化, 删除, 生成等信息。 Debug ip ospf rOute 该调试命令用于显示协议运行过程中路由计算的具体过程, 如如何计算区 内路由, 如何计算区间路由,如何选择最优路径,如何生成最终的路 由表等。 4.3.2 OSPFv2 诊断思路 OSPF 是一个相当复杂的协议,因此在配置过程中出现错误是难免的,下面 给出一般的故障排除步骤: 1. 首先检查本地设备 OSPF 的基本配置正确与否。 OSPF 协议是否运行, 是否已具备正确的 ROuter-ID ,这些信息可以通过 Show ip ospf 查看。若 ROuter-ID 为 0 ,则应该配置 ROuter-ID , 通 过命令 rOuter ospf process-id 进入 OSPF 配置模式下,执行命令 rOuter-id X.X.X.X ,配置 ROuter-ID , 注意整个网络内的 ROuter-ID 应该是唯一的。 检查设备是否配置接口属于某个特定的区域, OSPF 正常运行需配置已 70 UP 的接口并定义于特定区域,使用命令 S3760(config-rOuter)# Network address wild-mask area area-id , 配置接口属于特定的区域, 通过 Show ip ospf Interface Interface-name 来确认是否配置成功。 2. 与邻居设备的交互关系是否正确。 OSPF 协议是一个分布式协议,它要求自治系统内的所有设备都能协调工 作,任意两台设备之间的故障都可能导致整个协议的运行失效。在保 证设备基本配置正确的情况下,我们需要确定, 设备与其邻居之间的 运行状态是否正确。 通过 Show ip ospf Neighbor 可以查看邻居关系是 否异常,通常情况下,邻居应处于 FULL 状态,对于 NBMA 和广播 网络中, DROther 之间为 2-Way 状态。下面为通常的检查步骤: 检查物理连接及下层协议正确性; OSPF 协议的报文收发需要下层协议支 持,报文的收发通过单播和多播两种形式来实现的,因此可通过 Ping 程序或者打开报文收发开关( Debug ip ospf packet )来确定下层协议 是否运行正常,报文收发是否正常。 检查设备双方的接口配置是否一致,, 在下层协议的正确性情况下,我们 还需要保证试图建立邻居关系的双方接口的配置是否正确, 这包括: 网路地址和掩码是否一致, 接口所属区域一致, HelloInterval , ROuterDeadInterval 配置一致,区域认证方式和接口认证方式及密码是 否一致。 不一致的参数会导致, 邻居无法建立邻居关系。 通过打开 Debug ip ospf packet 开关,可以显示详细的异常事件,有助于定位异 常原因。 设备双方区域属性是否一致;如某台设备上区域 A 配置为 Stub ,而另一 71 台区域 A 为普通区域,则导致双方在区域 A 无法正常建立邻居关系。 在广播网络和 NBMA 网络中,至少配置一台设备的该接口的 Priority 大 于 1 ;因为在 NBMA 网络和广播网络中,需要选举 DR ,而只有 Priority 大于 1 的设备才有能力参与选举, 因此必须满足该条件, 否 则网络中的设备将无法正常运行。 在接口模式下执行命令 ip ospf priority num 配置接口的优先级。 3. 区域规划是否正确。 OSPF 协议的区域概念使得 OSPF 可以应用于大型网络,这也给 OSPF 的 部署带来复杂度;下面是常见的区域规划: 当一个自治系统存在多个区域时, 应保证存在骨干区域, 且其他区域均 与骨干区域物理相连或逻辑相连,同时骨干区域自身应该是连通的; 不同设备的对应的区域属性应该一致,如区域认证方式,是否为 Stub 区域, 不一致性会导致 OSPF 运行异常 4.3.3 OSPFv2 诊断示例 邻居状态始终在 Exstart 和 Exchange 状态之间振荡 这时可以通过打开邻居双方的 DD 报文调试开关和 NFSM 调试开关, 查 看邻居状态机的运行情况, 可能的原因是一方 DD 报文中的 MTU 字段值太大而超出了邻居接口的 MTU 值,从而导致邻居总是丢弃 DD 报文,无法正常 Full 。 路由表中某条路由表项时通时断,不断振荡 这个原因可能有很多,常见的可能是: 72 网络中存在两相同 rOuter-id 的设备,从而导致 ROuter-LSA 不断刷新振 荡,从而导致路由表项振荡; 网络中是否存在两相同网络地址的网段, 这个时候可能造成 Network-LSA 不断振荡刷新,从而造成达到该网络的路由不断振荡。若以上都不是, 先通过 Show ip ospf database 确认路由振荡的根源 LSA , 并确认该 LSA 不断振荡的原因, 一般与该 LSA 的生成者有很大关系, 通过 检查该 LSA 的生成设备从而最终确定问题的根本原因。 LSA 数据库中存在某 AS-External-LSA ,但在路由表中不存在该 AS 外 部路由 首先通过 Show ip ospf database external 查看该 LSA 的详细内容,注意以 下几个字段: Age 字段是否为 3600 , 则该 LSA 已经老化,不再参与路由计算了 通过 Show ip ospf border-rOuters 确认该 LSA 的 AdvertisIng ROuter 是 否可达, 若不可达,则该 LSA 无效. 查看该 LSA 的 ForwardIng Address 值,若不为 0 ,则应该查看是否存在 到达该地址的 OSPF 路由,若不存在该 LSA 无法参与计算 OSPF 路 由 确认是否配置了 Distribute-list In 命令,而使某些 AS 外部 LSA 无法参与 路由计算 确认该 LSA 的 Metric 值是否超出 OSPF 的最大 Metric 值 0XFFFFFF ,若大于等于该值,则该 LSA 无效 4.4 OSPFv3 73 4.4.1 OSPFv3 简介 功能简介 OSPF 是由 IETF 的 IGP 工作组为 IP 网络开发的路由协议。 OSPF 作为 一种内部网关协议( Interior Gateway Protocol , IGP ),用于在同一 个自治域( AS )中的路由器之间发布路由信息。它是一种链路状态 协议,区别于距离矢量协议 (RIP) , OSPF 具有支持大型网络, 路 由收敛快, 占用网络资源少等优点, 在目前应用的路由协议中占有 相当重要的地位。 OSPFv3 协议是 OSPF 协议在 IPv6 协议栈中的应用,采用的了与 OSPFv2 相同的基本实现机制 —SPF 算法, 洪泛, DR 选举, 区 域, 邻居状态机, 接口状态机等等;对应的内容可参考 RFC 2328 ; OSPFv3 所扩展的内容, 在 RFC 2740 中有详细的描述; 我司 OSPFv3 支持以下特性 支持广播网络,点对点网络(配置为点对点的以太网接口), NBMA 与 点对多点网络 。 支持的区间包括存根区间 (Stub) 。 支持虚拟连接 。 路由器 ID 需要手动配置 。 支持路由重分发, 即能将一个 IP 路由协议的路由信息重新分配到另一个 协议, 比如将通过 RIPng 学习到的路由信息导入 OSPFv3 ,或者相 反地, 将 OSPFv3 学习到的路由信息导入 RIPng 缺省设置 74 网络接口 接口代价: 不预设接口代价 LSA 重传间隔: 5 秒 LSA 发送 延迟: 1 秒。Hello 报文发送间隔: 10 秒。邻接路由器失效的时间: Hello 报文发送间隔的四倍 。优先级: 1 。认证类型:无认证 。认 证密码:无 。 区间 认证类型:无认证 。进入 Stub 区域的汇总路由的缺省 Metric : 1 网络范围:未定义 。存根区间: 未定义 。不完全存根区间: 未定 义 。 虚拟连接 未定义虚拟连接。LSA 重传间隔: 5 秒 。LSA 发送延迟: 1 秒 。Hello 报文发送间隔: 10 秒 。邻接路由器失效的时间: Hello 报文发送间隔的四倍 。认证类型:无认证。认证密码:无。 自动代价生成 打开 。缺省的自动代价参考是 100 Mbps 。 缺省路由生成 关闭。如果打开则缺省使用的 Metric 是 1 ,类型是 type-2 缺省 Metric 重分发其他路由协议所使用的缺省 Metric。 管理距离 区间内路由信息: 110。区间间路由信息: 110 。外部路由信 息: 110 。 数据库过滤 关闭,所有接口都可以接收状态更新信息 LSA 。 邻居变化日志记录 打开 。 邻居 无。 邻居数据库过滤 关闭,输出的 LSA 发送到所有邻居; 区间 无。 路由器 ID 未定义。 路由汇总 未定义。 75 状态更新信息调整时间 240 秒。 最短路径优先算法定时器 收到拓扑改变信息到下一次开始调用 SPF 算法计算的延 迟时间: 5 秒。两次计算至少间隔的时间: 10 秒 。 确定到达自治系统外部网络的最优路径的规则 采用 RFC2328 规则,不 支持兼容 RFC 1583。 常用监控命令 Show ipv6 ospf [ process-id ] 显示系统 ospf 进程信息,包括 router-id , 协议运行参数等。 S3760# Show ipv6 ospf ROutIng Process "OSPFv3 (1)" with ID 1.1.1.1 Process uptime is 1 hour 22 mInutes SPF schedule delay 5 secs , Hold time between SPFs 10 secs MInimum LSA Interval 5 secs , MInimum LSA arrival 1 secs Number of IncommIng current DD exchange Neighbors 0/5 Number of OutgoIng current DD exchange Neighbors 0/5 Number of external LSA 0. Checksum Sum 0x0000 Number of AS-Scoped Unknown LSA 0 Number of LSA origInated 4 Number of LSA received 0 Log Neighbor Adjency Changes : Enabled Number of areas In this rOuter is 2 76 Area BACKBONE(0) Number of Interfaces In this area is 1(1) SPF algorithm executed 1 times Number of LSA 1. Checksum Sum 0x0F1C Number of Unknown LSA 0 Show ipv6 ospf [process-id] database [lsa-type] [adv-rOuter] 显示 OSPFv3 进程的 LSDB 信息。 可以查看 LSDB 的摘要信息,也可以 加指定的参数,来查看指定 LSA 的详细信息;可以通过本命令来查看 LSA 信息是否正确;下面的例子用于显示 OSPFv3 进程 LSDB 摘要 信息: S3760# Show ipv6 ospf database LInk-LSA (Interface FastEthernet 1/0) LInk State ID ADV ROuter Age Seq# CkSum Prefix 0.0.64.2 1.1.1.1 1448 0x80000003 0xb55d 0 ROuter-LSA (Area 0.0.0.0) LInk State ID ADV ROuter Age Seq# CkSum LInk 0.0.0.0 1.1.1.1 1448 0x80000003 0x0f1c 0 Show ipv6 ospf [process-id] Interface [if-name] 显示 OSPFv3 接口信息, 包括 Instance-id ,网络类型, Cost 值等等 S3760# Show ipv6 ospf Interface Interface ID 2 IPv6 Prefixes 77 fe80 :: 2d0 : 22ff : fe22 : 2223/64 (LInk-Local Address) OSPFv3 Process (1) , Area 0.0.0.1 , Instance ID 0 ROuter ID 1.1.1.1 , Network Type BROADCAST , Cost : 1 Transmit Delay is 1 sec , State DR , Priority 1 Designated ROuter (ID) 1.1.1.1 Interface Address fe80 :: 2d0 : 22ff : fe22 : 2223 No backup designated rOuter on this lInk Timer Interval configured , Hello 10 , Dead 40 , Wait 40 , Retransmit 5 Hello due In 00 : 00 : 11 Neighbor Count is 0 , Adjacent Neighbor count is 0 Show ipv6 ospf [process-id] Neighbor [if-name [detail] | nbr-id |detail] 显示 OSPFv3 进程邻居的信息,可以增加 detail 参数显示邻居的详细信 息。 S3760#Show ipv6 ospf Neighbor detail Neighbor 2.2.2.2 , Interface address fe80 :: 2d0 : f8ff : fe22 : 33aa In the area 0.0.0.1 via Interface FastEthernet 1/1 Neighbor priority is 1 , State is Full , 6 state changes DR is 2.2.2.2 BDR is 1.1.1.1 Options is 0x000013 (-|R|-|-|E|V6) Dead timer due In 00 : 00 : 32 78 Database Summary List 0 LInk State Request List 0 LInk State Retransmission List 0 Show ipv6 ospf [process-id] topology 显示 OSPFv3 进程拓扑信息。 S3760# Show ipv6 ospf topology OSPFv3 paths to Area (0.0.0.0) rOuters ROuter ID Bits Metric Next-Hop Interface 1.1.1.1 1 1.1.1.1 FastEthernet 1/1 2.2.2.2 EB -- OSPFv3 paths to Area (0.0.0.1) rOuters ROuter ID Bits Metric Next-Hop Interface 2.2.2.2 EB – Show ipv6 ospf [process-id] virtual-lInks 显示 OSPFv3 进程虚链接信息。 S3760# Show ipv6 ospf virtual-lInks Virtual LInk VLINK1 to rOuter 5.6.7.8 is up Transit area 0.0.0.1 via Interface eth0 , Instance ID 0 Local address 3ffe : 1234 : 1 :: 1/128 Remote address 3ffe : 5678 : 3 :: 1/128 Transmit Delay is 1 sec , State PoInt-To-PoInt , Timer Intervals configured , Hello 10 , Dead 40 , Wait 40 , Retransmit 5 Hello due In 00 : 00 : 01 79 Adjacency state Up 常用调试命令 Debug ipv6 ospf event [abr | asbr | os | rOuter | vlInk] :监控 OSPF 事件 Debug ipv6 ospf ifsm [status | events | timers] :监控接口状态机变化 Debug ipv6 ospf lsa [generate | floodIng | Install | maxage | refresh] :监控 lsa 事件 Debug ipv6 ospf nfsm [event | status | timers] :监控邻居状态机变化事件 Debug ipv6 ospf nsm [Interface | redistribute] :监控与 nsm 交互信息 Debug ipv6 ospf packet [Hello | dd | ls-request | ls-Update | ls-ack] :监控报文信息 Debug ipv6 ospf rOute [ase | ia | Install | spf | time] :监控路由计算信息 4.4.2 OSPFv3 诊断思路 1. 确认是否可以 Ping 通对端。 2. 确认邻居是否正确。 查看邻居状态是否已经达到 FULL 状态, 关联命令: Show ipv6 ospf Neighbor , 如果邻居无法进入 FULL 状态,根据如下配置进行检查。 1 , 观察接口命令配置是否正确,确认接口是否参与正确 OSPFv3 进程 关联命令: Show runnIng-config IFNAME 2 , 观察 OSPF 接口信息是否正确,要注意接口地址掩码 /Hello/dead/area-id 等参数 关联命令: Show ipv6 ospf Interface 3. 观察是否正确接收到邻居发来的报文。 80 关联命令: Debug ipv6 packet Debug ipv6 raw-socket Debug ipv6 ospf packet 4. 观察导致邻居不稳定的事件。 关联命令: Debug ipv6 ospf nfsm 5. 如果邻居正确,但路由表项同期望的不一致。 观察 LSA 信息是否正确, 观察对应的 LSA 是否正确, sequence-number 是否异常的变化; 关联命令: Show ipv6 ospf database [ ls-type ] , 观察本设备是否有到 达通告该 LSA 的设备; 关联命令: Show ipv6 ospf topology 观察是 SPF 计算是否正确关联命 令: Show ipv6 ospf多次查询,观察 SPF 计算次数是否增加。关联命 令: Debug ipv6 ospf rOute [spf|ia|ase] 。 4.5 VRRP 4.5.1 VRRP 简介 功能简介 VRRP (Virtual Router Redundancy Protocol) 是一种利用主备模式进行虚 拟路由器冗余备份的协议, 其主要功能是以保证当主设备发生故障 时, 备份设备可以在不影响内外数据通信的前提下进行功能切换,且 不需要再修改内部网络的参数。 VRRP 组内多个设备协同工作, 共同映射为一个虚拟设备。 VRRP 保证 同时有且只有一个设备在代表虚拟设备进行包的发送, 而主机则是把 81 数据包发向该虚拟设备, 由 VRRP 组中的主设备负责转发数据包。 当由于某种原因主设备发生故障时, 处于备份状态的设备自动被选择 来代替原来的主设备。 VRRP 使得局域网内的主机看上去只使用了一 个设备。 VRRP 报文是一类指定目的地址的组播报文, 该报文由主设备定时发出来 标志其运行正常, 同时该报文也用于选举主设备。 VRRP 允许为 IP 局域网承担路由转发功能的设备失效后,局域网中另外一个设备将自 动接管失效的设备,从而实现 IP 路由的热备份与容错, 同时也保证 了局域网内主机通讯的连续性和可靠性。 一个 VRRP 应用组通过多 台设备来实现冗余, 但是任何时候只有一台设备作为主设备来承担路 由转发功能, 其他的为备份设备, VRRP 应用组中不同设备间的切 换对局域网内的主机则是完全透明的。 运行 VRRP 协议后, VRRP 的缺省配置如下: 缺省设置 VRRP 广播发送间隔 1 秒 备份变成主状态的超时时间 3 秒 抢占模式 允许抢占 抢占延时 0 秒 优先级 100 (注:若是接口地址所有者,则为 255 ) 监视的接口 无 监视的主机地址 无 82 探测时间间隔(设置了监视时) 3 秒 探测超时时间(设置了监视时) 1 秒 优先级减值(设置了监视时) 10 验证字符串 无 VRRP 广播发送间隔学习功能 关闭 描述字符串 无 常用监控命令 Show vrrp 显示信息包括以太网口名称,接口 上设置的 VRRP 备份组 号,状态,优先级,抢占方式, VRRP 广告间隔, 虚拟 IP 地址, 虚 拟 MAC 地址, Master 路由设备 IP 地址, Master 路由设备优先级, Master 路由设备广告间隔, Master 路由设备失效判断间隔, 当前 VRRP 备份组监视的接口以及对应的优先级改变尺度。 Ruijie# Show vrrp FastEthernet 0/0 - Group 1 State is Backup Virtual IP address is 192.168.201.1 configured Virtual MAC address is 0000.5e00.0101 Advertisement interval is 3 sec Preemption is enabled min delay is 0 sec Priority is 100 Master Router is 192.168.201.213 , pritority is 120 83 Master Advertisement interval is 3 sec Master Down interval is 9 sec FastEthernet 0/0 - Group 2 State is Master Virtual IP address is 192.168.201.2 configured Virtual MAC address is 0000.5e00.0102 Advertisement interval is 3 sec Preemption is enabled min delay is 0 sec Priority is 120 Master Router is 192.168.201.217 (local), priority is 120 Master Advertisement interval is 3 sec Master Down interval is 9 sec Show vrrp brief 显示信息包括以太网口名称,接口 上设置的 VRRP 备 份组号,状态,优先级,抢占方式,虚拟 IP 地址, Master 路由设备 IP 地址。 Ruijie# Show vrrp brief Interface Grp Pri Time Own Pre State Master addr Group addr FastEthernet0/0 1 100 - - P Backup 192.168.201.213 192.168.201.1 FastEthernet0/0 2 120 - - P Master 192.168.201.217 84 192.168.201.2 Show vrrp interface显示信息包括指定的以太网口名称, 接口上设置的 VRRP 备份组号, 状态, 优先级,抢占方式, VRRP 广告间隔, 虚 拟 IP 地址, 虚拟 MAC 地址, Master 路由设备 IP 地址, Master 路由设备优先级, Master 路由设备广告间隔, Master 路由设备失效 判断间隔, 当前 VRRP 备份组监视的接口以及对应的优先级改变尺 度。 Ruijie# Show vrrp interface FastEthernet 0/0 FastEthernet 0/0 - Group 1 State is Backup Virtual IP address is 192.168.201.1 configured Virtual MAC address is 0000.5e00.0101 Advertisement interval is 3 sec Preemption is enabled min delay is 0 sec Priority is 100 Master Router is 192.168.201.213 , pritority is 120 Master Advertisement interval is 3 sec Master Down interval is 9 sec FastEthernet 0/0 - Group 2 State is Master 85 Virtual IP address is 192.168.201.2 configured Virtual MAC address is 0000.5e00.0102 Advertisement interval is 3 sec Preemption is enabled min delay is 0 sec Priority is 120 Master Router is 192.168.201.217 (local), priority is 120 Master Advertisement interval is 3 sec Master Down interval is 9 sec 常用调试命令 Debug vrrp errors 下面的显示信息表明接收到来自 192.168.201.213 针对 VRRP 组 1 的 VRRP 广告,在该广告中的虚拟 IP 地址 192.168.1.1 不存在于本地 VRRP 组 1 Ruijie# Debug vrrp error VRRP: Grp 1 Advertisement from 192.168.201.213 has invalid virtual address 192.168.1.1 VRRP: Grp 1 Advertisement from 192.168.201.213 has invalid virtual address 192.168.1.1 VRRP: Grp 1 Advertisement from 192.168.201.213 has invalid 86 virtual address 192.168.1.1 Debug vrrp events 命令 下面的显示信息表明本地 VRRP 组接收到的 VRRP 广告 (Advertisement) 中的优先级不低于本地优先级。 Ruijie# Debug vrrp events VRRP: Grp 1 Event - Advert higher or equal priority VRRP: Grp 1 Event - Advert higher or equal priority VRRP: Grp 1 Event - Advert higher or equal priority Debug vrrp packets 下面的显示信息表明本地 VRRP 组 2 正在发送 VRRP 广播, 其 VRRP 校验和为 0XDD4D 。 Ruijie# Debug vrrp packets VRRP: Grp 2 sending Advertisement checksum DD4D VRRP: Grp 2 sending Advertisement checksum DD4D VRRP: Grp 2 sending Advertisement checksum DD4D 下面的显示信息表明本地接收到来自 192.168.201.213 针对 VRRP 组 1 的 VRRP 广告,其优先级为 120 。 Ruijie# Debug vrrp packets VRRP: Grp 1 Advertisement priority 120, ipaddr 192.168.201.213 87 VRRP: Grp 1 Advertisement priority 120, ipaddr 192.168.201.213 VRRP: Grp 1 Advertisement priority 120, ipaddr 192.168.201.213 Debug vrrp state 下面的显示信息表明 Fastethernet 0/0 上的 VRRP 组状态在 Master , Backup 以及 Init 之间转换。 Ruijie# Debug vrrp state VRRP State Debugging is on %VRRP-6-STATECHANGE: FastEthernet 0/0 Grp 2 state Master -> Backup %VRRP-6-STATECHANGE: FastEthernet 0/0 Grp 2 state Backup -> Master Ruijie# config terminal Enter configuration commands, one per line. End with CNTL/Z. Ruijie(config)# interface fastethernet 0/0 Ruijie(config-if)# no shutdown Ruijie(config-if)# end %VRRP-6-STATECHANGE: FastEthernet 0/0 Grp 2 state Master -> Init 4.5.2 VRRP 诊断思路 88 VRRP 的如果出现故障可以通过考察配置以及调试信息来分析和解决, VRRP 故障定位 基本流程如下: 1. 确保 VRRP 的配置是否正确 2. 确认接口配置是否正确 3. 确认 ARP 和核心路由表中有虚拟 IP 的表项 4. 查看当前 CPU 利用率 5. 打开 VRRP 调试开关跟踪 4.5.3 VRRP 诊断示例 虚拟 IP 地址不可达 必须确保备份组内至少有一台路由设备处于活动状态 如果在其它网络设备上 Ping 虚拟 IP 地址不通则可能由于以下原因引 起 : 由 VRRP 状态的转换需要短暂时间这可以通过 Show vrrp 命令 考察 VRRP 信息来确认 如果本地网络设备与虚拟路由设备位于同一网段就需要考察本地网络设备 的 ARP 表中是否有虚拟 IP 地址的 ARP 项,如果没有就需要检查网 络线路 如果本地网络设备与虚拟路由设备不在同一网段则需要确认在本地网络设 备上是否有到虚拟 IP 地址的路由 同一个 VRRP 备份组内出现多个 Master 路由设备 同一 VRRP 备份组内各路由设备以太网接口上 VRRP 组验证模式 不同 89 同一 VRRP 备份组内各路由设备以太网接口上 VRRP 组验证模式 相同均为 明文密码模式,但是验证字符串不一致 同一 VRRP 备份组内存在路由设备的以太网口电缆断开,但是路由 设备未能检测到以太网口电缆已经断开 同一个 VRRP 备份组内路由设备上 VRRP 的广告发送间隔不一致, 并且未设置定时设备学习功能 同一个 VRRP 备份组内路由设备上 VRRP 的虚拟 IP 地址不一致 VRRP 备份组状态出现振荡,在主从状态间不停切换 VRRP 出现振荡,直接原因往往是备份设备未能在规定时间(备份变成主 状态的超时时间)内收到主设备的 VRRP 广播报文,于是自动切换为 主设备状态,之后又收到了该 VRRP 广播报文,重新切换回备份设备 状态,如此反复,导致出现振荡现象。还有可能是因为设置了监视的 接口或者主机是否可达时, 该接口的状态或主机路由出现振荡,导致 主设备的优先级降低(默认值为 10 ),若低于备份设备的优先级,且 设置了允许抢占, 便会被备份设备抢占, 之后监视的接口或主机重 新变为可达时, 该设备的优先级重新增加, 从而切换回主设备状态, 如此反复导致出现振荡。 这种情况出现的可能性很小,可以通过查看 VRRP 组的设置和监视的接口或主机的状态来排查。 第一种情况则可能是因为以下原因: 主设备 CPU 利用率过高, 3 秒钟(备份变成主状态的默认超时时 间) 内发不出 VRRP 广播报文,可以通过在主、从设备上查看 CPU 90 利用率来排查; 网络通信量太大,导致主设备发出的 VRRP 广播报文 3 秒钟以后 才到达备份设备,可以通过确认网络通信量来排查; 网络拓朴中出现 STP 振荡,可以通过查看网络设备的具体设置、分 析拓朴来排查。 4.6 DHCP 4.6.1 DHCP server 简介 功能简介 DHCP(Dynamic Host Configuration Protocol , 动态主机配置协议 ) 在 RFC 2131 中有详细的描述, DHCP 为互联网上主机提供配置参数。 DHCP 是基于 Client/Server 工作模式, DHCP 服务器为需要动态配 置的主机分配 IP 地址和提供主机配置参数。 DHCP 有三种机制分配 IP 地址: 自动分配, DHCP 给客户端分配永久性的 IP 地址; 动态分配, DHCP 给客户端分配过一段时间会过期的 IP 地址(或 者客户端可以主动释放该地址); 手工配置,由网络管理员给客户端指定 IP 地址。管理员可以通过 DHCP 将指定的 IP 地址发给客户端。 三种地址分配方式中,只有动态分配可以重复使用客户端不再需要的地址。 DHCP 消息的格式是基于 BOOTP(Bootstrap Protocol) 消息格式的,这就要 求设备具有 BOOTP 中继代理的功能,并能够与 BOOTP 客户端和 DHCP 服务器实现交互。 BOOTP 中继代理的功能, 使得没有必要在 91 每个物理网络都部署一个 DHCP 服务器。 RFC 951 和 RFC 1542 对 DHCP 协议进行了详细描述。 缺省配置 项目 缺省值 DHCP 客户端的缺省网关 没有设置 DNS 服务器 没有定义 客户端硬件地址 没有设置 缺省 ping 包数 2 Ping 包应答时间 500ms DHCP 地址池 没有定义 租约时间 1 天 WINS 服务器 没有定义 NetBIOS 节点类 没有定义 option 选项 无设置 常用监控命令 show dhcp lease 显示 DHCP 客户获得的租约信息。 如果没有定义 IP 地址, 将显示所有地址的绑定情况。如果定义了 IP 地址,将只显示 该 IP 地址的绑定情况。 Ruijie# show dhcp lease Temp IP addr: 192.168.5.71 for peer on Interface: FastEthernet0/0 Temp sub net mask: 255.255.255.0 DHCP Lease server: 192.168.5.70, state: 3 Bound 92 DHCP transaction id: 168F Lease: 600 secs, Renewal: 300 secs, Rebind: 525 secs Temp default-gateway addr: 192.168.5.1 Next timer fires after: 00:04:29 Retry count: 0 Client-ID: redgaint-00d0.f8fb.5740-Fa0/0 Show ip dhcp binding 显示 DHCP 地址绑定情况 Ip address 表示分 配给客户端的地址; hardware address 表示客户端的硬件地址; Lease expiration 表示离租期到期时间。 Infinite 表示没有时间限制; IDLE 表示当前空闲的地址,空前原因可能是过期没续祖或者 DHCP 客户端 主动释放。Type 地址绑定类型。 Automatic 表示自动分配; Manual 表 示手工分配。 Ruijie#show ip dhcp binding IP address Hardware address Lease expiration Type 10.0.0.1 00d0.f834.6231 0 days 23 hours 21 mins Automatic show ip dhcp server statistics 显示 DHCP 服务器的状态。 ruijie# show ip dhcp server statistics Address pools 4 <- 表示地址池个数 Automatic bindings 4 <- 自动地址绑定的数目 Manual bindings 0 <- 手工地址绑定的数目 Expired bindings 0 <- 过期地址绑定数目 Malformed messages 2 <-DHCP 接受到不正常报文的数 Message Received DHCP 服务器发送和接受的报文情况 93 BOOTREQUEST 216 DHCPDISCOVER 33 DHCPREQUEST 25 DHCPDECLINE 0 DHCPRELEASE 1 DHCPINFORM 150 Message Sent BOOTREPLY 16 DHCPOFFER 9 DHCPACK 7 DHCPNAK 0 常用调试命令 Debug ip dhcp server events 显示 dhcp 服务器分配地址的过程信息。 Oct 22 00:48:49 %7: dhcpd listen on udp port 67 Oct2200:48:49%7:recvmsg:dest_ip=255.255.255.255, rc_netif=VLAN1 , intf_index=4097,len=24 Oct 22 00:48:49 %7: recvmsg:l2_index = 1 Oct 22 00:48:49 %7: recv dhcp packet from 0.0.0.0(4097), len=321 Oct 22 00:48:49 %7: dhcp packet process, from 0.0.0.0. Oct 22 00:48:49 %7: message type = Discover// 服务器收到 Discover 报文 Oct 22 00:48:49 %7: [dhcpdiscover]new lease greated, offer address is 94 1.1.1.4 Oct 22 00:48:50 %7: send dhcp ping check result for 1.1.1.4, staus 1 over Oct 22 00:48:50 %7: message type = Discover Oct 22 00:48:50 %7: [dhcpdiscover]Try to find current lease again!! Oct 22 00:48:50 %7: [dhcpdiscover]ping for 1.1.1.4, pass! Oct 22 00:48:50 %7: [dhcp_send_packet]from.sin_addr = 0.0.0.0 Oct 22 00:48:50 %7: send dhcp packet to 255.255.255.255, len=316, ret =316 Oct 22 00:49:10 %7: dhcpd listen on udp port 67 Oct22 00:49:10 %7: recvmsg:dest_ip=255.255.255.255,src_netif=VLAN 1,intf_index=4097,len=24 Oct 22 00:49:10 %7: recvmsg:l2_index = 1 Oct 22 00:49:10 %7: recv dhcp packet from 1.1.1.4(4097), len=320 Oct 22 00:49:10 %7: dhcp packet process, from 1.1.1.4. Oct 22 00:49:10 %7: message type = Inform Oct 22 00:49:10 %7: make ack success, send packet Oct 22 00:49:10 %7: [dhcp_send_packet]from.sin_addr = 1.1.1.4 Oct 22 00:49:10 %7: send dhcp packet to 255.255.255.255, len=300, ret =300 Debug ip dhcp server packet 显示 DHCP claint 和 server 之间交互过程 的报文处理情况。 95 Ruijie#Sep 8 14:32:50 %7: Packet type : DHCP Request Ruijie#Sep 8 14:32:50 %7: op = 1 htype = 1 hlen = 6 hops = 0 Sep 8 14:32:50 %7: xid = 2ef04bf secs = 0 flags = 8000 Sep 8 14:32:50 %7: ciaddr = 0.0.0.0 Sep 8 14:32:50 %7: yiaddr = 0.0.0.0 Sep 8 14:32:50 %7: siaddr = 0.0.0.0 Sep 8 14:32:50 %7: giaddr = 0.0.0.0 Sep 8 14:32:50 %7: chaddr = 00:d0:f8:34:62:31 Sep 8 14:32:50 %7: filename = Sep 8 14:32:50 %7: server_name = //DHCP Request 报文的过程。 Sep 8 14:33:30 %7: Packet type : DHCP Discover Sep 8 14:33:30 %7: op = 1 htype = 1 hlen = 6 hops = 0 Sep 8 14:33:30 %7: xid = 2f05c58 secs = 0 flags = 8000 Sep 8 14:33:30 %7: ciaddr = 0.0.0.0 Sep 8 14:33:30 %7: yiaddr = 0.0.0.0 Sep 8 14:33:30 %7: siaddr = 0.0.0.0 Sep 8 14:33:30 %7: giaddr = 0.0.0.0 Sep 8 14:33:30 %7: chaddr = 00:d0:f8:34:62:31 Sep 8 14:33:30 %7: filename = Sep 8 14:33:30 %7: server_name = // DHCP Discover 报文的过程。 96 Sep 8 14:33:31 %7: Packet type : DHCP Offer Sep 8 14:33:31 %7: op = 2 htype = 1 hlen = 6 hops = 0 Sep 8 14:33:31 %7: xid = 2f05c58 secs = 0 flags = 8000 Sep 8 14:33:31 %7: ciaddr = 0.0.0.0 Sep 8 14:33:31 %7: yiaddr = 10.0.0.1 Sep 8 14:33:31 %7: siaddr = 0.0.0.0 Sep 8 14:33:31 %7: giaddr = 0.0.0.0 Sep 8 14:33:31 %7: chaddr = 00:d0:f8:34:62:31 Sep 8 14:33:31 %7: filename = Sep 8 14:33:31 %7: server_name = // DHCP Offer 报文的过程。 Sep 8 14:33:43 %7: [make_ack]message type = 3 Sep 8 14:33:43 %7: Packet type : DHCP Ack Sep 8 14:33:43 %7: op = 2 htype = 1 hlen = 6 hops = 0 Sep 8 14:33:43 %7: xid = 2f05c58 secs = 0 flags = 8000 Sep 8 14:33:43 %7: ciaddr = 0.0.0.0 Sep 8 14:33:43 %7: yiaddr = 10.0.0.1 Sep 8 14:33:43 %7: siaddr = 0.0.0.0 Sep 8 14:33:43 %7: giaddr = 0.0.0.0 Sep 8 14:33:43 %7: chaddr = 00:d0:f8:34:62:31 Sep 8 14:33:43 %7: filename = Sep 8 14:33:43 %7: server_name = 97 // DHCP Ack 报文的过程。 Sep 8 14:33:51 %7: Packet type : DHCP Inform Sep 8 14:33:51 %7: op = 1 htype = 1 hlen = 6 hops = 0 Sep 8 14:33:51 %7: xid = 2f05c58 secs = 1000 flags = 8000 Sep 8 14:33:51 %7: ciaddr = 10.0.0.1 Sep 8 14:33:51 %7: yiaddr = 0.0.0.0 Sep 8 14:33:51 %7: siaddr = 0.0.0.0 Sep 8 14:33:51 %7: giaddr = 0.0.0.0 Sep 8 14:33:51 %7: chaddr = 00:d0:f8:34:62:31 Sep 8 14:33:51 %7: filename = Sep 8 14:33:51 %7: server_name = // DHCP Inform 报文的过程 4.6.2 DHCP server 诊断思路 DHCP 的如果出现故障可以通过考察配置以及调试信息来分析和解决, DHCP 故障定位基本流程如下: 1. 确保 DHCP 的配置是否正确 2. 确认是否开启了 dhcp 服务功能 3. 确认能 ping 通服务器(做 dhcp 中继) 4. 静态指定 ip 地址,确认能否 ping 通网关 5. 打开 DHCP 调试开关跟踪服务器的工作情况 98
/
本文档为【RG-S5760 系列交换机运行维护与故障排查 前言 本文针对 RG-S5760 &#46;&#46;&#46;】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索