當前位置:首頁 > 公眾號精選 > 架構(gòu)師社區(qū)
[導讀]很久很久以前,那時候網(wǎng)絡(luò)中的各個計算機都是通過一個叫集線器Hub的家伙來相連的,通過集線器,我們大家在物理上構(gòu)成了一個星型的網(wǎng)絡(luò),還給取了個名字:以太網(wǎng)。那時候我們的傳輸速度能做到10Mbps,在那個年代,已經(jīng)非常了不起了。

阿Q造訪

我是一個網(wǎng)卡,居住在一個機箱內(nèi)的主板上,負責整臺計算機的網(wǎng)絡(luò)通信,要是沒有我,這里就成了一個信息孤島了,那也太無聊了~

CPU:網(wǎng)卡老哥,你到底怎么工作的?

上個周末,服務器斷電維護了,這是我難得的休息時間,我準備打個盹兒瞇一會兒。

這才剛合上眼,CPU一號車間的阿Q跑過來串門了。

“怎么是你小子,聽說你背后說了我很多壞話??!今天怎么想起找我來了”

“網(wǎng)卡老哥,你這都聽誰造的謠,我想來拜訪你很久了,這不平時工作太忙抽不開身,今天停電了一有空就找你來了嘛!”,阿Q笑著說到。

“你可是大忙人,無事不登三寶殿,說吧,找我什么事兒”

阿Q露出了尷尬而不失禮貌的微笑,“那我就開門見山了,這不年底了嗎,咱們廠里最近評優(yōu)呢,想學點網(wǎng)絡(luò)知識,特來向你討教討教”

CPU:網(wǎng)卡老哥,你到底怎么工作的?

“就這啊,好說好說,來里邊坐”,我招待阿Q進門坐下。

剛剛落座,阿Q就忍不住提問:“老哥,你們網(wǎng)卡是怎么工作的?聽說你可以抓到別的主機通信的數(shù)據(jù)包?可以給我露一手嗎?”

“唉,現(xiàn)在不行了”,我嘆了一口氣。

“咋了這是?”

我抬頭凝望,開始給阿Q講起了我的故事。

集線器時代

很久很久以前,那時候網(wǎng)絡(luò)中的各個計算機都是通過一個叫集線器Hub的家伙來相連的,通過集線器,我們大家在物理上構(gòu)成了一個星型的網(wǎng)絡(luò),還給取了個名字:以太網(wǎng)。那時候我們的傳輸速度能做到10Mbps,在那個年代,已經(jīng)非常了不起了!。

CPU:網(wǎng)卡老哥,你到底怎么工作的?

集線器這家伙,不知道該說他笨,還是該說他懶,他從來不會管數(shù)據(jù)是誰發(fā)給誰,只是一個沒有感情的轉(zhuǎn)發(fā)機器,工作在物理層,把收到的信號做一個增強處理后就一股腦的發(fā)給所有端口。

CPU:網(wǎng)卡老哥,你到底怎么工作的?

這樣一來,我們在邏輯上就變成了一個總線型網(wǎng)絡(luò)了??偩€屬于公共資源,由所有連接在上面的主機共享,有人在傳輸數(shù)據(jù)的時候其他人就得等著,不然數(shù)據(jù)就會發(fā)生沖突,全亂套了。

CPU:網(wǎng)卡老哥,你到底怎么工作的?

為了讓大家都能和平共處,不必為了爭搶線路發(fā)生不愉快,我們制定了一套規(guī)則:CSMA/CD。

每次要發(fā)送數(shù)據(jù)之前,我都得要監(jiān)聽一下線路上是否空閑,如果有別人在傳輸數(shù)據(jù),那我就得等待。至于等待多久,我也不知道,因為這是一個隨機值。

等到空閑的時候,我就可以發(fā)送數(shù)據(jù)了。不過一邊發(fā)送,我還得一邊檢測是否有沖突發(fā)生,因為說不定有別人跟我一樣以為現(xiàn)在空閑都在發(fā)送數(shù)據(jù)呢!

所以這就是CSMA/CD——載波偵聽多路訪問/沖突檢測名字的來歷了。

但是如果數(shù)據(jù)的長度太短,我很快就發(fā)送完了,結(jié)果先頭部隊還在路上,這之后再遇到?jīng)_突那我就發(fā)現(xiàn)不了了。為了應對這種情況,我們還得考慮即便是在極端情況下發(fā)生沖突,我們還是能夠檢測到。

CPU:網(wǎng)卡老哥,你到底怎么工作的?

我們這個網(wǎng)絡(luò)能夠支持的最遠距離是2500米,極端情況下,到達最遠端的時候沖突才發(fā)生。沖突信號得趕在我發(fā)送完最后一個bit之前傳回來,這一來一回就是5000米。

線路上的信號跑個來回需要57.6微秒,我們的傳輸速度是10Mbps,一個來回的時間我就能發(fā)送576bit,也就是72個字節(jié),除開8個字節(jié)的幀前導符和幀開始符,剩下的以太網(wǎng)幀長度不能低于64個字節(jié),這樣就算在最遠兩端發(fā)生的碰撞沖突都能及時傳遞回去被檢測到。

有了這套協(xié)議,大家再也不用爭搶,可以專心工作了。

“我說為什么非得要至少64字節(jié)你才發(fā)送,原來還有這段歷史呢!那你們具體是怎么收發(fā)數(shù)據(jù)的呢?”,說到這兒,阿Q打斷了我。

“那你聽我繼續(xù)給你說”

數(shù)據(jù)收發(fā)過程

我每天的工作就是接收、發(fā)送數(shù)據(jù)包,操作系統(tǒng)把數(shù)據(jù)交給我以后,我就按照以太網(wǎng)的數(shù)據(jù)格式,把數(shù)據(jù)封裝成一個個的以太網(wǎng)幀發(fā)出去

CPU:網(wǎng)卡老哥,你到底怎么工作的?

幀的頭部有收件人和發(fā)件人的地址,我們叫它MAC地址,這是我們每個網(wǎng)卡的身份證號碼,從我們出生那一刻起就確定了。

發(fā)件人是我的MAC地址,但收件人地址我不知道啊!操作系統(tǒng)協(xié)議棧部門交給我的數(shù)據(jù)包只有IP地址,我們又不認識這個,我們收發(fā)數(shù)據(jù)幀只用MAC地址。

為了解決這個問題,我們又制定了一套協(xié)議:ARP,地址解析協(xié)議,來實現(xiàn)這兩個地址的轉(zhuǎn)換。在不知道IP對應的MAC地址時候,就發(fā)送一個廣播,這個廣播的發(fā)件人地址填我的,然后收件人地址是FF:FF:FF:FF:FF:FF,這是一個特殊的MAC地址,我們約定好了每個人收到廣播都要接收而不能丟棄。

CPU:網(wǎng)卡老哥,你到底怎么工作的?

這個廣播里面填了IP地址,誰收到以后發(fā)現(xiàn)跟自己的匹配上就來應答我,這樣我就能知道對方的MAC地址了,接下來就能通信了。

當然,為了避免每一次都去詢問一遍浪費時間,我會把查詢過的記錄緩存起來,下次就能直接用啦。

不過這樣做也有安全風險,要是有人冒充真正的收件人給我回信,我也沒辦法分辨,這就叫ARP欺騙。

“唉,等等,你還是給我講講你是怎么可以抓到別人的通信數(shù)據(jù)吧,我對這個更有興趣。”,阿Q又一次打斷了我。

因為集線器這家伙閉著眼睛到處轉(zhuǎn)發(fā),所以不管是誰發(fā)的數(shù)據(jù),所有人都可以看到。

就因為這樣,總線中每天有大量數(shù)據(jù)在流動,但我通常也不會全部都抓下來交給你們處理,不然你們CPU的人估計要罵死我了。所以我每次拿到一個數(shù)據(jù)幀,就會檢查它的收件人是不是我,如果不是那就直接丟棄了,當然,前面我說的廣播消息例外。

我能抓到別人通信數(shù)據(jù)的秘密就在于:我提供了一種工作模式叫做混雜模式,這種模式下,我就會把總線中我看到的所有數(shù)據(jù)幀全部都抓下來交給你們CPU去處理,一般都是一些抓包軟件才會要求我這么做,但也有一些流氓軟件和病毒木馬經(jīng)常讓我抓別人的數(shù)據(jù)包,這樣他們就能嗅探網(wǎng)絡(luò)中的其他主機的通信了。

CPU:網(wǎng)卡老哥,你到底怎么工作的?

我并不喜歡這樣,因為每次一開啟混雜模式,我和你們CPU就忙的要死,主板上的風扇都會瘋狂的轉(zhuǎn)起來。

“原來是這樣,那你開啟混雜模式給我露一手看看唄,可以看到別人的通信數(shù)據(jù),這也太刺激了!”,阿Q又又又一次打斷了我。

“你別著急,聽我繼續(xù)說嘛,別老是打斷我,而且現(xiàn)在停電了,我想露一手也露不了???”

“好好好,你繼續(xù),繼續(xù),我不插嘴了。”

交換機時代

不知道從什么時候開始,就算我開啟混雜模式,也抓不到別人的數(shù)據(jù)包了,因為我發(fā)現(xiàn)網(wǎng)絡(luò)中的數(shù)據(jù)包只有跟我相關(guān)的了。

后來一打聽才知道,不只是我一個網(wǎng)卡這樣,別的也一樣。

原來集線器那家伙退休了,新來了一個叫交換機的大佬取代了他的位置。

CPU:網(wǎng)卡老哥,你到底怎么工作的?

這位大佬名不虛傳,他不只是簡單的把大家連接在一塊兒,它還會學習,用一張表把大家的MAC地址和連接的端口號記錄下來。每次收到數(shù)據(jù)后,它只轉(zhuǎn)發(fā)給對應的端口,而不會像集線器那樣到處轉(zhuǎn)發(fā),我再也看不到別人的通信數(shù)據(jù)了!

“?。拷粨Q機那家伙可真多事!”,阿Q露出了失望的表情。

這也是件好事啊,交換機大佬不用到處轉(zhuǎn)發(fā)數(shù)據(jù)占用線路,相當于把沖突域進行了隔離,我連接的線路上只有我自己的數(shù)據(jù),沒有別人的數(shù)據(jù),就不會和別的主機傳輸數(shù)據(jù)發(fā)生沖突了。不僅如此,我們連接的網(wǎng)線也進行了升級換代了,現(xiàn)在我們可以全雙工通信,一邊收一邊發(fā),也不用和交換機發(fā)給我的下行數(shù)據(jù)發(fā)生沖突!

隔離沖突域+全雙工通信,現(xiàn)在再也不用CSMA/CD,因為不會有沖突發(fā)生,可以隨心發(fā)送數(shù)據(jù)了,真是爽太多了!我們的傳輸速度也是日新月異,從10Mbps到100Mbps,再到1000Mbps,越來越快,這在以前想都不敢想。

阿Q點了點頭說到:“厲害了,網(wǎng)卡老哥!真是塞翁失馬焉知非?!?/p>

說完,CPU六號車間的小六出現(xiàn)在了門口,只見他滿頭大汗的說到:“Q哥,到處找你都找不到,原來你在這,快回去,領(lǐng)導叫我們出趟差”

特別推薦一個分享架構(gòu)+算法的優(yōu)質(zhì)內(nèi)容,還沒關(guān)注的小伙伴,可以長按關(guān)注一下:

CPU:網(wǎng)卡老哥,你到底怎么工作的?

CPU:網(wǎng)卡老哥,你到底怎么工作的?

CPU:網(wǎng)卡老哥,你到底怎么工作的?

長按訂閱更多精彩▼

CPU:網(wǎng)卡老哥,你到底怎么工作的?

如有收獲,點個在看,誠摯感謝

免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉