Langsung ke konten

Arsip

Jaringan

19 artikel
Teknologi 22 Sep 2026 5 min read

TCP TIME_WAIT Memisahkan Koneksi yang Sudah Ditutup dari Segmen Terlambat

Sebuah koneksi TCP dapat selesai bertukar data aplikasi tetapi masih meninggalkan catatan socket. State TIME_WAIT merupakan bagian dari mekanisme penutupan TCP, bukan tanda bahwa proses lupa menutup descriptor. Endpoint yang melakukan active close biasanya masuk ke TIME_WAIT setelah closing handshake. Kernel mempertahankan state secukupnya selama interval terbatas agar segmen terlambat dari koneksi lama tidak tercampur dengan traffic dari koneksi baru yang memakai identitas endpoint yang sama. Perilaku ini paling terlihat pada sistem yang membuat banyak koneksi berumur pendek. Jumlah TIME_WAIT yang besar dapat tampak mencolok pada daftar socket, tetapi state tersebut menjaga ketepatan protokol dan tidak berarti setiap entri masih memiliki proses aplikasi.

Linux 21 Sep 2026 5 min read

io_uring Multishot Accept Mempertahankan Satu Request Accept Tetap Aktif

Request accept biasa memiliki pola satu banding satu: satu operasi yang dikirim pada akhirnya menghasilkan satu completion. io_uring multishot accept mengubah hubungan tersebut. Satu SQE accept dapat tetap aktif untuk banyak koneksi masuk dan menghasilkan completion queue entry terpisah bagi setiap socket yang diterima. Request itu persisten, tetapi tidak permanen. Setiap CQE membawa state yang memungkinkan aplikasi menentukan apakah request awal masih dapat menghasilkan completion berikutnya. Boundary ini penting karena server yang menganggap setiap CQE sukses sebagai bukti bahwa accept masih aktif dapat berhenti menerima koneksi secara diam-diam setelah request multishot berakhir.

Rekayasa Perangkat Lunak 19 Sep 2026 8 min read

MQTT dan QUIC Menyelesaikan Bagian Berbeda dari Transport Chat

MQTT dan QUIC Menyelesaikan Bagian Berbeda dari Transport Chat MQTT dan QUIC sering ditempatkan dalam tabel perbandingan yang sama ketika membahas chat real-time. Perbandingan itu praktis, tetapi mencampur dua layer protokol yang berbeda menjadi satu pilihan. MQTT adalah protokol messaging pada application layer. Ia mendefinisikan konsep seperti client, broker, topic, subscription, retained message, session state, dan quality of service untuk delivery. QUIC adalah protokol transport aman di atas UDP. Ia menyediakan connection, stream, flow control, loss recovery, encryption, dan mekanisme connection migration.

Teknologi 19 Sep 2026 5 min read

Moderasi Interrupt NIC Menukar Laju Wakeup dengan Latensi Paket

Network adapter tidak harus mengirim interrupt ke CPU untuk setiap paket yang diterima atau transmisi yang selesai. Banyak NIC dapat menahan pengiriman interrupt sebentar lalu melaporkan beberapa completion sekaligus. Interrupt moderation ini mengurangi traffic interrupt dan overhead masuk ke CPU, tetapi juga dapat menunda saat software menyadari adanya pekerjaan yang sudah selesai. Mekanisme ini berada di antara DMA paket dan pemrosesan receive atau transmit oleh driver. Yang berubah adalah waktu notifikasi; format paket di wire, aturan ordering Ethernet, dan kewajiban driver untuk memproses descriptor yang selesai tetap terpisah dari kebijakan tersebut.

Rekayasa Perangkat Lunak 18 Sep 2026 5 min read

SO_REUSEPORT Memindahkan Distribusi Listener ke Seleksi Socket

SO_REUSEPORT memungkinkan beberapa socket Linux AF_INET atau AF_INET6 melakukan bind pada alamat dan port lokal yang sama selama setiap anggota memenuhi aturan reuse-port. Pada listener TCP, distribusi koneksi masuk berpindah ke tahap sebelum accept(): kernel memilih satu listener dari grup reuse-port, lalu listener tersebut menerima koneksi pada accept queue miliknya. Pada UDP, seleksi menentukan socket yang menerima datagram masuk. Batas concurrency ini berbeda dari beberapa thread yang berbagi satu listening file description. Setiap anggota reuse-port adalah socket terpisah dengan descriptor, queue, status polling, dan lifecycle sendiri.

Rekayasa Perangkat Lunak 17 Sep 2026 4 min read

SO_REUSEPORT Membentuk Grup Socket dengan Seleksi oleh Kernel

Beberapa socket Linux dapat melakukan bind ke alamat lokal yang sama ketika setiap socket mengaktifkan SO_REUSEPORT sebelum bind(). Traffic masuk kemudian ditetapkan ke salah satu anggota reuseport group, bukan dikirim ke setiap socket. Alamat bersama tersebut menjadi batas seleksi oleh kernel, bukan endpoint broadcast. Perilaku ini mendukung receive loop atau accept loop yang berdiri sendiri tanpa memaksa seluruh pekerjaan melewati satu listening descriptor. Konsekuensinya juga jelas: keanggotaan grup dan kebijakan seleksi menentukan socket yang menerima packet atau connection.

Linux 17 Sep 2026 6 min read

SO_REUSEPORT Membagi Trafik ke Beberapa Grup Socket

SO_REUSEPORT mengubah satu endpoint lokal dari binding satu socket menjadi sebuah grup socket. Di Linux, beberapa socket TCP atau UDP dapat melakukan bind ke alamat lokal yang sama ketika semua socket yang ikut mengaktifkan opsi ini sebelum bind() dan kredensial binding memenuhi aturan reuse dari kernel. Perilaku ini berbeda dari sekadar melonggarkan pemeriksaan konflik alamat. Trafik yang masuk juga harus diarahkan ke salah satu anggota grup. Batas pemilihan ini memengaruhi arsitektur listener, isolasi antrean, restart proses, penempatan flow UDP, dan desain apa pun yang menganggap satu port selalu identik dengan satu socket.

Linux 17 Sep 2026 4 min read

SO_RCVLOWAT Menaikkan Ambang Readability pada Socket Linux

Socket Linux dengan SO_RCVLOWAT di atas satu byte dapat memiliki data dalam antrean sementara poll(), select(), atau epoll belum melaporkan readiness baca normal. Sejak Linux 2.6.28, antarmuka readiness tersebut menghormati receive low-water mark yang dikonfigurasi. Opsi ini mengubah ambang yang terkait dengan readiness penerimaan normal. Opsi ini tidak menetapkan batas pesan, tidak mencadangkan ruang receive buffer, dan tidak menjamin operasi penerimaan berikutnya mengembalikan tepat sejumlah byte sesuai nilai konfigurasi. Readability dapat memerlukan lebih dari satu byte dalam antrean Readiness penerimaan socket biasanya diamati dengan low-water mark bawaan sebesar satu byte. Pada kondisi ini, data biasa yang sudah masuk antrean cukup untuk memenuhi bagian volume data dari kondisi readable.

Teknologi 17 Sep 2026 6 min read

NIC Interrupt Coalescing Menukar Overhead CPU dengan Latensi Paket

Sebuah network interface dapat menerima paket lebih cepat daripada kemampuan CPU untuk melayani satu hardware interrupt per paket secara efisien. Interrupt coalescing mengatasi ketimpangan ini dengan memungkinkan adapter mengelompokkan notifikasi penyelesaian dan lebih jarang menginterupsi CPU. Trade-off-nya jelas. Interrupt yang lebih sedikit mengurangi beban penanganan interrupt dan tekanan scheduling, tetapi sebuah paket mungkin harus menunggu lebih lama sebelum software diberi tahu bahwa ada pekerjaan receive yang siap diproses. Pengaturan terbaik bergantung pada packet rate, target latensi, kapasitas CPU, dan kontrol coalescing pada adapter.

Rekayasa Perangkat Lunak 17 Sep 2026 4 min read

io_uring Multishot Accept Mempertahankan Satu Request untuk Banyak Koneksi

Satu request io_uring multishot accept di Linux dapat menghasilkan beberapa completion queue entry dari satu submission queue entry. Kernel mempertahankan operasi accept setelah completion yang sukses ketika CQE membawa IORING_CQE_F_MORE, sehingga server tidak perlu mengirim SQE accept baru untuk setiap koneksi. Perilaku ini mengubah kontrak lifetime antara submission dan completion. Request oneshot normal selesai setelah CQE-nya. Multishot accept dapat tetap in-flight melewati banyak koneksi yang diterima, dan flag pada CQE menentukan apakah request tersebut masih ada.

Teknologi 17 Sep 2026 6 min read

Interrupt Coalescing NIC Menukar Overhead CPU dengan Latensi Paket

Sebuah network interface dapat menerima paket lebih cepat daripada kemampuan CPU untuk menangani satu hardware interrupt untuk setiap paket. Interrupt coalescing mengatasi ketidakseimbangan ini dengan membiarkan adapter mengelompokkan notifikasi completion dan meng-interrupt CPU lebih jarang. Trade-off-nya jelas. Interrupt yang lebih sedikit mengurangi beban penanganan interrupt dan scheduling, tetapi sebuah paket dapat menunggu lebih lama sebelum software diberi tahu bahwa receive work sudah siap. Pengaturan terbaik bergantung pada packet rate, target latensi, kapasitas CPU, dan kontrol coalescing yang tersedia pada adapter.

Teknologi 16 Sep 2026 5 min read

TCP TIME-WAIT Mempertahankan State Koneksi yang Sudah Ditutup

Endpoint TCP dapat menyelesaikan operasi close dari aplikasi sementara protocol masih mempertahankan state untuk koneksi tersebut. Setelah active close menyelesaikan pertukaran FIN, endpoint biasanya masuk ke TIME-WAIT alih-alih langsung membuang connection record. State yang dipertahankan ini memiliki dua fungsi. Pertama, endpoint tetap dapat mengakui retransmitted final FIN. Kedua, ia memisahkan koneksi yang sudah ditutup dari incarnation berikutnya yang mungkin memakai local dan remote address serta port yang sama. Karena itu TIME-WAIT bukan established connection yang sedang idle. Ia adalah protocol boundary di antara connection incarnation.

Teknologi 16 Sep 2026 3 min read

Receive Side Scaling Mendistribusikan Network Flow ke Beberapa CPU Queue

Receive Side Scaling Mendistribusikan Network Flow ke Beberapa CPU Queue Network adapter cepat dapat menerima packet lebih cepat daripada kemampuan satu processor core untuk menanganinya secara efisien. Receive Side Scaling, yang umum disingkat RSS, membagi traffic masuk ke beberapa hardware receive queue. Setiap queue dapat dikaitkan dengan processor berbeda sehingga packet processing dapat berjalan paralel. RSS biasanya menetapkan packet berdasarkan flow, bukan membagikan setiap packet secara independen. Pendekatan ini mempertahankan properti ordering yang berguna sambil tetap menyebarkan banyak connection simultan ke queue yang tersedia.

Rekayasa Perangkat Lunak 16 Sep 2026 6 min read

Negative Caching DNS Dapat Bertahan Setelah Record Dibuat

Recursive DNS resolver dapat terus mengembalikan hasil ketiadaan lama setelah authoritative zone memperoleh nama yang diminta. Record baru dan negative answer yang tersimpan di cache tidak saling bertentangan: keduanya berada pada titik berbeda dalam jalur resolution, dan cache tetap valid sampai negative TTL berakhir atau policy lokal menghapusnya lebih cepat. Perilaku ini memberi ketiadaan DNS lifetime cache tersendiri. Menerbitkan record mengubah state authoritative, tetapi tidak secara sinkron membatalkan negative entry yang sudah tersimpan pada recursive resolver.

Rekayasa Perangkat Lunak 16 Sep 2026 6 min read

HTTP 421 Misdirected Request Menandai Batas Authority Koneksi

Client HTTP/2 dapat menggunakan ulang satu secured connection untuk request ke lebih dari satu origin ketika server authoritative untuk origin-origin tersebut. Namun, sebuah request tetap dapat mencapai server instance yang connection context-nya tidak sesuai dengan target URI. 421 Misdirected Request ada untuk boundary ini: server menolak routing context, bukan memperlakukan target resource itu sendiri sebagai tidak ada. Perbedaan ini memisahkan resource semantics dari connection authority. Response 421 berarti server ini, pada path atau connection context ini, tidak mampu atau tidak bersedia menghasilkan authoritative response untuk target URI. Itu tidak berarti resource telah dihapus, method-nya dilarang, atau request representation tidak valid.

Teknologi 15 Sep 2026 7 min read

Cache Neighbor ARP Menggunakan Kembali Pemetaan IP-ke-MAC Lokal

Mengirim paket IPv4 melalui jaringan Ethernet memerlukan dua jenis alamat yang berbeda. Layer IP memilih alamat IPv4 next hop, sedangkan frame Ethernet memerlukan alamat MAC tujuan yang mengidentifikasi next hop pada link lokal. Address Resolution Protocol (ARP) menghubungkan kedua layer tersebut. Host dapat menanyakan alamat MAC yang sesuai dengan alamat IPv4 lokal, menerima balasan, lalu menyimpan pemetaan yang dihasilkan. Menyimpan hasil itu dalam cache neighbor menghindari broadcast pertanyaan yang sama sebelum setiap paket.

Teknologi 14 Sep 2026 5 min read

Alamat Wi-Fi Privat Membatasi Pelacakan Berbasis MAC

Setiap antarmuka Wi-Fi memerlukan alamat link-layer saat berkomunikasi di jaringan nirkabel lokal. Identifier ini lazim disebut MAC address. Peralatan jaringan memakainya untuk membedakan perangkat saat mengirim frame di dalam jaringan lokal. MAC address hardware yang tetap juga dapat bertindak sebagai identifier persisten. Jika nilai yang sama muncul di berbagai lokasi, sistem yang mengamati aktivitas Wi-Fi berpotensi mengaitkan kemunculan tersebut dengan satu perangkat. Sistem operasi modern mengurangi paparan ini dengan memakai alamat Wi-Fi privat atau acak alih-alih menampilkan alamat hardware dalam banyak situasi.

Teknologi Updated 15 Sep 2026 5 min read

Nama Jaringan Wi-Fi Tersembunyi Tidak Menyembunyikan Aktivitas Radio

Jaringan Wi-Fi dapat menghilang dari daftar jaringan terdekat yang biasa ditampilkan meskipun access point-nya tetap memancarkan sinyal. Jaringan tersebut tidak menjadi senyap secara radio. Access point hanya berhenti menampilkan nama jaringan dalam informasi penemuan yang biasanya digunakan perangkat. Pengaturan ini sering disebut hidden network atau hidden SSID. SSID adalah identifier yang lazim ditampilkan sebagai nama jaringan Wi-Fi. Menyembunyikannya mengubah perilaku penemuan, tetapi tidak membuat jaringan nirkabel menjadi link radio yang tidak terlihat atau privat.

Komputasi Awan 02 Sep 2026 5 min read

Graceful Shutdown dan Connection Draining untuk Cloud Service

Cloud service dihentikan secara rutin: deployment mengganti instance, autoscaler mengurangi kapasitas, host reboot, dan scheduler menjadwalkan ulang workload. Jika proses langsung keluar ketika menerima termination signal, request yang sedang berjalan dapat gagal meskipun service sebenarnya sehat. Graceful shutdown adalah protokol lifecycle kecil: berhenti menerima pekerjaan baru, biarkan pekerjaan berguna yang sudah berjalan selesai dalam suatu deadline, lalu lepaskan resource dan keluar. Pisahkan readiness dari kesehatan proses Proses yang sedang shutdown mungkin masih hidup, tetapi seharusnya tidak lagi menerima traffic baru.