linux网络驱动架构,Linux网络体系架构和网卡驱动设计
Linux網絡體系架構
1、Linux的協議棧層次
2、Linux的網絡子系統架構
Linux的協議棧層次
Linux的優點之一在于它豐富而穩定的網絡協議棧。其范圍從協議無關層(例如通用socket層接口或設備層)到各種具體的網絡協議實現。
對于網絡的理論介紹一般采用OSI(Open System Interconnection)模型,但是Linux中網絡棧的介紹一般分為四層Internet模型。
網絡接口層—>網際層—>傳輸層—>應用層
網絡接口層: 把數據鏈路層和物理層合并在一起,提供訪問物理設備的驅動程序,對應的網絡協議主要是以太網協議。
網際層協議管理離散的計算機間的數據傳輸,如IP協議為用戶和遠程計算機提供了信息包的傳輸方法,確保信息包能正確地到達目的機器。重要的網絡層協議包括:ARP(地址解析協議)、ICMP(Internet 控制消息協議)和IP(網際協議)
傳輸層的功能包括:格式化信息流、提供可靠傳輸。傳輸層包括TCP和UDP
應用層的主要任務是服務于應用,如利用FTP傳輸一個文件。常見的應用層協議有:HTTP、FTP、Telnet等。Linux服務器的配置文檔主要針對應用層中的協議。
Linux的網絡子系統架構
從上往下:System call interface—>Protocol agnostic interface—>Network protocols —>Device agnostic interface—>Device drivers
System call interface為用戶空間的應用程序提供了一種訪問內核網絡子系統的方法—socket系統調用。
Protocol agnostic interface提供了一種通用方法來使用傳輸層協議。實現一組通用函數來訪問各種不同的協議,通過socket實現。Linux中的socket使用struct sock來描述,這個結構包含了特定socket所需要的所有狀態信息,還包括socket 所使用的特定協議和在socket上可以執行的一些操作。
Network protocols用于實現各種具體的網絡協議,如:TCP、UDP等
Device agnostic interface提供了協議與設備驅動通信的通用接口。將協議與各種網絡設備驅動連接在一起。這一層提供一組通用函數供底層網絡設備驅動程序使用,讓它們對高層協議棧進行操作。首先,設備驅動程序可能通過調用register_netdevice或unregister_netdevice在內核中進行注冊或注銷。調用者先填寫net_device結構,然后傳遞這個結構進行注冊。內核調用它的init函數(如果
總結
以上是生活随笔為你收集整理的linux网络驱动架构,Linux网络体系架构和网卡驱动设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个性签名女孩
- 下一篇: linux java 构建工具有哪些,L