| TCP/IP | Setara OSI | Protokol kunci | PDU | Ditangani oleh |
|---|---|---|---|---|
| APPLICATION | L7 · L6 · L5 | HTTP, DNS, TLS, SSH, SMTP | DATA | Aplikasi & OS |
| TRANSPORT | L4 | TCP (andal) · UDP (cepat) | SEGMENT / DATAGRAM | Kernel |
| INTERNET | L3 | IP, ICMP, ARP | PACKET | Kernel + router |
| NETWORK ACCESS | L2 · L1 | Ethernet, Wi-Fi | FRAME / BIT | Driver NIC |
Ingat arah penjelasannya: TCP/IP adalah model yang benar-benar berjalan di internet; OSI adalah model referensi untuk berbicara & mengajar. Kanvas simulasi memakai stack 4 lapisan TCP/IP — dan setiap frame, termasuk SYN/FIN, melewatinya langkah demi langkah.
| Fase | Apa yang terjadi | Biaya | Senjata memangkas |
|---|---|---|---|
| 1 · DNS | Resolver ditembak: nexus7.id = ? → A 203.0.113.10 | 1 RTT | Cache OS/browser (TTL) |
| 2 · TCP Handshake | SYN → SYN,ACK → ACK — koneksi full-duplex terbentuk | 1 RTT | TCP Fast Open (awareness) |
| 3-4 · HTTP Req + Resp | GET dikirim → server balas 200 OK + body → di-ACK | 1 RTT | HTTP/2 multiplexing |
| 5 · Teardown | FIN → ACK,FIN → ACK → TIME_WAIT (2×MSL) | ±1 RTT | Keep-alive — jangan tutup! |
Kesimpulan performa: tanpa cache apa pun, butuh minimal 3 RTT sebelum byte pertama halaman bisa tampil. Di RTT 20 ms = 60 ms "ongkos"; di RTT 100 ms (seluler jauh) = 300 ms — di situlah DNS cache & keep-alive menentukan hidup-matinya sebuah produk.
Tiga Node, Tiga Percakapan
Request HTTP menuju 203.0.113.10, tapi query DNS menuju 203.0.113.53 — dua mesin berbeda. Tower yang tidak terlibat kabur (dim).
Paket HTTP "melewati" kolom DNS hanya secara visual — jalur nyata ditentukan routing, bukan posisi diagram.
Frame Kontrol Juga Turun-Naik
SYN lahir di TRANSPORT (aplikasi tidak ikut — belum ada data), tapi tetap diturunkan lewat INTERNET (+IP) dan NETWORK ACCESS (+Ethernet) sebelum jadi frame 58 B.
Di penerima pun ia naik kembali: CRC → IP → TCP. Tidak ada jalan pintas di jaringan nyata — dan tidak ada juga di simulasi ini.
ACK Data = 58 B untuk 408 B
Setelah menerima segmen data, TCP wajib mengirim ACK — segmen header-only 20 B (frame 58 B) tanpa payload, yang tetap dibungkus IP+Ethernet.
Kalau ACK hilang, server mengirim ulang datanya — data keluar dari buffer retransmisi hanya setelah di-ACK.
Kenapa TIME_WAIT Ada
Sisi yang menutup duluan menunggu 2×MSL: (1) memastikan segmen tertunda dari koneksi lama mati di jalan; (2) kalau ACK final hilang, ia masih bisa mengulanginya.
Karena itu server masuk CLOSED duluan — sisi aktif menanggung TIME_WAIT.
Port: Kode Laci
| 53/UDP | DNS — query & jawaban |
| 80/TCP | HTTP — dipakai simulasi ini |
| 443/TCP | HTTPS — +handshake TLS |
| 49152+ | Ephemeral — port sementara klien |
Klien memakai dua port ephemeral berbeda — satu untuk soket DNS, satu untuk TCP. Dua soket, dua identitas.
Yang Disederhanakan
ARP dilewati — frame butuh MAC tujuan; di nyata ada pertukaran ARP dulu (dianggap cache hangat — lihat NF-29).
TLS dilewati — port 80 = HTTP polos. HTTPS menambah RTT TLS di atasnya (TLS 1.3: 1-RTT / 0-RTT resumption).
Satu segmen per data — body besar dipecah per-MSS 1460 B dan dikirim beruntun dengan flow control window.