天天看點

說說網絡協定(FAQ)

說到網絡程式設計,我覺得在目前分布式應用橫行的當下,重要性不言而喻了,對網絡協定的掌握才能更好地編寫出正确而穩定的網絡程式。

說說網絡協定(FAQ)
說說網絡協定(FAQ)
說說網絡協定(FAQ)

上面幾張截圖在網絡上幾乎被轉發爛了,但基本反映了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

上一篇: Tank Wat V0.1
下一篇: java io的總結