数据包接收失败,校验失败的问题
1. Background。最近再写vpn的过程中遇到了一些貌似很离奇的现象,接收方socket无法收到数据包,但使用wireshark和tcpdump都能收到包。一开始有点匪夷所思,后来发现是UDP和TCP校验和的问题,发送方发出的数据包的校验和就是错误的。
2. analysis。首先介绍个工具 ethtool ,通过这个工具可以查看网卡的一些信息,并可以进行网卡功能的设置。
3. method。解决办法很简单,就是关掉发送端的 tx-checksumming,这样将校验和计算的任务由内核来做。