Linux Kernel TCP/IP Stack — 協議棧收包處理流程
目錄

文章目錄
目錄
L2 NIC Controller 收包處理流程
L3-4 收包處理流程
Socket Layer 收包處理流程
參考文檔
L2 NIC Controller 收包處理流程
硬件層與設備無關層:硬件監聽物理介質,進行數據的接收,當接收的數據填滿了緩沖區,硬件就會產生中斷,中斷產生后,系統會轉向中斷服務子程序。在中斷服務子程序中,數據會從硬件的緩沖區復制到內核的空間緩沖區,并包裝成一個數據結構(sk_buff),然后調用對驅動層的接口函數 netif_rx() 將數據包發送給設備無關層。該函數的實現在 net/inet/dev.c 中,采用了 bootom half 技術,該技術的原理是將中斷處理程序人為的分為兩部分,上半部分是實時性要求較高的任務,后半部分可以稍后完成,這樣就可以節省中斷程序的處理時間,整體提高了系統的性能。
NOTE:在整個協議棧實現中 dev.c 文件的作用重大,它銜接了其下的硬件層和其上的網絡協議層,可以稱它為鏈路層模塊,或者設備無關層的實現。
kernel linux TCP/IP
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。