怎样自实现一个TCP/IP协议栈需要哪些基础

扎实的编程基础,而且需要对Tcp/IP的RFC文档了如指掌,不管实现什么协议栈都要这样。Tcp协议经过几十年的发展,已经变的特别复杂,包含各种算法,连超时重传中超时值的设定都是根据加权平均移动算法动态决定的,设长了,重发就慢,丢了老半天才重发,没有效率,性能差;设短了,会导致可能并没有丢就重发。于是重发的就快,会增加网络拥塞,导致更多的超时,更多的超时导致更多的重发,而这只是冰山一角。具体要实现可以先结合linux源码和RFC文档把协议研究透,然后动手模仿linux源码自己写。
■网友
项目需要在用户态实现过tcp协议栈,不难的,看懂tcp ip协议详解就可以了,如果要深入,继续看unix网络编程,深入理解linux网络技术内幕,分析linux内核协议栈,会对tcp ip协议有较大帮助


    推荐阅读