作者:李振兩
鏈接:https://www.zhihu.com/question/22354846/answer/101432582
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
1. 入門
第一本書 建議看謝希仁的《計算機網絡基礎》
2.進階
然后第二本要看 《TCP/IP詳解1:協議》
這個階段需要多思考和動手
網絡在LINUX系統上發揮的最淋漓盡致,所以在學習的時候最好學習LINUX配合使用
學習LINUX,推薦《鳥哥的LINUX私房菜:基礎篇》
學習網絡過程中,要不斷抓包分析等,自己能寫些簡單的應用來發包更是完美
抓包工具推薦:LINUX環境下用TCPDUMP,windows環境下用 wireshark
這個階段寫習完后,已經是個小高手了。
主要技能應該是:
對TCP,IP,DNS,icmp等協議應該都蠻熟了得了,dhcp/tftp/ftp等協議也應該都懂些,重點是要學會如何分析一個協議
LINUX系統的基本操作也差不多了
3.高手階段
這個階段需要有一點的編程能力,指C/C++編程
主要學習的方向是
協議的實現和協議的架構原理
協議的實現方面, 主要學習底層協議(指傳輸層及以下)的實現, 這些協議都是在操作系統層面實現的,最好的教材是《TCP/IP詳解:實現》
至於網絡架構這塊,可以學習《計算機網絡》這本書
大概就說這么多了~~
計算機網絡的核心在於
協議—-LINUX操作系統—-C/C++
這三塊結合起來,並不斷的實踐和思考~~才能成為真正高手