linux - 如何在 Linux 上测试自定义 TCP 实现?

标签 linux networking tcp

出于学习目的,我正在实现 TCP(目前只是 RFC 793),但我没有 想法如何测试它。互联网上的大多数 TUN/TAP 资料都已过时(例如 Linux API 调用不再有效)并且解释不够。另外,我 感觉像创 build 备和转发包等不是最好的方法 用于学习目的。例如,我宁愿只覆盖 socket()listen(), connect(), accept(), send(), recv() 等在程序中而不是 而不是将所有以太网流量转发到执行以下操作的设备/程序 为整个系统而不是为单个程序进行簿记。

我想知道这是否可能。如果没有,我想知道最简单的方法 在 Linux 上测试 TCP 实现。

因为我遵循 RFC 793,所以如果我能有一个 IP(Internet RFC 中提到的协议(protocol))API 在我的应用程序中。这是可能的还是做 我必须弄乱 TUN/TAP 东西吗?

谢谢..

最佳答案

如果我们谈论研究,我强烈建议您阅读 Engineering with Logic: Rigorous Test-Oracle Specification and Validation for TCP/IP and the Sockets API

它包含有关测试 TCP/IP 实现的部分: “实验验证:测试基础设施”

关于linux - 如何在 Linux 上测试自定义 TCP 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45913359/

相关文章:

linux - undefined symbol 引用/..libdl.so.2 : error adding symbols: DSO missing from command line

c++ - 你怎么知道客户端何时连接到服务器?

networking - Kubernetes pod 无法使用 weave 进行通信

java - 由于基础异常 : Connection Time Out 导致通信链接失败

c++ - 如何忽略某些套接字请求

c - ANSI C TCP/IP 服务器在线客户端列表

php - ssh 连接在 php 中不起作用

linux - 在 linux 中从 groovy 执行 bash 脚本

linux - 比较 AIX 中的 mount 和/etc/filesystems

google-app-engine - 谷歌应用引擎 TCP/IP 连接