百科解釋
網(wǎng)絡分層就是將網(wǎng)絡節(jié)點所要完成的數(shù)據(jù)的發(fā)送或轉發(fā)、打包或拆包,控制信息的加載或拆出等工作,分別由不同的硬件和軟件模塊去完成。這樣可以將往來通信和網(wǎng)絡互連這一復雜的問題變得較為簡單。
網(wǎng)絡層次的劃分[編輯本段]
ISO提出的OSI(Open System Interconnection)模型將網(wǎng)絡分為七層,即物理層( Phisical )、數(shù)據(jù)鏈路層(Data Link)、網(wǎng)絡層(Network)、傳輸層(Transport)、會話層(Session)、表示層(Presentation)和應用層(Application)。
1. 物理層(Physical layer)是參考模型的最低層。該層是網(wǎng)絡通信的數(shù)據(jù)傳輸介質,由連接不同結點的電纜與設備共同構成。主要功能是:利用傳輸介質為數(shù)據(jù)鏈路層提供物理連接,負責處理數(shù)據(jù)傳輸并監(jiān)控數(shù)據(jù)出錯率,以便數(shù)據(jù)流的透明傳輸。
2. 數(shù)據(jù)鏈路層(Data link layer)是參考模型的第2層。 主要功能是:在物理層提供的服務基礎上,在通信的實體間建立數(shù)據(jù)鏈路連接,傳輸以“幀”為單位的數(shù)據(jù)包,并采用差錯控制與流量控制方法,使有差錯的物理線路變成無差錯的數(shù)據(jù)鏈路。
3. 網(wǎng)絡層(Network layer)是參考模型的第3層。主要功能是:為數(shù)據(jù)在結點之間傳輸創(chuàng)建邏輯鏈路,通過路由選擇算法為分組通過通信子網(wǎng)選擇最適當?shù)穆窂,以及實現(xiàn)擁塞控制、網(wǎng)絡互聯(lián)等功能。
4. 傳輸層(Transport layer)是參考模型的第4層。主要功能是向用戶提供可靠的端到端(End-to-End)服務,處理數(shù)據(jù)包錯誤、數(shù)據(jù)包次序,以及其他一些關鍵傳輸問題。傳輸層向高層屏蔽了下層數(shù)據(jù)通信的細節(jié),因此,它是計算機通信體系結構中關鍵的一層。
5. 會話層(Session layer)是參考模型的第5層。主要功能是:負責維擴兩個結點之間的傳輸鏈接,以便確保點到點傳輸不中斷,以及管理數(shù)據(jù)交換等功能。
6. 表示層(Presentation layer)是參考模型的第6層。主要功能是:用于處理在兩個通信系統(tǒng)中交換信息的表示方式,主要包括數(shù)據(jù)格式變換、數(shù)據(jù)加密與解密、數(shù)據(jù)壓縮與恢復等功能。
7. 應用層(Application layer)是參考模型的最高層。主要功能是:為應用軟件提供了很多服務,例如文件服務器、數(shù)據(jù)庫服務、電子郵件與其他網(wǎng)絡軟件服務。
對網(wǎng)絡分層的理解[編輯本段]
許多所謂的網(wǎng)絡課程都是從教你記住OSI模型中的每一個層的名字和這個模型中包含的每一個協(xié)議開始的。這樣做是不必要的。甚至第5層和第6層是完全可以忽略的。
國際標準組織(ISO)制定了OSI模型。這個模型把網(wǎng)絡通信的工作分為7層。1至4層被認為是低層,這些層與數(shù)據(jù)移動密切相關。5至7層是高層,包含應用程序級的數(shù)據(jù)。每一層負責一項具體的工作,然后把數(shù)據(jù)傳送到下一層。
物理層(也即OSI模型中的第一層)在課堂上經(jīng)常是被忽略的。它看起來似乎很簡單。但是,這一層的某些方面有時需要特別留意。物理層實際上就是布線、光纖、網(wǎng)卡和其它用來把兩臺網(wǎng)絡通信設備連接在一起的東西。甚至一個信鴿也可以被認為是一個1層設備(參見RFC 1149)。網(wǎng)絡故障的排除經(jīng)常涉及到1層問題。我們不能忘記用五類線在整個一層樓進行連接的傳奇故事。由于辦公室的椅子經(jīng)常從電纜線上壓過,導致網(wǎng)絡連接出現(xiàn)斷斷續(xù)續(xù)的情況。遺憾的是,這種故障是很常見的,而且排除這種故障需要耗費很長時間。
第2層是以太網(wǎng)等協(xié)議。請記住,我們要使這個問題簡單一些。第2層中最重要的是你 應該理解網(wǎng)橋是什么。交換機可以看成網(wǎng)橋,人們現(xiàn)在都這樣稱呼它。網(wǎng)橋都在2層工作,僅關注以太網(wǎng)上的MAC地址。如果你在談論有關MAC地址、交換機或者網(wǎng)卡和驅動程序,你就是在第2層的范疇。集線器屬于第1層的領域,因為它們只是電子設備,沒有2層的知識。第2層的相關問題在本網(wǎng)絡講座中有自己的一部分,因此現(xiàn)在先不詳細討論這個問題的細節(jié),F(xiàn)在只需要知道第2層把數(shù)據(jù)幀轉換成二進制位供1層處理就可以了。在往下講之間,你應該回過頭來重新閱讀一下上面的內容,因為經(jīng)驗不足的網(wǎng)絡管理員經(jīng);煜2層和3層的區(qū)別。
如果你在談論一個IP地址,那么你是在處理第3層的問題,這是“數(shù)據(jù)包”問題,而不是第2層的“幀”。IP是第3層問題的一部分,此外還有一些路由協(xié)議和地址解析協(xié)議(ARP)。有關路由的一切事情都在第3層處理。地址解析和路由是3層的重要目的。
第4層是處理信息的傳輸層。第4層的數(shù)據(jù)單元也稱作數(shù)據(jù)包(packets)。但是,當你談論TCP等具體的協(xié)議時又有特殊的叫法,TCP的數(shù)據(jù)單元稱為“段(segments)”而UDP的數(shù)據(jù)單元稱為“數(shù)據(jù)報(datagrams)”。這個層負責獲取全部信息,因此,它必須跟蹤數(shù)據(jù)單元碎片、亂序到達的數(shù)據(jù)包和其它在傳輸過程中可能發(fā)生的危險。理解第4層的另一種方法是,第4層提供端對端的通信管理。像TCP等一些協(xié)議非常善于保證通信的可靠性。有些協(xié)議并不在乎一些數(shù)據(jù)包是否丟失,UDP協(xié)議就是一個主要例子。
現(xiàn)在快要到7層了,我們很想知道第5層和第6層有些什么功能。可以說,它們都是沒有用的。有一些應用程序和協(xié)議在5層和6層。但是,對于理解網(wǎng)絡問題來說,談論這些問題沒有任何益處。請大家注意,第7層是“一切”。7層稱作“應用層”,是專門用于應用程序的。如果你的程序需要一種具體格式的數(shù)據(jù),你可以發(fā)明一些你希望能夠把數(shù)據(jù)發(fā)送到目的地的格式,并且創(chuàng)建一個第7層協(xié)議。 SMTP、DNS和FTP都是7層協(xié)議。學習OSI模型中最重要的事情是它實際代表什么意思。
假設你是一個網(wǎng)絡上的操作系統(tǒng)。在1層和2層工作的網(wǎng)卡將通知你什么時候有數(shù)據(jù)到達。驅動程序處理2層幀的出口,通過它你可以得到一個發(fā)亮和閃光的3層數(shù)據(jù)包(希望是如此)。作為操作系統(tǒng),你將調用一些常用的應用程序處理3層數(shù)據(jù)。如果這個數(shù)據(jù)是從下面發(fā)上來的,你知道那是發(fā)給你的數(shù)據(jù)包,或者那是一個廣播數(shù)據(jù)包(除非你同時也是一個路由器,不過,暫時不用擔心這個問題)。如果你決定保留這個數(shù)據(jù)包,你將打開它,并且取出4層數(shù)據(jù)包。如果它是TCP協(xié)議,這個TCP子系統(tǒng)將被調用并打開這個數(shù)據(jù)包,然后把這個7層數(shù)據(jù)發(fā)送給在目標端口等待的應用程序。這個過程就結束了。當要對網(wǎng)絡上的其它計算機做出回應的時候,每一件事情都以相反的順序發(fā)生。7層應用程序將把數(shù)據(jù)發(fā)送給TCP協(xié)議的執(zhí)行者。然后,TCP協(xié)議在這些數(shù)據(jù)中加入額外的文件頭。在這個方向上,數(shù)據(jù)每前進一步體積都要大一些。TCP協(xié)議在IP協(xié)議中加入一個合法的TCP字段。然后,IP協(xié)議把這個數(shù)據(jù)包交給以太網(wǎng)。以太網(wǎng)再把這個數(shù)據(jù)作為一個以太網(wǎng)幀發(fā)送給驅動程序。然后,這個數(shù)據(jù)通過了這個網(wǎng)絡。這條線路中的路由器將部分地分解這個數(shù)據(jù)包以獲得3層文件頭,以便確定這個數(shù)據(jù)包應該發(fā)送到哪里。如果這個數(shù)據(jù)包的目的地是本地以太網(wǎng)子網(wǎng),這個操作系統(tǒng)將代替路由器為計算機進行地址解析,并且把數(shù)據(jù)直接發(fā)送給主機。這個過程確實簡化了。但是,如果你能夠按照這個進程來做,并且理解數(shù)據(jù)包在每一個階段都會發(fā)生什么事情,你就征服了理解網(wǎng)絡的相當大的一部分問題。當你開始討論每一個協(xié)議實際上做什么的時候,一切都會變得非常復雜。如果你剛剛開始學習,在你理解復雜的事情在設法完成什么任務之前,請你先忽略這些復雜的事情。這樣會提高你的學習熱情。
小結
1. 與其苦鉆OSI模型中的各協(xié)議不如好好理解路由器和主機如何利用網(wǎng)絡棧傳輸數(shù)據(jù)
2. 2層數(shù)據(jù)稱作幀,不包含IP地址。IP地址和數(shù)據(jù)包在3層,MAC地址在2層。
3. 除非你是一臺路由器,通過網(wǎng)絡棧向上發(fā)來的數(shù)據(jù)是給你的,通過網(wǎng)絡棧向下發(fā)送的數(shù)據(jù)是你發(fā)送的