SIMULATOR ALUR PAKET JARINGAN LENGKAP UNTUK MURID TKJ
Packet flow adalah perjalanan data (packet) dari source ke destination melalui network. Data dipecah menjadi packet-packet kecil, lalu dikirim melalui berbagai device (switch, router) sampai ke tujuan.
Layer 7 - Application : Data (HTTP, DNS, FTP) Layer 6 - Presentation : Data (encryption, compression) Layer 5 - Session : Data (session management) Layer 4 - Transport : Segment (TCP/UDP) Layer 3 - Network : Packet (IP) Layer 2 - Data Link : Frame (Ethernet) Layer 1 - Physical : Bits (0 dan 1)
Setiap layer menambahkan header (encapsulation). Di receiver, header dilepas satu per satu (decapsulation).
Data ditambahkan header di setiap layer:
Data -> [Data] + L7 Header -> [L7 Header][Data] + L4 Header -> [L4 Header][L7 Header][Data] = Segment + L3 Header -> [L3 Header][Segment] = Packet + L2 Header -> [L2 Header][Packet][L2 Trail] = Frame + Physical -> Bits dikirim ke media
Header dilepas satu per satu dari bawah ke atas:
Bits diterima - L2 Header/Trail -> Packet - L3 Header -> Segment - L4 Header -> Data + L7 Header - L7 Header -> Data original
Application: GET /index.html HTTP/1.1 Transport: TCP header (port 80, seq, ack) Network: IP header (src IP, dst IP, TTL) Data Link: Ethernet frame (src MAC, dst MAC) Physical: Bits di kabel
Ping menggunakan ICMP Echo Request dan Echo Reply.
Type: 8 (Echo Request) / 0 (Echo Reply) Code: 0 Checksum: Error detection ID: Identifier (match request/reply) Sequence: Sequence number Data: Payload (timestamp + padding)
1. DNS lookup: www.example.com -> 93.184.216.34 2. ARP: MAC address gateway 3. TCP SYN -> server:80 4. TCP SYN-ACK <- server 5. TCP ACK -> server 6. HTTP GET /index.html -> server 7. HTTP 200 OK + HTML <- server 8. TCP FIN -> server (close) 9. TCP FIN-ACK <- server 10. TCP ACK -> server
Transaction ID: Match query/reply Flags: Query (0) / Response (1) Questions: 1 Answer RRs: 1 (jika ada jawaban) Authority RRs: 0 Additional RRs: 0 Query: www.example.com, Type A, Class IN Answer: www.example.com, Type A, 93.184.216.34
ARP (Address Resolution Protocol) memetakan IP address ke MAC address di local network.
Hardware type: Ethernet (1) Protocol type: IPv4 (0x0800) Hardware size: 6 (MAC address) Protocol size: 4 (IP address) Opcode: 1 (Request) / 2 (Reply) Sender MAC: 00:11:22:33:44:55 Sender IP: 192.168.1.5 Target MAC: 00:00:00:00:00:00 (request) / 00:1A:2B:3C:4D:5E (reply) Target IP: 192.168.1.10
DHCP (Dynamic Host Configuration Protocol) memberikan IP address otomatis ke client.
Op: 1 (Request) / 2 (Reply) Htype: 1 (Ethernet) Hlen: 6 Hops: 0 Xid: Transaction ID Secs: 0 Flags: 0x8000 (Broadcast) Ciaddr: 0.0.0.0 (client IP, belum punya) Yiaddr: 192.168.1.100 (IP yang di-offer) Siaddr: 192.168.1.1 (server IP) Giaddr: 0.0.0.0 (gateway IP) Chaddr: Client MAC address Options: Subnet mask, gateway, DNS, lease time
Router menggunakan routing table untuk menentukan next hop.
Destination Gateway Mask Interface 0.0.0.0 192.168.1.1 0.0.0.0 eth0 (default route) 192.168.1.0 0.0.0.0 255.255.255.0 eth0 (direct) 10.0.0.0 192.168.1.254 255.0.0.0 eth0 (via gateway) 172.16.0.0 192.168.1.253 255.240.0.0 eth0 (via gateway)
Packet tujuan: 8.8.8.8 Cek routing table: - 8.8.8.8 match 0.0.0.0/0? Ya (default route) - Gateway: 192.168.1.1 - Forward ke gateway 192.168.1.1 via interface eth0
TCP menggunakan 3-way handshake untuk establish koneksi yang reliable.
Source Port: Port client (random > 1024) Destination Port: Port server (80, 443, 22, dll) Sequence Number: Urutan byte (untuk reordering) Acknowledgment: Nomor byte berikutnya yang diharapkan Flags: SYN, ACK, FIN, RST, PSH, URG Window Size: Jumlah byte yang bisa diterima (flow control) Checksum: Error detection Urgent Pointer: Data urgent
1. Packet masuk ke switch port 2. Switch baca destination MAC 3. Cek MAC address table 4. Jika MAC ada di table, forward ke port yang sesuai 5. Jika MAC tidak ada, broadcast ke semua port (kecuali source) 6. Update MAC address table dengan source MAC
1. Packet masuk ke router interface 2. Router cek destination IP 3. Cek routing table, cari longest prefix match 4. Forward ke next hop / exit interface 5. Decrement TTL 6. Recalculate checksum 7. ARP untuk dapatkan MAC next hop (jika perlu) 8. Kirim packet ke next hop
Sebelum paham packet flow, kuasai OSI model 7 layer. Setiap layer punya fungsi dan protokol sendiri. Ingat mnemonik: "All People Seem To Need Data Processing" (Application - Physical).
Encapsulation = proses menambahkan header di setiap layer. Decapsulation = melepas header. Bayangkan seperti amplop berlapis: data di dalam, setiap layer tambah amplop baru.
Switch forward berdasarkan MAC address (Layer 2), router forward berdasarkan IP address (Layer 3). Switch untuk LAN, router untuk antar network/internet.
Sebelum kirim packet di LAN, device perlu tahu MAC address tujuan. ARP memetakan IP ke MAC. Tanpa ARP, packet tidak bisa dikirim di LAN.
Sebelum kirim data via TCP, harus ada 3-way handshake: SYN -> SYN-ACK -> ACK. Ini memastikan kedua side siap komunikasi. UDP tidak perlu handshake (connectionless).
Sebelum HTTP request, browser perlu IP address server. DNS lookup dulu: domain -> IP. Jika DNS gagal, HTTP tidak bisa jalan. Selalu cek DNS jika website tidak bisa diakses.
Router pakai routing table untuk decide next hop. Longest prefix match = route paling spesifik menang. Default route (0.0.0.0/0) = fallback jika tidak ada route spesifik.
TTL (Time To Live) di IP header mencegah packet loop forever. Setiap router kurangi TTL 1. Jika TTL = 0, packet di-drop. Default TTL: 64 (Linux), 128 (Windows).
Tools penting: ping (test connectivity), tracert/traceroute (lihat route), arp -a (lihat ARP cache), ipconfig/ifconfig (lihat IP config), netstat (lihat koneksi), wireshark (packet capture).
Mulai dari layer bawah: Physical (kabel) -> Data Link (MAC) -> Network (IP) -> Transport (TCP/UDP) -> Application (HTTP/DNS). Jika layer bawah OK, lanjut ke layer atas.
Wireshark = packet capture tool. Bisa lihat detail setiap packet: header, payload, timing. Bagus untuk belajar packet flow secara real. Filter by protocol, IP, port.
Saat troubleshoot, gambar topology network dan flow packet. Visualisasi membantu pahami masalah. Tools: draw.io, Visio, atau kertas + pulpen!
Ini istilah untuk data unit di layer berbeda:
Analogi: Frame = amplop dengan alamat rumah (MAC). Packet = surat dengan alamat kota (IP). Segment = isi surat yang di-nomori (TCP). Datagram = kartu pos (UDP).
IP address untuk routing antar network (Layer 3). MAC address untuk delivery di LAN (Layer 2).
Ketika kirim packet ke device di LAN yang sama:
Contoh: PC-1 (192.168.1.5) mau kirim ke PC-2 (192.168.1.10). PC-1 tahu IP tujuan, tapi perlu MAC address PC-2 untuk buat Ethernet frame. ARP bertanya: "Who has 192.168.1.10?" PC-2 jawab: "I have it, my MAC is 00:1A:2B:3C:4D:5E".
Kapan ARP tidak dipakai? Saat kirim ke network berbeda. Packet di-forward ke gateway (router), dan ARP hanya untuk dapatkan MAC gateway, bukan MAC destination final.
Jika router tidak punya route ke destination network:
Solusi:
TCP (Transmission Control Protocol) menjamin reliable delivery dengan:
UDP tidak punya fitur ini - UDP connectionless, tidak ada ACK, tidak ada retransmission. Lebih cepat tapi tidak reliable.
Kapan pakai TCP? Ketika data harus sampai dengan utuh dan berurutan (web, file transfer, email).
Kapan pakai UDP? Ketika speed lebih penting daripada reliability (VoIP, video, gaming, DNS).
Switch pakai MAC address table (CAM table) untuk decide forward frame:
Contoh:
MAC Address Table: MAC Address Port VLAN 00:11:22:33:44:55 eth0 1 00:AA:BB:CC:DD:EE eth1 1 00:1A:2B:3C:4D:5E eth2 1 Frame tujuan: 00:AA:BB:CC:DD:EE -> Switch cek table, MAC ada di eth1 -> Forward frame ke eth1 saja
Jika MAC tidak ada di table? Switch flood ke semua port. Device yang punya MAC akan reply, dan switch learn MAC-nya.
Jika TTL = 0 di router:
Tujuan TTL:
Traceroute pakai TTL:
DHCP menggunakan DORA process:
Informasi yang diberikan DHCP:
Jika tidak ada DHCP server? Client pakai APIPA (Automatic Private IP Addressing): IP 169.254.x.x dengan subnet 255.255.0.0. Hanya bisa komunikasi di LAN yang sama.
DNS resolution menggunakan hierarchical query:
DNS Record Types:
Strategi troubleshooting bertahap:
arp -a - Cek ARP cacheipconfig/ifconfig - Cek IP configping - Test connectivitytracert/traceroute - Cek routing pathnetstat - Cek koneksi TCP/UDPnslookupcurlDefault gateway = IP address router yang dipakai untuk kirim packet ke network lain (termasuk internet).
Kapan dipakai?
Contoh:
PC Config: IP: 192.168.1.10 Subnet Mask: 255.255.255.0 Gateway: 192.168.1.1 Destination: 8.8.8.8 - 8.8.8.8 tidak di network 192.168.1.0/24 - PC kirim packet ke gateway 192.168.1.1 - Router forward packet ke internet
Jika tidak ada default gateway? PC hanya bisa komunikasi di LAN yang sama (192.168.1.0/24). Tidak bisa akses internet atau network lain.
Firewall memfilter packet berdasarkan rules:
# Allow HTTP dari LAN ke internet permit tcp 192.168.1.0/24 any eq 80 # Block ICMP dari internet deny icmp any 192.168.1.0/24 # Allow established connections permit tcp any any established # Default deny deny ip any any
BELUM ADA RIWAYAT