说说网络协议(FAQ)

说到网络编程,我觉得在目前分布式应用横行的当下,重要性不言而喻了,对网络协议的掌握才能更好地编写出正确而稳定的网络程序。

说说网络协议(FAQ)_第1张图片

 

说说网络协议(FAQ)_第2张图片

 

说说网络协议(FAQ)_第3张图片

 

上面几张截图在网络上几乎被转发烂了,但基本反映了tcp状态转换情况,再贴上几篇自己感觉不错的文章

http://www.cnblogs.com/beifei/archive/2011/07/03/2096927.html

 

http://www.2cto.com/net/201204/127200.html

 

http://blog.csdn.net/xiaofei0859/article/details/6044694

 

如何避免分片:http://blog.chinaunix.net/uid-27164517-id-3360202.html

 

http://blog.csdn.net/quitquitquit/article/details/4570856

 

http://www.groad.net/bbs/simple/?

 

转发了一堆别人的东西,感觉自己还不是深入,但还是提出几个观点来和大家思考下?

 

1、了解几个概念,Segment、Packet、Frame分别是什么?对应网络七层模型哪几层?什么是MTU、MSS?

 

2、(链接建立)三次握手,四次握手(链接关闭)流程是怎么样?

 

3、我们是否需要关心time_wait(主动关闭)与close_wait(别动关闭)?

 

4、2msl是什么?为什么要有time_wait(2msl)?

 

5、如何理解四元组(一次TCP链接)?服务器最多可以建立多少链接?

 

6、如何理解本地端口范围?

 

7、如何理解拥塞窗口,滑动窗口?tcp、网卡、系统是如何协调处理网络阻塞与延迟的?

 

8、如何用几句话来概括Tcp协议的特点?面向链接、全双工、字节流传输、可靠?

 

9、网络封包是如何分解与组装的?为何出现半包、粘包?怎么解决?

    http://www.myexception.cn/program/608527.html

 

10、如何理解RT、RTT?如何理解RECQ、SENDQ?

    http://www.cnblogs.com/promise6522/archive/2012/03/03/2377935.html

11、自己如何扩展协议?或者编写和自己应用配套的应用层协议?

 

12、为什么是三次握手?

http://www.cnblogs.com/TechZi/archive/2011/10/18/2216751.html

 

13、如何踢掉空闲链接?

http://www.cnblogs.com/Solstice/archive/2011/05/04/2036983.html  (讲解很好)

 

http://www.sj17178.com/6736458.232231.aspx

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(tcp)