iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
自我挑戰組

Linux Kernel 網路巡禮 系列

想對Linux網路的運作有更直接的了解,這個系列文章是我追蹤探索Linux Kernel原始碼,了解Linux網路運作的筆記,大家可以跟著我一起去看看Linux網路系統的各個部份是怎麼運作的。

鐵人鍊成 | 共 30 篇文章 | 4 人訂閱 訂閱系列文 RSS系列文
DAY 21

PCI 及 PCI-E 簡介

PCI 及 PCI-E 簡介 Peripheral Component Interconnect (PCI) 及 PCI Express (PCI-E) 的技術...

2024-10-05 ‧ 由 gamerslouis 分享
DAY 22

Memory-Mapped IO

接著我們將從作業系統的角度探討,CPU 如何與周邊設備進行溝通。 根據昨天的架構圖,我們可以看到,CPU 與 RAM 及外部設備的溝通都必須通過 Root C...

2024-10-06 ‧ 由 gamerslouis 分享
DAY 23

Port-Mapped IO

昨天介紹完 Memory-Mapped I/O (MMIO) 之後,今天我們要繼續探討另一種周邊設備與作業系統的溝通模式——Port-Mapped I/O (P...

2024-10-07 ‧ 由 gamerslouis 分享
DAY 24

PCI Configuration Space

前兩天,我們介紹了作業系統如何透過 Memory-Mapped I/O (MMIO) 將外部設備的記憶體空間映射到物理記憶體空間,或者透過 Port-Mappe...

2024-10-08 ‧ 由 gamerslouis 分享
DAY 25

MMIO 與 PMIO 的建立與管理

今天是介紹 PCI(e) 部分的最後一篇,我們將深入探討 MMIO(Memory-Mapped I/O)和 PMIO(Port-Mapped I/O)的建立與管...

2024-10-09 ‧ 由 gamerslouis 分享
DAY 26

Network Device 與 Socket Buffer

在本系列的最後幾天,我們將收斂探索範圍,專注討論網卡驅動與 Linux 網路子系統。 在第 3 天的文章中,我們曾提到,透過 ip link list 列舉出來...

2024-10-10 ‧ 由 gamerslouis 分享
DAY 27

27 - Intel igb 網卡驅動的初始化流程

接下來,我們將以 Intel 的 igb 網卡驅動程式為例,解析網卡驅動的工作原理。今天我們先探討乙太網路卡驅動如何發現網卡,並完成 net_device 的建...

2024-10-11 ‧ 由 gamerslouis 分享
DAY 28

Intel igb 網卡驅動與接收隊列

在這個系列的尾聲,我們將探討 Linux 系統是如何接收封包的,我一樣會以 igb 網卡為例。 啟動網卡 首先,當我們執行 ip link set eth0 u...

2024-10-12 ‧ 由 gamerslouis 分享
DAY 29

igb 網卡與驅動封包接收

昨天我們了解了 igb 網卡驅動建立的 igb_ring 隊列,那今天就要真的來解析 igb 網卡驅動是怎麼接收封包的。這邊我們跳過中斷處理的內容,直接從 ig...

2024-10-13 ‧ 由 gamerslouis 分享
DAY 30

網路子系統的封包接收處理與系列總結兼感言

昨天,我們分析了,中斷發生後 igb 網卡驅動是如何透過 igb_clean_rx_irq 函數,接收封包資料、建立 sk_buff 結構,然後轉交給 GRO...

2024-10-14 ‧ 由 gamerslouis 分享