作者 主題: FreeBSD 的 ipf/ipfw 和 Linux 的 iptables 的性能比較  (閱讀 9058 次)

0 會員 與 1 訪客 正在閱讀本文。

jackiexie

  • 可愛的小學生
  • *
  • 文章數: 2
    • 檢視個人資料
Daniel Hartmeier 在 usenix 2002 發表過名為 「Design and Performance of the OpenBSD Stateful Packet Filter (pf)」 的文章:

http://www.benzedrine.cx/pf-paper.html

在 stateless filtering 測試中,iptables 表現最好,而 pf 和 ipfilter 差不多(pf 稍好一些)。這是因為:

"Both pf and IPFilter evaluate the rule set twice for each packet, once incoming on the first interface and once outgoing on the second interface. Iptables' performance advantage is due to the fact that it evaluates the rule set only once by using a forwarding chain. The forwarding chain evaluates the rules set based on a packet's complete path through the machine."
對於每個資料封包,pf 和 ipfilter 都做兩次過濾規則的評估,一次是資料封包進入第一個網卡時,一次是數據包離開第二個網路卡時。iptables 的優勢在於它使用 forwarding chain 對過濾規則只做一次評估。這個  forwarding chain 是基於資料封包通過機器的完整路徑來進行規則評估的。

在 stateful filtering 測試中,pf 比 ipfilter 表現要好,而 iptables 沒有用來做測試,原因是:

"Iptables has not been included in this benchmark because it does not do stateful filtering comparable to pf and IPFilter. The version of iptables that we tested employs connection tracking without any sequence number analysis for packets outside of the initial TCP handshake. While this is unsurprisingly faster, it would be an unfair performance comparison."
這個測試中沒有包括 iptables,因為它並不對資料封包進行與 pf 和  ipfilter 可以相比較的 stateful 過濾。我們測試的 iptables 的版本在做 connection tracking 時,除了最初的 TCP handshake 以外,並不對資料封包做序號分析。這樣當然會快得多,但這樣的性能比較是不公平的。

最後的結論是:對 stateless rules 來說,iptables 表現最好;而對 stateful rules 來說 pf 表現最好。

針對這兩種不同平台的 firewall 性能及績效 , 是否有其他更深入的文章來做參考呢?

star69

  • 可愛的小學生
  • *
  • 文章數: 10
  • 性別: 男
    • 檢視個人資料
    • 駭客小築
FreeBSD 的 ipf/ipfw 和 Linux 的 iptables 的性能比較
« 回覆 #1 於: 2006-11-21 00:34 »
流量有到很龐大的時候 這才有意義吧?

一般使用 還是依照自己能掌控的那一套防火牆 才是最好的
▁▂▃▄▅▆▇▓ ★ 電 腦 狂  ◆ ▓▇▆▅▄▃▂▁
jdli :
時間多捐獻給自己的技術跟修養, 網路上的名聲就跟packet依樣, 傳過水無痕

harrier

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 1856
  • 性別: 男
    • 檢視個人資料
    • 國屬武裝兵
FreeBSD 的 ipf/ipfw 和 Linux 的 iptables 的性能比較
« 回覆 #2 於: 2006-11-22 11:58 »
其實個人覺得以現在的硬體效能(Core2Duo or Athlon64x2)...
可以略過這一點效能差異了...

就好像自己重新編譯核心vs發行商預編核心的效能差異...
在目前的硬體性能下,已經差異不大...
(這裡指標準 PC or 伺服器應用而言,嵌入式設備或專屬設備除外)

把時間精神投注在做好整體資安架構規劃,會更有經濟效益些~
...90Net(90:1200/1203),GameNET(99:700/707),ALLNet(92:9200/3111),InfoNet(30:100/103)..MaximusCBCS(浮懷),AirNet,TenderNet,StormNet,FidoNet...
<<- www.nas.vg ->>