linux網路技術內幕 讀書筆記

2021-10-02 16:46:38 字數 550 閱讀 8073

本人從事的就是linux底層網路開發的,所以希望看完這本書能讓我茅塞頓開,加油

一、sk_buff結構體以及相關操作函式

建立緩衝區分為兩次記憶體分配:分配sk_buff結構和分配資料緩衝區

二、ip分片的資料是儲存在什麼結構中?

答:fraglist和frags陣列

三、ip分片的資料是儲存在什麼地方

四、pskb_copy和skb_copy函式的區別

pskb_copy:只拷貝sk_buff區域

skb_copy:拷貝sk_buff區域和data緩衝區

核心中是如何管理多個sk_buf的?

skb_queue_head_init

skb_queue_head,skb_queue_tail

skb_dequeue_head,skb_dequeue_tail

skb_queue_perge:把佇列變為空佇列

skb_queue_walk:一次循壞遍歷執行佇列中的每個元素

net_device結構

net_device結構中儲存著特定網路裝置的所有資訊。

《深入理解Linux網路技術內幕》閱讀筆記(五)

通過中斷,nic能夠告知其驅動程式幾種不同的事情,包括 1.接收一幀。2.傳輸失敗。3.dma傳輸已成功完成。給定乙個幀傳輸,當幀上載至nic的記憶體準備在此媒介上傳輸時,驅動程式就會將持有該幀的緩衝區釋放掉。使用同步傳輸時 無dma 當該幀已上傳至nic,驅動程式就會立刻知道。但使用dma時,也就...

《深入理解Linux網路技術內幕》閱讀筆記(六)

pci的優點之一是,其支援尋找irq和每個裝置所需的其他資源的探測方式相當優雅。模組可以在載入期間接收一些輸入引數,以告知該如何配置其所負責的所有裝置。但是,有些時候,特別是pci這類匯流排,讓驅動程式自行檢查系統上的裝置,然後為其負責的那些裝置做配置會比較簡單一點。必要時,可以退回到手動配置。探測...

《深入理解Linux網路技術內幕》閱讀筆記(九)

當特定事件發生時,裝置驅動程式會代表核心指示裝置產生硬體中斷。處理函式會把該幀排入佇列某處,然後通知核心。該技術是低流量負載下的最佳選擇。遺憾的是,在高流量負載下就無法良好運作 每接收乙個幀就強制產生中斷,很快就會讓cpu為處理中斷事件浪費所有的時間。負責接收幀的 分成兩部分,首先,驅動程式把該幀拷...