OSI 七層模型
OSI參考模型是一個開放式體系結構,它規定將網路分為七層從下到上依次為:
物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層
TCP/IP參考模型
早期TCP/IP模型是一個四層結構,從下往上是 網路介面層、網路層、傳輸層、應用層
在后來的使用程序中,借鑒OSI七層模型將網路介面層劃分為物理層和資料鏈路層形成一個新的五層結構
TCP/IP是以系列協議的集合,所以嚴格的稱呼是 TCP/IP協議簇
每層的協議分別為
應用層:HTTP、FTP、TFTP、SMTP、SNMP、DNS
傳輸層:TCP UDP
網路層:ICMP+IGMP + ARP+RARP =IP
資料鏈路層和物理層:由底層網路定義的協議
資料的封裝程序
1)應用層傳輸程序
在應用層,資料被“翻譯”為網路世界使用的語言---二進制編碼資料(0和1組成)。大 家可以試想以下,人們需要通過計算機傳輸的資料形式千變萬化,各式各樣,有字母,數字,漢字,圖片,聲音等。這些資訊對于單一通過弱電流傳輸的計算機來說太過 于“復雜”,因此這些人類方便識別的資訊被應用層通過各種特殊的編碼程序轉換成二 進制資料。這就是上面所描述的“翻譯”程序,也是應用層在網路資料傳輸程序中最為 核心的貢獻。
2)傳輸層傳輸程序
在傳輸層,上面資料被分割成小的資料段,并為每個分段后的資料封裝TCP報文頭部。應用層將人們需要傳輸的資訊轉換成計算機能夠識別的二進制資料后,這些資料往往都
是海量的。例如:一張高清晰的圖片轉換成二進制資料可能會有幾百萬甚至幾千萬位, 如此龐大的資料一次性傳輸的話,一旦網路出現問題而導致資料出錯就要重新傳輸,資料量過大會加大出錯的概率,最終可能會導致網路資源耗盡。因此,將資料先分割成小 段再逐段傳輸,一旦出現資料傳輸錯誤只需重傳這一小段資料即可。 在TCP頭部有一個關鍵的欄位資訊---埠號,它用于標識上層的協議或應用程式,確保上層應用資料的正常通信。
3)網路層傳輸程序
在網路層,上層資料被封裝上新的報文頭部---IP頭部。值得注意的是,這里所說的上層資料包括TCP頭部,也就是說,這里的上層是指傳輸層。對于網路層而言,它是“看不懂”TCP包頭中的內容的,在它看來,無論是應用層的應用資料,還是TCP頭部資訊都屬于上層資料。 在IP頭部中有一個關鍵的欄位資訊--IP地址,它是由一組32位的二進制陣列成的,用于 標識網路的邏輯地址。回想剛才寄信的例子,我們在信封上填寫了對方的詳細地址和本 地的詳細地址,以保證收件人能夠順利收到信件。在網路層的傳輸程序與其很類似,在 IP頭部中包含目標IP地址和源IP地址,在網路傳輸程序中的一些中間設備,如路由器,會根據目標IP地址來邏輯尋址,找到正確的路徑將資料轉發到目的端。如果中間的路由設 備發現目標的IP地址根本是不可能到達的,它將會把該訊息傳回發送端主機,因此在網 絡層需要同時封裝目標IP和源IP。
4)資料鏈路層傳輸程序
在資料鏈路層,上層資料被封裝一個MAC頭部,其內部有一個關鍵的欄位資訊--MAC地 址,它由一組48位的二進制陣列成。在目前階段,我們先把它理解為固化在硬體設備中的物理地址,具有全球唯一性。例如,之前講解的網卡就有屬于自己的唯一的MAC地 址。和IP頭部類似,在MAC頭部同時封裝著目標MAC地址和源MAC地址。
5)物理層傳輸程序
無論在之前哪一層封裝的報文頭部還是上層資料資訊都是由二進制陣列成的,在物理 層,將這些二進制數字組成的位元流轉換成電信號在網路中傳輸。
資料的解封裝程序
1)應用層傳輸程序
在應用層,資料被“翻譯”為網路世界使用的語言---二進制編碼資料(0和1組成)。大 家可以試想以下,人們需要通過計算機傳輸的資料形式千變萬化,各式各樣,有字母,數字,漢字,圖片,聲音等。這些資訊對于單一通過弱電流傳輸的計算機來說太過 于“復雜”,因此這些人類方便識別的資訊被應用層通過各種特殊的編碼程序轉換成二 進制資料。這就是上面所描述的“翻譯”程序,也是應用層在網路資料傳輸程序中最為 核心的貢獻。
2)傳輸層傳輸程序
在傳輸層,上面資料被分割成小的資料段,并為每個分段后的資料封裝TCP報文頭部。應用層將人們需要傳輸的資訊轉換成計算機能夠識別的二進制資料后,這些資料往往都
是海量的。例如:一張高清晰的圖片轉換成二進制資料可能會有幾百萬甚至幾千萬位, 如此龐大的資料一次性傳輸的話,一旦網路出現問題而導致資料出錯就要重新傳輸,資料量過大會加大出錯的概率,最終可能會導致網路資源耗盡。因此,將資料先分割成小 段再逐段傳輸,一旦出現資料傳輸錯誤只需重傳這一小段資料即可。 在TCP頭部有一個關鍵的欄位資訊---埠號,它用于標識上層的協議或應用程式,確保上層應用資料的正常通信。
3)網路層傳輸程序
在網路層,上層資料被封裝上新的報文頭部---IP頭部。值得注意的是,這里所說的上層資料包括TCP頭部,也就是說,這里的上層是指傳輸層。對于網路層而言,它是“看不懂”TCP包頭中的內容的,在它看來,無論是應用層的應用資料,還是TCP頭部資訊都屬于上層資料。 在IP頭部中有一個關鍵的欄位資訊--IP地址,它是由一組32位的二進制陣列成的,用于 標識網路的邏輯地址。回想剛才寄信的例子,我們在信封上填寫了對方的詳細地址和本 地的詳細地址,以保證收件人能夠順利收到信件。在網路層的傳輸程序與其很類似,在 IP頭部中包含目標IP地址和源IP地址,在網路傳輸程序中的一些中間設備,如路由器,會根據目標IP地址來邏輯尋址,找到正確的路徑將資料轉發到目的端。如果中間的路由設 備發現目標的IP地址根本是不可能到達的,它將會把該訊息傳回發送端主機,因此在網 絡層需要同時封裝目標IP和源IP。
4)資料鏈路層傳輸程序
在資料鏈路層,上層資料被封裝一個MAC頭部,其內部有一個關鍵的欄位資訊--MAC地 址,它由一組48位的二進制陣列成。在目前階段,我們先把它理解為固化在硬體設備中的物理地址,具有全球唯一性。例如,之前講解的網卡就有屬于自己的唯一的MAC地 址。和IP頭部類似,在MAC頭部同時封裝著目標MAC地址和源MAC地址。
5)物理層傳輸程序
無論在之前哪一層封裝的報文頭部還是上層資料資訊都是由二進制陣列成的,在物理 層,將這些二進制數字組成的位元流轉換成電信號在網路中傳輸。
資料的傳輸程序
1. 發送主機按照之前講解的內容進行資料封裝。
2. 從發送主機物理網卡發出的電信號通過網線到達交換機,交換機將電信號轉換成二進制資料送往交換機的資料鏈路層。因為交換機屬于資料鏈路層的設備,所以它將可以查看資料 幀頭部的內容,但不會進行封裝和解封裝程序。當交換機發現資料幀頭部封裝的MAC地址 不屬于自己的MAC地址,他不會像終端設備那樣將資料幀丟棄,而是根據該MAC地址將 資料幀智能地轉發到路由器設備,在轉發前要重新將二進制資料轉換成物理的電信號。
3. 當路由器收到資料后,會拆掉資料鏈路層的MAC頭部資訊,將資料送達網路層,這樣IP頭 部資訊就“暴露”在最外面。路由器將檢測資料包頭部的目標IP地址資訊,并根據該資訊 進行路由程序,智能地將資料報文轉發到下一跳路由器上,在轉發前要重新封裝新的MAC 頭部資訊,并將資料轉換成二進制數。
4. 之后的程序有點大同小異了....
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/33993.html
標籤:網絡
上一篇:寫給程式員的機器學習入門 (三) - 線性模型,激活函式與多層線性模型
下一篇:從零開始學AB測驗:躲坑篇
