OpenBSD:空のACKの優先順位付け


0

アップストリームが詰まっている場合でも、非同期接続のダウンストリームでパフォーマンスが低下しないように、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にどのように影響しますか?誰もがそれを間違ってやっていると主張していない、私はちょうど力学を理解したいのですが。

回答:


0

PFでkeep stateを設定すると、ステートフルトラッキング用の状態が作成されるので、後でこの接続に関連する他のパケットを許可する必要はありません。

また、キューを設定すると、この接続に関連するすべてのパケットに適用されます。2番目のキューパラメータを設定すると、ToS低遅延セットまたはペイロードのないACKパケットを含むすべてのパケットが2番目のパケットに関連付けられます。最初のキューではなくキューに入れます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.