什麼是 TOE ,要先說到 SAN.
什麼是 SAN (Storage area Network),他是一種資料儲存裝置(Raw Device),最早的 SAN 傳輸介面為光纖,所以每單位成本很高,還要加上光纖 switch 的成本.但是隨著 1G/10/40/100 Gb 網卡的上市,網卡的傳輸頻寬增加,網卡也可以擔任光纖提供的頻寬(光纖的頻寬為 2/4/8/16 Gb,光纖短波-850 mm,長波-1310 mm),這個技術稱為 iSCSI(Internet SCSI),也因此以網卡為傳輸為介質的 SAN,被稱為 IP-SAN.但是傳統的網卡資料是透過 CPU 去解碼運算,所以當做資料儲存裝置(Raw Device)時會消耗太多系統 CPU 資源.
所以在網卡上多加入一個專門在運算 TCP/IP 封包的處理器.它可以針對 TCP/IP 的封包直接在網路卡上運算所以不會因此佔用系統上的 CPU 的使用率.這就是 Broadcom TCP/IP offload engine(TOE) 或是 Intel® I/O 加速技術 (I/OAT)
那在 Linux 下要怎麼看網卡是否支援 TOE.使用 #lspci 就可以一目了然.
I/OAT 一樣可以透過 #lspci 來查詢.
不是每一張卡都會秀出是否支援 TOE,而且 Linux Kernel 是否有正式支援 TOE ,我也不是很確定, RHEL 的知識庫有寫到目前有很多原因所以 Kernel 不支援 TOE : http://kbase.redhat.com/faq/docs/DOC-8708
不過各廠商的 driver(module) 都還是有支援 TOE 功能的.
Intel 網卡 module(Driver)
在 sourceforge 可以找到目前算是完整的 Intel network 網卡所有的 module (Driver),不管是 10/100M 還是 1/10G 這邊都看的到最新版,還是一些特殊功能 I/OAT 都可以下載:
http://sourceforge.net/project/showfiles.php?group_id=42302
One thought on “Linux – TOE & I/OAT”