Chinaunix首页 | 论坛 | 博客
  • 博客访问: 55179
  • 博文数量: 73
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 425
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-05 15:44
文章分类
文章存档

2015年(73)

我的朋友

分类: LINUX

2015-01-14 12:21:54

linux系统内核UDP丢包原因分析

1、UDP校验和错误

现象:可以用netstat -su 查看到有UDP错包。

tcpdump捕包,在wireshark打开捕获的udp报文,开启校验和选项,有错包。

方案:查找链路故障    

2、防火墙开启

现象:特定端口的包收不到

方案:使用service iptables stop关闭。

3、rp_filter开启

现象:tcpdump有包,协议栈收不到。某个地址发送的包一个包都收不到,而另一地只发过来的没问题。

方案:将/etc/sysctl.conf中rp_filter设为0。

参见:

校验包的源地址与其网卡地址的开关,防止IP欺骗,linux 2.6.32默认开启。

4、应用程序性能问题,缓冲区满。

现象:应用断断续续能收到UDP包。

方案:使用vmstat和top发现cpu或IO过载。增大缓冲区,优化程序

  • 本文来自:
阅读(614) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~