假设您已确定对于特定的细分市场,TCP或UDP均不理想,那么您将如何编写自己的基于IP的协议?
例如,如果您正在Linux上开发,您会在内核中的哪里查找以“挂钩”您的协议?
您会从哪里开始?
例如,如果您正在Linux上开发,您会在内核中的哪里查找以“挂钩”您的协议?
您会从哪里开始?
dev_add_pack
,arp 的代码可以在这里找到。如果您的协议可以直接在IP之上实现,那么它也可以被包装在UDP数据包中进行实现 - 后者具有优势,可以通过现有的NAT设备和防火墙传输,并且不会丢弃您的自定义协议。
学习UNIX套接字和网络知识。这不是“钩入”内核,而是打开套接字并通过它发送二进制数据。