12分鐘帶你搞定OSI七層模型與TCP/IP五層模型
一、OSI參考模型
1. OSI的來源
OSI(Open System Interconnect),即開放式系統互聯。一般都叫OSI參考模型,是ISO(國際標準化組織)組織在1985年研究的網絡互連模型。
ISO為了更好的使網絡應用更為普及,推出了OSI參考模型。其含義就是推薦所有公司使用這個規范來控制網絡。這樣所有公司都有相同的規范,就能互聯了。
2. OSI七層模型的劃分
OSI定義了網絡互連的七層框架(物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層),即ISO開放互連系統參考模型。如下圖。
每一層實現各自的功能和協議,并完成與相鄰層的接口通信。OSI的服務定義詳細說明了各層所提供的服務。某一層的服務就是該層及其下各層的一種能力,它通過接口提供給更高一層。各層所提供的服務與這些服務是怎么實現的無關。
3. 各層功能定義
這里我們只對OSI各層進行功能上的大概闡述,不詳細深究,因為每一層實際都是一個復雜的層。
這里我們就大概了解一下。
我們從最頂層——應用層 開始介紹。
整個過程以公司A和公司B的一次商業報價單發送為例子進行講解。
(1) 運用層
OSI參考模型中最靠近用戶的一層,是為計算機用戶提供應用接口,也為用戶直接提供各種網絡服務。
我們常見應用層的網絡服務協議有:HTTP,HTTPS,FTP,POP3、SMTP等。
實際公司A的老板就是我們所述的用戶,而他要發送的商業報價單,就是應用層提供的一種網絡服務,當然,老板也可以選擇其他服務,比如說,發一份商業合同,發一份詢價單,等等。
(2) 表示層
表示層提供各種用于應用層數據的編碼和轉換功能,確保一個系統的應用層發送的數據能被另一個系統的應用層識別。
如果必要,該層可提供一種標準表示形式,用于將計算機內部的多種數據格式轉換成通信中采用的標準表示形式。
數據壓縮和加密也是表示層可提供的轉換功能之一。
由于公司A和公司B是不同國家的公司,他們之間的商定統一用英語作為交流的語言,所以此時表示層(公司的文秘),就是將應用層的傳遞信息轉翻譯成英語。
同時為了防止別的公司看到,公司A的人也會對這份報價單做一些加密的處理。
這就是表示的作用,將應用層的數據轉換翻譯等。
(3) 會話層
會話層就是負責建立、管理和終止表示層實體之間的通信會話。
該層的通信由不同設備中的應用程序之間的服務請求和響應組成。
會話層的同事拿到表示層的同事轉換后資料,(會話層的同事類似公司的外聯部),會話層的同事那里可能會掌握本公司與其他好多公司的聯系方式,這里公司就是實際傳遞過程中的實體。他們要管理本公司與外界好多公司的聯系會話。
當接收到表示層的數據后,會話層將會建立并記錄本次會話,他首先要找到公司B的地址信息,然后將整份資料放進信封,并寫上地址和聯系方式。準備將資料寄出。
等到確定公司B接收到此份報價單后,此次會話就算結束了,外聯部的同事就會終止此次會話。
(4) 傳輸層
傳輸層建立了主機端到端的鏈接,傳輸層的作用是為上層協議提供端到端的可靠和透明的數據傳輸服務,包括處理差錯控制和流量控制等問題。
該層向高層屏蔽了下層數據通信的細節,使高層用戶看到的只是在兩個傳輸實體間的一條主機到主機的、可由用戶控制和設定的、可靠的數據通路。
我們通常說的,TCP UDP就是在這一層。端口號既是這里的“端”。
傳輸層就相當于公司中的負責快遞郵件收發的人,公司自己的投遞員,他們負責將上一層的要寄出的資料投遞到快遞公司或郵局。
(5) 網絡層
本層通過IP尋址來建立兩個節點之間的連接,為源端的運輸層送來的分組,選擇合適的路由和交換節點,正確無誤地按照地址傳送給目的端的運輸層。
就是通常說的IP層。
這一層就是我們經常說的IP協議層。
IP協議是Internet的基礎。
網絡層就相當于快遞公司龐大的快遞網絡,全國不同的集散中心,比如說,從深圳發往北京的順豐快遞(陸運為例啊,空運好像直接就飛到北京了),首先要到順豐的深圳集散中心,從深圳集散中心再送到武漢集散中心,從武漢集散中心再寄到北京順義集散中心。這個每個集散中心,就相當于網絡中的一個IP節點。
(6) 數據鏈路層
將比特組合成字節,再將字節組合成幀,使用鏈路層地址 (以太網使用MAC地址)來訪問介質,并進行差錯檢測。
數據鏈路層又分為2個子層:邏輯鏈路控制子層(LLC)和媒體訪問控制子層(MAC)。
MAC子層處理CSMA/CD算法、數據出錯校驗、成幀等;LLC子層定義了一些字段使上次協議能共享數據鏈路層。
在實際使用中,LLC子層并非必需的。
(7) 物理層
實際最終信號的傳輸是通過物理層實現的。
通過物理介質傳輸比特流。規定了電平、速度和電纜針腳。
常用設備有(各種物理設備)集線器、中繼器、調制解調器、網線、雙絞線、同軸電纜。
這些都是物理層的傳輸介質。
快遞寄送過程中的交通工具,就相當于我們的物理層,例如汽車,火車,飛機,船。
4. 通信特點:對等通信
對等通信,為了使數據分組從源傳送到目的地,源端OSI模型的每一層都必須與目的端的對等層進行通信,這種通信方式稱為對等層通信。
在每一層通信過程中,使用本層自己協議進行通信。
二、TCP/IP五層模型
TCP/IP五層協議和OSI的七層協議對應關系如下:
在每一層都工作著不同的設備,比如我們常用的交換機就工作在數據鏈路層的,一般的路由器是工作在網絡層的。
在每一層實現的協議也各不同,即每一層的服務也不同,下圖列出了每層主要的協議。
1. 應用層
應用層向應用程序提供服務,這些服務按其向應用程序提供的特性分成組,并稱為服務元素。
有些可為多種應用程序共同使用,有些則為較少的一類應用程序使用。
應用層為最高層,是直接為應用進程提供服務的。
其作用是在實現多個系統應用進程相互通信的同時,完成一系列業務處理所需的服務。
其服務元素分為兩類:公共應用服務元素CASE和特定應用服務元素SASE。
CASE提供最基本的服務,它成為應用層中任何用戶和任何服務元素的用戶,主要為應用進程通信,分布系統實現提供基本的控制機制。
特定服務SASE則要滿足一些特定服務,如文卷傳送,訪問管理,作業傳送,銀行事務,訂單輸入等。
這些將涉及到虛擬終端,作業傳送與操作,文卷傳送及訪問管理,遠程數據庫訪問,圖形核心系統,開放系統互連管理等等。
應用層的標準有DP8649"公共應用服務元素",DP8650"公共應用服務元素用協議",文件傳送,訪問和管理服務及協議。
2. 傳輸層
傳輸層是兩臺計算機經過網絡進行數據通信時,第一個端到端的層次,具有緩沖作用。
當網絡層服務質量不能滿足要求時,它將服務加以提高,以滿足高層的要求;當網絡層服務質量較好時,它只用很少的工作。
傳輸層還可進行復用,即在一個網絡連接上創建多個邏輯連接。
傳輸層也稱為運輸層,是很重要的一層。
因為它是源端到目的端對數據傳送進行控制從低到高的最后一層。
有一個既存事實,即世界上各種通信子網在性能上存在著很大差異。
例如電話交換網,分組交換網,公用數據交換網,局域網等通信子網都可互連,但它們提供的吞吐量,傳輸速率,數據延遲通信費用各不相同。
對于會話層來說,卻要求有一性能恒定的界面。
傳輸層就承擔了這一功能。
它采用分流/合流,復用/解復用技術來調節上述通信子網的差異,使會話層感受不到。
此外傳輸層還要具備差錯恢復,流量控制等功能,以此對會話層屏蔽通信子網在這些方面的細節與差異。
傳輸層面對的數據對象已不是網絡地址和主機地址,而是和會話層的界面端口。
上述功能的最終目的是為會話提供可靠的,無誤的數據傳輸。
傳輸層的服務一般要經歷傳輸連接建立階段,數據傳送階段,傳輸連接釋放階段3個階段才算完成一個完整的服務過程。
而在數據傳送階段又分為一般數據傳送和加速數據傳送兩種。
3. 網絡層
網絡層的產生也是網絡發展的結果。
在聯機系統和線路交換的環境中,網絡層的功能沒有太大意義。
當數據終端增多時,它們之間有中繼設備相連。
此時會出現一臺終端要求不只是與唯一的一臺而是能和多臺終端通信的情況,這就是產生了把任意兩臺數據終端設備的數據鏈接起來的問題,也就是路由或者叫尋徑。
另外,當一條物理信道建立之后,被一對用戶使用,往往有許多空閑時間被浪費掉。
人們自然會希望讓多對用戶共用一條鏈路,為解決這一問題就出現了邏輯信道技術和虛擬電路技術。
網絡層為建立網絡連接和為上層提供服務,應具備以下主要功能:
- 路由選擇和中繼。
- 激活,終止網絡連接。
- 在一條數據鏈路上復用多條網絡連接,多采取分時復用技術 。
- 差錯檢測與恢復。
- 排序,流量控制。
- 服務選擇。
- 網絡管理。
4. 數據鏈路層
數據鏈路可以粗略地理解為數據通道。
物理層要為終端設備間的數據通信提供傳輸媒體及其連接。
媒體是長期的,連接是有生存期的。
在連接生存期內,收發兩端可以進行不等的一次或多次數據通信。
每次通信都要經過建立通信聯絡和拆除通信聯絡兩過程。
這種建立起來的數據收發關系就叫作數據鏈路。
而在物理媒體上傳輸的數據難免受到各種不可靠因素的影響而產生差錯,為了彌補物理層上的不足,為上層提供無差錯的數據傳輸,就要能對數據進行檢錯和糾錯。
數據鏈路的建立,拆除,對數據的檢錯,糾錯是數據鏈路層的基本任務。
鏈路層的主要功能:鏈路層是為網絡層提供數據傳送服務的,這種服務要依靠本層具備的功能來實現。
- 鏈路連接的建立,拆除,分離。
- 幀定界和幀同步。鏈路層的數據傳輸單元是幀,協議不同,幀的長短和界面也有差別,但無論如何必須對幀進行定界。
- 順序控制,指對幀的收發順序的控制。
- 差錯檢測和恢復。
還有鏈路標識,流量控制等等。
差錯檢測多用方陣碼校驗和循環碼校驗來檢測信道上數據的誤碼,而幀丟失等用序號檢測。
各種錯誤的恢復則常靠反饋重發技術來完成。
5. 物理層
物理層雖然處于最底層,卻是整個計算機網絡的基礎。
物理層為設備之間的數據通信提供傳輸媒體及互連設備,為數據傳輸提供可靠的環境。
物理層的媒體包括架空明線、平衡電纜、光纖、無線信道等。通信用的互連設備指DTE和DCE間的互連設備。
DTE即數據終端設備,又稱物理設備,如計算機、終端等都包括在內。
而DCE則是數據通信設備或電路連接設備,如調制解調器等。
數據傳輸通常是經過DTE——DCE,再經過DCE——DTE的路徑。
互連設備指將DTE、DCE連接起來的裝置,如各種插頭、插座。
LAN中的各種粗、細同軸電纜、T型接、插頭,接收器,發送器,中繼器等都屬物理層的媒體和連接器。
物理層的主要功能:
(1) 為數據端設備提供傳送數據的通路,數據通路可以是一個物理媒體,也可以是多個物理媒體連接而成。
一次完整的數據傳輸,包括激活物理連接,傳送數據,終止物理連接。
所謂激活,就是不管有多少物理媒體參與,都要在通信的兩個數據終端設備間連接起來,形成一條通路。
(2) 傳輸數據,物理層要形成適合數據傳輸需要的實體,為數據傳送服務。
一是要保證數據能在其上正確通過,二是要提供足夠的帶寬(帶寬是指每秒鐘內能通過的比特(BIT)數),以減少信道上的擁塞。
傳輸數據的方式能滿足點到點,一點到多點,串行或并行,半雙工或全雙工,同步或異步傳輸的需要。