精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

以太網與WiFi協議如何區別

責任編輯:editor03

2014-09-25 14:14:18

摘自:比特網

我們在郵差與郵局中說到,以太網和WiFi是連接層的兩種協議。在連接層,信息以幀(frame)為單位傳輸。幀像信封一樣將數據(payload)包裹起來。

我們在郵差與郵局中說到,以太網和WiFi是連接層的兩種協議。在連接層,信息以幀(frame)為單位傳輸。幀像信封一樣將數據(payload)包裹起來,并注明收信地址和送信地址。連接層實現了“本地社區”的通信。我們先來看看以太網的幀。

以太網的幀格式

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

以太網的幀格式

幀按照上面的順序從頭到尾依次被發送/接收。我們下面進一步解釋各個區域。

頭部

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

(就像在收聽廣播之前,調整轉鈕,直到聲音清晰。網卡會在接收序言的過程中不斷微調自己的接收頻率,直到自己“聽到”是...1010...)

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

Preamble和SFD

緊隨SFD之后的是6 byte的目的地(DST, destination)和6 byte的發出地(SRC, source)。這就是我們在郵差和郵局中的介紹一樣,為信封寫上目的地和發出地。要注意,這里寫在信封上的是對地址的“本地描述”,也就是MAC地址。 MAC地址是物理設備自帶的序號,只能在同一個以太網中被識別 (正如郵差只熟悉自己的社區一樣)。

頭部的最后一個區域是Type,用以說明數據部分的類型。(比如0x0800為IPv4,0x0806為ARP)

數據

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

尾部

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

一個方法是將數據發送兩遍,然后對比一下是否一樣。但這樣就大大降低了網絡的效率。FCS采用了CRC(Cyclic Redundancy Check)算法。這就好像是一家飯店的老板雇傭了一個收銀員,但他又擔心收銀員黑錢。可是每天營業額很大,老板即使坐在旁邊看,也不能用記住收到的總數。所以他采取了一個聰明的辦法:只記住收到錢的最后一位 (比如收到19元,老板記住9)。當有新的進賬(比如13,尾數為3),他就將新的尾數和舊的尾數相加,再記住和的尾數(也就是2)。當收銀員交給老板錢的時候,老板只用看總額的最后一位是否和自己記的最后一位相同,就可以知道收銀員是否誠實了。如果說我們的數據是收銀的總額的話,我們的FCS就是老板記錄的尾數。如果兩者不相符,我們就知道數據在傳輸的過程中出現錯誤,不能使用。

有FCS在盯著

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

11010011101100 000 <--- 數據序列末尾增加3位0

1011 <--- 因子

01100011101100 000 <--- XOR結果

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位余數

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

集線器(Hub) vs. 交換器(Switch)

以太網使用集線器或者交換器將幀從發出地傳送到目的地。一臺集線器或交換器上有多個端口,每個端口都可以連接一臺計算機(或其他設備)。

集線器像一個廣播電臺。一臺電腦將幀發送到集線器,集線器會將幀轉發到所有其他的端口。每臺計算機檢查自己的MAC地址是不是符合DST。如果不是,則保持沉默。集線器是比較早期的以太網設備。它有明顯的缺陷:

1) 任意兩臺電腦的通信在同一個以太網上是公開的。所有連接在同一個集線器上的設備都能收聽到別人在傳輸什么,這樣很不安全。可以通過對信息加密提高安全性。

2) 不允許多路同時通信。如果兩臺電腦同時向集線器發信,集線器會向所有設備發出“沖突”信息,提醒發生沖突。可以在設備上增加沖突檢測算法(collision detection):一旦設備發現有沖突,則隨機等待一段時間再重新發送。

交換器克服集線器的缺陷。交換器記錄有各個設備的MAC地址。當幀發送到交換器時,交換器會檢查DST,然后將幀只發送到對應端口。交換器允許多路同時通信。由于交換器的優越性,交換器基本上取代了集線器。但比較老的以太網還有可能在使用集線器。

WiFi

WiFi的工作方式與集線器連接下的以太網類似。一個WiFi設備會向所有的WiFi設備發送幀,其它的WiFi設備檢查自己是否符合DST。由于 WiFi采取無線電信號,所以很難像交換器一樣定向發送,所以WiFi的安全性很值得關注。WiFi采用加密的方法來實現信息的安全性。

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

總結

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

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 乌苏市| 青河县| 井研县| 清水县| 尼木县| 泰兴市| 舒兰市| 阳山县| 德昌县| 枣阳市| 米泉市| 通江县| 农安县| 万年县| 甘泉县| 安龙县| 科技| 密山市| 沙雅县| 沁水县| 松滋市| 富顺县| 中江县| 合作市| 海盐县| 宁化县| 页游| 沐川县| 来安县| 辽宁省| 伊宁市| 潼关县| 炎陵县| 石家庄市| 大同县| 鹿邑县| 电白县| 宾川县| 永寿县| 安多县| 桂林市|