Karena UDP adalah protokol tanpa koneksi, saya bingung dengan pengaturan pada Firewall Sonicwall saya untuk "UDP Connection Timeout". Ini diatur pada default 30 detik - tetapi apa yang tepat waktu setelah 30 detik?
Inilah situasi dunia nyata saya yang sebenarnya: Saya memiliki server NTP di kumpulan ntp.org yang melayani sekitar 3000 pertanyaan per menit. Ini memberikan sedikit tekanan pada SOHO grade TZ-200 - tidak dalam hal bandwidth; tetapi dalam hal # koneksi itu telah melewatinya. Saya bertanya-tanya apakah koneksi UDP entah bagaimana 'tetap hidup' di SonicWall; meskipun mereka (menurut definisi) tanpa koneksi.
Apa yang kulewatkan di sini? Apa arti SonicWall ketika berbicara tentang "Batas Waktu Koneksi UDP"?
Jawaban:
Meskipun tidak ada "koneksi" formal dengan UDP, masih ada konvensi bahwa klien mengirim permintaan dan berharap untuk mendapatkan tanggapan kembali dengan IP sumber dan port yang ditukar dengan IP dan port Destinatoin.
Firewall dan NAT yang stateful mengasumsikan bahwa paket dengan kombinasi IP sumber / port sumber / IP Tujuan / port Tujuan dan kombinasi yang sesuai dengan sumber dan tujuan ditukar membentuk bagian dari "koneksi". Ini memungkinkan aturan seperti "koneksi keluar saja" untuk diterapkan ke UDP dan memungkinkan terjemahan terbalik untuk diterapkan ke paket respons.
Sayangnya firewall atau NAT tidak memiliki cara untuk mengetahui kapan klien selesai berbicara dengan server. Jadi harus menunggu batas waktu sebelum menghapus entri dari tabel pelacakan keadaan itu. Itulah batas waktu yang Anda atur.
Pada prinsipnya adalah mungkin untuk membangun kotak NAT yang menggunakan pendekatan stateless untuk port forward sementara mempertahankan pendekatan stateful untuk koneksi keluar tetapi lebih mudah untuk hanya menggunakan stateful NAT untuk semuanya dan sepertinya ini adalah apa yang dilakukan vendor Anda.
Sayangnya karena Anda telah menemukan ini menyebalkan untuk server UDP stateless yang melayani sejumlah besar permintaan kecil. Anda berakhir dalam situasi di mana firewall menghabiskan jauh lebih banyak sumber daya daripada server itu sendiri.
sumber
Firewall Anda memelihara tabel koneksi untuk koneksi UDP. Misalnya, ketika Anda mengirim permintaan DNS, firewall membuat entri untuk aliran itu sehingga balasan DNS akan diizinkan kembali ke jaringan Anda. Entri dalam tabel habis setelah 30 detik tidak ada aktivitas.
sumber
Server NTP Anda berada di belakang NAT (firewall) Anda. UDP tidak terhubung dari sudut pandang aplikasi dan OS dan untuk sebagian besar peralatan jaringan di sepanjang jalan.
Namun, untuk firewall NAT Anda, ia merekam setiap kali paket UDP keluar sehingga respons dari ujung yang lain akan berakhir diarahkan ke komputer yang sama di dalam jaringan Anda. Ini disebut "koneksi" oleh firewall.
Sekarang, secara teori, NAT tahu bahwa port eksternal akan menjadi port NTP yang terkenal, tetapi sepertinya firewall Anda tidak mendukungnya. Jika ini adalah satu-satunya penggunaan Anda untuk UDP melalui firewall ini, Anda dapat mengatur batas waktu Koneksi ke nomor yang lebih kecil. Sebagai alternatif, jika memungkinkan Anda mengatur berdasarkan port aplikasi, Anda dapat mengaturnya ke waktu yang lebih kecil (1 detik, katakanlah) untuk port spesifik tersebut.
sumber
IPv6 tidak perlu NAT, namun masih tampak seolah-olah firewall stateful sehubungan dengan UDP.
sumber