首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux 系统 UDP 问题分析思路

如果有少量的很可能是预期的行为,比如率(数量/接收报文数量)在万分之一甚至更低。...Linux 系统 linux 系统的原因很多,常见的有:UDP 报文错误、防火墙、UDP buffer size 不足、系统负载过高等,这里对这些原因进行分析。...如果遇到比率非常大的情况,请先检查防火墙规则,保证防火墙没有主动 drop UDP 报文。 UDP buffer size 不足 linux 系统在接收报文之后,会把报文保存到缓存区中。...因为缓存区的大小是有限的,如果出现 UDP 报文过大(超过缓存区大小或者 MTU 大小)、接收到报文的速率太快,都可能导致 linux 因为缓存满而直接的情况。...另外一个因素是应用读取 buffer 中报文的速度,对于应用程序来说,处理报文应该采取异步的方式 丢在什么地方 想要详细了解 linux 系统在执行哪个函数时的话,可以使用 dropwatch 工具

14.7K31
您找到你想要的搜索结果了吗?
是的
没有找到

linux 系统 UDP 问题分析思路

最近工作中遇到某个服务器应用程序 UDP ,在排查过程中查阅了很多资料,总结出来这篇文章,供更多人参考。 在开始之前,我们先用一张图解释 linux 系统接收网络报文的过程。...Linux 系统 linux 系统的原因很多,常见的有:UDP 报文错误、防火墙、UDP buffer size 不足、系统负载过高等,这里对这些原因进行分析。...如果遇到比率非常大的情况,请先检查防火墙规则,保证防火墙没有主动 drop UDP 报文。 UDP buffer size 不足 linux 系统在接收报文之后,会把报文保存到缓存区中。...因为缓存区的大小是有限的,如果出现 UDP 报文过大(超过缓存区大小或者 MTU 大小)、接收到报文的速率太快,都可能导致 linux 因为缓存满而直接的情况。...另外一个因素是应用读取 buffer 中报文的速度,对于应用程序来说,处理报文应该采取异步的方式 丢在什么地方 想要详细了解 linux 系统在执行哪个函数时的话,可以使用 dropwatch 工具

6.8K42

模拟测试

今天,帮客户调试一个FreeSWITCH媒体问题,需要模拟测试一下。 首先,FreeSWITCH在公网上,客户端在NAT环境中。我们先用客户端呼叫9196。呼通后可以听到自己的回音。...FreeSWITCH解决这类NAT问题的办法就是等待客户端给它发送RTP。收到后便能“学习”到客户端的外网IP地址和端口号。...Auto Changing port from 192.168.7.6:50432 to 112.238.196.224:50432 好了,知道了客户端的IP和端口以后,我们就可以用iptables模拟包了...表示,所有发往IP 112.238.196.224和端口50432的,8%的直接丢掉不发。 上面的例子是模拟FreeSWITCH发送时。...在实际使用中,有时也会模拟FreeSWITCH接收端,可以用类似如下的命令来实现: iptables -A INPUT -p udp —src 112.238.196.224 —sport 50432

2.5K21

如何在 Linux 系统下进行网络排查?

一、前言在 Linux 系统下,是一个较为常见的问题。由于导致的网络问题可能会给用户带来不好的体验,因此解决 Linux 网络问题是必不可少的。...本文将介绍如何在 Linux 系统下进行网络排查。二、了解 TCP/IP 协议栈在排查网络问题之前,我们需要先了解一些基础知识,比如 TCP/IP 协议栈。...了解 TCP/IP 协议栈能够帮助我们更好地理解网络数据传输的过程,也方便我们在排查网络问题时进行针对性分析。三、了解 Linux 网络设备在 Linux 系统下,网络设备被视为文件。...ifconfig图片四、使用 ping 排查网络问题ping 是一种常用的网络工具,它可以测试两台主机之间的连通性。当我们通过 ping 发现出现网络时,我们需要确定是哪一层出现了问题。...在 TCP 连接中,可能会导致连接关闭。在 UDP 中,可能会导致数据丢失或乱序。可以使用 telnet 命令测试 TCP 连接。telnet 命令可以测试远程主机端口的连通性。

4.4K10

HCIE数通排错思路。

HCIE面试中有一道项目题,网络中发生行为的排查思路和具体实施方法: 回答总体思路: 1、 先确定是否发生以及哪些设备访问的时候会发生; 当发现设备访问某一网段时有,可以先在多台设备上去...ping 目的网段的周围的多个网段(类似于诊断六那样),用于确定是何种流量还是所有流量都会; 如果是具体一种流量的话可以确定为做了路由策略或者策略路由(类似诊断六,带源不能通,不带源就行)...; 如果是多种流量都,造成的原因就可能很多,物理层、数据链路层、网络层以及策略路由都有可能; 2、判断位置; 方法有两种: 第一种:使用 ping 和 tracert 一段一段测试,先 ping...网关,然后是网关的下一跳,一直到目的地址,或者用 tracert 跟踪可以确定具体在哪一跳;这种方法简单,但较为粗糙一些,因为可能是间歇性的,需要多次ping 和tracert,测试多次。...如果端口a入方向和端口b 出方向 Passed 计数大致相等,说明此处无

2.8K42

WebRTC重传大解密

目录 概述 NACK 问题一、数据真丢了,会一直重传吗? 问题二、重传次数不到最大限制次数,就会一直等待吗? 问题三、当大量时,会全部重传吗?...概述 WebRTC之所以可以优秀的完成音视频通讯,和它本身的重传机制是密不可分的,今天我们就来看看其中的奥秘。 本文以M76版本展开,如果你的工程是基于其他版本开发的,也可以参考。...NACK 说到重传就不得不提到NACK技术,那么NACK是什么呢。...ACK表示通知对方我收到了你发给我的数据,NACK表示通知对方我没有收到你发给我的数据。 那么问题来了,为什么会导致对方明明发送了响应的数据,而我没有收到呢?...问题三、当大量时,会全部重传吗? 答案是否定的。因为WebRTC不仅限制了重传的次数,而且还限制了重传的个数。WebRTC每次要求重传的个数默认是1000个。

3.4K20

记一次分析

笔者当场就吃惊了,明明局域网内通信,为何视频有10%的。 ?...于是笔者赶紧一波Google操作,搜索到的原因无外乎以下几种: 防火墙 UDP buffer size不足 系统负载过高 应用内 首先可以排除掉第一种和第三种,由于是在本机虚拟机测试,防火墙肯定全关...很明显,FreeSWITCH已经将发出了,但是抓中却没有。可以排除应用内包了。 分析到这里,貌似只有“UDP buffer size不足”这个原因比较可疑了。...分析到这里,笔者开始怀疑,是不是通话根本没有,但是tcpdump由于自己的原因没有抓到,因此“显示的”。 不知道大家在抓结束后,有没有观察过tcpdump的输出。反正笔者是从来没有注意过。...经过测试,wireshark确实没有“”了。 ? ? tcpdump默认的buffer大小为2MB,这对于抓取视频来说远远不够,因此,加上-B很有必要。

3.2K30

交换机问题定位

诊断工具 display工具 二层转发故障 定位思路 定位步骤 三层单播转发故障 定位思路 定位步骤 诊断工具 display命令行 ? 二层转发故障 定位思路 ?...第一步:判定设备 1.根据流量转发路径,在流量的入接口和出接口分别配置流量统计。 ? 2.查看入接口和出接口的流量统计,以确认是否在本设备产生。...如果出接口流量统计值与入接口流量统计值相等,则说明非本设备;如果出接口流量统计值小于入接口流量统计值,则本设备。 ?...三层单播转发故障 定位思路 ? 第一步:确认点 确认是否交换机产生,依然采用流量统计的方法,参见“二层转发”流量统计相关部分,此处不再赘述。...第三步:检查端口和链路 第四步:检查出端口是否存在拥塞 第三步、第四步与“二层转发”相关部分一致,此处不再赘述。

4.1K20

vpp遇到接口如何解决?

源码:/src/plugins 二、VPP统计分析 下面我们言归正传,介绍VPP的统计分析。 在show interface 统计接口流量的时候,应该关注哪些统计字段呢?...在dpdk插件中统计字段的描述如下所示:vpp/src/plugins/dpdk/device/format.c 其中 tx 方向的:tx errors ;rx 方向的 rx missed 分别对应了...)、tx error(发送侧; 在对以上三个统计量进行展开介绍之前有必要介绍一下DPDK对数据的处理流程。...如何解决问题: imissed 收 如上所述imissed表示从网卡到内存写入数据时的个数,因此需要从以下2个方面进行调试: 1、判读PCIe是否存在瓶颈 因为报文从网卡到系统是经过PCIe...虚拟机中不支持查询 实际物理机中查询情况 其次:分析程序处理代码瓶颈处,优化算法实现 该部分具体问题具体分析!

3.2K10

人工智能,不许网络再

率为0.1%的传统以太网中,我们生活安然,并无不适。而现在,人工智能(AI)带来的数据量激增改变了这一切。 那些以太网曾经看来微不足道的“苟且”开始变得如鲠在喉,它让人们越来越无法忍受。...一项实测支持的业务观察显示,因为AI业务带动的数据量高速增长,0.1%的以太网率会导致AI的计算力损失约50%——面向AI,在计算和存储领域已经取得突破之后,这一现实让网络设备供应商感受到了前所未有的压力...针对这一问题,华为网络产品线总裁胡克文认为,面向AI的未来,网络设备应该做到“强制性”的零。 每家ICT厂商都是努力做着同一件事情,生产出这类适应AI需求的网络设备,全球范围概莫能外。...CloudEngine 16800发布现场 这款业界首款面向AI时代的计算中心交换机,可以借助其实时学习训练能力和独创的iLossLess智能无损交换算法,在以太网中实现零包机制,并实现流量模型的自适应自优化...和解决问题一样,华为将问题“交还”给了AI,期待自动驾驶网络能够彻底改变运维人员面对的窘境。

1.6K20

​内核调试技巧--systemtap定位原因

作者:wqiangwang,腾讯 TEG 后台开发工程师 内核收发包,可能会由于backlog队列满、内存不足、校验失败、特性开关如rpf、路由不可达、端口未监听等等因素将丢弃。...在内核里面,数据对应一个叫做skb(sk_buff结构)。当发生如上等原因时,内核会调用***kfree_skb***把这个释放(丢掉)。...builtin_return_address(0)记录下了调用kfree_skb的函数地址并传给location参数,因此可以利用systemtap kernel.trace来跟踪kfree_skb获取函数...考虑到该函数可能调用了子函数,子函数继续调用子子函数,如此递归。为了揪出最深层的函数,本文通过举例几个包场景,来概述一种通用方法,来定位原因及精确行号。...总结,精确定位行的方法: 1、 drop_watch先定位函数。 2、 使用pp()定位行。必要的时候,编写一些脚本,直接抄写内核代码或者调用stap库就可以了。 3、 递归重复步骤1和2。

3.5K30

记一次网络故障

BTW:关于Linux内核参数的介绍请参考我以前写的:记一次TIME_WAIT网络故障。...本例中最终的效果图大致如下所示: 通过wireshark分析tcpdump结果 黑色一看就有问题,果断搜索:TCP Dup ACK,TCP Out-Of-Order,结果发现此类问题基本都意味着网络状况不好,推测网络可能存在...如何判断网络是否存在呢?非常简单,通过常用的「ping」命令即可: shell> ping -f 关于其中的「-f」选项,在手册中是这样解释的: Flood ping....如果网络存在,那么会呈现出一长串不断增加的点,简单易用,童叟无欺。 … 最终确认了网络确实存在。因为数据后会重新发送,所以导致网络延迟。进而表现出HTTP请求响应卡住的现象。...总算抓住了真凶,对一个山寨的OPS来说,问题分析到这里就算差不多了,至于为什么会的问题,可能是网线的问题,也可能是网卡的问题,还可能是带宽的问题,等等等等,这些就留给真正的OPS去折腾吧。

1.5K20
领券