1. 程式人生 > >圖解TCP/IP 讀後感

圖解TCP/IP 讀後感

總結

   個人特別不喜歡那種很厚的書,尤其是以內容為主的,比如《C++ Primer》,從頭到尾硬啃了兩遍,很痛苦,收穫是有的,但效率不見得很高。計算機網路作為很重點的基礎學科,該領域的神作TCP/IP詳解卷我買來放在書架上好久,還是生不起閱讀的興趣。而圖解TCP/IP這本書,自我第一次翻開起,就情不自禁的花了幾天把它從頭到尾看了一遍。個人認為,這是一本很好的書,有關TCP/IP的框架已經闡述的很好,書中有大量的圖文和類比說明,閱讀起來很愉快。個人很喜歡它的排版,每頁的左側有很大的留白,可以做大量的筆記,方便自己記憶。

  個人覺得,可以先通讀這本書,對於像深入瞭解的知識,可以再去翻閱TCP/IP詳解卷

TCP/IP

  有關計算機網路基礎的知識,想象一下,自己從QQ傳送一段小電影給基友,到基友看到小姐姐後欣喜若狂的這整段過程。要是能理清這段過程資料的整個傳送過程,這一塊的基本框架原理就算是掌握了,其他的就是一些實現細節和外圍協議了。畢竟,整個協議族的目的就是在網路節點之間傳輸資訊。目前,Internet就是用的TCP/IP協議進行通訊的。

協議和分層

  TCP/IP的相關協議是很多的。想想就是簡單的資料傳輸,為什麼就搞的這麼複雜呢。當兩個人談話的時候,大家嘚啵嘚啵得,資訊就傳送過來了是吧。其實,仔細想想,及時兩個人之間談話,資訊傳遞也沒那麼簡單的:首先,兩個人說的話得互相聽懂吧,這就是一種協議,如果有翻譯,就相當於表示層

的活;其次,兩個人互相在聽吧,要是一個在講,一個在戴耳機,或者說我不聽不聽,這資訊也沒法傳遞吧,這就是會話層的活;再其次,速度也要控制,要是一個老外在一個6級飄過的英語小白麵前狂飆口語,小白是不是一臉懵逼,這就涉及到網路頻寬……。
  現在我們意識到,要想在網際網路上進行資訊傳遞,協議一定是需要的。那麼問題來了,一個協議還不夠麼,為什麼要這麼多協議。協議過多有兩個原因:一個是協議的分層,另一個就是時代的發展。首先談第一點,協議的分層,協議的分層很明顯會引起協議的擴充套件,本來我可以就用一個協議,就叫網際網路協議,這樣,網際網路協議一統天下,那協議的分層還有沒有必要?答案是:非常有必要。協議分層實現了模組化
模組化在生活中隨處可見:造車的人不會去造輪子,發動機,……他們只需要進行整體設計,然後用已有的模組進行封裝就行了。模組化大大降低了系統的設計難度,通過分層,每層只要利用自己下層的介面提供的資訊,做好本職工作,併為上層提供服務就好。而且,每層可以有實現重點不同的協議,設計者可以根據自己需要選擇協議,進行靈活配置。第二點,時代的發展。有些協議的設計在當時是完全足夠的,但隨著時代的發展,新的需求的提出,這些協議就顯得落後,就需要進行升級換代。最典型的就是IP協議:由於設計之初只用於幾個機構間的通訊,IPv4被認為夠夠的了,隨著稱為全球性的協議,再隨著物聯網的發展,IPv4地址怎麼看都不夠用。當年分的ABC類地址早就被子網掩碼所替代,憑藉NAT技術還能接著續命。其他好多協議都是這樣,有時候,不要理想當然的覺得別人蠢:IPv6這麼好,為什麼還在用IPv4,要考慮時代的程序。這一點,MAC地址就很好,一直夠用。

地址

  計算機網路通訊中,有3個地址,IP地址,MAC地址和埠號。其中,第一個地址用來進行網路定位,第二個地址用來進行主機定位,第三個地址用來進行應用程式定位。以發快遞為例,第一個地址用來定位到你的公司,第二個地址用來定位到你的辦公室,第三個地址用來定位到你個人。

  此外,還有個URL,可以視為IP地址的別名。因為IP地址是一連串的數字,比較難記,就使用網址進行標識,通過維護一個地址對映表來實現地址轉換。

資料傳輸

  在整個協議體系中,真正負責資料傳輸的是下半層協議:包括傳輸層網路層資料鏈路層物理層。這些協議在後臺幹著髒活累活,而且乾的越好也沒有人注意到他們。下面,簡單說下他們都幹了什麼活。

  傳輸層負責資料的分塊和傳輸。傳輸層有兩個重要的協議:TCP和UDP。其中,TCP提供可靠傳輸,UDP提供高速傳輸。

  網路層負責IP地址的管理和路徑選擇。要知道,網路之間是通過線路和路由器連線的,IP層通過路由選擇,為資料指向通往接收端的道路。如果傳輸層對資料的分塊過大無法在資料鏈路上傳輸的話,IP層還要對資料進行切片和重組。

  資料鏈路層負責點對點的傳輸。再拿快遞舉個例子。一件快遞從北京傳往江蘇的一個小縣城——江都(當然現在是江都區了)。IP層負責路徑選擇:從北京——南京——揚州——江都——目的地。在每兩個地址之間進行傳送的,就是資料鏈路層的工作。

  最後是物理層,這裡的資料就是實際物理訊號了,是真正的底層。沒有物理層,所有的資料傳輸也就無從談起了。

以上。