Cara Kerja Internet · Pelajaran 3 dari 8

Data dikirim dalam paket

7 menit baca · BelajarCode

Data di internet tidak dikirim utuh sekaligus. Sebuah foto atau pesan dipecah menjadi paket-paket kecil. Setiap paket berisi:

  • Header: alamat pengirim, alamat tujuan, dan nomor urut paket.
  • Isi: potongan data yang sebenarnya.

Setiap paket bisa menempuh jalur yang berbeda melewati router-router internet. Paket bisa tiba dengan urutan acak, bahkan ada yang hilang. Di tujuan, paket disusun ulang berdasarkan nomor urutnya.

Simulasi dengan Python

Python
1pesan = "Besok upacara pukul tujuh"2ukuran = 63paket = []4for i in range(0, len(pesan), ukuran):5    paket.append((i // ukuran, pesan[i:i + ukuran]))6print("Dikirim:", paket)78tiba = [paket[2], paket[0], paket[4], paket[1], paket[3]]9print("Tiba acak:", [p[0] for p in tiba])1011tersusun = sorted(tiba)12hasil = ""13for nomor, isi in tersusun:14    hasil += isi15print("Disusun ulang:", hasil)
Keluaran
Dikirim: [(0, 'Besok '), (1, 'upacar'), (2, 'a puku'), (3, 'l tuju'), (4, 'h')]
Tiba acak: [2, 0, 4, 1, 3]
Disusun ulang: Besok upacara pukul tujuh

sorted mengurutkan paket berdasarkan nomor urutnya, sehingga pesan kembali utuh walaupun paket tiba acak.

TCP dan UDP

Dua cara mengirim paket
TCPUDP
Cara kerjaMemastikan semua paket sampai dan urut, paket yang hilang dikirim ulangMengirim secepatnya tanpa memastikan
KelebihanData utuh dan benarCepat, jeda kecil
Dipakai untukHalaman web, email, unduhan filePanggilan video, siaran langsung, game online

Pada panggilan video, lebih baik satu potongan gambar hilang sesaat daripada seluruh percakapan tertunda menunggu paket yang dikirim ulang.

Cek pemahaman

Kenapa setiap paket data diberi nomor urut?

Latihan

Paket yang hilang

Pada pengiriman dengan TCP, penerima perlu tahu paket mana yang belum tiba supaya bisa meminta dikirim ulang. Diberikan 8 paket bernomor 0 sampai 7, dan yang tiba adalah nomor [0, 1, 3, 4, 6, 7]. Tulis program yang menampilkan nomor paket yang hilang.

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi