偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

中斷還是輪詢?取個(gè)數(shù)據(jù)包真麻煩!

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
我叫Robert,是Linux帝國(guó)一個(gè)普通的公民。今天是我第一天上班的日子,我下了好大功夫才考上了帝國(guó)的公務(wù)員,根據(jù)我的成績(jī),我被分到了帝國(guó)網(wǎng)絡(luò)部。

網(wǎng)絡(luò)部新員工

我叫Robert,是Linux帝國(guó)一個(gè)普通的公民。

今天是我第一天上班的日子,我下了好大功夫才考上了帝國(guó)的公務(wù)員,根據(jù)我的成績(jī),我被分到了帝國(guó)網(wǎng)絡(luò)部。

一進(jìn)入帝國(guó)的辦公園區(qū),我就被眼前的景象驚呆了,一座座高樓大廈,富麗堂皇,鱗次櫛比,我忍不住駐足多看了幾眼。

[[332686]]

這些大樓上面都有招牌,最高的那一座是帝國(guó)的進(jìn)程&線程管理部門的辦公大廈,旁邊還有內(nèi)存管理部門、文件管理等部門辦公大廈。

網(wǎng)卡驅(qū)動(dòng)部門

我只顧東張西望,不小心跟旁邊小路跑出來(lái)的一位小哥撞了一個(gè)滿懷,他手里抱的一堆數(shù)據(jù)散落的滿地都是。

[[332687]]

我一邊道歉,一邊幫他撿起數(shù)據(jù)。

“這位小哥行色匆匆,不知要去哪里啊”,我好奇的問到。

“哦,你好,我是網(wǎng)卡驅(qū)動(dòng)部門的,這是從網(wǎng)卡那里剛剛拿到的數(shù)據(jù)包,我得趕緊交給協(xié)議棧處理”,說(shuō)完整理了下數(shù)據(jù),就匆忙離開了。

尋著他出來(lái)的地方看去,不遠(yuǎn)處就是他說(shuō)的網(wǎng)卡驅(qū)動(dòng)部門,難道我辦公的地方就在這里?我沿著這條小路走了過(guò)去。

一進(jìn)入網(wǎng)卡驅(qū)動(dòng)部門,出現(xiàn)在眼前的就是一副熱火朝天的景象,收包的,解包的,發(fā)包的,一群人忙的不亦樂乎。

[[332688]]

“這么早就這么忙碌了啊”,我問門口的保安大叔。

“是啊,這平時(shí)這個(gè)點(diǎn)也沒什么網(wǎng)絡(luò)訪問,不知道今天怎么回事,一大早的數(shù)據(jù)就傳輸個(gè)不停”,保安說(shuō)到。

我指著里面一個(gè)員工問保安:“大叔,那人在干嘛呢?一直在轉(zhuǎn)來(lái)轉(zhuǎn)去的”

“你說(shuō)他啊,他在從網(wǎng)卡輪詢讀取數(shù)據(jù)包呢!”

“輪詢?網(wǎng)絡(luò)數(shù)據(jù)包不是網(wǎng)卡發(fā)中斷通知嗎,干嘛要去輪詢呢?”,我不解的問到。

“以前是這樣的,不過(guò)后來(lái)CPU那邊有個(gè)叫阿Q的家伙不干了,說(shuō)網(wǎng)卡數(shù)據(jù)太頻繁,老是打斷他們正常的工作。不僅如此,中斷響應(yīng)的時(shí)候還得把中斷給關(guān)了,避免出現(xiàn)錯(cuò)誤,時(shí)間久了,鍵盤、鼠標(biāo)等單位就得不到響應(yīng)紛紛鬧事了”,保安說(shuō)完點(diǎn)了一支香煙。

我若有所思的點(diǎn)了點(diǎn)頭,“那現(xiàn)在就改成輪詢了?不過(guò)這樣好浪費(fèi)時(shí)間哦”

保安吐了一個(gè)煙圈,繼續(xù)說(shuō)到:“倒也不是全都是輪詢,現(xiàn)在把處理過(guò)程分成了兩段,最開始的第一部分還是靠中斷來(lái)通知的,這個(gè)時(shí)候需要關(guān)一下中斷,不過(guò)通知后不會(huì)真正處理數(shù)據(jù)包,而是開啟了一個(gè)軟中斷,所以關(guān)不了太久時(shí)間。第二部分在軟中斷中去輪詢處理的,這個(gè)時(shí)候就不用關(guān)中斷了。把硬中斷和輪詢結(jié)合了一下,就不用每個(gè)數(shù)據(jù)包來(lái)都中斷一次了,也不用關(guān)中斷太長(zhǎng)時(shí)間,還給這技術(shù)取了個(gè)名字叫NAPI”

“保安大叔,你怎么什么都知道啊?”

“我以前就在里面工作啊,現(xiàn)在年紀(jì)稍微大了些,比不上年輕人,就讓我來(lái)當(dāng)保安了,唉~”,大叔說(shuō)完又猛抽了一口香煙,整理了下自己日益稀疏的頭發(fā)。

“唉,對(duì)了,你是誰(shuí)啊,怎么沒見過(guò)你?”

“我是帝國(guó)網(wǎng)絡(luò)部新來(lái)的員工,今天來(lái)報(bào)道的。我把手中的錄取通知書遞給了保安”

保安大叔看了看說(shuō)到:“你走錯(cuò)了,不是這里,你該去網(wǎng)絡(luò)協(xié)議棧大廈”。

協(xié)議棧大廈

離開網(wǎng)卡驅(qū)動(dòng)部門,我繼續(xù)前行終于找到了網(wǎng)絡(luò)協(xié)議棧大廈,這便是我今后工作的地方了。

走近一看,這座網(wǎng)絡(luò)大廈并不如前面看到的高大,只有三層高,每一層的墻上都掛著一個(gè)巨大的招牌,上面寫著這一層的名字,從上向下分別是:

  • 應(yīng)用層
  • 傳輸層
  • 網(wǎng)絡(luò)層

大廈的門口還有一個(gè)收發(fā)室,門牌上寫著netif_receive_skb,收發(fā)室坐著一位大爺。

正在這時(shí),先前碰到的小哥又來(lái)了,將手里的數(shù)據(jù)放到了收發(fā)室就離開了,看來(lái)這里就是網(wǎng)絡(luò)協(xié)議棧的入口了。

大爺拆開這個(gè)數(shù)據(jù)包看了看,隨即按了下按鈕,數(shù)據(jù)包就順著管道傳到了背后協(xié)議棧大廈一樓的一個(gè)辦公室,我抬頭一看,上面寫著IPv4。再向旁邊看去,還有好幾間辦公室,分別寫了IPv6、ICMP、IGMP、ARP···

我來(lái)到這個(gè)IPv4的門口,里面也是忙的不亦樂乎,有分片的、組包的、計(jì)算校驗(yàn)和的、有條不紊。

辦公室正中央有一個(gè)圓柱形的管道,通向了二樓,一樓處理完畢就通過(guò)這管道把數(shù)據(jù)包送了上去。

墻上還有另一個(gè)管道,上面寫著netfilter hook,不知道是通向了哪里。

“你找誰(shuí)?”,我正看得入神,里面一個(gè)負(fù)責(zé)人發(fā)現(xiàn)了我,我趕緊表明來(lái)意。

他看過(guò)我手中的錄取通知書后說(shuō)到,“你是在傳輸層啊,出門右拐上二樓就是了。我們這一樓都是網(wǎng)絡(luò)層協(xié)議的辦公室。”

我又看了下手里的錄用通知書,這才發(fā)現(xiàn)被分配在了傳輸層工作。

傳輸層工作

來(lái)到二樓,總算見到了我的主管。

“Robert,歡迎加入網(wǎng)絡(luò)部,工作崗位在傳輸層的TCP小組,大家歡迎!”

“謝謝主管!謝謝大家!”

“這是Cerf,你剛來(lái),就讓他先帶帶你,有什么不懂的就向他請(qǐng)教吧。”

我點(diǎn)頭感謝,和一旁這個(gè)叫Cerf的握了握手。

接下來(lái),主管向我介紹了咱們傳輸層的幾個(gè)小組的情況:TCP、UDP、SCTP、UDP-lite······我這才知道,原來(lái)傳輸層不是只有TCP和UDP。

[[332690]]

Cerf帶我來(lái)到了工位,不愧是國(guó)有單位,無(wú)比寬敞,桌上還有一堆奇怪的設(shè)備。

“這是一堆什么東西啊”,我問Cerf。

“這些都是定時(shí)器,后面你工作處理TCP連接會(huì)用到的”

我點(diǎn)了點(diǎn)頭,環(huán)顧四周,工位旁邊的墻壁上還貼滿了什么東西,我湊近了一看,才發(fā)現(xiàn)滿滿的都是RFC幾千條的規(guī)定。

“好好看,以后的工作可是要天天用到這些東西呢”,Cerf略開玩笑的說(shuō)著。

“這些我基本都背的下來(lái)了,要不然我也考不到這里來(lái)”,我笑著說(shuō),略帶一些得意。

Cerf也笑了笑,“別大意,之前也有人也說(shuō)過(guò)這話,后來(lái)還不是走了”

我有些尷尬,不知道說(shuō)些什么,這時(shí)辦公室中央的管道里冒出了一個(gè)數(shù)據(jù)包。

“Robert,你剛來(lái),這個(gè)新的連接數(shù)據(jù)包就交給你來(lái)處理下,熟悉下工作流程”,主管說(shuō)到。

我剛剛放松的心情一下緊張了起來(lái),畢竟以前都是紙上談兵,還從沒有真正處理過(guò)數(shù)據(jù)包呢。

我小心翼翼的接過(guò)這個(gè)數(shù)據(jù)包,定位到TCP的頭部,瞧了一眼標(biāo)志位,發(fā)現(xiàn)SYN位是1,看來(lái)是有新的連接到來(lái)了,接下來(lái)不就是三次握手嗎,我再熟悉不過(guò)了。

我準(zhǔn)備了一個(gè)響應(yīng)包,將SYN標(biāo)記和ACK標(biāo)記都點(diǎn)亮后,接下來(lái)就犯了難了。這個(gè)確認(rèn)號(hào)ACK我倒是知道是對(duì)方的序列號(hào)+1,不過(guò)我回復(fù)的序列號(hào)該是多少呢?一時(shí)之間,不知道如何是好。

你們知道嗎?在線等,挺急的。

未完待續(xù)······

彩蛋

CPU一號(hào)車間的阿Q又鬧脾氣了。

“我們花了大量時(shí)間把網(wǎng)卡數(shù)據(jù)搬運(yùn)到內(nèi)存,重復(fù)又沒有技術(shù)含量,我受夠了!”

預(yù)知后事如何,請(qǐng)關(guān)注后續(xù)精彩······

 

責(zé)任編輯:趙寧寧 來(lái)源: 編程技術(shù)宇宙
相關(guān)推薦

2019-02-13 11:07:17

2014-06-10 09:16:53

數(shù)據(jù)包

2021-12-29 19:20:41

數(shù)據(jù)GitHub服務(wù)器

2017-08-22 11:30:15

LinuxWireshark過(guò)濾數(shù)據(jù)包

2020-11-18 07:54:31

太網(wǎng)數(shù)據(jù)包架構(gòu)

2023-03-27 00:13:26

數(shù)據(jù)包Kubernete網(wǎng)絡(luò)

2021-07-15 09:57:39

Wireshark數(shù)據(jù)包長(zhǎng)度

2024-10-25 12:38:27

2015-09-07 14:08:32

Java編程異步事件

2010-05-26 17:42:29

IPv6數(shù)據(jù)包

2011-11-28 16:03:49

wireshark數(shù)據(jù)包

2014-07-09 09:43:59

2020-11-23 10:25:44

tcpdump數(shù)據(jù)包Linux

2024-06-07 06:29:49

2012-12-04 09:54:33

路由器數(shù)據(jù)包TCP

2017-03-28 13:25:14

Linux網(wǎng)絡(luò)數(shù)據(jù)包

2017-01-19 14:35:10

數(shù)據(jù)包DPInDPI

2013-01-21 15:11:39

路由器數(shù)據(jù)包路由技術(shù)

2010-12-27 13:14:15

Openbsd PFOpenBSD數(shù)據(jù)包過(guò)濾

2017-04-07 09:30:49

Linux網(wǎng)絡(luò)數(shù)據(jù)包
點(diǎn)贊
收藏

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