OpenBSD: Memprioritaskan ACK kosong

0

Ada contoh liar yang digunakan tentang PF dan memprioritaskan paket ACK kosong, sehingga downstream koneksi asinkron tidak kehilangan kinerja, jika upstream tersumbat.

Contohnya dapat ditemukan di berbagai tempat, misalnya:

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)

Saya tidak mengerti mengapa aturan ini berfungsi sebagaimana mestinya:

Parameter antrian kedua menempatkan ACK kosong dalam antrian prioritas. Yang saya dapatkan. Tetapi pencocokan flag hanya cocok jika itu adalah paket pertama dalam koneksi. Dari halaman manual pf.conf:

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.

Jadi, bagaimana pengaruhnya terhadap ACK kosong? Tidak mengklaim semua orang melakukan kesalahan, saya hanya ingin memahami mekanika.

Laurel Wolf
sumber

Jawaban:

0

Pada PF saat Anda mengatur status tetap, Anda akan membuat status untuk pelacakan stateful, jadi Anda tidak perlu mengizinkan paket lain yang terkait dengan koneksi ini sesudahnya.

Juga, ketika Anda mengatur antrian, itu akan diterapkan pada semua paket yang terkait dengan koneksi ini, ketika Anda mengatur parameter antrian kedua, itu akan membuat semua paket yang memiliki set penundaan rendah ToS atau paket ACK tanpa muatan dikaitkan dengan yang kedua antrian dan bukan yang pertama.

denisvm
sumber