gpt4 book ai didi

debugging - 单步执行 TCP/IP 堆栈

转载 作者:可可西里 更新时间:2023-11-01 02:28:50 24 4
gpt4 key购买 nike

我曾担任专有嵌入式操作系统的 QA 工程师。他们 build 了自己的 ATN stack并使用调试器单步执行它是我在网络方面获得的最令人大开眼界的体验。看着堆栈的每一层构建他们的数据包部分是惊人的。然后终于能够看到在线路上构建的数据包具有更多意义。

作为一名教育 worker ,我想与他人分享这段经历。有谁知道通过 TCP/IP 堆栈的直接方法?理想情况下,我想要比调试 *BSD 或 Linux 内核更容易的东西,尽管如果这是唯一的选择,那么这个过程的一些提示和技巧会很好。用 C/C++ 编写的可以在用户模式下使用 Visual Studio 或 Eclipse 运行的引用堆栈将是理想的选择。

最佳答案

这一切都取决于你想关注什么。从您的问题来看,您最感兴趣的是不同层中的数据流(用户空间流 -> 电缆上的电压)。

为此,我建议您使用 http://www.csse.uwa.edu.au/cnet/ ,这是一个完整的网络模拟器。它允许您遍历堆栈的所有级别。

真实系统总是会清楚区分第 3 层、第 2 层和第 1 层(以太网和芯片上的 CRC 检查固件、硬件 MAC)。您将难以进入操作系统,并且一些实现细节会让学生感到困惑和困惑。对于 Linux,您必须解释内核基础结构才能理解 TCP/IP 堆栈设计。

如果您只对 TCP/IP 部分感兴趣,我建议您使用嵌入式 TCP/IP 堆栈,如 http://www.sics.se/~adam/lwip/ .您可以将其合并到一个简单的用户空间程序中,并完全构建 TCP/IP 数据包。

请注意,在单步执行 TCP/IP 堆栈时,有许多网络通信方面无法解决。中间仍然有一个 MAC 芯片,用于调节媒体访问、冲突等。在其下方,有一个 PHY 芯片,将所有内容转换为电/光信号,甚至还有一个协议(protocol)来处理 MAC 和 PHY 之间的通信。此外,您没有看到与排队、并发、OS 资源分配 ea 相关的所有方面。完整的图片应该包括所有这些方面,这只能在网络模拟器中看到。

关于debugging - 单步执行 TCP/IP 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8646731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com