前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >流量丢包如何定位解决?

流量丢包如何定位解决?

作者头像
网络工程师笔记
发布于 2021-05-17 07:53:42
发布于 2021-05-17 07:53:42
3.4K00
代码可运行
举报
运行总次数:0
代码可运行

后台回复“网络工程师”获取计算机网络资料

1 故障现象

丢包率是衡量网络质量的指标之一,可是我们在网络中经常会遇到数据丢包的问题,平时生活中我们看视频发现有卡顿画面不清晰的是否很大一部分原因是丢包了,那么如何解决网络丢包问题呢?

2 常见故障原因

  • 物理层原因——端口down、端口流量超过接口带宽、传输介质问题;
  • 数据链路层原因——STP环路、广播风暴、vlan透传配置问题等;
  • 网络层原因——路由配置问题、路由震荡等;

3 故障处理方式

可以参考以下步骤进行定位(请保存操作记录):

步骤1: 检查物理链路问题;

检查物理连线是否存在松动、接触不良、线缆故障等现象。

执行命令display interface ,查看字段Last physical up timeLast physical down time,通过端口up/down的时间,来判断端口是否存在闪断现象。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<HUAWEI> display interface 10ge 1/0/1
10GE1/0/1 current state : UP (ifindex: 12)                                      
Line protocol current state : UP                                                
Description:                                                                    
Route Port,The Maximum Transmit Unit is 1500,The Maximum Frame Length is 9216   
Internet protocol processing : disabled                                         
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 0019-7459-3301 
Port Mode:             AUTO,     Port Split/Aggregate:         DISABLE
Speed:                 AUTO,     Loopback:                        NONE
Duplex:                FULL,     Negotiation:                        -
Input Flow-control: DISABLE,     Output Flow-control:          DISABLE
Mdi:                      -,     Fec:                                -
Last physical up time   : 2013-10-29 10:01:46                                   
Last physical down time : 2013-10-29 10:00:53                                   
Current system time: 2013-10-29 10:03:38

如果物理链路状态异常,请更换物理链路线缆。

步骤2:检查流量是否超过接口带宽;

执行命令display interface brief | include up,查看端口进来的流量和出去的流量是否达到100%来判断是否超带宽。

如果流量超宽,请增加负载分担链路或者增大接口速率转发流量。

步骤3:检查是否存在STP导致接口阻塞;

通过执行命令行display stp brief,查看接口是否阻塞。如果转发接口STP状态是discardinglearning,请检查网络中是否存在环路。

步骤4:检查是否存在环路导致广播风暴;

检查MAC漂移记录,注意move-ports通常是环路上端口或者指向环的端口。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<HUAWEI> display mac-address flapping
Mac-address Flapping Configurations :
-------------------------------------------------------------------------------
  Flapping detection          : Enable
  Aging  time(s)              : 300
  Quit-vlan Recover time(m)   : --
  Exclude vlan-list           : --
-------------------------------------------------------------------------------
S  : start time    E  : end time    (D) : error down
-------------------------------------------------------------------------------
Time                  VLAN MAC-Address    Original-Port  Move-Ports     MoveNum
-------------------------------------------------------------------------------
S:2014-05-26 15:06:13 1    0000-c10b-0102 10GE4/0/20     10GE4/0/1      47598  
E:2014-05-26 15:15:45                                    10GE4/0/0      

-------------------------------------------------------------------------------
Total items on slot 3: 1

-------------------------------------------------------------------------------
Time                  VLAN MAC-Address    Original-Port  Move-Ports     MoveNum
-------------------------------------------------------------------------------
S:2014-05-26 15:06:13 1    0000-c10b-0102 10GE4/0/20     10GE4/0/1      65535  
E:2014-05-26 15:15:46                                    10GE4/0/0      

-------------------------------------------------------------------------------
Total items on slot 4: 1

说明:当有如上回显时,表示存在MAC漂移。如果存在MAC漂移,请查找MAC漂移的根源并解决。

步骤5:检查路由信息是否正确;

1、执行命令display ip routing-table statisticsdisplay ip routing-table all-vpn-instance statistics,查看字段Summary Prefixes,计算两者统计之和是否超规格。

如果超出规格,请更换高规格单板。

2、执行命令display ip routing-table [ vpn-instance vpn-instance-name ] ip-address [ mask | mask-length ],查看路由表中的下一跳和出端口信息是否正确。

诊断视图下执行命令display fei ipv4 route-entry slot slot-id dst-ip ip-address查看下发的路由前缀信息是否正确,如果不正确,请检查配置是否存在问题。

步骤6:检查ARP信息是否正确;

执行命令display arp | include ip-address,查看ARP是否学到。

如果ARP没有学习到,一般有以下可能性:

1、执行命令display arp statistics,查看ARP数量是否超规格。

<HUAWEI> display arp statistics

Dynamic: 207 (Resolved : 207 Incomplete: 0) Static: 1 OpenFlow: 0

如果ARP数量超出规格,请更换高规格单板(在CE12800&12800E系列交换机中可以切换ARP模式)。

2、执行命令display cpu-defend statisticspacket-type arp slotslot-id,查看是否有大量ARP报文被丢弃,来判断是否存在ARP攻击。

<HUAWEI> display cpu-defend statistics packet-type arp slot 1/1

Statistics(packets) on slot 1/1 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
--------------------------------------------------------------------------------                                                    
PacketType               Total Passed        Total Dropped   Last Dropping Time                                                     
                    Last 5 Min Passed   Last 5 Min Dropped                                                                          
--------------------------------------------------------------------------------                                                    
arp                            132775                 6117   2015-12-09 21:05                                                       
                                  169                    0                                                                          
--------------------------------------------------------------------------------

如果存在ARP攻击,可以攻击溯源查找,采取惩罚措施。

4 总结

如何解决丢包的问题呢? 第一种是物理层的问题,可能是接口链路的问题,流量是否超过接口带宽; 第二种是数据链路层的问题,确认是否存在二层环路导致广播风暴; 第三种网络层的问题,确认是否存在路由配置问题,是否存在ARP表项错误; 在处理流量丢包时,大家可以按照这个思路解决问题。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络工程师笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
从 vue3 和 vite 源码中,我学到了一行代码统一规范团队包管理器的神器
我们项目开发时,常需要安装依赖,虽说一般用文档可以说明。但不是比较强制的约束。是人就容易犯错或者疏忽,假如规定是用的npm,而团队里有人某一天不小心使用了其他包管理器安装了的其他依赖,上传了代码,严重时可能导致线上问题。所以我们需要借助工具(代码)来强制约束。
若川
2021/12/01
1.3K0
从 vue3 和 vite 源码中,我学到了一行代码统一规范团队包管理器的神器
yarn -- 新型包管理器
随着nodejs的出现,另外两个东西也进入了前端大众的视野–CommonJS规范、node 包管理器。
用户1394570
2018/08/08
6530
NPM - Node Package Manager - Node 包管理器
NPM - Node Package Manager - Node 包管理器 NPM 是什么? npm(全称Node Package Manager,即node包管理器)是Node.js默认的、以JavaScript编写的软件包管理系统。 npm 官方网站 npm 官方文档 一般当我们说npm的时候可能指3件事 NPM 网站:https://www.npmjs.com/ NPM 包管理库,存储了大量的JavaScript代码库 NPM 客户端,我们所使用的npm命令行工具。使用JavaScript开发的基于
eadela
2020/02/12
1.2K0
JavaScript 包管理器
npm、yarn、pnpm 都是现代化的 JavaScript 包管理器,它们的异同如下:
yiyun
2023/05/18
1.1K0
JavaScript 包管理器
Node.js 包管理器 NPM 讲解
包管理器又称软件包管理系统,它是在电脑中自动安装、配制、卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用。对于我们业务开发也很受益,相同的东西不必重复去造轮子。
五月君
2019/08/13
1.5K0
lerna 包管理器
Lerna 是一种工具,针对 使用 git 和 npm 管理多软件包代码仓库的工作流程进行优化。 多包管理器 安装 npm i lerna -g 命令 init 项目初始化 lerna init // 默认初始化 lerna init --independent // 使用独立版本模式 lerna init --exact init 生成目录 packages/ // 默认包目录 package.json lerna.json // lerna 配置 bootstrap 为所有包安装依赖
copy_left
2020/10/27
1.5K0
尤雨溪推荐神器 ni ,能替代 npm/yarn/pnpm ?简单好用!源码揭秘!
想学源码,极力推荐之前我写的《学习源码整体架构系列》 包含jQuery、underscore、lodash、vuex、sentry、axios、redux、koa、vue-devtools、vuex4、koa-compose、vue-next-release、vue-this、create-vue等十余篇源码文章。
若川
2021/11/10
2.3K3
你真的知道 NPM、Yarn 与 PNPM 这三个前端包管理器之间的区别吗?
在当代的Web开发过程中,JavaScript项目的构建离不开各种外部依赖,无论是实用的库、辅助工具还是其他类型的资源。这些依赖项的管理,已经成为了开发者日常不可或缺的一部分。NPM、Yarn和PNPM这三个包管理器,就像是开发者的得力助手,它们在项目开发中扮演着至关重要的角色。本文将带你一探究竟,了解这些工具的魅力所在,并帮助你选择适合自己项目的包管理器。
前端达人
2024/04/12
4.8K0
你真的知道 NPM、Yarn 与 PNPM 这三个前端包管理器之间的区别吗?
Vue 3.2 发布了,那尤雨溪是怎么发布 Vue.js 的?
之前写的《学习源码整体架构系列》 包含jQuery、underscore、lodash、vuex、sentry、axios、redux、koa、vue-devtools、vuex4十篇源码文章。
若川
2021/09/07
1.5K0
Node.js包管理器Yarn的入门介绍与安装
FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. 就在前不久, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm 。咱虽然是个半桶水的咸鱼前端,不过也得跟上 Javascript 这股潮 (hong) 流 (huang) 的脚步,所以便有了下面这篇文章。大概的浅尝了一下这个自称是又快又可信赖又安全的包管理,所以写的内容不会很详细,更多的可能只是针对这个全新的包管理与 npm 的不同之处来对比。也可能有些地方写得不对,如果有的
用户1174387
2018/01/17
1.7K0
Node.js包管理器Yarn的入门介绍与安装
包管理工具
前端的包管理工具相信大家一定不会陌生,因为每天都需要跟他打交道,新项目或者刚拉下来的前端项目都需要去 install 依赖进行包的依赖安装,大家最熟悉的应该就是 npm 了,或者国内的 npm 镜像包 cnpm ,大家熟称为淘宝镜像
离殊
2022/04/01
2.8K0
包管理工具
Vue团队核心成员开发的39行小工具 install-pkg 安装包,值得一学!
本文仓库 https://github.com/lxchuan12/install-pkg-analysis.git,求个star^_^[1]
若川
2021/12/13
8280
硅谷甄选运营平台
此次教学课程为硅谷甄选运营平台项目,包含运营平台项目模板从0到1开发,以及数据大屏幕、权限等业务。
小城故事
2024/08/24
1760
关于现代包管理器的深度思考——为什么现在我更推荐 pnpm 而不是 npm/yarn?
很长时间没有更新原创文章了,但是还一直在思考和沉淀当中,后面公众号会更频繁地输出一些前端工程相关的干货,希望对大家有一些启发,也希望在实际的工作当中帮助大家提升效率。
用户3806669
2021/03/10
3.2K0
VueCLI3如何更改安装时的包管理器为yarn或npm
在执行 vue create project 后如果显示如下 npm run serve 则表示你使用的是npm创建的项目。
smy
2018/12/24
1.9K0
NuGet程序包管理器
 开发过程中几乎不可避免地要使用第三方包,当然可以不用包管理器。对于开源的项目可以直接引用源文件,预先构建好了的库也可以直接引用dll。但是用nuget之类的包管理器可以更方便地进行管理,比如最基本的安装、更新、卸载功能可以直接通过命令行或者IDE来操作。
鱼找水需要时间
2024/03/18
1860
NuGet程序包管理器
使用腾讯云提供的针对Nuget包管理器的缓存加速服务
继阿里巴巴开源镜像站(https://opsx.alibaba.com/)、华为云镜像站点(https://mirrors.huaweicloud.com/ )之后,腾讯也已于近日上线了类似的服务,官方名称为腾讯云软件源(Tencent Open Source Mirror Site),为国内开发者提供新的软件镜像源选择[https://mp.weixin.qq.com/s/T43MZSDiN04EdgirBif1GQ]。与国内其他同类服务相似,此开源镜像站提供了主流的Linux发行版安装镜像下载以及软件源镜像,还有几大语言程序包的仓库服务,比如Node.js的npm仓库和Python的pip仓库以及dotnet的nuget 仓库。Nuget 镜像地址是(https://mirrors.cloud.tencent.com/nuget/)。
张善友
2019/07/29
3.9K0
使用腾讯云提供的针对Nuget包管理器的缓存加速服务
记录一次切换包管理器引发的血案
我们现在的项目统一用 yarn 进行包管理,之前有一个旧项目之前使用的是 npm 进行管理。于是我决定切换一下。
GopalFeng
2022/08/01
4940
记录一次切换包管理器引发的血案
前端包管理工具与配置项
任何一个项目的构建离不开工具和统一的管理标准,在项目开发和维护过程中,我们需要了解安装包的相应工具和配置文件,以此来有效的进行项目的迭代和版本的更新,为项目提供基本的运行环境。
程序员海军
2023/11/07
5700
最高性能的包管理器-pnpm
每一个文件都有一个唯一的 inode,它包含文件的元信息,在访问文件时,对应的元信息会被 copy 到内存去实现文件的访问。
GopalFeng
2022/08/01
1.7K0
最高性能的包管理器-pnpm
推荐阅读
相关推荐
从 vue3 和 vite 源码中,我学到了一行代码统一规范团队包管理器的神器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验