国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

網(wǎng)絡(luò)協(xié)議 3 - 從物理層到 MAC 層

miracledan / 2075人閱讀

摘要:今天,我們來認(rèn)識(shí)下物理層和層。這叫做隨機(jī)接入?yún)f(xié)議。著名的以太網(wǎng),用的就是這種方式。對于以太網(wǎng),第二層的最后面是,也就是循環(huán)冗余檢測。

????在上一篇博文中,我們見證了 IP 地址的誕生,機(jī)器一旦有了 IP,就可以在網(wǎng)絡(luò)的環(huán)境里和其他的機(jī)器展開溝通了。

????今天,我們來認(rèn)識(shí)下 物理層MAC 層。

????日常生活中,身為 90 后的我們,如果不是通信相關(guān)專業(yè)出身的,應(yīng)該從來沒有接觸過物理層和 MAC 層的設(shè)備。我們接觸最多的,可能就是路由器了。而路由器實(shí)際上是第三層-網(wǎng)絡(luò)層的設(shè)備了。

????那咱們怎么認(rèn)識(shí)物理層呢?就不扯那些深?yuàn)W的理論了,從宿舍聯(lián)機(jī)打魔獸說起吧。

????要想宿舍里的幾臺(tái)電腦連接到一個(gè)局域網(wǎng)內(nèi),第一反應(yīng)就是買個(gè)路由器,大家都連上去就 OK 了。但是在 15 年前,路由器還沒有那么普及的時(shí)候,你在校園里找個(gè)通信專業(yè)的學(xué)生問,知道怎么組建宿舍局域網(wǎng)嗎?他應(yīng)該會(huì)回答你,有三種方式:

網(wǎng)線連接

集線器連接

交換機(jī)

物理層

????上面三種方式中,網(wǎng)線連接和集線器是完全在物理層工作,咱們就先見識(shí)下這兩種方式。

網(wǎng)線連接

????是的,你沒看錯(cuò),是用一根網(wǎng)線連接在兩個(gè)電腦上。網(wǎng)線水晶頭的第 1、2 和第 3、6腳,分別起著發(fā)、收信號(hào)的作用,要想通過一根網(wǎng)線將兩臺(tái)電腦連接在一個(gè)局域網(wǎng)上,需要額外做的操作就是將網(wǎng)線其中一端的 1 號(hào)和 3 號(hào)線、2 號(hào)和 6 號(hào)線互換一下位置,這樣就能在物理層實(shí)現(xiàn)一端發(fā)送的信號(hào),另一端成功接收。

????當(dāng)然,除了通過網(wǎng)線連接外,我們還需要配置這兩臺(tái)電腦的 IP 地址、子網(wǎng)掩碼和默認(rèn)網(wǎng)關(guān),將這三項(xiàng)配置成為一個(gè)網(wǎng)絡(luò),否則是不通的。

????這樣,一個(gè)宿舍的兩臺(tái)電腦就可以聯(lián)機(jī)打魔獸了。

????問題來,如果又有一個(gè)舍友買了電腦,怎么把三臺(tái)電腦連一起呢?先別說交換機(jī)這高檔的東西,對于 15 年前的大學(xué)生來說,交換機(jī)太貴了,買不起。好在除了交換機(jī)外,還有個(gè)叫做 Hub 的東西,也就是集線器

集線器

????這種設(shè)備有多個(gè)口,可以將宿舍里的多臺(tái)電腦連接起來。和交換機(jī)不同的是,集線器很“傻”,它沒有大腦,完全在物理層工作,將自己收到的每一個(gè)字節(jié),都復(fù)制到其它端口上去。

????這就像,小明想找小紅表白,他不知道小紅在哪個(gè)小區(qū),于是他就找其它小伙伴,讓每個(gè)小伙伴負(fù)責(zé)一個(gè)小區(qū),去每一戶問是不是小紅家,找到小紅的小伙伴就將表白語告訴小紅。

數(shù)據(jù)鏈路層

????上面通過 Hub 實(shí)現(xiàn)局域網(wǎng)的方式,你可能已經(jīng)發(fā)現(xiàn)了,Hub 采取的是廣播的模式。如果每一臺(tái)電腦發(fā)出的包,局域網(wǎng)內(nèi)的其它電腦都能收到,那就麻煩了。這就需要解決幾個(gè)問題:

這個(gè)包是發(fā)給誰的?誰接收?

大家都在發(fā)生消息,會(huì)不會(huì)產(chǎn)生混亂?有沒有先后的規(guī)則?

如果發(fā)生的時(shí)候出錯(cuò)了,怎么辦?

????這幾個(gè)問題,都是數(shù)據(jù)鏈路層,也就是 MAC 層要解決的問題。MAC 的全稱是 Medium Access Control,即媒體介質(zhì)訪問控制。這里的控制,其實(shí)就是控制在往媒體上發(fā)數(shù)據(jù)時(shí),誰先發(fā)、誰后發(fā)的問題,也就是防止發(fā)生混亂。這就解決了第二個(gè)問題。這個(gè)問題中的規(guī)則,學(xué)名叫多路訪問。和我們交通管制一樣,常見的有下面三種方式:

方式一:分車道。每個(gè)車一個(gè)車道,你走你的,我走我的,互不干擾。這在計(jì)算機(jī)網(wǎng)絡(luò)中叫做信道劃分

方式二:今天單號(hào)出現(xiàn),明天雙號(hào)出現(xiàn),輪著來。這叫做輪流協(xié)議

方式三:不管三七二十一,有事先出門,發(fā)現(xiàn)很堵,就回去等待 ,錯(cuò)過高峰期再走。這叫做隨機(jī)接入?yún)f(xié)議。著名的以太網(wǎng),用的就是這種方式。

????解析要解決第一個(gè)問題:發(fā)給誰?誰接收?這里用到一個(gè)物理地址,叫做鏈路層地址。但是因?yàn)榈诙又饕鉀Q媒體接入控制的問題,所以它常常被稱為 MAC 地址。

????解決第一個(gè)問題就牽扯到第二層的網(wǎng)絡(luò)包格式。對于以太網(wǎng),第二層的最開始,就是目標(biāo)的 MAC 地址和源的 MAC 地址。

????接下來是類型。大部分的類型是 IP 數(shù)據(jù)包,其中 IP 里面包含 TCP、UDP,以及 HTTP 等,這些都是里層封裝的事情。

????有了這個(gè)目標(biāo) MAC 地址,數(shù)據(jù)包在鏈路上廣播,MAC 的網(wǎng)卡才能發(fā)現(xiàn),這個(gè)包是給它的。MAC 的網(wǎng)卡把包收進(jìn)來,然后打開 IP 包,發(fā)現(xiàn) IP 地址也是自己的,再打開 TCP 包,發(fā)現(xiàn)端口是 80,而 nginx 就是監(jiān)聽 80 端口。

????于是就將請求提交給 nginx,nginx 返回一個(gè)網(wǎng)頁,最后再經(jīng)過層層封裝,返回到 MAC 層。因?yàn)閬淼臅r(shí)候有源 MAC 地址,返回的時(shí)候,源 MAC 地址就變成了目標(biāo) MAC 地址,再返給請求的機(jī)器。

????對于以太網(wǎng),第二層的最后面是 CRC,也就是循環(huán)冗余檢測。通過 XOR 異或的算法,來計(jì)算整個(gè)包是否在發(fā)送的過程中出現(xiàn)了錯(cuò)誤,這主要解決了第三個(gè)問題。

????這里還有一個(gè)沒有解決的問題,當(dāng)源機(jī)器知道目標(biāo)機(jī)器的時(shí)候,可以將模板地址放入包里。如果不知道呢?一個(gè)廣播的網(wǎng)絡(luò)里面接入了 N 臺(tái)地址,我怎么知道每個(gè) MAC 地址是誰呢?這就是 ARP 協(xié)議,也就是已知 IP 地址,求 MAC 地址的協(xié)議

????在一個(gè)局域網(wǎng)里,如果知道了 IP 地址,不知道 MAC 地址怎么辦?這個(gè)在網(wǎng)絡(luò)協(xié)議-概述中有提過,本地通信靠“吼”。

????發(fā)送一個(gè)廣播包,廣而告之,誰說這個(gè) IP 誰來回答。具體詢問和回答的報(bào)文就像下面這樣:

????為了避免每次都用 ARP 協(xié)議,機(jī)器本地會(huì)進(jìn)行 ARP 緩存。當(dāng)然,緩存的 MAC 地址會(huì)有一個(gè)過期時(shí)間。

????上面解決了廣播發(fā)出的包,局域網(wǎng)內(nèi)所有機(jī)器都能收到的問題。那么 Hub 是采用怎么樣的方式?

????實(shí)際上,Hub 不管某個(gè)接口是否需要,所有的數(shù)據(jù)都會(huì)發(fā)送出去,然后讓主機(jī)來判斷是否需要相關(guān)數(shù)據(jù)。這種方式會(huì)有兩個(gè)問題:

機(jī)器數(shù)目大幅增多后,產(chǎn)生沖突的概率就提高了。這很好理解,那么多小伙伴去找小紅,發(fā)生交通事故的概率要大于,直接去她家表白發(fā)生交通事故的概率;

把大量不需要發(fā)送的包發(fā)送出去,浪費(fèi)資源。

????明顯可以看出,要解決上面兩個(gè)問題,只要我們知道哪個(gè)接口對應(yīng)哪個(gè) MAC 地址就好了。如果目標(biāo) MAC 地址不是這臺(tái)電腦的,這個(gè)口就不用轉(zhuǎn)發(fā)了。

????那么,誰能知道目標(biāo) MAC 地址是否就是連接某個(gè)口的電腦的 MAC 地址呢?這就需要一個(gè)能把 MAC 頭拿下來,檢查一下目標(biāo) MAC 地址,然后根據(jù)策略轉(zhuǎn)發(fā)的設(shè)備,也就是我們之前提過的,二層設(shè)備-交換機(jī)

????交換機(jī)怎么知道每個(gè)口對應(yīng)的電腦的 MAC 地址呢?這需要交換機(jī)能學(xué)習(xí)。這個(gè)也是交換機(jī)和 Hub 最明顯的區(qū)別。

????一臺(tái) MAC1 電腦將一個(gè)包發(fā)送給另一臺(tái) MAC2 電腦,當(dāng)這個(gè)包到達(dá)交換機(jī)的時(shí)候,一開始交換機(jī)也不知道 MAC2 電腦再哪個(gè)口,所以沒辦法,它只能將包轉(zhuǎn)發(fā)給除了來的那個(gè)口之外的其他所有的口。但是,這個(gè)時(shí)候,交換機(jī)會(huì)干一件很聰明的事情,就是交換機(jī)記住,MAC1 是來自一個(gè)明確的口,以后有包的目的地址是 MAC1 的,就直接發(fā)送到對應(yīng)口就可以了。

????當(dāng)交換機(jī)作為一個(gè)關(guān)卡一樣,過來一段時(shí)間后,就有了整個(gè)網(wǎng)絡(luò)的一個(gè)結(jié)構(gòu)了。這個(gè)時(shí)候,基本上不用廣播,全部可以準(zhǔn)確轉(zhuǎn)發(fā)。而交換機(jī)學(xué)習(xí)的結(jié)果,我們成為轉(zhuǎn)發(fā)表。當(dāng)然,每臺(tái)機(jī)器的 IP 地址會(huì)變,所在的口也會(huì)變,所以轉(zhuǎn)發(fā)表也是有一個(gè)過期時(shí)間的。

小結(jié)

上面扯了一大堆,實(shí)際上也就是幾句話的事:

MAC 層是用來解決多路訪問的堵車問題的

ARP 是通過“吼”的方式來尋找目標(biāo) MAC 地址,之后會(huì)記住一段時(shí)間,這個(gè)叫做 ARP 緩存

交換機(jī)是升級(jí)版的 Hub,它有 MAC 地址學(xué)習(xí)能力,學(xué)完就能記住每個(gè) MAC 地址對應(yīng)哪個(gè)口,學(xué)習(xí)的成果叫轉(zhuǎn)發(fā)表

參考:

劉超-趣談網(wǎng)絡(luò)協(xié)議系列課;

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/29640.html

相關(guān)文章

  • 網(wǎng)絡(luò)協(xié)議 3 - 物理 MAC

    摘要:今天,我們來認(rèn)識(shí)下物理層和層。這叫做隨機(jī)接入?yún)f(xié)議。著名的以太網(wǎng),用的就是這種方式。對于以太網(wǎng),第二層的最后面是,也就是循環(huán)冗余檢測。 ????在上一篇博文中,我們見證了 IP 地址的誕生,機(jī)器一旦有了 IP,就可以在網(wǎng)絡(luò)的環(huán)境里和其他的機(jī)器展開溝通了。 ????今天,我們來認(rèn)識(shí)下 物理層 和 MAC 層。 ????日常生活中,身為 90 后的我們,如果不是通信相關(guān)專業(yè)出身的,應(yīng)該從來沒...

    kid143 評論0 收藏0
  • 網(wǎng)絡(luò)協(xié)議之TCP

    摘要:應(yīng)用層提供網(wǎng)絡(luò)與用戶應(yīng)用軟件之間的接口。數(shù)據(jù)的表示安全壓縮會(huì)話層提供包括訪問驗(yàn)證和會(huì)話管理在內(nèi)的建立和維護(hù)應(yīng)用之間的通信機(jī)制。定義傳輸數(shù)據(jù)的協(xié)議端口號(hào)流控和差錯(cuò)校驗(yàn)網(wǎng)絡(luò)層處理網(wǎng)絡(luò)間的路由,確保數(shù)及時(shí)傳送。 showImg(https://segmentfault.com/img/remote/1460000013372565); 為了實(shí)現(xiàn)計(jì)算機(jī)的通信,我們?yōu)橛?jì)算機(jī)定義了一系列的通信規(guī)則...

    Miracle_lihb 評論0 收藏0
  • internet協(xié)議入門

    摘要:構(gòu)成數(shù)據(jù)鏈路數(shù)據(jù)單元數(shù)據(jù)幀或幀,并對幀定界同步收發(fā)順序的控制。以太網(wǎng)規(guī)定,一組電信號(hào)構(gòu)成一個(gè)數(shù)據(jù)包,叫做幀。因此,整個(gè)幀最短為字節(jié),最長為字節(jié)。協(xié)議規(guī)定網(wǎng)絡(luò)地址的協(xié)議,叫做協(xié)議。現(xiàn)在廣泛采用的是協(xié)議第四版,簡稱。 前言 勞于讀書,逸于作文。 原文地址:internet協(xié)議入門 博主博客地址:Damonare的個(gè)人博客 博主之前寫過一篇博客:網(wǎng)絡(luò)協(xié)議分析,在這篇博客里通過抓包,具體的分析...

    bingchen 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<