chinamerp / hf-ip

创建一个用户态的TCP/IP协议栈。基于Linux内核的TCP/IP协议栈,Xiaochen Wang's TCP/IP stack 和 Level-IP这三个项目构建的。同时它也是一个中文教程,可以帮助自己(或者看到此教程的人)更好的理解计算机网络,更好的理解协议栈。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hf-TCP-IP-stack

创建一个用户态的TCP/IP协议栈。基于Linux内核的TCP/IP协议栈,Xiaochen Wang's TCP/IP stack 和 Level-IP这三个项目构建的。同时它也是一个中文教程,可以帮助自己(或者看到此教程的人)更好的理解计算机网络,更好的理解协议栈。

用户态协议栈运行的收发流程参考 net_topylogy

怎么运行该程序参照编译及运行

具体到实现通过用户态协议栈传输数据,只需要把数据封好转换为skb(skb可以理解为数据流缓存)写入tap设备即可。(代码在netdev.c的netdev_transmit函数)。接收数据在(netdev.c的netdev_receive函数),该函数就是调用比如IP协议调用ip_rcv,然后ip_rcv里通过判断语句调用tcp_in(tcp包处理函数)等操作。

目录

About

创建一个用户态的TCP/IP协议栈。基于Linux内核的TCP/IP协议栈,Xiaochen Wang's TCP/IP stack 和 Level-IP这三个项目构建的。同时它也是一个中文教程,可以帮助自己(或者看到此教程的人)更好的理解计算机网络,更好的理解协议栈。

License:MIT License


Languages

Language:C 96.2%Language:Shell 3.2%Language:Makefile 0.7%Language:Starlark 0.0%