S7700交换机组网部分终端上不了网故障排查

本案例是多年之前遇到的一个真实故障处理过程,之后回想整个过程觉得比较有意思,因此将故障排查记录下来,现在将其分享出来,在其中隐藏了部分敏感信息。由于当时主要是做华为的服务,客户报的故障为S7700交换机的问题,因此本故障排查之初即在于S7700交换机。往往客户报的故障只是一个现象,而该现象又往往具有不确定性,因此我们需要认真的去分析网络环境,以及数据流走向,抓往一个故障点,突破一个故障面的问题。
一、问题描述

            两台S7700交换机配置VRRP,所有的流量主要走S3700、主S7700交换机、主H3C路由器上行至省分行,组网情况如下:


故障现象:部分终端访问省分行的服务器特别慢,而同网段的其他终端访问又正常。
备注:客户反馈的故障是某客户端有的时候访问某些服务慢,有的时候又正常,现象比较模糊。
二、处理过程
对此问题的分析,选择了几个特定的地址进行测试,选择的地址如下:
测试服务器地址:11.X.17.1
测试客户端IP地址分别为11.X.161.104(异常)以及11.X.161.106(正常)。
两台测试用的客户端连接在S3700,网关位于S7700交换机,服务器位于上级单位。
1.首先抓取了两台S7700以及S3700交换机的配置分析,配置正确;
2.在两台客户机上tracert 11.X.17.1服务器地址,路径一致;
3.在两台客户机上ping 11.X.17.1服务器地址,均可以正常的ping通,有时11.X.161.104的延时会明显大于11.X.161.106;
4.在两台客户机同时通过http访问11.X.17.1服务器,11.X.161.104无法打开网页,11.X.161.106正常;
5.将备S7700交换机关机,故障现象消除,两台客户端均可以通过http正常访问服务器;
6.将两台客户的IP地址对调,发现故障跟随IP地址走。
由于VRRP的主在主S7700交换机,流量上行走主链路到达服务器,通过上面的测试猜测报文在回包的时候被丢到了备S7700交换机。
7.在主S7700交换机以及备S7700交换机的上行接口同时抓包,发现如下的现象:
a. 主S7700交换机G3/0/12接口同时抓取到了两台客户端ping服务器、http访问服务器的报文;
b. 备S7700交换机G3/0/12接口只抓到客户端的icmp reply报文,无任何请求报文, 并且出现大量的TCP重传,备交换机的抓包截图如下:

由此可以明确数据上行的时候全部走的主链路、数据包回程的时候部分流量走到了备交换机,交换机本身只做数据包的转发。通过分析网络结构,怀疑出现此现象的原因在H3C路由器及其以上的链路、上级机构路由器回程路由存在问题。继续做如下测试:
8.将备H3C路由器关机,网络正常;
9.将备H3C路由器上行链路断开,只保留主H3C路由器上行链路,故障恢复;
10.将主H3C路由器上行链路断开,只保留备H3C路由器上行链路,故障复现;
同时现场了解到的情况,备H3C路由器上行接口带宽为2M线路,客户的网络结构为主备,而不是负载,因此理论上讲备线路上不应该有回程报文,同时即使回程报文进行了负载,那么当数据全部走备线路回应的时候应该也是正常的,而实际上只有备线路仍然存在故障。综合上面的测试得出如下的结论:
1.华为交换机S7700只根据上下行设备转发过来的数据进行转发,在该网络环境中工作正常;
2.上级单位的设备在处理报文的回程转发时存在异常,需要协调上级单位进行排查;
3.备H3C路由器的上行线路存在问题需要进一步排查。
三、根因

1.省分行的下联路由器到市分行的路由选路存在问题;

2.联通的线路存在问题。
四、解决方案

1.在省分行调整选路;

2.联通的线路带宽不够,增加带宽。
五、建议与总结
对于这类网络涉及面较大的问题建议理清故障现象,从一个故障现象找到突破口;从一个突破口再扩展到整网的排查。

原文地址:http://blog.51cto.com/9652359/2106103

时间: 2025-01-05 03:56:20

S7700交换机组网部分终端上不了网故障排查的相关文章

2、终端上包的生成及发送出电脑的过程

本章是'网络是怎么连接的--读后感'第二章 前言 本章是系列博客的第二章:第一章讲数据发送的场景:第二章主要讲叙消息是如何发送出去的. 实现需求 消息发送出去需要四部 创建套接字: 连接服务器建立管道: 接收数据: 与服务器断开连接并删除套接字: IP与以太网在包收发过程中的作用: 数据包转换成电/光信号发送: 补充:UDP协议如何进行包的收发操作. 正文 第一章介绍了数据传输的的场景:本章讲结合第五章具体阐述在用户端电脑及服务器上数据是如何收发的.在浏览器上http协议通过解析用户输入网址获得

如何在putty终端上打开图形化管理工具

有时候需要在putty这样的图形终端中打开图形化的管理工具会出现下面的错误: [[email protected] ~]# Traceback (most recent call last): File "/usr/share/virt-manager/virt-manager.py", line 383, in <module> main() File "/usr/share/virt-manager/virt-manager.py", line 28

如何清空其他终端上的屏幕

用这种方法可以对同事进行恶作剧 在UNIX系统中,终端的标准输出被映射成了/dev/中的文件了,而clear清除屏幕的方法是通过TERMINFO查询终端的清除键序列,然后输出该键序列到标准输出中. 因此,若终端类型一致,且用户具有对/dev/tty文件的写权限的话,可以通过clear>/dev/tty来实现清空其他终端上内容 who |grep darksun       # darksun  pts/6   9月24 20时2   (10.8.201.68)  clear >/dev/pts

iOS开发中,怎么打包为ipa格式的软件包以及怎么安装到手机终端上

iOS开发中,怎么打包为ipa格式的软件包以及怎么安装到手机终端上. (我的开发环境为Xcode6.1.1 ) 作为个人开发者(当然我的开发者帐号为个人开发者帐号,而不是企业开发者帐号),对于自己来说,我们只需要真机调试就可以将应用安装到自己的手机上:如果你在发布前想给更多的测试或朋友使用你的APP(关键是他们并不在你的身边,如果在你的身边,你当然可以通过真机调试一个一个的将应用安装到他们的手机上:此时你的APP还没有上线,Appstore还没有),你该怎么做呢?想想吧! 在开发者中心中,你可能

Linux学习_随笔:输出重定向 &gt; log,由于print打印的内容过多,linux终端上显示不出完全信息

在调试代码的时候,我们时常借助print语句来进行调试.但有时,由于打印的内容过多,linux终端上显示不出完全信息. 1.此时我们可以借助命令:./test > log 或者是 ./test >> log 这样就把所有正确的信息都打印到log中,不正确的信息会打印到终端上. 注解: (1)> 是定向输出到文件,如果文件不存在,就创建文件:如果文件存在,就将其清空:一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节): (

SecureCRT终端上编写hbase shell脚本,无法使用删除键的解决方案

一.描述 在SecureCRT终端上远程连接Linux系统,并且使用hbase shell脚本进行分布式数据库操作,但是无法使用删除键修改输入错误的脚本. 二.解决方案 第一步:在SecureCRT的菜单栏选择"选项"按钮,在弹出的选项中选择"会话选项": 第二步:在弹出的对话框中选择左侧的"终端",再选择"仿真",在右侧终端的选择中选择"Linux": 第三步:在左侧选择"仿真"-&g

Java 字符终端上获取输入三种方式

http://blog.csdn.net/hongweigg/article/details/14448731 在Java 字符终端上获取输入有三种方式: 1.java.lang.System.in (目前JDK版本均支持) 2.java.util.Scanner (JDK版本>=1.5) 3.java.io.Console(JDK版本>=1.6),特色:能不回显密码字符 package com.srie.chapter01; import java.io.BufferedReader; im

终端上传ipa方法

概述 Xcode 11 取消了application Loader 上传ipa工具,只能通过xcode 归档upload 包文件,如果还需上传ipa 功能可以通过终端上传. 1. 验证包命令 xcrun altool --validate-app -f 包路径.ipa -t ios --apiKey xxxxxxx --apiIssuer xxxxxxx --verbose 2. 上传包命令 xcrun altool --upload-app -f 包路径.ipa -t ios --apiKey

centos 上不了网了

昨天还用的好好的,今天就上不了网了,郁闷,不过,正好是一次学习linux网络配置的好机会,这会已经把它折腾好了,此文就是在linux下面的浏览器中写的! 先检查一下虚拟机中的网络设置是否正常,由于我的本机系统使用的是windows2008,所以只能使用桥接方式来使虚拟机上网了. 再来看看 edit-> virtual network editor...  (并不是我的英语好,而是虚拟机上的英文我翻译不过来,所以就老实一点,照着人家的写吧) 把其它的都删除了,就留下了一个VMnet0,而且还是使用