Pet*_*erM 7 linux ip protocols
假设您已确定对于给定的利基案例,TCP或UDP都不是理想的,您将如何编写自己的基于IP的协议?
例如,如果您正在Linux上进行开发,那么您在哪里可以查看内核中的"挂钩"协议?
你会从哪里开始的?
Bil*_*nch 9
您可以通过内核模块执行此操作.我将首先阅读arp的工作原理.这是一个更简单的协议,因为用户空间不直接发送数据包.
创建新网络协议的入口点是dev_add_pack,可以在此处找到arp的代码.
dev_add_pack
caf*_*caf 5
如果您的协议可以直接在IP之上实现,那么它也可以包裹在UDP数据包中实现-后者的优点是它将通过现有的NAT设备和防火墙,而这些设备只会丢弃您的自定义协议。
归档时间:
14 年,8 月 前
查看次数:
3763 次
最近记录: