在上一次課程里我們介紹了子網(wǎng)的概念和子網(wǎng)的劃分?,F(xiàn)在該談到OSI(開放系統(tǒng)互連)參考模型了。網(wǎng)絡(luò)協(xié)議棧具有重要的意義。但是,還沒有重要到你應(yīng)該首先學(xué)習(xí)的程度。許多所謂的網(wǎng)絡(luò)課程都是從教你記住OSI模型中的每一個(gè)層的名字和這個(gè)模型中包含的每一個(gè)協(xié)議開始的。這樣做是不必要的。甚至第5層和第6層是完全可以忽略的。 國(guó)際標(biāo)準(zhǔn)組織(ISO)制定了OSI模型。這個(gè)模型把網(wǎng)絡(luò)通信的工作分為7層。1至4層被認(rèn)為是低層,這些層與數(shù)據(jù)移動(dòng)密切相關(guān)。5至7層是高層,包含應(yīng)用程序級(jí)的數(shù)據(jù)。每一層負(fù)責(zé)一項(xiàng)具體的工作,然后把數(shù)據(jù)傳送到下一層。 物理層(也即OSI模型中的第一層)在課堂上經(jīng)常是被忽略的。它看起來(lái)似乎很簡(jiǎn)單。但是,這一層的某些方面有時(shí)需要特別留意。物理層實(shí)際上就是布線、光纖、網(wǎng)卡和其它用來(lái)把兩臺(tái)網(wǎng)絡(luò)通信設(shè)備連接在一起的東西。甚至一個(gè)信鴿也可以被認(rèn)為是一個(gè)1層設(shè)備(參見RFC 1149)。網(wǎng)絡(luò)故障的排除經(jīng)常涉及到1層問題。我們不能忘記用五類線在整個(gè)一層樓進(jìn)行連接的傳奇故事。由于辦公室的椅子經(jīng)常從電纜線上壓過(guò),導(dǎo)致網(wǎng)絡(luò)連接出現(xiàn)斷斷續(xù)續(xù)的情況。遺憾的是,這種故障是很常見的,而且排除這種故障需要耗費(fèi)很長(zhǎng)時(shí)間。 第2層是以太網(wǎng)等協(xié)議。請(qǐng)記住,我們要使這個(gè)問題簡(jiǎn)單一些。第2層中最重要的是你應(yīng)該理解網(wǎng)橋是什么。交換機(jī)可以看成網(wǎng)橋,人們現(xiàn)在都這樣稱呼它。網(wǎng)橋都在2層工作,僅關(guān)注以太網(wǎng)上的MAC地址。如果你在談?wù)撚嘘P(guān)MAC地址、交換機(jī)或者網(wǎng)卡和驅(qū)動(dòng)程序,你就是在第2層的范疇。集線器屬于第1層的領(lǐng)域,因?yàn)樗鼈冎皇请娮釉O(shè)備,沒有2層的知識(shí)。第2層的相關(guān)問題在本網(wǎng)絡(luò)講座中有自己的一部分,因此現(xiàn)在先不詳細(xì)討論這個(gè)問題的細(xì)節(jié)?,F(xiàn)在只需要知道第2層把數(shù)據(jù)幀轉(zhuǎn)換成二進(jìn)制位供1層處理就可以了。 在往下講之間,你應(yīng)該回過(guò)頭來(lái)重新閱讀一下上面的內(nèi)容,因?yàn)榻?jīng)驗(yàn)不足的網(wǎng)絡(luò)管理員經(jīng)?;煜?層和3層的區(qū)別。 如果你在談?wù)撘粋€(gè)IP地址,那么你是在處理第3層的問題,這是“數(shù)據(jù)包”問題,而不是第2層的“幀”。IP是第3層問題的一部分,此外還有一些路由協(xié)議和地址解析協(xié)議(ARP)。有關(guān)路由的一切事情都在第3層處理。地址解析和路由是3層的重要目的。 第4層是處理信息的傳輸層。第4層的數(shù)據(jù)單元也稱作數(shù)據(jù)包(packets)。但是,當(dāng)你談?wù)揟CP等具體的協(xié)議時(shí)又有特殊的叫法,TCP的數(shù)據(jù)單元稱為段(segments)而UDP協(xié)議的數(shù)據(jù)單元稱為“數(shù)據(jù)報(bào)(datagrams)”。這個(gè)層負(fù)責(zé)獲取全部信息,因此,它必須跟蹤數(shù)據(jù)單元碎片、亂序到達(dá)的數(shù)據(jù)包和其它在傳輸過(guò)程中可能發(fā)生的危險(xiǎn)。理解第4層的另一種方法是,第4層提供端對(duì)端的通信管理。像TCP等一些協(xié)議非常善于保證通信的可靠性。有些協(xié)議并不在乎一些數(shù)據(jù)包是否丟失,UDP協(xié)議就是一個(gè)主要例子。 現(xiàn)在快要到7層了,我們很想知道第5層和第6層有些什么功能??梢哉f(shuō),它們都是沒有用的。 有一些應(yīng)用程序和協(xié)議在5層和6層。但是,對(duì)于理解網(wǎng)絡(luò)問題來(lái)說(shuō),談?wù)撨@些問題沒有任何益處。請(qǐng)大家注意,第7層是“一切”。7層也稱作“應(yīng)用層”,是專門用于應(yīng)用程序的。如果你的程序需要一種具體格式的數(shù)據(jù),你可以發(fā)明一些你希望能夠把數(shù)據(jù)發(fā)送到目的地的格式,并且創(chuàng)建一個(gè)第7層協(xié)議。SMTP、DNS和FTP都是7層協(xié)議。 學(xué)習(xí)OSI模型中最重要的事情是它實(shí)際代表什么意思。 假如你是一個(gè)網(wǎng)絡(luò)上的操作系統(tǒng)。在1層和2層工作的網(wǎng)卡將通知你什么時(shí)候有數(shù)據(jù)到達(dá)。驅(qū)動(dòng)程序處理2層幀的出口,通過(guò)它你可以得到一個(gè)發(fā)亮和閃光的3層數(shù)據(jù)包(希望是如此)。作為操作系統(tǒng),你將調(diào)用一些常用的應(yīng)用程序處理3層數(shù)據(jù)。如果這個(gè)數(shù)據(jù)是從下面發(fā)上來(lái)的,你知道那是發(fā)給你的數(shù)據(jù)包,或者那是一個(gè)廣播數(shù)據(jù)包(除非你同時(shí)也是一個(gè)路由器,不過(guò),暫時(shí)不用擔(dān)心這個(gè)問題)。如果你決定保留這個(gè)數(shù)據(jù)包,你將打開它,并且取出4層數(shù)據(jù)包。如果它是TCP協(xié)議,這個(gè)TCP子系統(tǒng)將被調(diào)用并打開這個(gè)數(shù)據(jù)包,然后把這個(gè)7層數(shù)據(jù)發(fā)送給在目標(biāo)端口等待的應(yīng)用程序。這個(gè)過(guò)程就結(jié)束了。 當(dāng)要對(duì)網(wǎng)絡(luò)上的其它計(jì)算機(jī)做出回應(yīng)的時(shí)候,每一件事情都以相反的順序發(fā)生。7層應(yīng)用程序?qū)褦?shù)據(jù)發(fā)送給TCP協(xié)議的執(zhí)行者。然后,TCP協(xié)議在這些數(shù)據(jù)中加入額外的文件頭。在這個(gè)方向上,數(shù)據(jù)每前進(jìn)一步體積都要大一些。TCP協(xié)議在IP協(xié)議中加入一個(gè)合法的TCP字段。然后,IP協(xié)議把這個(gè)數(shù)據(jù)包交給以太網(wǎng)。以太網(wǎng)再把這個(gè)數(shù)據(jù)作為一個(gè)以太網(wǎng)幀發(fā)送給驅(qū)動(dòng)程序。然后,這個(gè)數(shù)據(jù)通過(guò)了這個(gè)網(wǎng)絡(luò)。這條線路中的路由器將部分地分解這個(gè)數(shù)據(jù)包以獲得3層文件頭,以便確定這個(gè)數(shù)據(jù)包應(yīng)該發(fā)送到哪里。如果這個(gè)數(shù)據(jù)包的目的地是本地以太網(wǎng)子網(wǎng),這個(gè)操作系統(tǒng)將代替路由器為計(jì)算機(jī)進(jìn)行地址解析,并且把數(shù)據(jù)直接發(fā)送給主機(jī)。 這個(gè)過(guò)程確實(shí)簡(jiǎn)化了。但是,如果你能夠按照這個(gè)進(jìn)程來(lái)做,并且理解數(shù)據(jù)包在每一個(gè)階段都會(huì)發(fā)生什么事情,你就征服了理解網(wǎng)絡(luò)的相當(dāng)大的一部分問題。當(dāng)你開始討論每一個(gè)協(xié)議實(shí)際上做什么的時(shí)候,一切都會(huì)變得非常復(fù)雜。如果你剛剛開始學(xué)習(xí),在你理解復(fù)雜的事情在設(shè)法完成什么任務(wù)之前,請(qǐng)你先忽略這些復(fù)雜的事情。這樣會(huì)提高你的學(xué)習(xí)熱情。 在以后的文章里,我們將沿著網(wǎng)絡(luò)棧向上旅行,通過(guò)討論常用的協(xié)議和這些協(xié)議的工作原理來(lái)詳細(xì)研究每一層。 小結(jié) •與其苦鉆OSI模型中的各協(xié)議不如好好理解路由器和主機(jī)如何利用網(wǎng)絡(luò)棧傳輸數(shù)據(jù) •2層數(shù)據(jù)稱作幀,不包含IP地址。IP地址和數(shù)據(jù)包在3層,MAC地址在2層。 •除非你是一臺(tái)路由器,通過(guò)網(wǎng)絡(luò)棧向上發(fā)來(lái)的數(shù)據(jù)是給你的,通過(guò)網(wǎng)絡(luò)棧向下發(fā)送的數(shù)據(jù)是你發(fā)送的。 |
|
來(lái)自: todaytomo > 《網(wǎng)絡(luò)技術(shù)》