《圖解TCP/IP》讀書筆記一:網路基礎知識

衣舞晨風發表於2018-02-07

這裡寫圖片描述

1.5.4 OSI參考模型中各個分層的作用

這裡寫圖片描述

應用層

      為應用程式提供服務並規定應用程式中通訊相關的細節。 包括檔案傳輸、電子郵件、遠端登入(虛擬終端)等協議。

表示層

      將應用處理的資訊轉換為適合網路傳輸的格式,或者來自下一層的資料轉換為上層能夠處理的格式。因此它主要負責資料格式的轉換。 具體來說,就是將裝置固有的資料格式轉換為網路標準傳輸格式。不同設別對同意位元流解釋的結果可能會不同。 因此,使它們保持一致是這一層的主要作用。

會話層

      負責建立和斷開通訊連線(資料流動的邏輯通道),以及資料的分割等資料傳輸相關的管理。

傳輸層

      起著可靠傳輸的作用。 只在通訊雙方節點上進行處理,而無需在路由器上處理。

網路層

      將資料傳輸到目標地址。 目標地址可以是多個網路通過路由器連線而成的某一個地址。因此這一層主要負責定址和路由選擇。

資料鏈路層

      負責物理層面上互聯的、節點之間的通訊傳輸。將0、1序列劃分為具有意義的資料幀傳送給對端(資料幀的生成與接收).

物理層

      負責0、1位元流(0、1序列)與電壓的高低、光的閃滅之間的互轉。

資料傳輸

這裡寫圖片描述

      傳送方從第七層,第六層到第一層由上至下按照順序傳輸資料,而接收端則從第一層,第二層到第七層由下至上向每個上一級分層傳輸資料。每個分層上,在處理上一層傳過來的資料時可以附上當前分層的協議所必須的“首部”資訊。然後接收端對收到的資料進行資料“首部”與“內容”的分離,再轉發給上一層,並最終將傳送端的資料恢復為原狀。

1.6.3傳輸層以下的處理

資料鏈路層、物理層

      通訊傳輸實際上是通過物理的傳輸介質實現的。資料鏈路層的作用就是在這些通過傳輸介質互連的裝置之間進行資料處理。

      物理層中,將資料的0,1轉換為電壓和脈衝傳輸給物理的傳輸介質,而相互直連的裝置之間使用地址實現傳輸。這種地址被稱為MAC地址,也可稱為實體地址或硬體地址。採用MAC地址,目的是為了識別連線到同一個傳輸介質上的裝置。因此,在這一層中將包含MAC地址資訊的首部附加到從網路層轉發過來的資料上,將其傳送到網路。

      網路層與資料鏈路層都是基於目標地址將資料傳送給接收端的,但是網路層負責將整個資料傳送給最終目標地址,而資料鏈路層則只負責傳送一個分段內的資料。

這裡寫圖片描述

1.7.2 電路交換與分組交換

      如果併發使用者數超過交換機之間的通訊線路數,就意味著通訊根本無法實現。為此,人們想到了一個新的方法,即讓連線到通訊電路的計算機將所要傳送的資料分成多個資料包,按照一定的順序排列之後分別傳送。這就是分組交換。
      有了分組交換,資料被細分後,所有的計算機就可以一齊收發資料,這樣也就提高了通訊線路的利用率。由於在分組的過程中,已經在每個分組的首部寫入了傳送端和接收端的地址,所以即使同一條線路同時為多個使用者提供服務,也可以明確區分每個分組資料發往的目的地,以及它是與哪臺計算機進行的通訊。
這裡寫圖片描述

      在分組交換中,由分組交換機(路由器)連線通訊線路。分組交換的大致處理過程是:傳送端計算機將資料分組傳送給路由器,路由器收到這些分組資料以後,快取到自己的緩衝區,然後再轉發給目標計算機。因此,分組交換也有另一個名稱:蓄積交換。
      路由器接收到資料以後會按照順序快取到相應的佇列當中,再以先進先出的順序將它們逐一傳送出去
      在分組交換中,計算機與路由器之間以及路由器與路由器之間通常只有一條通訊線路。因此,這條線路其實是一條共享線路。在電路交換中,計算機之間的傳輸速度不變。然而在分組交換中,通訊線路的速度可能會有所不同。根據網路擁堵的情況,資料達到目標地址的時間有長有短。另外,路由器的快取飽和或溢位時,甚至可能會發生分組資料丟失、無法傳送到對端的情況。
這裡寫圖片描述

1.7.3 根據接收端數量分類

網路通訊當中,也可以根據目標地址的個數及其後續的行為對通訊進行分類。如:廣播、多播就是這種分類的產物。

  • 單播(Unicast): 1對1通訊。早先的固定電話就是單播通訊的一個典型例子。

  • 廣播(Broadcast): 將訊息從1臺主機傳送給與之相連的所有其他主機。 廣播通訊的一個典型例子就是電視播放,它將電視訊號一齊傳送給非特定的多個接受物件。 此外我們知道電視訊號一般都有自己的頻段。只有在相應頻段的可接受範圍內才能收到電視訊號。 與之類似,進行廣播通訊的計算機也有它們的廣播範圍。只有在這個範圍之內的計算機才能收到相應的廣播訊息。這個範圍叫廣播域。

  • 多播(Multicast): 多播與廣播類似,也是將訊息發給多個接收主機。不同之處在於多播要限定某一組主機作為接收端。 多播通訊最典型的例子就是電視會議,這時有多組人在不同的地方參加的一種遠端會議。 在這種形式下,會有一臺主機傳送訊息給特定的多臺主機。電視會議通常不能使用廣播方式,否則將無從掌握是誰在哪裡參與電視會議。

  • 任播(Anycast): 任播是指在特定的多臺主機中選出一臺作為接收端的一種通訊方式。 雖然,這種方式與多播有相似之處,都是面向特定的一群主機,但是它的行為卻與多播不同。 任播通訊從目標主機群中選擇一臺最符合網路條件的主機作為目標主機傳送訊息。 通常,所被選中的那臺特定主機將返回一個單播訊號,隨後傳送端主機會跟這臺主機進行通訊。

    任播在實際網路中的應用有DNS根域名解析伺服器。

1.8.1 地址的唯一性

      如果想讓地址在通訊當中發揮作用,首先需要確定通訊的主體。一個地址必須明確地表示一個主體物件。在同一個通訊網路中不允許有兩個相同地址地通訊主體存在。這也就是地址地唯一性。

      到此為止,讀者可能會有一個疑問。前面提到, 在同一個通訊網路中不允許有兩個相同地址地通訊主體存在。這在單播通訊中還好理解,因為通訊兩段都是單一地主機。那麼對於廣播、多播、任播通訊該如何理解呢? 豈不是通訊接收端都被賦予了同一個地址?其實,在某種程度上,這樣理解有一定的合理性。 在上述這些通訊方式中, 接收端裝置可能不止一個。 為此,可以對這些由多個裝置組成的一組通訊賦予同一個具有唯一特性的地址,從而可以避免產生歧義,明確接收物件。

      舉個簡單的多播的例子。某位老師說:“一年一班的同學們請起立!” 其中“一年一班”實際上就明確地指代了目標物件。此時,“一年一班”就是這一次“多播”地目標地址,具有唯一性。

      再舉一個任播的例子。老師又說:“一年一班的哪位同學過來把你們班的學習資料取走!”, 此時“一年一般的哪位同學”(任意一位同學)就成為了此次“任播”的目的地址,具有唯一性。

1.8.2 地址的層次性

      當地址總數並不是很多的情況下,有了唯一地址就可以定位相互通訊的主體。然而,當地址的總數越來越多的時候,如何高效地從中找出通訊地目標地址將成為一個重要地問題。 為此人們發現除了具有唯一性還需要具有層次性。 其實,再使用電話和信件通訊地過程中,早已經有了地址分層這種概念。 例如,電話號碼包含國家區號、國內區號,通訊地址包括國家名、省名、市名和區名等。正是有了這種層次分類才能更加快速地定位某一個地址。

      MAC地址和IP地址再標識一個通訊主體時雖然都具有唯一性,但是它們當中只有IP地址具有層次性。 MAC地址由裝置地製造廠商針對每塊網路卡進行分別指定。人們可以通過製造商識別號、製造商內部產品編號以及產品通用編號確保MAC地址地唯一性。然而,人們無法確定哪家廠商地哪個網路卡被用到了哪個地方。雖然MAC地址中地製造商識別號、產品編號以及通用編號等資訊在某種程度上也具有一定的層次性,但是對於尋找地址並沒有起到任何作用,所以不能算作有層次的地址。 正因為如此,雖然MAC地址時真正負責最終通訊的地址,但是在實際定址過程中,IP地址卻必不可少。

      那麼IP地址又是怎樣實現分層的呢? 一方面,IP地址由網路號和主機號兩部分組成。即使通訊主體的IP地址不同,若主機號不同,網路號相同,說明它們處於同一個網段。通常,同處一個網段的主機也都屬於同一個部門或集團組織。另一方面,網路號相同的主機在組織結構、供應商型別和地域分佈上都比較集中,也為IP定址帶來了極大的方便。 這也是為什麼說IP地址具有層次性的原因。

      網路傳輸中,每個節點會根據分組資料的地址資訊,來判斷該報文應該由哪個網路卡傳送出去。為此,每個地址會參考一個發出介面列表。在這一點上MAC定址與IP定址是一樣的。只不過MAC定址中所參考的這張表叫做地址轉發表,而IP定址中所參考的叫做路由控制表。MAC地址轉發表中所記錄的是實際的MAC地址本身,而路由表中記錄的IP地址是集中了之後的網路號(更確切的說是網路號與子網掩碼)。
這裡寫圖片描述

1.9.4 網橋/2層交換機

這裡寫圖片描述

      資料鏈路的資料幀中有一個資料位叫做FCS,用以校驗資料是否正確送達目的地。網橋通過檢查這個域中的值,將那些損壞的資料丟棄,從而避免傳送給其他的網段。此外,網橋還能通過地址自學機制和過濾功能控制網路流量。

      這裡所說的地址是指MAC地址,硬體地址,實體地址以及介面卡地址,也就是網路上針對NIC分配的具體地址。如下圖所示,主機A與主機B之間進行通訊時,只針對主機A傳送資料幀即可。網橋會根據地址自學機制來判斷是否需要轉發資料幀。這類功能是OSI參考模型的第2層資料鏈路層所具有的功能。為此,有時候也罷網橋稱作2層交換機。
這裡寫圖片描述

1.9.5 路由器/3層交換機

這裡寫圖片描述

      路由器是在OSI模型的第三層-----網路層面上連線兩個網路,並對分組報文進行轉發的裝置。網橋是根據實體地址(MAC地址)進行處理,而路由器/3層交換機則是根據IP地址進行處理的。由此,TCP/IP中網路層的地址就成為了IP地址。

1.9.6 4~7層交換機

這裡寫圖片描述

      4-7層交換機負責處理OSI模型中從傳輸層到應用層的資料,如果用TCP/IP分層模型來表述,4-7層就是TCP等協議的傳輸層及其上面的應用層為基礎,分析收發資料,並對其進行特定的處理。

其實際的應用場景:

  1. 均衡負載器。併發訪問量非常大的一個企業級Web站點使用一臺伺服器不足以滿足前段的訪問需求,這時通常會假設多臺伺服器來分擔。這些伺服器前端訪問的入口地址通常只有一個(企業為了使用者的方便,只會向終端使用者開放一個統一的訪問的URL )。為了能通過同一個URL將前段訪問分發到後臺多個服務上,可以在這些服務期的前端加一個負載均衡器,這種均衡器就是4~7層交換機中的一種。

  2. 頻寬控制。實際通訊中人們希望在網路比較擁堵的時候,優先處理像語音這類對及時性要求較高的通訊請求放緩處理像郵件或者資料轉發等稍有延遲也並無大礙的通訊請求。這種處理被稱為頻寬控制,也是4~7層交換機的重要功能。

1.9.7 閘道器

這裡寫圖片描述

      閘道器與4~7層交換機一樣都是處理傳輸層及以上的資料,但是閘道器不僅轉發資料還負責對資料進行轉換,它通常會使用一個表示層或應用層閘道器,在兩個不能進行直接通訊的協議之間進行翻譯。最終實現兩者之間的通訊。(比如:手機郵件和PC郵件之間實現互發郵件,正是在手機和網際網路之間設定了一道閘道器,閘道器讀取完不同種類的協議後,對它們逐一進行合理的轉,再將相應的資料轉發出去,這樣一來即使使用的不同的郵件協議,PC和手機之間也能互發郵件)

這裡寫圖片描述

      有時候為了控制網路流量以及處於安全考慮,會使用代理伺服器,這種代理伺服器也是一種閘道器,稱為應用閘道器。

各種裝置及對應網路分層概覽

這裡寫圖片描述

《圖解TCP/IP:第5版》下載地址:
http://download.csdn.net/download/xunzaosiyecao/10245906

個人微信公眾號:
這裡寫圖片描述

作者:jiankunking 出處:http://blog.csdn.net/jiankunking

相關文章