第二章OSI與TCP/IP原理
有些初學者覺得OSI分層模型很難理解,其實如果掌握了正確的思路,分層模型的概念簡單。在學習本章中,只要按照下面思路去學習,就會覺得很容易理解。
2.1 OSI參考模型
OSI參考模型是開放通訊系統互連參考模型
該模型是以國際標準組織(international standards organization ,ISO)的一份提案為基礎的,它為各層所使用的協議的國際標準化邁出了第一步,並且於1995年進行修訂,該模型為ISO OSI。
OSI參考模型是一個定義良好的協議規範,並有許多可選部分完成類似的任務。它定義了開放系統的層次結構、層次之間的相互關係及各層所包括的可能的服務。它作為一個框架來協調和組織各層協議的制定,也是對網路內部結構最精練的概括與描述。OSI參考模型的服務定義詳細地說明了各層所提供的服務。每一層的服務已經該層及其下各層的一種能力,它通過介面提供給更高一層。各層所提供的服務與這些服務是怎樣實現的無關。同時,各種服務定義還定義了層與層之間的介面與各層使用的元素,但不涉及介面的實現方式。OSI OSI參考模型標準中的各種協議精確定義了應當傳送什麼樣的控制資訊,以及應當什麼樣的過程來解釋這個控制資訊。OSI參考模型並不是一個標準,而是一個在制定標準時所使用的概念性框架。
今天的OSI的參考模型從仍然存在,並在全世界被使用,現在OSI參考模型更多用於作為討論其他協議規範時的參考。
OSI參考模型將計算機網路分為7層,如圖所示下面的學習將從最底層開始,依次討論模型的各層所要完成的功能。
#######################################
提示:OSI參考模型是一個理想化的模型,但是在實際環境中並不是一個真實的網路系統志其完全對應。
#######################################
1. 物理層
物理層的主要功能是完成相鄰節點之間原始位元流的傳輸
物理層協議關心的典型問題是使用什麼樣的物理訊號來表示資料1和0;一位持續的時間多長;資料傳輸是否可同時在兩個方向上進行;最初的連線如何建立以及完成通訊後連線如何終止;物理介面有多少針能及各針的用處。物理層的設計主要涉及物理層介面的機械、電氣、功能和過程特性,以及物理介面連線的傳輸介質等問題。
物理層是OSI的第一層,它雖然處於最底層,卻是整個開放系統的基礎。物理層為裝置之間的資料通訊提供傳輸媒體及互連裝置,為資料傳輸提供可靠的環境。
透明的傳送位元流;所實現的硬體:集線器(HUB)。
a.媒體和互連裝置
物理層的媒體包括架空明線、平衡電纜、光纖、無線通道等。
間的互連裝置。DTE既資料終端裝置,又稱物理裝置,如計算機、終端等都包括在內。LAN中的各種粗、細同軸電纜、T型接、插頭,接收器,傳送器,中繼器等都屬物理層的媒體和聯結器。
b.物理層的主要功能
⑴為資料端裝置提供傳送資料的通路,資料通路可以是一個物理媒體,也可以是多個物理媒體連線而成.一次完整的資料傳輸,包括啟用物理連線,傳送資料,終止物理連線.所謂啟用,就是不管有多少物理媒體參與,都要在通訊的兩個資料終端裝置間連線起來,形成一條通路.
⑵ 傳輸資料.物理層要形成適合資料傳輸需要的實體,為資料傳送服務.一是要保證資料能在其上正確通過,二是要提供足夠的頻寬(頻寬是指每秒鐘內能通過的位元(BIT)數),以減少通道上的擁塞.傳輸資料的方式能滿足點到點,一點到多點,序列或並行,半雙工或全雙工.
⑶ 完成物理層的一些管理工作.
物理層的裝置如圖:
圖中的網線是物理層裝置
2.資料鏈路層
資料鏈路(Data Link Layer)可以粗略地理解為資料通道。物理層要為終端裝置間的資料通訊提供傳輸媒體及其連線.媒體是長期的,連線是有生存期的.在連線生存期內,收發兩端可以進行不等的一次或多次資料通訊.每次通訊都要經過建立通訊聯絡和拆除通訊聯絡兩過程.這種建立起來的資料收發關係就叫作資料鏈路.而在物理媒體上傳輸的資料難免受到各種不可靠因素的影響而產生差錯,為了彌補物理層上的不足,為上層提供無差錯的資料傳輸,就要能對資料進行檢錯和糾錯.資料鏈路的建立,拆除,對資料的檢錯,但是並不糾正錯誤。
該層是許多有線LAN和無線LAN技術主要起作用的地方。例如:乙太網,令牌網,光纖分散式資料介面(FDDI)和802.11(無線乙太網或Wi-Fi)這些有時被稱為資料鏈路層技術。資料鏈路層在概念上常被劃分為兩個子層:邏輯鏈路控制(logical link control,LLC)和媒體訪問控制(media access control,MAC).
鏈路層是為網路層提供資料傳送服務的,這種服務要依靠本層具備的功能來實現。鏈路層應具備如下功能:
① 鏈路連線的建立,拆除,分離.
② 幀定界和幀同步.鏈路層的資料傳輸單元是幀,協議不同,幀的長短和介面也有差別,但無論如何必須對幀進行定界.
③ 順序控制,指對幀的收發順序的控制.
④ 差錯檢測和恢復。還有鏈路標識,流量控制等等.差錯檢測多用方陣碼校驗和迴圈碼校驗來檢測通道上資料的誤碼,而幀丟失等用序號檢測.各種錯誤的恢復則常靠反饋重發技術來完成.
⑤ 進行資料協商
資料鏈路層裝置交換機如圖
2. 網路層
1. 網路層功能概述
網路層是OSI參考模型中的第三層,是通訊子網的最高層。網路層關係到通訊子網的執行控制,體現了網路應用環境中資源子網訪問通訊子網的方式。
網路層向上層只提供簡單靈活的、無連線的、盡最大努力交付的資料報服務,且不提供服務質量的承諾。概括地說,網路層應該具有以下功能:
(1) 為傳輸層提供服務
網路層提供的服務有兩類:面向連線的網路服務和無連線的網路服務。
網路層向傳輸層提供的一種使所有資料包按順序到達目的結點的可靠的資料傳送方式,進行資料交換的兩個結點之間存在著一條為它們服務的虛電路;而資料報服務是不可靠的資料傳送方式,源結點發送的每個資料包都要附加地址、序號等資訊,目的結點收到的資料包不一定按序到達,還可能出現數據包的丟失現象。
(2) 組包和拆包
在網路層,資料傳輸的基本單位是資料包(也稱為分組)。在傳送方,傳輸層的報文到達網路層時被分為多個數據塊,在這些資料塊的頭部和尾部加上一些相關控制資訊後,即組成了資料包(組包)。資料包的頭部包含源結點和目標結點的網路地址(邏輯地址)。在接收方,資料從低層到達網路層時,要將各資料包原來加上的包頭和包尾等控制資訊去掉(拆包),然後組合成報文,送給傳輸層。
(3) 路由選擇
路由選擇也叫做路徑選擇,是根據一定的原則和路由選擇演算法在多結點的通訊子網中選擇一條最佳路徑。確定路由選擇的策略稱為路由演算法。
在資料報方式中,網路結點要為每個資料包做出路由選擇;而在虛電路方式中,只需在建立連線時確定路由。
(4) 擁塞控制
擁塞控制的作用是防止網路效能下降或其業務陷入停頓,避免死鎖。
網路的吞吐量(資料包數量/秒)與通訊子網負荷(即通訊子網中正在傳輸的資料包數量)有著密切的關係。
擁塞控制與行流量控制區別:擁是確保子網能夠承載所達到的流量,這是一個全域性性的問題,涉及各方面的行為:主機,路由器及路由器內部的轉發處理過程等;而流量控制只與特定的傳送方與接收方之間的點到點流量有關。確保資料傳輸速率不超過接收方的吸收能力。
進行擁塞控制方法有許可證、抑制分組、分組丟棄各拌動控制;進行流量控制,通常可採用滑動視窗、停止等待和分組丟棄四種方法。
3. 網路層的網路連線裝置
(1) 路由器(Router)
在網際網路中,兩臺主機之間傳送資料的通路會有很多條,資料包從一臺主機出發,中途要經過多個站點才能到達另一臺主機。這些中間站點通常由稱為路由器的裝置擔當,其作用就是為資料包選擇一條合適的傳送路徑。
路由器工作在OSI模型的網路層,是根據資料包中的邏輯地址(網路地址)而不是MAC地址來轉發資料包的。
路由器的主要工作是為經過路由器的每個資料包尋找一條最佳傳輸路徑,並將該資料包有效地傳送到目的站點。
路由器不僅有交換機的全部功能,還具有路徑的選擇功能,可根據網路的擁塞程度,自動選擇適當的路徑傳送資料。
路由器與交換機不同之處在於,它並不是使用路由表來找到其他網路中指定裝置的地址,而是依靠其它的路由器來完成任務。也就是說,交換機是根據路由表來轉發或過濾資料包,而路由器是使用它的資訊來為每一個數據包選擇最佳路徑。
路由器有靜態和動態之分。靜態路由器需要管理員來修改所有的網路路由表,一般只用於小型的網間互連;而動態路由器能根據指定的路由協議來完成修改路由器資訊。
網路裝置的應用
4傳輸層
傳輸層是兩臺計算機經過網路進行資料通訊時,第一個端到端的層次,具有緩衝作用。當網路層服務質量不能滿足要求時,它將服務加以提高,以滿足高層的要求;當網路層服務質量較好時,它只用很少的工作。傳輸層還可進行復用,即在一個網路連線上建立多個邏輯連線。
傳輸層是OSI中最重要, 最關鍵的一層,是唯一負責總體的資料傳輸和資料控制的一層.傳輸層提供端到端的交換資料的機制.傳輸層對會話層等高三層提供可靠的傳輸服務,對網路層提供可靠的目的地站點資訊。
傳輸層也稱為運輸層.傳輸層只存在於端開放系統中,是介於低3層通訊子網系統和高3層之間的一層,但是很重要的一層.因為它是源端到目的端對資料傳送進行控制從低到高的最後一層.
傳輸層提供了主機應用程式程序之間的端到端的服務,基本功能如下
(1) 分割與重組資料
(2) 按埠號定址
(3) 連線管理
(4) 差錯控制和流量控制
傳輸層要向會話層提供通訊服務的可靠性,避免報文的出錯、丟失、延遲時間紊亂、重複、亂序等差錯。
傳輸層在OSI中的地位和作用
傳輸層是整個協議層次結構的核心,是惟一負責總體資料傳輸和控制的一層。
在OSI七層模型中傳輸層是負責資料通訊的最高層,又是面向網路通訊的低三層和麵向資訊處理的高三層之間的中間層。因為網路層不一定保證服務的可靠,而使用者也不能直接對通訊子網加以控制,因此在網路層之上,加一層即傳輸層以改善傳輸質量。
傳輸層利用網路層提供的服務,並通過傳輸層地址提供給高層使用者傳輸資料的通訊埠,使系統間高層資源的共享不必考慮資料通訊方面和不可靠的資料傳輸方面的問題。它的主要功能是:對一個進行的對話或連線提供可靠的傳輸服務,在通向網路的單一物理連線上實現該連線的複用,在單一連線上提供端到端的序號與流量控制、差錯控制及恢復等服務。
例如QQ 使用的埠是上層對接,通過埠來實現通訊的
5.會話層
會話層(Session)提供的服務可使應用建立和維持會話,並能使會話獲得同步。會話層使用校驗點可使通訊會話在通訊失效時從校驗點繼續恢復通訊。這種能力對於傳送大的檔案極為重要。
現將會話層主要功能介紹如下.
⑴為會話實體間建立連線
為給兩個對等會話服務使用者建立一個會話連線,應該做如下幾項工作.
① 將會話地址對映為運輸地址.
② 選擇需要的運輸服務質量引數(QOS).
③ 對會話引數進行協商.
④ 識別各個會話連線.
⑤ 傳送有限的透明使用者資料.
⑵資料傳輸階段
這個階段是在兩個會話使用者之間實現有組織的,同步的資料傳輸.使用者資料單元為SSDU,而協議資料單元為SPDU.會話使用者之間的資料傳送過程是將SSDU轉變成SPDU進行的.
⑶連線釋放
連線釋放是通過"有序釋放","廢棄","有限量透明使用者資料傳送"等功能單元來釋放會話連線的.
會話層(SESSION LAYER)允許不同機器上的使用者之間建立會話關係。會話層循序進行類似的傳輸層的普通資料的傳送,在某某些場合還提供了一些有用的增強型服務。允許使用者利用一次會話在遠端的分時系統上登陸,或者在兩臺機器間傳遞檔案。 另一種會話層服務是同步。如果在平均每小時出現一次大故障的網路上,兩臺機器簡要進行一次兩小時的檔案傳輸,試想會出現什麼樣的情況呢?每一次傳輸中途失敗後,都不得不重新傳送這個檔案。當網路再次出現大故障時,可能又會半途而廢。為解決這個問題,會話層提供了一種方法,即在資料中插入同步點。每次網路出現故障後,僅僅重傳最後一個同步點以後的資料(這個其實就是斷點下載的原理)。
6.表示層
表示層位於OSI分層結構的第六層,它的主要作用之一是為異種機通訊提供一種公共語言,以便能進行互操作。這種型別的服務之所以需要,是因為不同的計算機體系結構使用的資料表示法不同。例如,IBM主機使用EBCDIC編碼,而大部分PC機使用的是ASCII碼。在這種情況下,便需要會話層來完成這種轉換。
通過前面的介紹,我們可以看出,會話層以下5層完成了端到端的資料傳送,並且是可靠,無差錯的傳送.但是資料傳送只是手段而不是目的,最終是要實現對資料的使用.由於各種系統對資料的定義並不完全相同,最易明白的例子是鍵盤,其上的某些鍵的含義在許多系統中都有差異.這自然給利用其它系統的資料造成了障礙.表示層和應用層就擔負了消除這種障礙的任務.
對於使用者資料來說,可以從兩個側面來分析,一個是資料含義被稱為語義,另一個是資料的表示形式,稱做語法.像文字,圖形,聲音,文種,壓縮,加密等都屬於語法範疇.表示層設計了3類15種功能單位,其中上下文管理功能單位就是溝通使用者間的資料編碼規則,以便雙方有一致的資料形式,能夠互相認識.
表示層如同應用程式和網路之間的翻譯官,主要解決使用者資訊的語法表示問題,即提供格式化的表示和轉換資料服務。資料的壓縮、解壓、加密、解密都在該層完成。
在表示層,資料將按照網路能理解的方案進行格式化;這種格式化也因所使用網路的型別不同而不同。表示層管理資料的解密與加密,如系統口令的處理如果在Internet上查詢你銀行賬戶,使用的即是一種安全連線。你的賬戶資料在傳送前被加密,在網路的另一端,表示層將對接收到的資料解密。除此之外,表示層協議還對圖片和檔案格式資訊進行解碼和編碼。
加密分為鏈路加密和端到端的加密。對於表示層,參與的加密屬於端到端的加密,指資訊由傳送端自動加密,並進入TCP/IP資料包封裝,然後作為不可閱讀和不可識別的資料進入網際網路。到達目的地後,再自動充足解密,成為可讀資料。端到端加密面向網路高層主體,不對下層協議進行資訊加密,協議資訊以明文進行傳送,使用者資料在中央節點不需解密。
7.應用層
應用層(Application layer)是七層OSI模型的第七層。應用層直接和應用程式介面並提供常見的網路應用服務。應用層也向表示層發出請求。
應用層是開放系統的最高層,是直接為應用程序提供服務的。其作用是在實現多個系統應用程序相互通訊的同時,完成一系列業務處理所需的服務.其服務元素分為兩類:公共應用服務元素CASE和特定應用服務元素SASE.
CASE提供最基本的服務,它成為應用層中任何使用者和任何服務元素的使用者,主要為應用程序通訊,分佈系統實現提供基本的控制機制;特定服務SASE則要滿足一些特定服務,如文卷傳送,訪問管理,作業傳送,銀行事務,訂單輸入等。這些將涉及到虛擬終端,作業傳送與操作,文卷傳送及訪問管理,遠端資料庫訪問,圖形核心系統,開放系統互連管理等等。
主要功能和特點
屬於應用的概念和協議發展得很快,使用面又很廣泛,這給應用功能的標準化帶來了複雜性和困難性。比起其它層來說,應用層需要的標準最多,但也是最不成熟的一層。但隨著應用層的發展,各種特定應用服務的增多,應用服務的標準化開展了許多研究工作,ISO已制定了一些國際標準(IS)和國際標準草案(DIS)。因此,通過介紹一些具有通用性的協議標準,來描述應用層的主要功能及其特點。
1.檔案運輸、訪問和管理功能
檔案運輸與遠端檔案訪問是任何計算機網路最常用的兩種應用。檔案運輸與遠端訪問所使用的技術是類似的,都可以假定檔案位於檔案伺服器機器上,而使用者是在顧客機器上並想讀、寫而整個或部分地運輸這些檔案,支援大多數現代檔案伺服器的關鍵技術是虛擬檔案儲存器,這是一個抽象的檔案伺服器。虛擬檔案儲存給顧客提供一個標準化的介面和一套可執行的標準化操作。隱去了實際檔案伺服器的不同內部介面,使顧客只看到虛擬檔案儲存器的標準介面,訪問和運輸遠地檔案的應用程式,有可能不必知道各種各樣不相容的檔案伺服器的所有細節。
2. 電子郵件功能
計算機網路上電子郵件的實現開始了人們通訊方式的一場革命。電子郵件的吸引力,在於象電話一樣,速度快,不要求雙方都同時在場,而且還留下可供處理或多處投遞的書寫文電拷貝。
雖然電子郵件被認為只是檔案運輸的一個特例,但它有一些不為所有檔案運輸所共有的特殊性質。因為,電子郵件系統首先需考慮一個完善的人機介面,例如寫作,編輯和讀取電子郵件的介面,其次要提供一個運輸郵件所需的郵政管理功能,例如管理郵件表和遞交通知等。此外,電子郵件與通用檔案運輸的另一個差別是,郵件文電是最高度結構化的文字。在許多系統中,每個文電除了它的內容外,還有大量的附加資訊域,這些資訊域包括髮送方名和地址、接收方名和地址、投寄的日期和時刻、接收復寫副本的人員表、失效日期、重要性等級、安全許可性以及其它許多附加資訊。
3.. 其它應用功能
其它應用已經或正在標準化。在此,要介紹的是目錄服務、遠端作業錄入、圖形和資訊通訊。
(1)目錄服務:它類似於電子電話本,提供了在網路上找人或查到可用服務地址的方法。
(2)遠端作業錄入:允許在一臺計算機上工作的使用者把作業提交到另一臺計算機上去執行。
(3)圖形:具有傳送如工程圖在遠地顯示和標繪的功能。
(4)資訊通訊:用於家庭或辦公室的公用資訊服務。例如智慧使用者電報、電檢視文等。
各層功能如圖所示。
資料封裝和解封裝過程
當A使用者向用戶B傳送資訊的時候資料是如何到過對方的,這時會有資料封裝和解封裝過程
OSI 的七層運用各種各樣的控制資訊來和其他計算機系統的對應層進行通訊。這些控制資訊包含特殊的請求和說明,它們在對應的 OSI 層間進行交換。每一層資料的頭和尾是兩個攜帶控制資訊的基本形式。
對於從上一層傳送下來的資料,附加在前面的控制資訊稱為頭,附加在後面的控制資訊稱為尾。然而,在對來自上一層資料增加協議頭和協議尾,對一個 OSI 層來說並不是必需的。
當資料在各層間傳送時,每一層都可以在資料上增加頭和尾,而這些資料已經包含了上一層增加的頭和尾。協議頭包含了有關層與層間的通訊資訊。頭、尾以及資料是相關聯的概念,它們取決於分析資訊單元的協議層。例如,傳輸層頭包含了只有傳輸層可以看到的資訊,傳輸層下面的其他層只將此頭作為資料的一部分傳遞。對於網路層,一個資訊單元由第三層的頭和資料組成。對於資料鏈路層,經網路層向下傳遞的所有資訊即第三層頭和資料都被看作是資料。換句話說,在給定的某一 OSI 層,資訊單元的資料部分包含來自於所有上層的頭和尾以及資料,這稱之為封裝。
資料封裝過程
例如,如果計算機 A 要將應用程式中的某資料傳送至計算機 B ,資料首先傳送至應用層。 計算機 A 的應用層通過在資料上新增協議頭來和計算機 B 的應用層通訊。所形成的資訊單元包含協議頭、資料、可能還有協議尾,被髮送至表示層,表示層再新增為計算機 B 的表示層所理解的控制資訊的協議頭。資訊單元的大小隨著每一層協議頭和協議尾的新增而增加,這些協議頭和協議尾包含了計算機 B 的對應層要使用的控制資訊。在物理層,整個資訊單元通過網路介質傳輸。
計算機 B 中的物理層收到資訊單元並將其傳送至資料鏈路層;然後 B 中的資料鏈路層讀取計算機 A 的資料鏈路層新增的協議頭中的控制資訊;然後去除協議頭和協議尾,剩餘部分被傳送至網路層。每一層執行相同的動作:從對應層讀取協議頭和協議尾,並去除,再將剩餘資訊傳送至上一層。應用層執行完這些動作後,資料就被傳送至計算機 B 中的應用程式,這些資料和計算機 A 的應用程式所傳送的完全相同
資料解封裝過程
Tcp/ip參考模型
TCP/IP參考模型是計算機網路的祖父ARPANET和其後繼的因特網使用的參考模型。ARPANET是由美國國防部DoD(U.S.Department of Defense)贊助的研究網路。逐漸地它通過租用的電話線連結了數百所大學和政府部門。當無線網路和衛星出現以後,現有的協議在和它們相連的時候出現了問題,所以需要一種新的參考體系結構。這個體系結構在它的兩個主要協議出現以後,被稱為TCP/IP參考模型(TCP/IP reference model)。
由於國防部擔心他們一些珍貴的主機、路由器和網際網路關可能會突然崩潰,所以網路必須實現的另一目標是網路不受子網硬體損失的影響,已經建立的會話不會被取消,而且整個體系結構必須相當靈活。
TCP/IP是一組用於實現網路互連的通訊協議。Internet網路體系結構以TCP/IP為核心。基於TCP/IP的參考模型將協議分成四個層次,它們分別是:網路介面層、網際互連層、傳輸層、和應用層。
網路介面層
網路介面層與OSI參考模型中的物理層和資料鏈路層相對應。事實上,TCP/IP本身並未定義該層的協議,而由參與互連的各網路使用自己的物理層和資料鏈路層協議,然後與TCP/IP的網路介面層進行連線。
網際互聯層
網際互聯層對應於OSI參考模型的網路層,主要解決主機到主機的通訊問題。該層有四個主要協議:網際協議(IP)、地址解析協議(ARP)、網際網路組管理協議(IGMP)和網際網路控制報文協議(ICMP)。
IP協議是網際互聯層最重要的協議,它提供的是一個不可靠、無連線的資料報傳遞服務。
傳輸層
傳輸層對應於OSI參考模型的傳輸層,為應用層實體提供端到端的通訊功能。該層定義了兩個主要的協議:傳輸控制協議(TCP)和使用者資料報協議(UDP)
TCP協議提供的是一種可靠的、面向連線的資料傳輸服務;而UDP協議供的是不可靠的、無連線的資料傳輸服務。
應用層
應用層對應於OSI參考模型的高層,為使用者提供所需要的各種服務,例如:FTP、Telnet、DNS、SMTP等。
OSI參考模型和TCP/IP參考模型的比較
OSI參考模型和TCP/IP參考模型都採用了層次結構的概念,但前者是七層模型,後者是四層或五層結構
選擇題
1. 幀出現在OSI 7層模型的( )
A. 傳輸層
B. 網路層
C. 應用層
D. 資料鏈路層
2. UDP協議出現在TCP/IP協議模型中的( )
A. 傳輸層
B. 網際網路絡層
C. 應用層
D. 網路介面層
轉載於:https://blog.51cto.com/wangyanjie/312656