アップストリームが詰まっている場合でも、非同期接続のダウンストリームでパフォーマンスが低下しないように、PFと空のACKパケットの優先順位付けに関する一般的な例があります。
例はさまざまな場所にあります。
http://www.benzedrine.cx/ackpri.html
pass out on $ext_if proto tcp from $ext_if to any flags S/SA \
keep state queue (q_def, q_pri)
pass in on $ext_if proto tcp from any to $ext_if flags S/SA \
keep state queue (q_def, q_pri)
私はなぜこの規則がそれがそう働くのか理解していない:
2番目のキューパラメータは、プライオリティキューに空のACKを入れます。あのね。しかし、フラグマッチングは、それが接続の最初のパケットである場合にのみ一致します。 pf.confのmanページから:
Because flags S/SA is applied by default (unless no state is
specified), only the initial SYN packet of a TCP handshake will
create a state for a TCP connection.
それで、それは空のACKにどのように影響しますか?誰もがそれを間違ってやっていると主張していない、私はちょうど力学を理解したいのですが。