uIP TCP协议状态机

uIP是Adam Dunkels写的专为8位/16位平台上的TCP/IP协议栈。

如果你和我一样,看过一些TCP/IP方面的理论书,但苦于没有一个简单易懂的TCP/IP代码实现,感觉总是有一层面纱笼罩着神秘的TCP/IP,恭喜你,这次有福了。

uIP总共7千余行代码,核心代码2千不到,少的可以说“干瘪”,但是他却实现了很多基本的东西如arp,icmp,ip分片,TCP。

看完这个再去看linux的TCP/IP实现,应该会简单的多。

以下是我根据函数uip_process整理出的TCP状态机。







红色虚线是服务端的迁移过程,蓝色虚线是客户端的迁移过程,黑色虚线是共同的过程。

说明:若发出的包(非纯ACK)迟迟没有收到确认包,重发一定次数后,状态机均回到UIP_CLOSE,上图为简化没有画出。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值