進行 Linux 網路編程的人需不需要看 TCP/IP 詳解這種書?

將要進行 Linux 網路開發了。


《談一談網路編程學習經驗》https://github.com/downloads/chenshuo/documents/LearningNetworkProgramming.pdf


對網路編程開發人員來說,能清晰地理解TCP/IP的相關協議,是掌握socket編程的關鍵。所以必須認真學習《TCP/IP詳解:卷一》, 注意請學習2012年出版的第二版。
《TCP/IP詳解?卷1:協議(英文版第2版)》([美]福爾,史蒂文斯)【摘要 書評 試讀】
以下是W.Richard Stevens的原話(UNIX Network Programming, Volume 1-Preface):

I have found when teaching network programming that about 80% of all network programming problems have nothing to do with network programming, per se. That is, the problems are not with the API functions such as accept and select, but the problems arise from a lack of understanding of the underlying network protocols. For example, I have found that once a student understands TCP"s three-way handshake and four-packet connection termination, many network programming problems are immediately understood.


tcp/ip詳解卷1好好翻閱下還是很有必要的


用「必讀」、「牆裂推薦」也無法形容這本書的重要性了。


我覺得想深入的話還是需要看,詳解有協議,有代碼導讀,值得一看,就是有點累。

另外TCP/IP高效編程(http://www.amazon.cn/TCP-IP%E9%AB%98%E6%95%88%E7%BC%96%E7%A8%8B-%E6%94%B9%E5%96%84%E7%BD%91%E7%BB%9C%E7%A8%8B%E5%BA%8F%E7%9A%8444%E4%B8%AA%E6%8A%80%E5%B7%A7-Jon-C-Snader/dp/B004W5MG0G/ref=cm_cr_pr_product_top)也不錯,看起來比較輕鬆。


不要問有沒有必要看,看就對了……看了以後,你就不會問有沒有必要看了……


有必要。UNPv1和TCP/IPv1混著看更好。作者會在UNP中時不時的提到TCP/IPv1上的內容。


三卷,如果很認真的話也就一個星期的事情,糾結個毛線。。。。


卷一強烈推薦


不看的話也能工作,但是會有種種無法解決或奇奇怪怪的問題,到時候你就知道看它的必要了。


好多人都在看的


有必要啊,打好基礎。同推薦看完第一本。。


我想網路編程應該需要多了解像TCP/IP協議這類的協議啊。個人覺得應該看,我也看過一陣,看得我頭疼啊,不過你是編程方面的,可能比我能力要高,可以仔細閱讀一下?


如果是作網關設置、安全相關的工作,或是系統開發,效率優化是很有必要的。若是只是簡單的開發有網路通信功能的軟體,就不必要的,可以學習一些更直接的內容,如《UNIX高級環境編程》,掌握基本的 socket 的使用,學習進程間通信即可


如果大學期間學過謝希仁的計算機網路亦可,針對某個特定的協議可以再看相關的rfc


TCP/IP是目前最通用的協議之一,可以說是了解網路協議的基礎了,只要涉及到網路層傳輸的,大部分都要用到這些協議的。當然,如果只是簡單的在前台做一些web之類的,目前還沒有必要。強烈推薦看一下~


推薦閱讀:

IP地址為什麼是定長的?是什麼因素限制的?
wifi非常不穩定且延遲高可能的原因是什麼?
Zeta-TCP真的有效嗎?
怎麼有效理解可靠數據傳輸?
瀏覽器能夠使用一次TCP連接多次發起http請求,那麼瀏覽器是怎麼區分這多個請求的響應的?

TAG:Linux | 網路編程 | TCPIP |