计算机术语
- ICMP(Internet Control Message Protocol)
- 用途:ICMP 是 TCP/IP 協議族中的一個核心協議,主要用於在網路設備(如主機、路由器)之間傳遞控制訊息,報告網路錯誤和進行診斷。例如,當資料包無法送達目的地時,ICMP 會回報錯誤訊息給來源主機。
- 常見應用:
- 網路診斷工具如 ping 和 traceroute 都依賴 ICMP 回應來測試網路連通性和路徑。
- 報告如「目的地不可達」、「超時」等錯誤。
- IGMP (Internet Group Management Protocol)
- 用途:IGMP 是 TCP/IP 協議族中負責 IPv4 多播(組播)成員管理的協議。它用於主機和與其直接相鄰的多播路由器之間,建立與維護多播組成員關係。
- 常見應用:
- 支援一對多的多播通訊,讓多台設備同時接收同一份資料(如線上直播、視訊會議)。
- 主機可透過 IGMP 通知路由器是否要加入或離開某個多播組
- ksoftirqd
- ksoftirqd是Linux 核心中的一個「每 CPU」的核心執行緒(per-CPU kernel thread),主要負責處理「軟中斷」(softirq,軟體中斷)
- DMA(直接記憶體存取,Direct Memory Access)
- DMA是一種電腦系統技術,允許某些硬體子系統(如硬碟控制器、網路卡、聲卡、顯示卡等)在不經過中央處理器(CPU)參與的情況下,直接與主記憶體(RAM)進行資料傳輸
- 常見應用:
- 硬碟、SSD 資料傳輸
- 網路封包收發
- 音訊、影像資料流處理
- 顯示卡存取圖形資料
- RingBuffer(環形緩衝區、循環緩衝區)
- RingBuffer是一種特殊的資料結構,屬於固定大小的緩衝區(buffer),其結構呈現「首尾相連」的圓環狀,因此得名
- skb (socket buffer)
- skb在 Linux 核心網路子系統中,指的是 socket buffer,其核心結構名稱為 struct sk_buff。這是 Linux 網路堆疊中最重要的資料結構之一,專門用來描述和管理「網路封包」在核心內的整個傳遞過程
- 主要功能:
- 封包描述:每一個進出網路堆疊的封包都會被包裝成一個 sk_buff 結構,內含資料本身、各層協議標頭、長度資訊、關聯的 socket、網路裝置指標、時間戳記等。
- 高效操作:sk_buff 設計有 headroom/tailroom(首尾預留空間),方便在資料不複製的情況下,快速增減協議標頭(如 IP、TCP、Ethernet header),大幅提升效率。
- 佇列管理:sk_buff 以雙向鏈結串列方式組織,方便在不同佇列(如傳送/接收佇列、協議棧各層佇列)間移動。
- poll(輪詢、輪查)
- OOM(Out Of Memory,内存溢出)