在 10G Ethernet,每個封包 1500 bytes 的話,每秒可超過 800000 個封包,對封包收送是個考驗。jumbo frames 可讓一個封包有 9K bytes,可減少每秒封包數目,在 local 使用還可以,在遠距由於 MTU,無法維持大封包。
TCP segmentation offload (TSO):可送 64K bytes 的 TCP 封包,由網卡協助 segmentation
Generic segmentation offload (GSO):不限於 TCP,在驅動程式模擬硬體 segmentation,但只能用在傳。
Large receive offload (LRO):在網卡或驅動程式合併進來的封包,減少每秒要處理的封包數,但有缺陷。
Generic receive offload (GRO):加強能合併的限制,且不限於用在 TCP/IPv4
參考來源
訂閱:
張貼留言 (Atom)
SIP header Via
所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...
-
74HC595 74 系列的移位暫存器 IC 基本上都有序列輸入 (serial-input, SI) 及序列輸出 (serial-output, SO) 功能,有些有加上並列輸入 (parallel-input, PI) 或並列輸出 (parallel-output...
-
Linux kernel 的封包用 struct sk_buff 管理,程式碼常用 skb 表示 定義:include/linux/skbuff.h 取得:alloc_skb() 或 dev_alloc_skb() 釋出:kfree_skb() 或 dev_kfree_s...
-
驅動程式除了 read()/write() 外,通常可以透過 ioctl() 系統呼叫進行一些控制或設定,如鎖門、退片、回報錯誤、改變 baud rate、或 self destruct 等。 在 user space 格式如下: #include <sys/ioctl...
沒有留言:
張貼留言