服务器网络问题分析之丢包

一、关于 ethtool

  • 获取设备信息及诊断信息

  • 获取设备统计数据

  • 控制因特网设备速率(speed)、全双工(duplex)、自动协商(autonegotiation)、流控(flow control)

  • 控制 checksum offload 及其它设备 offload

  • 控制 DMA ring sizes 及中断 moderation

  • multiqueue 设备的接收队列选择

  • 闪存固件升级

二、丢包查看

ifconfig:

 

或:cat /proc/net/dev

三、error 查看:

ethtool -S  eth0 | grep errors

 

根据相应的错误进行处理。

四、关于ring buffer:

网络数据传输:数据帧传输,由网卡读取并放入设备缓冲区ring buffer,当网络数据包到达的速率快于内核处理的速率时,ring buffer很快会被填满,新来的数据包将被丢弃。

查看 ring buffer 设置:ethtool -g eth0:

设置 ring buffer :ethtool -G eth0 rx 新值。

五、关于 netdev_max_backlog:

netdev_max_backlog是内核从网卡收到数据包后,交由协议栈(如IP、TCP)处理之前的缓冲队列。每个CPU核都有一个backlog队列,当协议栈处理速度满足不了接收包速率时会发生丢包。

查看数据处理情况:/proc/net/softnet_stat

行:一行代表一个cpu

列:第一列为接收的总包数;第二列为由于溢出丢弃的包数。

查看当前 netdev_max_backlog:cat /proc/sys/net/core/netdev_max_backlog

设置netdev_max_backlog:sysctl -w net.core.netdev_max_backlog=4096 或者 echo "4096"  > /proc/sys/net/core/netdev_max_backlog

六、关于 rp_filter 反向路由过滤导致丢包:

反向路由过滤机制是Linux通过反向路由查询,检查收到的数据包源IP是否可路由(Loose mode)、是否最佳路由(Strict mode),如果没有通过验证,则丢弃数据包,设计的目的是防范IP地址欺骗攻击。rp_filter提供了三种模式供配置:

0 - 不验证

1 - RFC3704定义的严格模式:对每个收到的数据包,查询反向路由,如果数据包入口和反向路由出口不一致,则不通过

2 - RFC3704定义的松散模式:对每个收到的数据包,查询反向路由,如果任何接口都不可达,则不通过

查看设置:cat /proc/sys/net/ipv4/conf/eth0/rp_filter

设置:所有不验证:sysctl -w net.ipv4.conf.all.rp_filter=0 | 网卡eth0不验证:sysctl -w net.ipv4.conf.eth0.rp_filter=2

七、关于 tcp_max_syn_backlog 半连接队列:

TCP传输中服务器收到SYN包但还未完成三次握手的连接队列,服务器保持的半连接数超过tcp_max_syn_backlog,则丢弃新包。

查看:/proc/sys/net/ipv4/tcp_max_syn_backlog

设置:sysctl -w net.ipv4.tcp_max_syn_backlog=xxxxx

查看是否有丢弃情况:dmesg | grep "TCP: drop open request from"

查看队列使用情况(查询SYN_RECV状态):netstat -ant|grep SYN_RECV|wc -l

八、附加订阅

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

windwant

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值