确定是否使用boost.asio计算UDP校验和
Determine if UDP Checksum is Computed using Boost.Asio
我确实找到了其他一些相关问题,但实际上没有给我答案。
我正在将boost.asio与ip :: udp :: socket(http://www.boost.org/doc/libs/1_57_0/doc/doc/html/boost_asio/reference.html)
)来自此页面:http://en.wikipedia.org/wiki/user_datagram_protocol#ipv4_pseudo_header:它指出UDP校验和使用IPv4可选。
查看https://www.rfc-editor.org/rfc/rfc768,似乎通常只有启用调试时才是这种情况?
另请参阅:http://www.boost.org/doc/libs/1_57_0/doc/html/boost_asio/reference/basic_datagram_socket/debug.html
会将调试设置为false足以确保计算UDP校验和计算UDP校验和,或者我如何确保计算UDP校验和计算,以便我在使用UDP/ipv4时可以安全地忽略基础数据包中的校验和计算?
我知道UDP/ipv6 Garuntees校验和计算,但我不能将系统仅使用IPv6。
使用tcpdump/wireshark/eThereal/等工具。倾倒实际流量。
在我看来,校验和实际上可能是在驾驶员级别上处理的。您可以使用例如 ethertool
启用它们(?
的确,Wireshark FAQ有一个条目:
由于称为TCP校验和卸载功能,您会看到"不正确"校验和。传出的TCP数据包的校验和字段不是由操作系统预先计算的,而是设置为0,并通过NIC处理器进行计算。�
¹来源:https://serverfault.com/a/288493
- 理解boost::asio-async_read在无需读取内容时的行为
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 递归函数计算序列中的平方和(并输出过程)
- (C++)分析树以计算返回错误值的简单算术表达式
- 我的字符计数代码计算错误.为什么
- 在计算中使用二的幂有多有利可图
- 提升 ASIO 无法识别计时器对象
- 如何计算文件中的"columns"数?
- 计算排序向量的向量中唯一值的计数
- 如何使用 std::累积在 C++ 中计算总和立方体
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- 使用Qt C++计算类似Git的SHA1哈希
- OpenCV C++.快速计算混淆矩阵
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- C++如何计算用户输入的数字中的偶数位数
- boost::asio::steady_timer()与sleep()我应该使用哪一个
- 在具有许多内核的计算机上,使用 Boost ASIO 只能使用 1 个线程
- 确定是否使用boost.asio计算UDP校验和
- 在 boost asio 异步服务器中执行计算 taks
- 是更好的同步或异步从boost asio时,有大量的计算和推/弹出线程安全容器