Adakah Sambungan Soket TCP Mempunyai "KeepAlive"?
Pengenalan
Mewujudkan sambungan TCP melibatkan penyediaan soket pada kedua-dua sisi. Dalam keadaan biasa, soket ini kekal terbuka selama-lamanya. Walau bagaimanapun, situasi mungkin timbul di mana satu hujung menutup sambungan tanpa memaklumkan yang lain. Untuk menangani perkara ini, TCP menggunakan mekanisme yang dikenali sebagai Keep-Alive.
Proses Keep-Alive TCP
TCP Keep-Alive beroperasi berdasarkan tiga parameter boleh dikonfigurasikan:
-
tcp_keepalive_time: Masa dalam beberapa saat sebelum menghantar paket ACK untuk menyemak status sambungan (lalai 7200).
-
tcp_keepalive_probes: Bilangan probe ACK untuk menghantar sebelum menamatkan sambungan (lalai 9).
-
tcp_keepalive_intvl: Selang dalam beberapa saat antara menghantar probe ACK (lalai 75).
The proses berfungsi seperti berikut:
- Selepas tempoh terbiar tcp_keepalive_time, pengirim menghantar paket ACK.
- Jika penerima bertindak balas dengan ACK, proses diset semula dan dikembalikan ke langkah 1.
- Jika tiada respons diterima, pengirim menunggu tcp_keepalive_intvl saat dan mengulangi langkah 2.
- Jika tcp_keepalive_probes ACKs dihantar tanpa respons, sambungan ditamatkan dengan paket RST.
Keep-Alive Optionality: Keep-Alive tidak wajib untuk pelaksanaan TCP. Sesetengah peranti mungkin tidak menyokongnya, berpotensi membawa kepada isu.
- Menukar Tamat Masa TCP
Jika perlu, anda boleh mengubah suai tetapan TCP Keep-Alive pada anda sistem. Kaedah khusus bergantung pada sistem pengendalian anda: Linux
: Tetapkan nilai dalam /proc atau gunakan sysctl.
Mac OS X
: Tetapkan nilai dengan sysctl atau ubah suai /etc/sysctl.conf.
Windows- : Laraskan tetapan dalam pendaftaran.
- Kesimpulan
Sambungan TCP mempunyai mekanisme Keep-Alive yang mengesan dan menamatkan sambungan yang lapuk. Secara lalai, Keep-Alive didayakan dan ditetapkan untuk menamatkan sambungan selepas 2 jam dan 11 minit tidak aktif, tetapi tetapan ini boleh disesuaikan untuk keperluan tertentu.-
Atas ialah kandungan terperinci Bagaimanakah TCP Keep-Alive Mencegah Sambungan Lapuk?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan:Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn