Paket 1 · Fondasi DevOpsModul D — Networking Fundamentals

Port, TCP/UDP, Socket, dan Connection

Memahami port, perbedaan TCP dan UDP, konsep socket, status koneksi, serta cara memeriksa layanan yang mendengarkan.

IP address menemukan host, tetapi port menemukan layanan di host tersebut. Modul ini membahas port, TCP/UDP, socket, dan cara memeriksa koneksi di server Linux.

Port

Port adalah angka 0–65535 yang mengidentifikasi layanan.

RentangNamaContoh
0–1023Well-knownHTTP 80, HTTPS 443, SSH 22
1024–49151RegisteredMySQL 3306, PostgreSQL 5432
49152–65535Dynamic/ephemeralPort sementara untuk koneksi keluar

Port umum

PortProtokolLayanan
22TCPSSH
25TCPSMTP
53TCP/UDPDNS
80TCPHTTP
443TCPHTTPS
3000TCPAplikasi Node.js (umum)
3306TCPMySQL/MariaDB
5432TCPPostgreSQL
6379TCPRedis
8006TCPProxmox Web UI

TCP vs UDP

AspekTCPUDP
KoneksiConnection-orientedConnectionless
KeandalanMenjamin urutan dan retransmisiTidak menjamin
KecepatanLebih lambat karena kontrolLebih cepat, overhead kecil
ContohHTTP, SSH, databaseDNS, streaming, game, VoIP

TCP three-way handshake

Client                     Server
  │ ─── SYN ───────────────▶ │
  │ ◀── SYN-ACK ────────────  │
  │ ─── ACK ───────────────▶ │
  │        Connection         │

Setelah terhubung, data dikirim dengan acknowledment dan retransmisi bila hilang.

Socket

Socket adalah kombinasi alamat IP dan port, misalnya 192.168.1.60:80. Sebuah koneksi TCP diidentifikasi oleh pasangan socket:

192.168.1.10:54321  ←→  192.168.1.60:80

Server biasanya listen di port tertentu, sedangkan client memakai port ephemeral.

Status koneksi

ss -tulpn
ss -tan
ss -s
StatusArti
LISTENMenunggu koneksi masuk
ESTABLISHEDKoneksi aktif
TIME_WAITMenunggu penutupan selesai
CLOSE_WAITSisi aplikasi belum menutup
SYN_SENTMencoba membuka koneksi

Arti opsi ss:

OpsiFungsi
-tTCP
-uUDP
-lListening
-pTampilkan proses
-nTampilkan angka, bukan nama

Port terbuka belum tentu aman

Layanan yang listen di 0.0.0.0 dapat diakses dari semua interface. Batasi ke 127.0.0.1 atau IP internal bila layanan hanya dipakai lokal.

Praktik: menjalankan dan memeriksa server

Server HTTP sederhana

cd /srv/app
python3 -m http.server 8000

Di terminal lain:

ss -tulpn | grep 8000
curl -I http://127.0.0.1:8000

Uji port dengan nc

apt install -y netcat-openbsd
nc -zv 192.168.1.60 80
nc -zv 192.168.1.60 22

-z hanya memindai port tanpa mengirim data; -v menampilkan detail.

Cek dari luar

curl -I http://192.168.1.60:8000
telnet 192.168.1.60 8000

Jika dari localhost berhasil tetapi dari mesin lain gagal, periksa firewall dan alamat bind.

Hubungan dengan firewall

Firewall menentukan port mana yang boleh masuk. Contoh UFW:

ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw status verbose

Pastikan port aplikasi memang sengaja dibuka, dan tutup yang tidak diperlukan. Firewall dibahas lebih dalam di Modul E.

Ringkasan

  • Port mengidentifikasi layanan; rentang well-known 0–1023.
  • TCP andal dan connection-oriented; UDP ringan dan connectionless.
  • Socket adalah kombinasi IP dan port; status koneksi dapat dilihat dengan ss.
  • Layanan yang listen di semua interface perlu dilindungi firewall.

Selanjutnya

Pelajari penerjemahan nama ke alamat di DNS, Domain Resolution, dan HTTP/HTTPS.

On this page