1、數據包到達網卡設備
2、收到數據後網卡根據設置的hash規則(多隊列網卡),決定將數據放到哪個ring buffer,然後通過DMA將數據放到內存,也就是網卡的ring buffer中
3、設備產生硬件中斷,根據網卡設置的中斷綁核通知對應CPU處理數據報文
4、對應CPU執行網絡設備註冊的中斷處理函數,響應硬中斷,將該設備添加到CPU輪詢設備隊列中,關閉網絡設備中斷響應,並喚醒軟中斷處理
5、系統根據RPS和RFS的設置,確定軟中斷在哪個CPU執行,對應CPU的NAPI軟中斷處理例程從CPU的輪詢隊列中按額度從ring buffer中poll數據報文skb並遞交上層協議棧處理,收完報文後,恢復網卡設備中斷響應
6、協議棧處理報文
7、報文遞交至應用程序socket的receive buffers中
數據包接收流程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
LWIP學習筆記1——基礎介紹
Aladdin Wang
2020-07-05 00:17:49
淺析WLAN——無線局域網
Carry丶
2020-07-07 20:51:12
你瞭解你每天都在用的NAT嗎?
Carry丶
2020-07-07 20:00:20
OSPF協議原理詳解
Carry丶
2020-07-07 20:00:18
STP/RSTP協議(一)
Carry丶
2020-07-07 20:00:18
不學不知道,TCP協議竟如此複雜
Carry丶
2020-07-07 20:00:17
STP/RSTP協議(二)
Carry丶
2020-07-07 20:00:17
虛擬路由冗餘協議VRRP——雙機熱備份基礎
Carry丶
2020-07-07 20:00:15
應用層協議——RADIUS
Carry丶
2020-07-07 20:00:15
對TCP三次而不是兩次握手的理解
xitong2012
2020-07-05 16:32:20
LWIP學習筆記4——ICMP協議
Aladdin Wang
2020-07-05 00:17:49
LWIP學習筆記5——TCP協議
Aladdin Wang
2020-07-05 00:17:49
LWIP學習筆記7——使用 Socket 接口編程
Aladdin Wang
2020-07-05 00:17:49
LWIP學習筆記6——使用 NETCONN 接口編程
Aladdin Wang
2020-07-05 00:17:49