`

一次udp包错误的分析经历

 
阅读更多

前一段学了个命令netstat -su,拿着没事乱看服务器udp包的统计数据,发现某几台server的udp包错误率相当高,于是开始了这次分析之旅.

一般的netstat -su显示出来的* packets receive error,都是因为某个程序无法或无力完全处理udp包,导致系统udp buffer满了,然后内核开始丢弃数据包. 当然也有可能是系统的buffer size设的过小.可以用sysctl -a | grep mem查看一下系统的buffer size先.

确认不是系统配置问题以后,开始乱找程序原因.用tcpdump -i eth0 udp和tcpdump -i eth1 udp抓抓包,没啥发现,没经验啊.去网上转了一大-----大圈,最后用netstat -ulnp发现竟然是syslogd阻塞了.好大的不处理的RECV-Q.tcpdump -i lo udp.刷屏了.找着元凶:haproxy.神奇的是,haproxy往syslog传的包,明明走的127.0.0.1,系统syslog都不接受处理.在/etc/sysconfig/syslog的启动参数里加上-r以后可处理包.最后在haproxy的配置文件里配置上log level.搞定.

 

分享到:
评论

相关推荐

    TCP&UDP测试工具

    当两个设备通过TCP通信时,它们会经历三次握手建立连接,然后可以双向传输数据,最后通过四次挥手断开连接。TCP适用于需要高可靠性的应用,如网页浏览、电子邮件和文件传输。 相比之下,UDP(用户数据报协议)是一...

    基于UDP通信协议的设计与实现

    - **系统开销小、速度快**:相比TCP协议,UDP不需经历三次握手建立连接的过程,减少了通信延时,适用于实时性要求高的应用场景。 - **基于帧的通信更为直接有效**:对于大多数基于消息包传递的应用程序而言,UDP的无...

    delphi语言udp屏幕广播台湾人的

    标题 "Delphi语言UDP屏幕广播台湾人的" 描述了一个使用Delphi编程语言实现的UDP(User Datagram Protocol)屏幕广播程序,特别针对台湾地区的用户。...对于初学者,理解这些概念并实践优化将是一次宝贵的编程学习经历。

    TCP UDPSocket调试工具2.3 TCP UDPSocket调试工具2.3

    3. 错误检测和分析,如丢包、乱序等现象的记录和提示。 4. 数据包捕获和解析,支持查看TCP/UDP头部信息。 5. 支持多线程和并发连接,模拟大规模网络通信场景。 6. 可能还包含日志记录功能,便于事后分析和调试。 ...

    TCPUDPdebug 工具

    当两个设备之间建立TCP连接时,会经历三次握手过程,确保双方都能正常通信。TCP通过序列号和确认应答机制来保证数据的正确接收,同时,通过超时重传和滑动窗口机制来实现流量控制和拥塞避免。 UDP则是一种无连接的...

    W5500 配套资料.zip

    5. TCP通信:TCP连接需要经历三次握手过程,建立连接后,可进行双向数据传输。TCP提供了可靠的数据传输,包括错误检测和重传机制。STM32通过W5500发送和接收TCP数据段,进行连接管理。 6. 服务器端和客户端编程:...

    YY协议源码

    **YY协议源码详解** 在IT行业中,协议是通信的基础,它们定义了数据在网络中传输的格式和规则。...对于希望深入研究网络通信或特定协议实现的开发者来说,研究这样的源码无疑是一次宝贵的学习经历。

    16340211_王广浩_个人报告1

    【个人报告1】——CS通信系统开发经验与学习心得 ...每一次失败都是通往成功的垫脚石,只有通过实践才能真正掌握知识,提高技能。未来,我将继续努力,不断提升自己在IT领域的专业素养,为实现更多创新的项目做好准备。

    RTD2270程序源码.zip_*rtd*_RTD2207程序源码_RTD2270_RTD2270*_RTD2270源码

    RTD2270程序源码.zip文件是一个包含与RTD2270相关的源代码的压缩包。RTD(Real-Time Data)通常指的是在计算机系统中处理和传输实时数据的技术,...如果你对这个领域感兴趣,深入研究这个源码将是一次极好的学习经历。

    OurMsg2源码

    【描述】中提到,lanmsg 已经演进为 ourmsg,这表明该项目经历了一次重大的更新和改进。"绝对不容错过"暗示了OurMsg可能包含了许多新功能和优化,对研究或开发同类产品的人具有很高的参考价值。同时,"如需完整,则...

    Java语言程序设计 进阶篇 原书第8版

    Java以其“一次编写,到处运行”的跨平台特性著称,由Sun Microsystems公司于1995年推出。 接下来,“进阶篇”这一描述表明这本书是为已经有一定Java基础的读者准备的,可能包含更深入的概念和高级特性,例如多线程...

    sctp源码(freebsd7.0)

    SCTP(Stream Control Transmission Protocol,流控制传输协议)是一种面向连接、可靠的数据传输协议,设计...无论是为了学术研究、软件开发还是系统维护,深入研究FreeBSD7.0中的SCTP源码都将是一次宝贵的学习经历。

    西南大学研究生复试题目 计算机网络(10年)

    它提供了一种全双工的服务,确保数据包按序到达,并且能够处理丢包重传等问题。 - **UDP**是一种无连接、不可靠的传输协议。它不保证数据包的顺序到达,也不进行错误校验。因此,UDP具有较低的延迟和更高的传输效率...

    C++聊天程序

    在TCP中,数据传输前会经历三次握手建立连接,确保数据的可靠传输,包括顺序、错误检测和重传机制。在聊天程序中,客户端会通过TCP连接与服务器建立联系,发送和接收消息。 在“Client”这个文件中,可能包含了...

    空白封包集合

    总的来说,"空白封包集合"可能是一个包含游戏自动化任务或脚本的数据集,对于开发者和高级玩家来说,研究这些封包可以帮助他们更深入地了解游戏的运行机制,甚至进行二次开发或个性化定制。而SPT文件格式的详细信息...

    网络编程 课堂资料

    同时,熟悉网络相关的工具,如Wireshark抓包分析,对于理解和调试网络程序非常有帮助。 总之,网络编程是一门涉及广泛的技术,涵盖了从底层协议到高层应用的众多知识。这份课堂资料将带你一步步探索这个领域,掌握...

    计算机网络第五版答案

    TCP是一种面向连接的协议,确保数据的可靠传输,通过三次握手建立连接,四次挥手断开连接,具有流量控制和拥塞控制机制。 #### 互联网协议(IP) IP负责在网络层寻址和路由数据包,是互联网的基础协议,分为IPv4和...

    2021-2022计算机二级等级考试试题及答案No.9223.docx

    - 重复遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。 - 每一遍遍历都会将当前最大的元素“冒泡”到最后的位置。 ### 文本编辑器的保存功能 - **知识点**: 文本编辑器(如记事本、...

    java经典面试题

    - Survivor:经历了一次或多次垃圾收集的对象移动到这里。 - 老年代:经过多次垃圾收集仍然存活的对象会被移动到这里。 3. **对象创建方法**: - 使用 `new` 关键字创建对象。 - 调用类的构造函数。 - 对象的...

Global site tag (gtag.js) - Google Analytics