TCP/IP與OSI模型

1.OSI七層模型

OSI(Open System Interconnection,開放系統互聯)七層網絡模型是ISO(International Organization for Standardization,國際標準化組織)提出的一個參考模型,是一個把網絡通信在邏輯上的定義,也可以理解成爲定義了通用的網 絡通信規範。而我們的數據在網絡中傳輸的過程,實際上就是如下圖的封裝和解封裝的過程,發送方通過各種封裝處理,把數據 轉換成比特流的形式,比特流在信號傳輸的硬件媒介中傳輸,接收方再把比特流進行解封裝處理。
在這裏插入圖片描述

1.物理層

規定了如何爲網絡通信實現底層的物理連接,以及物理設備的機械、電氣、功能和過程特性。如:如何使用電纜和接頭的 類型、用來傳送信號的電壓等。需要注意的是,網絡通信過程中所需的物理媒介(網線、線纜等),其實並不屬於物理層,因爲物 理層實際上是一種規定,規定這些物理媒介設備在連接網絡時的各種規格、參數以及工作方式。但是同時,雙絞線、線纜等物理 媒介又是物理層的實現。

2.數據鏈路層

規定了如何進行物理地址尋址、如何在物理線路上進行數據(幀frame)的可靠傳遞以及流量控制。數據鏈路層協議有SLIP協 議、CSLIP協議、PPP協議等。交換機,對幀解碼並根據幀中包含的信息把數據發送到正確的接收方,所以交換機是工作在數據 鏈路層的。

3.網絡層

規定了通過哪些網絡節點、什麼樣的網絡路徑來將數據(數據包)從發送方發送到接收方。在網絡層中,確定了從節點A發數據 到節點B的網絡路徑,經過哪些節點。網絡層既可以建立LAN通信系統,更主要的是可以在WAN網絡系統中建立通信,這是因爲 它有自己的路由地址結構,通過路由協議(又稱可路由協議)進行網絡通信的路由工作。

4.傳輸層

負責總體的數據傳輸和數據控制,提供端到端的交換數據的機制。傳輸層對數據(段)進行分割和重組,並且進行流量控制和 根據接收方的接收數據能力確定適當的傳輸速率。例如以太網無法處理大於1500字節的數據包,傳輸層將數據分割成數據片段, 並對小數據片段進行序列編號。接收方的傳輸層將根據序列編號對數據進行重組。傳輸層協議有TCP協議、UDP協議等。

5.會話層

在網絡中的兩個節點之間建立、維持和終止通信。

6.表示層

在應用程序和網絡之間對數據進行格式化,使之能夠被另一方理解。即發送方的表示層將應用程序數據的抽象語法轉換成網 絡適用於OSI網絡傳輸的傳送語法,接收方則相反。除此之外,表示層還可對數據進行加密與解密。

7.應用層

頂層的OSI層,爲應用程序提供網絡服務。如爲電子郵件、文件傳輸功能提供協議支持。應用層協議有HTTP協議、FTP協 議、SMTP協議等。

2.TCP/IP協議

從“TCP/IP”名字上來看,貌似這只是tcp協議和ip協議,但是實際上,這是很多協議很多協議組成的一個協議集合,我們 把這集合統稱爲 TCP/IP協議族,簡稱爲TCP/IP協議。對於TCP/IP 協議族按層次分別分爲以下 4 層:應用層、傳輸層、網絡層和 數據鏈路層。通過下圖我們可以瞭解TCP/IP協議結構並對比了解學習TCP/IP 四層參考模型和 OSI 七層參考模型,因爲TCP/IP太 過簡單,我們也會使用模型化的TCP/IP五層模型來描述計算機網絡。
下圖爲TCP/IP協議的基本結構
這裏插入圖片描述
TCP/IP模型通常表示爲4層,但也可以表示爲5層。
在這裏插入圖片描述

1.網絡接口層

作用一:數據封裝/解封裝成幀(frame)。爲了保證可靠傳輸,網絡層傳過來的數據在這裏被加工成了可被物理層傳輸的結 構包——幀。幀中除了包括需要傳輸的數據外,還包括髮送方和接收方的物理地址以及檢錯和控制信息。其中的物理地址確定了 幀將發送到何處,檢錯和控制信息則是用來保證數據的無差錯到達。數據幀結構如下(Address均爲mac地址):
在這裏插入圖片描述
作用二:控制幀傳輸。控制幀的傳輸主要體現在反饋重發、計時器、幀序號方面。接收方通過對幀的差錯編碼(奇偶校驗碼 或 CRC 碼)的檢查,來判斷幀在傳輸過程中是否出錯,並向發送發進行反饋,如果傳輸發生差錯,則需要重發糾正。作爲發送 發,如果在發送幀後,會同時啓動定時器,如果幀發送後在一定時間內沒有收到反饋,爲了避免傳輸停滯不前,則在計時器 Timeou後認爲幀傳輸出錯,自動重發。爲了避免多次收到同一幀並將其遞交給網絡層的情況發生,則需要對每個發送的幀進行 編號,接收方以此來判斷該幀是否重複接受了。
作用三:流量控制。由於收發雙方各自使用的設備工作速率和緩衝存儲空間的差異,可能出現發送方的發送能力大於接收 方接收能力的現象,此時若不對發送方的發送速率做適當的限制,前面來不及接收的幀將被後面不斷髮送來的幀“淹沒”,從而 造成幀的丟失而出錯。由此可見,流量控制實際上是對發送方數據流量的控制,使其發送速率不超過接收方的速率。所以需要一 些規則使得發送方知道在什麼情況下可以接着發送下一幀,而在什麼情況下必須暫停發送,以等待收到某種反饋信息後再繼續發 送。

2.網絡層

說到網絡層不得不提的就是IP協議,它是TCP/IP協議族中爲核心的協議。所有的TCP、UDP、ICMP、IGMP協議數據都以IP 數據報格式傳輸。IP協議提供的是不可靠的、無連接的數據報傳輸服務。不可靠是指IP協議不會保證數據報能否成功到達目的 地,僅提供傳輸服務,傳輸出錯,則會丟棄出錯的數據報。無連接是指IP協議對數據報的處理是獨立的,這也意味着接收方不一 定會按照發送順序接收數據報。IP數據報格式如下:
在這裏插入圖片描述
在這裏插入圖片描述
子網劃分:
一個有500臺主機的網絡,如果使用C類地址,則無法滿足主機數量需求,使用B類地址則會造成IP地址的浪費。由此,需要在 ABC類網絡的基礎上進行子網劃分:即佔用主機號的前幾位表示子網號。子網掩碼的概念由此被引入。
在這裏插入圖片描述

3.傳輸層

無論參考OSI還是TCP/IP的網絡模型,我們從傳輸層向更底層看,各層的協議都是在直接或間接的服務於主機與主機之間的通 信,而傳輸層則是在進程與進程通信層面上的。傳輸層有兩個重要的協議——TCP(Transmission ControlProtocol,傳輸控制 協議)和UDP(User Data Protocol,用戶數據報協議)。
UDP協議:  
 UDP(User Datagram Protocol)即用戶數據報協議,其傳輸機制決定了它的大優點——快,同時也決定了它大的缺點 ——不可靠、不穩定。   
 UDP是無連接的,發送數據之前不需要建立連接(TCP需要)。減少了開銷和延時。   
 UDP是面向報文的,對IP數據報只做簡單封裝(8字節UDP報頭)。減少報頭開銷。   
 UDP沒有阻塞機制,寧願阻塞時丟棄數據不傳,也不阻塞造成延時。   
 UDP支持一對一、一對多、多對一、多對多通信。
 UDP報文結構
 在這裏插入圖片描述
 TCP協議:   
 TCP(Transmission Control Protocol)傳輸控制協議,相對於UDP,TCP是面向連接的、提供可靠的數據傳輸服務。同時也 是較UDP開銷較大的、傳輸速度較慢的。   
 TCP提供可靠的、面向連接的數據傳輸服務。使用TCP通信之前,需要進行“三次握手”建立連接,通信結束後還要使 用“四次揮手”斷開連接。   
 TCP是點對點的連接。一條TCP連接只能連接兩個端點。    TCP 提供可靠傳輸,無差錯、不丟失、不重複、按順序。   TCP 提供全雙工通信,允許通信雙方任何時候都能發送數據,發送方設有發送緩存,接收方設有接收緩存。   
 TCP 面向字節流 。
 TCP 並不知道所傳輸的數據的含義,僅把數據看作一連串的字節序列,它也不保證接收方收到的數據塊 和發送方發出的數據塊具有大小對應關係。
TCP報文結構
在這裏插入圖片描述
TCP建立連接的三次握手
在這裏插入圖片描述

TCP斷開連接的四路握手:
   在這裏插入圖片描述

4.應用層

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章