Bayangkan komputer kamu sebuah apartemen yang memiliki satu alamat IP. Lalu, bagaimana cara paket data membedakan apakah itu email untuk Outlook atau halaman web untuk Chrome?
Jawabannya adalah dengan nomor port jaringan. Nomor port jaringan ini bertindak seperti nomor-nomor kamar di apartemen tersebut.
Apa itu Port?
Port sebuah angka virtual (logikal) yang digunakan oleh sistem operasi untuk mengidentifikasi aplikasi atau proses tertentu yang sedang menunggu atau mengirim data melalui jaringan.
Ketika sebuah komputer menerima data dari internet (misalnya, sebuah halaman web, email, atau file), data tersebut dikemas dalam paket-paket. Paket ini tidak hanya berisi alamat IP tujuan (komputer kamu), tetapi juga nomor port.
Nomor port inilah yang memberitahu sistem operasi, “Hei, data ini ditujukan untuk aplikasi browser web,” atau “Data ini untuk klien email”.
Tanpa port, komputer akan kebingungan karena tidak tahu harus menyerahkan data yang masuk ke aplikasi mana.
Fungsi Nomor Port
- Multiplexing / Demultiplexing, Memungkinkan satu komputer untuk menjalankan banyak layanan jaringan secara bersamaan di satu alamat IP.
- Mengatur Lalu Lintas Data, Port membantu firewall untuk mengatur lalu lintas data. Firewall dapat dikonfigurasi untuk memblokir atau mengizinkan koneksi berdasarkan nomor port.
- Mengidentifikasi Layanan, Nomor port standar memudahkan untuk mengetahui jenis layanan apa yang sedang berjalan atau diakses.
Cara Kerja Port
Prosesnya melibatkan dua konsep kunci: Socket dan proses “Binding”.
- Sebuah aplikasi server (misalnya, web server seperti Apache, Nginx) akan “membuka” sebuah socket dan “bind” (mengikatkan diri) ke sebuah nomor port tertentu (misalnya, port 80). Ini disebut “listening” (mendengarkan). Server sekarang menunggu koneksi masuk di port 80.
- Ketika klien (misalnya, browser web kamu) ingin terhubung, ia akan membuat koneksi ke alamat IP server dan nomor port 80.
- Sistem operasi server melihat koneksi masuk ke port 80 dan mengetahui bahwa koneksi ini harus diteruskan ke proses web server.
- Komunikasi dua arah pun terjadi antara klien dan server melalui port tersebut.
Protocol TCP dan UDP
kita telah memahami bahwa port berfungsi sebagai “pintu” virtual bagi aplikasi di jaringan.
Namun, bagaimana cara data melewati “pintu” ini? Di sinilah peran protokol transport layer, terutama TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol), menjadi krusial.
Keduanya adalah “metode pengiriman” yang menentukan bagaimana paket data dikirimkan dari sumber ke tujuan, masing-masing dengan karakteristik yang berbeda.
Transmission Control Protocol
TCP seperti mengirim paket berharga dengan kurir yang sangat teliti. Kurir ini akan memastikan paket sampai dengan selamat, berurutan, dan dalam kondisi baik.
Karakteristik Utama TCP :
- Connection Oriented, Sebelum mengirim data, TCP harus membangun koneksi terlebih dahulu antara pengirim dan penerima melalui proses yang disebut “Three-Way Handshake” (SYN, SYN-ACK, ACK). Ini seperti melakukan panggilan telepon di mana kedua pihak harus menyapa sebelum mulai berbicara.
- Reliable (Andal), TCP memiliki mekanisme untuk memastikan data sampai. Ia menggunakan acknowledgement (ACK). Jika pengirim tidak menerima ACK untuk sebuah paket data dalam waktu tertentu, ia akan mengirim ulang paket tersebut.
- Error Checking, TCP memeriksa integritas data menggunakan checksum. Jika data rusak selama perjalanan, ia akan meminta pengiriman ulang.
- Ordered (Terurut), TCP memberikan nomor urut pada setiap paket data. Jika paket datang tidak berurutan di sisi penerima, TCP akan menyusunnya kembali sesuai urutan yang benar sebelum menyerahkannya ke aplikasi.
- Flow Control, TCP mengatur kecepatan pengiriman data agar tidak membanjiri penerima yang kemampuannya lebih rendah.
Kapan TCP Digunakan?
TCP digunakan untuk aplikasi yang membutuhkan keandalan dan ketepatan data, di mana kehilangan atau kerusakan data tidak dapat ditoleransi.
- World Wide Web (HTTP/HTTPS)
- Pengiriman Email (SMTP, IMAP)
- Transfer File (FTP)
- Remote Access (SSH)
Contoh Port TCP: Port 80 (HTTP), 443 (HTTPS), 25 (SMTP), 22 (SSH).
User Datagram Protocol
Bayangkan UDP seperti mengirim kartu pos. Kamu mengirimkannya tanpa konfirmasi apakah akan sampai atau tidak. Prosesnya cepat dan sederhana, tetapi tidak ada jaminan.
Karakteristik Utama UDP:
- Connectionless (Tanpa Koneksi), UDP tidak membangun koneksi terlebih dahulu. Data langsung dikirimkan ke tujuan tanpa “jabat tangan” awal. Ini seperti siaran radio, di mana sinyal dikirim tanpa peduli apakah ada yang mendengarkan.
- Unreliable (Tidak Andal), UDP tidak memiliki mekanisme acknowledgement (ACK) atau pengiriman ulang. Paket yang hilang atau rusak di jalan akan dibiarkan begitu saja.
- Faster (Lebih Cepat), Karena tidak ada overhead untuk membangun koneksi, mengurutkan paket, atau mengirim ulang data, UDP secara signifikan lebih cepat dan memiliki latency yang lebih rendah dibandingkan TCP.
- No Ordering, UDP tidak memberikan nomor urut pada paket. Penerima akan menerima paket sesuai urutan kedatangan, tanpa ada penataan ulang.
- Supports Broadcasting, UDP dapat mengirim paket ke banyak alamat sekaligus dalam jaringan (broadcast dan multicast), yang sangat berguna untuk layanan seperti streaming video.
Kapan UDP Digunakan?
UDP digunakan untuk aplikasi yang mengutamakan kecepatan dan efisiensi di atas keandalan, atau untuk data real-time di mana data yang sudah kedaluwarsa tidak berguna.
- Video Streaming & VoIP (e.g., Zoom, Skype), Kehilangan beberapa paket data lebih baik daripada video/audio yang patah-patah karena menunggu paket yang hilang.
- Game Online, Setiap milidetik sangat berharga. Aksi pemain harus dikirim dan diterima secepat mungkin, bahkan jika ada sedikit paket yang hilang.
- DNS Lookups, Permintaan DNS harus cepat. Jika sebuah respons hilang, klien dapat dengan mudah mengirim permintaan ulang.
- Live Broadcasting
Contoh Port UDP: Port 53 (DNS), 123 (NTP), 520 (RIP), port untuk game online.
Jenis-Jenis Nomor Port Jaringan
Setelah memahami fungsi port dan perbedaan TCP/UDP, penting untuk mengetahui bahwa nomor port tidak ditetapkan secara sembarangan.
IANA (Internet Assigned Numbers Authority), lembaga yang mengatur koordinasi global untuk ruang alamat IP, juga mengelompokkan port ke dalam tiga kategori utama berdasarkan rentang nomornya.
Pengelompokan ini membantu dalam mengorganisir dan mengelola penggunaan port di tingkat global.
1. Well-Known Ports (0-1023)
Well-Known Ports adalah port-port yang telah ditetapkan secara universal untuk layanan-layanan jaringan yang paling fundamental dan kritikal.
- Hak Akses, Penggunaannya biasanya memerlukan hak istimewa (privileges) atau akses administrator pada sistem operasi.
- Tujuan, Untuk memastikan layanan inti (seperti web, email, atau transfer file) dapat dijalankan secara konsisten dan dapat ditemukan oleh klien di mana pun.
- Stabilitas, Penetapan port pada rentang ini sangat stabil dan tidak berubah-ubah.

2. Registered Ports (1024 – 49151)
Perusahaan atau developer perangkat lunak dapat mendaftarkan port mereka ke IANA untuk digunakan oleh aplikasi tertentu.
- Tujuan, Mengurangi konflik antar aplikasi yang bukan merupakan layanan inti sistem.
- Hak Akses, Tidak selalu membutuhkan hak akses administrator.
Contoh: Database, aplikasi game, perangkat lunak kolaborasi, dan layanan proprietary lainnya.

3. Dynamic Ports (49152 – 65535)
Port dalam rentang ini tidak pernah digunakan untuk layanan server.
Sebaliknya, sistem operasi klien akan memilih nomor port secara acak dan dinamis dari rentang ini setiap kali klien memulai koneksi ke sebuah server.
- Fungsi: Bertindak sebagai Source Port (port sumber) dalam sesi koneksi.
- Contoh: Saat kamu membuka browser, browser akan menggunakan sebuah Well-Known Port (misal, 443) sebagai destination port untuk terhubung ke Google. Namun, sistem kamu akan memilih sebuah Ephemeral Port (misal, 61584) sebagai source port. Kombinasi unik inilah yang memungkinkan kamu membuka banyak tab browser sekaligus tanpa terjadi tabrakan data.
Organisasi yang Mengelola Port Number
IANA (Internet Assigned Numbers Authority)
1. Tugas dan Cakupan IANA
Mengelola “Service Name and Transport Protocol Port Number Registry”. IANA menjaga sebuah registry (daftar) resmi yang berisi semua penetapan nomor port. Daftar ini bersifat publik dan dapat diakses oleh siapa saja. Di dalamnya, kita dapat menemukan:
- Nomor Port (e.g., 80, 443, 22).
- Nama Layanan (e.g., http, https, ssh).
- Protokol Transport (TCP, UDP, atau keduanya).
- Deskripsi singkat tentang layanan tersebut.
2. Menetapkan Well-Known dan Registered Ports
IANA-lah yang secara resmi menetapkan sebuah nomor port dalam rentang 0-1023 (Well-Known Ports) dan 1024-49151 (Registered Ports) untuk layanan tertentu.
Proses ini mencegah dua layanan yang berbeda mengklaim nomor port yang sama, yang akan menyebabkan konflik di jaringan.
3. Menerima Pendaftaran
Ketika sebuah perusahaan atau komunitas perangkat lunak mengembangkan aplikasi yang memerlukan port khusus untuk server mereka, mereka dapat mengajukan permohonan kepada IANA untuk mendaftarkan sebuah port dalam rentang Registered Ports.
IANA akan meninjau permohonan tersebut dan, jika disetujui, menambahkannya ke dalam registry resmi.

