網絡初學者需掌握互聯網協議
想要掌握互聯網協議,對于網絡結構的分層的理解是必不可少的。現在就此話題我們來進行一下分析。首先讓我們從互聯網的一些基礎概念來引入今天的話題……為了使數據能夠跨互聯網進行傳輸, 如J2EE等典型的分布式平臺都需要依賴互聯網協議的支持。對于跨互聯網的數據傳輸來說, 互聯網協議是至關重要的。對于分布式系統中的不同組件之間的通信, 以及和遠程組件間的通信, 互聯網協議通常都定義了相關標準。與其他傳統的協議一樣, 互聯網協議定義了兩個或多個通信實體之間進行信息交換的格式和順序, 以及定義了消息或事件的傳輸與/或接受的行為[Kurose 2003]。
互聯網協議中最重要的協議是傳輸控制協議和互聯網協議(合稱TCP/IP協議)。IP協議是互聯網的基本協議, 用于不同主機之間的報文的不可靠傳送。IP協議并不保證報文是否一定送達、 多長時間送達, 也不保證在傳送多個報文時報文的接收順序與發送順序是否一致。而TCP協議則增加了連接和可靠性的概念。對于跨網絡的通信, 尤其是跨互聯網的通信, TCP/IP提供了數據流的可靠傳送。
為了標識互聯網絡中的計算機(主機), 需要給每一臺主機賦予一個地址, 該地址稱為互聯網協議地址(簡稱IP地址)。IP地址唯一標識了每一個網絡及互聯網中的每一臺主機。IP地址包含兩部分: 網絡標識符和主機標識符。IP地址中的網絡標識符標識互聯網中的網絡, 這個標識符是由互聯網權威管理機構分配的, 并且在整個互聯網上是唯一的。IP地址中的主機標識符是由控制該網絡的組織所分配的。事實上, IP地址可分為三類, 分別用于大型網絡、 中型網絡和小型網絡。大型網絡的數量較少, 中型網絡的數量中等, 小型網絡的數量很多。
在進一步詳細分析TCP/IP協議之前, 我們首先概述一下國際標準化組織的開放系統互連模型(簡稱OSI模型)中的各層。了解OSI中的層次對于理解TCP/IP模型中的分層非常關鍵。
OSI參考模型
不同的系統可以分布在網絡上, 在這些系統上運行的應用程序進程之間可以進行數字通信, OSI參考模型是這類數字通信的一種抽象描述。參考模型也是一個關于如何進行通信的概念藍圖。參考模型涉及了高效通信所需的所有處理步驟, 并把這些處理步驟按邏輯關系進行分組, 并將這些組分別稱為層。當通信系統按這種方式進行設計時, 則稱為分層的體系結構。
如圖2.1所示, OSI模型是一個七層層次結構。每一層向直接鄰近的上一層提供所請求的增值服務。反過來, 每一層又向與它直接相鄰的下一層提出一些基本的服務請求。OSI的層次劃分如下所示。
![]() |
物理層(或稱第一層): 這是ISO/OSI參考模型的七層中最低的一層, 它規定了激活、 維持和釋放終端系統之間的物理鏈路所需的電氣需求、 機械需求、 過程需求及功能需求。
數據鏈路層(或稱第二層): 該層提供了在網絡實體之間傳送數據的方法, 以及檢測甚至有可能修復物理層所出現的錯誤。數據鏈路層提供了數據及錯誤通知的物理傳輸、 網絡拓撲和流量控制。數據鏈路層將消息劃分成格式化的數據塊, 每一個數據塊稱為一個數據幀。每一個數據幀的數據由兩部分組成: 幀頭和幀數據, 幀頭包括了數據幀的發送主機的源地址以及接收主機的目標地址。
網絡層(第三層): 該層響應傳輸層(傳輸層是與網絡層直接相鄰的上一層)的服務請求, 并將服務請求發送給數據鏈路層。互聯網協議的網絡層可通過一個或多個網絡將源結點的變長數據包傳送到目的結點。該層所提供的功能包括: 網絡路由、 流量控制、 組包和拆包、 差錯控制。
傳輸層(第四層): 該層響應會話層(會話層是與傳輸層直接相鄰的上一層)的服務請求, 并將服務請求發送給網絡層。傳輸層的作用是提供終端用戶之間的透明的數據傳輸。傳輸層負責將上層數據分段并提供可靠或不可靠的傳輸(不可靠傳輸的傳輸效率更高)。用戶可以請求在不同的系統間進行可靠的數據傳輸。傳輸層通過流量控制和可靠的數據傳輸來保證數據完整性。
會話層(第五層): 會話層提供了終端用戶應用程序進程之間的會話管理機制, 即負責建立、 管理、 終止表示層實體之間的會話。該層協調系統之間的通信, 并提供三種不同的模式來組織通信: 單工、 半雙工和全雙工。會話層可在數據中插入校驗點, 還可終止或重啟會話過程。
表示層(第六層): 表示層為應用層表示數據, 并提供數據轉換和代碼格式化。表示層的主要功能包括數據壓縮與恢復、 數據加密與解密等。
應用層(第七層): 應用層是ISO/OSI參考模型中的最高層。應用層為應用程序提供了訪問OSI網絡的接口, 并完成應用程序所需的公共應用服務。對于進行通信的兩個應用程序進程, 公共應用服務提供了語法轉換。
第一層到第四層處理跨網絡的端到端數據傳輸所需的通信、 流量控制、 差錯處理。互聯網協議的傳輸層下面可以有許多不同類型的物理網絡, 例如X.25分組交換數據網絡(PSDN)或局域網(LAN)。第五層到第七層處理跨網絡應用的協調, 以及處理如何向應用表示信息。對于提供不同類型的終端用戶服務的許多應用程序來說, 通用的傳輸層實現可以支持這些應用程序。