自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

小喇叭開(kāi)始廣播:以太網(wǎng)與WiFi協(xié)議

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
以太網(wǎng)和WiFi是連接層的兩種協(xié)議,在連接層,信息以幀為單位傳輸。幀像信封一樣將數(shù)據(jù)包裹起來(lái),并注明收信地址和送信地址。連接層實(shí)現(xiàn)了“本地社區(qū)”的通信。

“小喇叭開(kāi)始廣播啦”,如果你知道這個(gè),你一定是老一輩的人。“小喇叭”是五十年代到八十年代的兒童廣播節(jié)目。在節(jié)目一開(kāi)始,都會(huì)有一段這樣的播音:“小朋友,小喇叭開(kāi)始廣播了!” 聽(tīng)到這里,收音機(jī)前的小朋友就興奮起來(lái),準(zhǔn)備好聽(tīng)節(jié)目了:這一期的內(nèi)容是以太網(wǎng)(Ethernet)協(xié)議與WiFi。

[[120282]]

我們?cè)卩]差與郵局中說(shuō)到,以太網(wǎng)和WiFi是連接層的兩種協(xié)議。在連接層,信息以幀(frame)為單位傳輸。幀像信封一樣將數(shù)據(jù)(payload)包裹起來(lái),并注明收信地址和送信地址。連接層實(shí)現(xiàn)了“本地社區(qū)”的通信。我們先來(lái)看看以太網(wǎng)的幀。

以太網(wǎng)的幀格式

幀本身是一段有限的0/1序列。它可以分為頭部、數(shù)據(jù)(Payload)和尾部三部分:

以太網(wǎng)的幀格式

幀按照上面的順序從頭到尾依次被發(fā)送/接收。我們下面進(jìn)一步解釋各個(gè)區(qū)域。

頭部

幀的最初7個(gè)byte被稱(chēng)為序言(preamble)。它的每個(gè)byte都是0xAA(這里是十六進(jìn)制,也就是二進(jìn)制的10101010)。通常,我們都會(huì)預(yù)定好以一定的頻率發(fā)送0/1序列(比如每秒10bit)。如果接收設(shè)備以其他頻率接收(比如每秒5bit),那么就會(huì)錯(cuò)漏掉應(yīng)該接收的0/1信息。但是,由于網(wǎng)卡的不同,發(fā)送方和接收方即使預(yù)訂的頻率相同,兩者也可能由于物理原因發(fā)生偏差。這就好像兩個(gè)人約好的10點(diǎn)見(jiàn),結(jié)果一個(gè)人表快,一個(gè)人表慢一樣。序言是為了讓接收設(shè)備調(diào)整接收頻率,以便與發(fā)送設(shè)備的頻率一致,這個(gè)過(guò)程就叫做時(shí)鐘復(fù)原(recover the clock)。

(就像在收聽(tīng)廣播之前,調(diào)整轉(zhuǎn)鈕,直到聲音清晰。網(wǎng)卡會(huì)在接收序言的過(guò)程中不斷微調(diào)自己的接收頻率,直到自己“聽(tīng)到”是...1010...)

時(shí)鐘調(diào)整好之后,我們等待幀的起始信號(hào)(SFD, start frame delimiter)。SFD是固定的值0xAB。這個(gè)0xAB就好像“小喇叭開(kāi)始廣播啦”一樣,提醒我們好節(jié)目就要上演了。

[[120284]]

Preamble和SFD

緊隨SFD之后的是6 byte的目的地(DST, destination)和6 byte的發(fā)出地(SRC, source)。這就是我們?cè)卩]差和郵局中的介紹一樣,為信封寫(xiě)上目的地和發(fā)出地。要注意,這里寫(xiě)在信封上的是對(duì)地址的“本地描述”,也就是MAC地址。MAC地址是物理設(shè)備自帶的序號(hào),只能在同一個(gè)以太網(wǎng)中被識(shí)別 (正如郵差只熟悉自己的社區(qū)一樣)。

頭部的最后一個(gè)區(qū)域是Type,用以說(shuō)明數(shù)據(jù)部分的類(lèi)型。(比如0x0800為IPv4,0x0806為ARP)

數(shù)據(jù)

數(shù)據(jù)一般包含有符合更高層協(xié)議的數(shù)據(jù),比如IP包。連接層協(xié)議本身并不在乎數(shù)據(jù)是什么,它只負(fù)責(zé)傳輸。注意,數(shù)據(jù)尾部可能填充有一串0(PAD區(qū)域)。原因是數(shù)據(jù)需要超過(guò)一定的最小長(zhǎng)度。

尾部

跟隨在數(shù)據(jù)之后的是校驗(yàn)序列(FCS, Frame Check Sequence)。校驗(yàn)序列是為了檢驗(yàn)數(shù)據(jù)的傳輸是否發(fā)生錯(cuò)誤。在物理層,我們通過(guò)一些物理信號(hào)來(lái)表示0/1序列(比如高壓/低壓,高頻率/低頻率等),但這些物理信號(hào)可能在傳輸過(guò)程中受到影響,以致于發(fā)生錯(cuò)誤。如何來(lái)發(fā)現(xiàn)我們的數(shù)據(jù)是正確的呢?

一個(gè)方法是將數(shù)據(jù)發(fā)送兩遍,然后對(duì)比一下是否一樣。但這樣就大大降低了網(wǎng)絡(luò)的效率。FCS采用了CRC(Cyclic Redundancy Check)算法。這就好像是一家飯店的老板雇傭了一個(gè)收銀員,但他又擔(dān)心收銀員黑錢(qián)??墒敲刻鞝I(yíng)業(yè)額很大,老板即使坐在旁邊看,也不能用記住收到的總數(shù)。所以他采取了一個(gè)聰明的辦法:只記住收到錢(qián)的最后一位 (比如收到19元,老板記住9)。當(dāng)有新的進(jìn)賬(比如13,尾數(shù)為3),他就將新的尾數(shù)和舊的尾數(shù)相加,再記住和的尾數(shù)(也就是2)。當(dāng)收銀員交給老板錢(qián)的時(shí)候,老板只用看總額的最后一位是否和自己記的最后一位相同,就可以知道收銀員是否誠(chéng)實(shí)了。如果說(shuō)我們的數(shù)據(jù)是收銀的總額的話(huà),我們的FCS就是老板記錄的尾數(shù)。如果兩者不相符,我們就知道數(shù)據(jù)在傳輸?shù)倪^(guò)程中出現(xiàn)錯(cuò)誤,不能使用。

[[120285]]

有FCS在盯著#p#

上面的比喻實(shí)際上是用營(yíng)業(yè)總額不斷的除以10,獲得最終的尾數(shù)。CRC算法也相類(lèi)似。n位CRC算法取一個(gè)n bit的因子,比如下面的1011。數(shù)據(jù)序列結(jié)尾增加n-1個(gè)0。因子與數(shù)據(jù)序列的不斷進(jìn)行XOR運(yùn)算,直到得到n-1位的余數(shù),也就是100。該余數(shù)各位取反(011),然后存儲(chǔ)在FCS的位置。

11010011101100 000 <--- 數(shù)據(jù)序列末尾增加3位0
1011               <--- 因子
01100011101100 000 <--- XOR結(jié)果
 1011              <--- 因子
00111011101100 000
  1011
00010111101100 000
   1011
00000001101100 000
       1011
00000000110100 000
        1011
00000000011000 000
         1011
00000000001110 000
          1011
00000000000101 000 
           101 1
-----------------
00000000000000 100 <--- 3位余數(shù)

上面例子用的是4位CRC。在Ethernet中使用的因子為32位的,以達(dá)到更好的檢測(cè)效果。

集線(xiàn)器(Hub) vs. 交換器(Switch)

以太網(wǎng)使用集線(xiàn)器或者交換器將幀從發(fā)出地傳送到目的地。一臺(tái)集線(xiàn)器或交換器上有多個(gè)端口,每個(gè)端口都可以連接一臺(tái)計(jì)算機(jī)(或其他設(shè)備)。

集線(xiàn)器像一個(gè)廣播電臺(tái)。一臺(tái)電腦將幀發(fā)送到集線(xiàn)器,集線(xiàn)器會(huì)將幀轉(zhuǎn)發(fā)到所有其他的端口。每臺(tái)計(jì)算機(jī)檢查自己的MAC地址是不是符合DST。如果不是,則保持沉默。集線(xiàn)器是比較早期的以太網(wǎng)設(shè)備。它有明顯的缺陷:

1) 任意兩臺(tái)電腦的通信在同一個(gè)以太網(wǎng)上是公開(kāi)的。所有連接在同一個(gè)集線(xiàn)器上的設(shè)備都能收聽(tīng)到別人在傳輸什么,這樣很不安全??梢酝ㄟ^(guò)對(duì)信息加密提高安全性。

2) 不允許多路同時(shí)通信。如果兩臺(tái)電腦同時(shí)向集線(xiàn)器發(fā)信,集線(xiàn)器會(huì)向所有設(shè)備發(fā)出“沖突”信息,提醒發(fā)生沖突??梢栽谠O(shè)備上增加沖突檢測(cè)算法(collision detection):一旦設(shè)備發(fā)現(xiàn)有沖突,則隨機(jī)等待一段時(shí)間再重新發(fā)送。

交換器克服集線(xiàn)器的缺陷。交換器記錄有各個(gè)設(shè)備的MAC地址。當(dāng)幀發(fā)送到交換器時(shí),交換器會(huì)檢查DST,然后將幀只發(fā)送到對(duì)應(yīng)端口。交換器允許多路同時(shí)通信。由于交換器的優(yōu)越性,交換器基本上取代了集線(xiàn)器。但比較老的以太網(wǎng)還有可能在使用集線(xiàn)器。

 

下面的一個(gè)視頻來(lái)自CISCO,更加形象的解釋了這兩種設(shè)備

 

WiFi

WiFi的工作方式與集線(xiàn)器連接下的以太網(wǎng)類(lèi)似。一個(gè)WiFi設(shè)備會(huì)向所有的WiFi設(shè)備發(fā)送幀,其它的WiFi設(shè)備檢查自己是否符合DST。由于WiFi采取無(wú)線(xiàn)電信號(hào),所以很難像交換器一樣定向發(fā)送,所以WiFi的安全性很值得關(guān)注。WiFi采用加密的方法來(lái)實(shí)現(xiàn)信息的安全性。

(早期的WEP加密方法非常脆弱,建議使用WPA或者WPA2加密方法。隱藏WiFi設(shè)備ID的方法不是很有用。)

總結(jié)

我們深入了連接層協(xié)議的一些細(xì)節(jié)。連接層是物理與邏輯的接口,它的設(shè)計(jì)兼顧了物理需求(比如時(shí)鐘復(fù)原,CRC)和邏輯需求(比如地址、數(shù)據(jù))。由于連接層處于網(wǎng)絡(luò)邏輯的底層,有許多基于連接層的攻擊手法,這需要我們對(duì)連接層的工作方式有一定的了解,以設(shè)計(jì)出更好的網(wǎng)絡(luò)安全策略。

 

責(zé)任編輯:林琳 來(lái)源: Vamei
相關(guān)推薦

2023-07-14 15:01:29

2023-03-29 10:03:36

2009-08-02 17:26:11

以太網(wǎng)電源以太網(wǎng)供電

2019-02-22 21:26:05

2010-03-11 09:33:54

2017-03-20 15:41:42

以太網(wǎng)物聯(lián)網(wǎng)

2010-03-18 10:38:08

2012-04-18 10:29:19

WiFi

2013-12-19 09:16:15

以太網(wǎng)結(jié)構(gòu)以太網(wǎng)

2023-05-22 10:09:03

以太網(wǎng)

2011-09-14 14:41:14

以太網(wǎng)

2011-03-21 13:24:40

節(jié)能以太網(wǎng)數(shù)據(jù)中心

2011-11-25 15:01:26

LFR交換機(jī)大型二層網(wǎng)絡(luò)

2013-11-25 09:10:55

節(jié)能以太網(wǎng)EEE

2009-02-22 09:11:16

Windows音量顯示

2009-02-19 10:18:32

FCoE增強(qiáng)型以太網(wǎng)以太網(wǎng)光纖

2012-09-26 15:46:51

網(wǎng)絡(luò)

2022-09-20 11:32:32

以太網(wǎng)電纜基礎(chǔ)網(wǎng)絡(luò)

2012-10-19 09:42:26

以太網(wǎng)400G以太網(wǎng)兆兆以太網(wǎng)

2017-01-19 11:18:37

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)