Scatter Gather I O在L3中的應用

2022-05-10 14:23:01 字數 423 閱讀 8435

a)圖中,第乙個sk_buff跟不支援scatter gather i/o的情況一樣,而當再次追加資料時,情況則不同。kernel會申請乙個page buffer,將新的資料填入這個page,同時讓sk_buff->skb_shingo->frags指向這個page,並置上正確的偏移。frags[0]的偏移是0,frags[1]的偏移則是frags[0]的大小。

通過這樣的方法,可以看出scatter gather i/o既避免了第一種情況下的低效的分配,複製,也避免了第二種情況下,必須給最後乙個sk_buff申請最大的空間的侷限,同時還避免了l2和l3頭部資料的複製。

注:

1. 本文摘自《understanding linux networks internals》;

2. 內容也來自該書對於scatter gather i/o闡述的理解

Quantum中的L3模型實戰

截止到openstack folsom版,quantum中的物件模型有以下幾個 network,subnet,port,router,floatingip。前三個在我之前的部落格已有所分析,今天來看下router和floatingip。以官方文件中給出的乙個quantum部署示例為例 這個圖是使用者...

omnipeeker在wifi分析中的應用

記得大學學習tcp ip協議時,tcpdump給了很多幫助,最近需要好好了解一下802.11x mac層,在業內高手的推薦下發現了omnipeeker這一利器。下面和初學者分享一下這個軟體的使用。從無線特性看,電磁波的發射方是沒法限制接收方的,只要在覆蓋範圍內,任何人都可以用相關裝置收到訊號,也可以...

zookeeper在storm集群中的應用

1.心跳檢測,儲存supervisor和worker的心跳 包括它們的狀態 使得nimbus可以監控整個集群的狀態,從而重啟一些掛掉的worker 2.提交任務 3.儲存整個集群的所有狀態資訊,供ui顯示 4.storm在zk上的儲存結構 storm在zookeeper上的根目錄 預設為 storm...