TCP/IP協(xié)議的底三層介紹

字號(hào):

1: 1層,2層,3層?
     這篇文章主要是面向自學(xué)TCP/IP的讀者的.因?yàn)槭忻嫔现v解計(jì)算機(jī)網(wǎng)絡(luò)的書(shū)雖然非常多,但是個(gè)人認(rèn)為沒(méi)有一本可以做到深入淺出的.都是照搬某些權(quán)威書(shū)籍中的概念,使得很多讀者讀了之后還是沒(méi)有具體概念.希望我寫(xiě)的東西可以讓大家有個(gè)具體概念,而不是只停留在能夠背出官方的,嚴(yán)謹(jǐn)?shù)?深?yuàn)W的概念.
     TCP/IP基礎(chǔ)講座-1: 1層,2層,3層?
     讀過(guò)關(guān)于網(wǎng)絡(luò)的課程的,都知道ISO-OSI 7層協(xié)議這個(gè)名詞,許多書(shū)籍都會(huì)具體的畫(huà)出那幅圖,然后標(biāo)注上物理層,數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層等等.背的大家要死.但是卻又不知道具體這些層次干嗎用的勒?
     其實(shí)在互聯(lián)網(wǎng)中,由于實(shí)際使用的是TCP/IP模型,也就是DOD模型(現(xiàn)在不知道沒(méi)關(guān)系,后面會(huì)說(shuō)).所以7層模型在現(xiàn)實(shí)網(wǎng)絡(luò)環(huán)境中只是一個(gè)理論上,學(xué)究派的東西.這個(gè)模型中,我們真正關(guān)心的是下面的3層.
     1.物理層
     哦.是的.這個(gè)名詞還算容易了解.網(wǎng)卡還有那些網(wǎng)線構(gòu)成了這一層.那些在網(wǎng)線中傳播的二進(jìn)制數(shù)據(jù)流是這層的具體表象.也就是說(shuō),這一層上面沒(méi)有什么協(xié)議(不是很精確的說(shuō)法,但是你可以這么理解).有的都是電流而已.我們把兩臺(tái)機(jī)器用網(wǎng)線連起來(lái).或者用HUB把機(jī)器都連起來(lái),這些工作就是物理層的工作.
     有2個(gè)設(shè)備屬于物理層的,一個(gè)是中繼器,一個(gè)是HUB.大家知道.物理上面的連線距離一長(zhǎng)就會(huì)產(chǎn)生電信號(hào)的衰減.為了重新加強(qiáng)這個(gè)信號(hào),我們就需要在一定距離之后加上一個(gè)信號(hào)放大器,這就是中繼器(repeater)
     恩...這個(gè)比較容易理解.repeater就是連接在2根網(wǎng)線之間的么.沒(méi)有做任何處理.所以只是一個(gè)物理設(shè)備.屬于1層的.
     那么集線器(HUB)呢?這個(gè)怎么會(huì)是在1層???似乎非常難以理解.
     當(dāng)我說(shuō)出HUB的本質(zhì),大家就能夠清楚了解了
     HUB的本質(zhì)其實(shí)只是一個(gè)多口中繼器(MULTI PORT REPEATER).啊...這樣大家能夠理解了.HUB不叫多口中繼器其實(shí)只是為了銷(xiāo)售上面的策略.他的本質(zhì)就是連接多根網(wǎng)線的一個(gè)物理設(shè)備.也是不對(duì)經(jīng)過(guò)的電信號(hào)做任何邏輯處理的.
     2.數(shù)據(jù)鏈路層
     歐~這個(gè)名詞有些別扭了.DATA LINK層.英文似乎更加容易理解.
     這個(gè)層面上面的東西不再是電信號(hào)了.而是DATA了.對(duì),既然是DATA就有了邏輯關(guān)系了.這個(gè)層面上面的基本單位是幀(Frame).這層和物理層的接觸是緊密的.他是把從網(wǎng)線上面?zhèn)鬏數(shù)碾娏鬓D(zhuǎn)換成0和1的組合.
     物理層只是網(wǎng)卡對(duì)網(wǎng)線發(fā)出或者接受各種電平信號(hào),那就是說(shuō)物理層是無(wú)法判別電流的來(lái)源和目標(biāo)的.那么把電流打成0和1的幀之后.里面就有邏輯數(shù)據(jù)了.有了數(shù)據(jù),就可以判別數(shù)據(jù)從何而來(lái),到何處去.所以也就可以真正的形成LINK.
     既然可以判別地址,那么地址是按照什么來(lái)判別的呢?
     那就是重要的概念之一:MAC地址
     大家肯定都聽(tīng)說(shuō)過(guò)我們的網(wǎng)卡都有MAC地址
     有些人可能也知道MAC地址都是的.
     對(duì).MAC地址是全球的.也就是說(shuō)你的網(wǎng)卡雖然便宜.但是他也是世界上獨(dú)一無(wú)二的.
     有些人說(shuō)他可以改MAC.那就不是了.對(duì).雖然可以更改,那只是欺騙上層對(duì)封包里面的MAC地址進(jìn)行改寫(xiě).你網(wǎng)卡真正的MAC地址是固化的.無(wú)法修改的.
     我們有了MAC地址了.這樣就可以有針對(duì)性對(duì)所有連接在一起的計(jì)算機(jī)進(jìn)行通訊了.是的.我們終于可以在一個(gè)局域網(wǎng)內(nèi)通訊了.
     但是有個(gè)問(wèn)題我們前面沒(méi)有提到.就是既然物理層傳輸?shù)氖请娦盘?hào).那么如果我有2臺(tái)機(jī)器一起發(fā)電信號(hào),信號(hào)豈不是混亂了么?
     非常正確.這個(gè)問(wèn)題在網(wǎng)絡(luò)里面成為"碰撞",所以協(xié)議里面規(guī)定了如果你需要往外發(fā)數(shù)據(jù),一定需要先看看電纜里面有沒(méi)有別的信號(hào).如果沒(méi)有,那就可以發(fā).如果2者同時(shí)發(fā)送,檢測(cè)到碰撞之后2者分別等待一個(gè)隨機(jī)時(shí)間,然后重發(fā).這個(gè)就是重要的"碰撞檢測(cè)".
     哈.看來(lái)問(wèn)題解決了.不是么.現(xiàn)在整個(gè)網(wǎng)絡(luò)可以正常運(yùn)行了.
     確實(shí)如此.但是如果連接在網(wǎng)絡(luò)上的計(jì)算機(jī)越來(lái)越多,那么碰撞的現(xiàn)象會(huì)越來(lái)越頻繁.這樣效率一定很低了.恩.這里還有一個(gè)重要概念"沖突域".在同一個(gè)物理上連接的網(wǎng)絡(luò)上的所有設(shè)備是屬于同一個(gè)沖突域的.
     接著就需要引入我們的2層設(shè)備來(lái)分割沖突域了.
     網(wǎng)橋(Bridge)就是連接2個(gè)不同的物理網(wǎng)絡(luò)的.主要功能是在2個(gè)網(wǎng)絡(luò)之間轉(zhuǎn)發(fā)Frame.因?yàn)閺膶?shí)際中我們可以知道.其實(shí)很多時(shí)候并非整個(gè)網(wǎng)絡(luò)都在相互通訊.多相互通訊的一組計(jì)算機(jī)我們可以分在一個(gè)小的沖突域內(nèi).這樣分割以后可以減少?zèng)_突域,也就相對(duì)的減少了沖突的機(jī)會(huì).而之間使用網(wǎng)橋來(lái)橋接,由于網(wǎng)橋兩邊的通訊不是非常頻繁,所以使用網(wǎng)橋來(lái)為2邊作為"代言人".這樣任意一個(gè)小網(wǎng)絡(luò)里面產(chǎn)生沖突的機(jī)會(huì)就少了.
     交換機(jī)(Switch)是我們熟悉的設(shè)備了,交換機(jī)的本質(zhì)其實(shí)就是一個(gè)多口網(wǎng)橋(Multi port Bridge).同理可得.交換機(jī)的每個(gè)口后面都是一個(gè)沖突域.我們都說(shuō)交換機(jī)比HUB快,就是因?yàn)榻粨Q機(jī)分割了所有的沖突域.
     由于現(xiàn)在交換機(jī)非常便宜.所以一般我們都是直接在交換機(jī)的口上接計(jì)算機(jī).這樣每臺(tái)計(jì)算機(jī)都是一個(gè)獨(dú)立的沖突域.這樣碰撞的問(wèn)題就沒(méi)有了.所以速度是比HUB快.
     而前面說(shuō)過(guò).2層設(shè)備主要是個(gè)轉(zhuǎn)發(fā)的功能.交換機(jī)的主要功能就是轉(zhuǎn)發(fā)包.而不是讓所有的沖突域直接物理連接.所以交換機(jī)有CPU,有內(nèi)存,可以對(duì)frame進(jìn)行處理等等.這些也是交換機(jī)和HUB的區(qū)別