1. 程式人生 > >OSI七層模型與TCP/IP模型

OSI七層模型與TCP/IP模型

OSI七層模型

從低到高:物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層。

物理層:並不是指物理裝置或者物理媒體。而是有關物理裝置通過物理媒體進行互聯的描述和規定。該層定義了介面的機械特性、電氣特性、功能特性、規程特性等4個基本特性。物理層以位元流的方式傳送來自資料鏈路層的資料,而不去理會資料的含義和格式。同樣,接收資料後直接傳給資料鏈路層。

資料鏈路層:負責通過物理層從一臺計算機到另外一臺計算機無差錯的傳輸資料幀,允許網路層通過網路連線進行虛擬無差錯的傳輸。通常,資料鏈路層傳送資料幀之後,等待接收方進行確認。接收方資料鏈路層檢測幀傳輸過程中產生的任何問題。沒有經過確認和損壞的幀都需要重傳。

網路層:負責資訊定址和將邏輯地址轉換為實體地址。在網路層,資料傳遞單位是包。網路層的任務是選擇合適的路徑轉發資料包。使傳送方的資料包能夠正確無誤的按地址尋找到接收方的路徑。並將資料包交給接收方。網路中兩點之間可以到達的路徑可能有很多,在選擇最快捷、花費最低的路徑時必須考慮網路擁塞程度、服務質量、線路的花費和線路的有效性。總的來說,網路層負責選擇最佳路徑。

網路層還能夠協調發送、傳輸及接收裝置的能力不平衡問題。如網路層對資料進行分段和重組,使得資料的長度能夠滿足該網路下層資料鏈路鎖支援的最大資料幀MTU的長度。還需要考慮網路層不同網路協議之間的相互連線問題。

傳輸層:傳輸層的功能是保證在不同子網的兩臺裝置間資料包可靠、順序、無錯的傳輸。在傳輸層,資料傳輸單位是段。傳輸層負責處理端對端通訊,即一個終端到另一個終端的通訊,中間可以有多個交換節點。傳輸層向高層使用者提供端到端的可靠的透明傳輸服務,為不同程序間的資料交換提供可靠的傳輸手段。在傳輸層的一個很重要的工作是資料的分段和重組,即把一個上層資料切割成更小的邏輯片和物理片。傳送方在傳輸層把上層交給它的較大的資料進行分段後分別交給網路層進行獨立輸出,從而在傳輸層實現流量控制,提高網路資源的利用率。接收方收到資料後重組。傳輸層可以將收到的亂序資料包重新排序,並驗證是否收到所有分組。

會話層:會話層是利用傳輸層提供的端到端的服務,向表示層或會話使用者提供會話服務。會話層主要功能是在兩個節點之間建立、維護、釋放面向使用者的連線,並對會話進行管理和控制,保證會話資料可靠傳送。會話層的連線與傳輸層的連線有1對1、1對多、多對1的關係。會話工程中,會話層需要決定到底使用全雙工通訊還是半雙工通訊。如果採用全雙工,會話層的對話管理工作就很少。如果採用半雙工,會話層則通過一個數據令牌來協調會話。保證每次只有一個使用者能夠傳輸資料。會話層提供同步服務,通過在資料流中定義檢查點來把會話分割成明顯的會話單元。當網路出故障時,從最後一個檢查點開始重傳資料。SQL、RPC(遠端程序呼叫)都屬於該層協議。

表示層:表示層專門負責有關網路中計算機資訊表示方式的問題。表示層在不同的資料格式之間進行資料轉換,實現不同計算機之間的資訊交換。除了編碼,還包括陣列、浮點數、記錄、影象、聲音等。表示層還負責資料的加密。檔案的壓縮,降低傳輸費用。

應用層:直接與使用者和應用程式打交道。負責對軟體提供介面以使程式可以使用網路。Telnet(虛擬終端協議)、SMTP(簡單郵件傳輸協議)、SNMP(簡單網路管理協議)、DNS(域名系統)和超文字傳輸協議(HTTP)。

TCP/IP參考模型

從低到高:網路介面層、網路層、傳輸層、應用層。

各層主要功能大致與OSI相對應。

應用層協議:HTTP、FTP、SMTP、DNS。

傳輸層協議:TCP、UDP。

網路層協議:IP、ARP、ICMP(因特網控制訊息協議)、RARP(反向地址解釋協議)。

網路介面層:Ethrenet、令牌環、幀中繼、ISDN和分組交換網X.25。

TCP傳輸協議

TCP採用三次握手建立連線。過程為第一步,源主機A的TCP向主機B傳送連線請求報文段,其首部中的SYN(同步)標誌位應置為1,表示想與B通訊,併發送一個同步序列X(SEQ=100),表示在後面傳遞資料時第一個資料位元組的序號是X+1。第二步,目標主機收到連線請求後,同意,發回確認。在確認報文中將ACK和SYN置為1。確認號為X+1。同時自己選一個序列Y。第三步,A收到確認後再給B發個確認,ACK=1,確認號為Y+1,而自己序列號為X+1。

同樣採用三次握手關閉連線。第一步,A傳送關閉請求,FIN=1,序號X為傳送的資料最後一個位元組序號加1。第二步,B收到後發出確認,序號為Y,確認號為X+1,同時高層應用,不再接收A的資料,但仍可向A發資料。第三步,A再確認,將A到B的連線釋放掉。

UDP傳輸協議

不與對方建立連線。報文不一定按順序到達。不傳送確認訊號。系統開銷少。