TCP/IP dan Cara Kerja Internet
Apa Itu TCP/IP?
TCP/IP (Transmission Control Protocol / Internet Protocol) adalah kumpulan protokol jaringan yang menjadi fondasi komunikasi di internet. Nama “TCP/IP” sebenarnya merujuk pada dua protokol utama, namun dalam konteks yang lebih luas mencakup seluruh protocol suite yang digunakan di internet.
- IP (Internet Protocol): Bertanggung jawab atas pengalamatan dan routing paket
- TCP (Transmission Control Protocol): Bertanggung jawab atas pengiriman data yang andal dan berurutan
TCP/IP dikembangkan oleh DARPA (AS) pada era 1970-an dan menjadi standar internet global hingga hari ini.
Model TCP/IP β 4 Layer
Berbeda dengan OSI yang memiliki 7 layer, TCP/IP hanya memiliki 4 layer:
ββββββββββββββββββββββββββββββββββββββββββββββββββ
β Layer 4 β Application β HTTP, DNS, FTP, SMTP β
ββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Layer 3 β Transport β TCP, UDP β
ββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Layer 2 β Internet β IP, ICMP, ARP β
ββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Layer 1 β Network Accessβ Ethernet, WiFi, PPP β
ββββββββββββββββββββββββββββββββββββββββββββββββββ
| Layer TCP/IP | Setara OSI | Fungsi |
|---|---|---|
| Application | Layer 5, 6, 7 | Protokol aplikasi (HTTP, DNS, FTP) |
| Transport | Layer 4 | Komunikasi end-to-end (TCP/UDP) |
| Internet | Layer 3 | Routing & pengalamatan IP |
| Network Access | Layer 1 & 2 | Transmisi fisik & framing |
Internet Protocol (IP)
Fungsi IP
IP bertugas memberikan alamat kepada setiap perangkat dan mengarahkan (routing) paket dari sumber ke tujuan melewati banyak jaringan.
IP Address
Setiap perangkat di jaringan memiliki IP address unik:
- IPv4: Format 32-bit, ditulis sebagai 4 oktet desimal β contoh:
192.168.1.10 - IPv6: Format 128-bit, ditulis dalam heksadesimal β contoh:
2001:db8::1
Struktur Paket IP (IPv4 Header)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
βββββββββββ¬ββββββββββ¬ββββββββββββββββββββββ¬ββββββββββββββββββββββββ€
β Version β IHL β Type of Service β Total Length β
βββββββββββββββββββββββ¬βββ¬βββββββββββββββββ΄ββββββββββββββββββββββββ€
β Identification βFlβ Fragment Offset β
βββββββββββββββββββββββ΄βββ΄βββββββββββββββββ¬ββββββββββββββββββββββββ€
β Time to Live (TTL) β Protocol β Header Checksum β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Source IP Address β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Destination IP Address β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Field penting:
- TTL (Time to Live): Menentukan berapa kali paket bisa melewati router sebelum di-drop (mencegah loop tak terbatas)
- Protocol: Menunjukkan protokol layer atas (6 = TCP, 17 = UDP, 1 = ICMP)
- Source/Destination IP: Alamat pengirim dan penerima
Transmission Control Protocol (TCP)
Karakteristik TCP
TCP adalah protokol connection-oriented yang menjamin:
- Data sampai ke tujuan (reliable)
- Data diterima dalam urutan yang benar (ordered)
- Tidak ada duplikasi data
- Kontrol kecepatan pengiriman (flow control)
Three-Way Handshake
Sebelum data dikirim, TCP membangun koneksi melalui proses 3 langkah:
Client Server
| |
|ββββ SYN (seq=100) ββββββββββββββββΊ| Client minta koneksi
| |
|ββββ SYN-ACK (seq=200, ack=101) ββ| Server setuju
| |
|ββββ ACK (ack=201) ββββββββββββββββΊ| Client konfirmasi
| |
|ββββββββ Data Transfer βββββββββββΊ| Koneksi terbuka
Four-Way Termination
Penutupan koneksi TCP dilakukan dalam 4 langkah:
Client Server
|ββββ FIN βββββββββββββββββββββββββΊ|
|ββββ ACK ββββββββββββββββββββββββ |
|ββββ FIN ββββββββββββββββββββββββ |
|ββββ ACK βββββββββββββββββββββββββΊ|
[Koneksi ditutup]
Port Number TCP
Port adalah angka 16-bit (0β65535) yang mengidentifikasi aplikasi:
| Port | Protokol | Layanan |
|---|---|---|
| 20, 21 | FTP | Transfer file |
| 22 | SSH | Remote access aman |
| 23 | Telnet | Remote access (tidak aman) |
| 25 | SMTP | Kirim email |
| 53 | DNS | Resolusi nama domain |
| 80 | HTTP | Website |
| 110 | POP3 | Terima email |
| 143 | IMAP | Terima email (modern) |
| 443 | HTTPS | Website terenkripsi |
| 3306 | MySQL | Database |
| 3389 | RDP | Remote Desktop Windows |
| 8080 | HTTP alt | Web server alternatif |
Kategori Port:
- Well-known: 0β1023 (protokol standar)
- Registered: 1024β49151 (aplikasi tertentu)
- Dynamic/Private: 49152β65535 (digunakan client secara acak)
User Datagram Protocol (UDP)
UDP adalah protokol connectionless β data langsung dikirim tanpa membangun koneksi terlebih dahulu.
| Karakteristik | TCP | UDP |
|---|---|---|
| Handshake | Ya (3-way) | Tidak |
| Keandalan | Dijamin | Tidak dijamin |
| Urutan data | Dijamin | Tidak dijamin |
| Kecepatan | Lebih lambat | Lebih cepat |
| Header size | 20 byte | 8 byte |
| Penggunaan | HTTP, FTP, SSH | DNS, VoIP, Streaming, Game |
Kapan UDP lebih baik?
- Real-time streaming (video/audio) β lebih baik kehilangan sedikit frame daripada delay
- Game online β latency rendah lebih penting dari reliability
- DNS β query kecil, tidak butuh koneksi penuh
Bagaimana Internet Bekerja?
Skenario: Membuka Website
Ketika kamu mengetik https://example.com di browser:
Langkah 1 β DNS Resolution
Browser β DNS Resolver lokal β Root DNS β TLD DNS (.com) β
Authoritative DNS (example.com) β IP Address: 93.184.216.34
Langkah 2 β TCP Handshake
Browser membangun koneksi TCP ke 93.184.216.34:443
Langkah 3 β TLS Handshake (HTTPS)
Browser dan server bernegosiasi enkripsi (TLS 1.3)
Langkah 4 β HTTP Request
GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 ...
Accept: text/html
Langkah 5 β Routing Paket
Paket IP melewati banyak router untuk sampai ke server:
PC kamu β Router rumah β ISP β Internet Exchange β
ISP tujuan β Data Center β Server example.com
Setiap router memeriksa destination IP dan meneruskan paket ke router berikutnya berdasarkan routing table.
Langkah 6 β HTTP Response
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1256
<!DOCTYPE html>...
Langkah 7 β Render & Tampilkan
Browser menerima HTML, CSS, JS dan menampilkan halaman.
ARP β Address Resolution Protocol
ARP digunakan untuk menerjemahkan IP Address ke MAC Address dalam jaringan lokal (LAN).
Cara kerja:
PC A (192.168.1.10) ingin mengirim ke PC B (192.168.1.20)
1. PC A broadcast: "Siapa yang punya IP 192.168.1.20?"
2. PC B balas: "Aku! MAC Address ku: AA:BB:CC:DD:EE:FF"
3. PC A simpan di ARP cache, lalu kirim frame langsung ke PC B
Cek ARP cache:
# Windows
arp -a
# Linux/Mac
arp -n
ICMP β Internet Control Message Protocol
ICMP adalah protokol untuk pesan kontrol dan error di jaringan IP. Digunakan oleh tool seperti ping dan traceroute.
Contoh pesan ICMP:
| Type | Message | Keterangan |
|---|---|---|
| 0 | Echo Reply | Balasan ping |
| 3 | Destination Unreachable | Tujuan tidak bisa dicapai |
| 8 | Echo Request | Request ping |
| 11 | Time Exceeded | TTL habis (digunakan traceroute) |
Cara kerja ping:
PC β ICMP Echo Request (TTL=64) β Router/Host tujuan
PC β ICMP Echo Reply β Router/Host tujuan
Reply from 8.8.8.8: bytes=32 time=12ms TTL=118
Cara kerja traceroute:
Mengirim paket dengan TTL dimulai dari 1, lalu dinaikkan satu per satu. Setiap router yang mengurangi TTL hingga 0 akan mengirim balik pesan ICMP Time Exceeded, sehingga kita bisa melihat jalur yang dilalui paket.
NAT β Network Address Translation
NAT memungkinkan banyak perangkat dalam jaringan lokal menggunakan satu IP publik untuk mengakses internet.
ββββββββββββββββββββββββββββββββββββββββββββ
β Jaringan Lokal (Private) β
β β
β PC1: 192.168.1.10 ββ β
β PC2: 192.168.1.11 ββΌββΊ Router ββββββββ ββββΊ Internet
β PC3: 192.168.1.12 ββ (NAT) β IP Publik: 203.0.113.5
β β
ββββββββββββββββββββββββββββββββββββββββββββ
Jenis NAT:
- Static NAT: Satu IP privat dipetakan ke satu IP publik tetap
- Dynamic NAT: IP privat dipetakan ke pool IP publik
- PAT/Masquerade: Banyak IP privat berbagi satu IP publik (paling umum)
Kesimpulan
TCP/IP adalah bahasa universal yang digunakan semua perangkat di internet. Memahami cara kerja IP (routing & addressing), TCP (reliable delivery), UDP (fast delivery), ARP, ICMP, dan NAT adalah bekal penting sebelum mengkonfigurasi jaringan nyata.
Artikel selanjutnya akan membahas IP Address dan Subnetting β bagaimana cara merancang dan membagi-bagi alamat jaringan secara efisien.
π’ Iklan