Anda di halaman 1dari 13

Chapter 23 state".

Pengirim tetap berada dalam keadaan "ready


Tugas pertama dari protokol transport-layer
state" sampai ada permintaan dari lapisan
adalah menyediakan komunikasi proses-ke-
aplikasi untuk mengirim pesan.
proses. Proses adalah entitas lapisan aplikasi
Ketika peristiwa permintaan ini terjadi,
(menjalankan program) yang menggunakan
pengirim akan mengemas pesan ke dalam
layanan dari lapisan transportasi..
sebuah paket (packet encapsulation) dan
Protokol lapisan jaringan dapat mengirimkan mengirimkannya ke mesin penerima.
pesan hanya ke komputer tujuan. Namun, ini Receiver FSM (Mesin Keadaan Terbatas
tidak lengkap Penerima):

host lokal, yang disebut klien, membutuhkan Juga memiliki satu keadaan, yaitu "ready
layanan dari suatu proses yang biasanya ada state".
di host jarak jauh, disebut server. Dalam paket Penerima tetap berada dalam keadaan "ready
protokol TCP/IP, nomor port adalah bilangan state" sampai sebuah paket tiba dari mesin
bulat antara 0 dan 65.535 (16 bit). pengirim.
Multiplexing: Ini adalah proses Ketika peristiwa ini terjadi, penerima akan
menggabungkan beberapa sinyal atau aliran mengeluarkan pesan dari dalam paket (packet
data menjadi satu aliran tunggal untuk dikirim decapsulation) dan mengirimkannya ke proses
melalui saluran komunikasi yang sama. pada lapisan aplikasi.
Tujuannya adalah untuk mengoptimalkan Sequence Numbers
penggunaan saluran komunikasi dan Untuk mencegah paket-paket duplikat,
memungkinkan berbagai jenis data untuk protokol menggunakan nomor urutan
berbagi sumber daya yang sama. Ada (sequence numbers) dan nomor pengakuan
beberapa teknik multiplexing yang umum (acknowledgment numbers). Sebuah bidang
digunakan: ditambahkan ke dalam header paket untuk
Demultiplexing: Ini adalah kebalikan dari menyimpan nomor urutan dari paket
multiplexing, yaitu proses memisahkan aliran tersebut.
data yang telah digabungkan sebelumnya Efisiensi
menjadi aliran-aliran individual. Hal ini Protokol Stop-and-Wait sangat tidak efisien
diperlukan di penerima untuk memproses dan jika saluran kita lebar dan panjang. Dengan
menyampaikan data kepada tujuan yang kata "lebar" kami maksudkan bahwa saluran
benar. Setiap aliran data diarahkan ke jalur kami memiliki bandwidth besar (tingkat data
atau saluran yang sesuai. tinggi); dengan kata "panjang", kami
Dalam konteks yang dijelaskan, terdapat dua maksudkan jeda perjalanan pulang-pergi yang
FSM (Finite State Machines) yang digunakan lama. Hasil kali dari kedua hal ini disebut
untuk menggambarkan interaksi antara produk bandwidth-delay. Kita dapat
pengirim (sender) dan penerima (receiver) menganggap saluran ini seperti sebuah pipa.
dalam mengirim dan menerima pesan melalui Produk bandwidth-delay kemudian adalah
suatu jaringan atau saluran komunikasi. Mari volume pipa dalam bentuk bit.
kita bahas lebih detail: Pipelining (Pemipilan)
Dalam jaringan dan bidang lainnya, seringkali
Sender FSM (Mesin Keadaan Terbatas suatu tugas dimulai sebelum tugas
Pengirim): sebelumnya selesai. Hal ini dikenal dengan
istilah pemipilan (pipelining). Tidak ada
Hanya memiliki satu keadaan, yaitu "ready pemipilan dalam protokol Stop-and-Wait
karena pengirim harus menunggu agar sebuah protokol ini tidak efisien jika protokol jaringan
paket mencapai tujuan dan diakui sebelum di bawahnya kehilangan banyak paket. Setiap
paket berikutnya dapat dikirim. Namun, kali satu paket hilang atau rusak, pengirim
pemipilan berlaku pada dua protokol akan mengirim ulang semua paket yang
berikutnya karena beberapa paket dapat tertunda, meskipun beberapa di antaranya
dikirim sebelum pengirim menerima umpan mungkin telah diterima dengan aman tetapi
balik tentang paket-paket sebelumnya. tidak dalam urutan. Jika lapisan jaringan
Pemipilan meningkatkan efisiensi transmisi kehilangan banyak paket karena kemacetan di
jika jumlah bit dalam perpindahan besar jaringan, pengiriman ulang semua paket yang
dibandingkan dengan produk bandwidth- tertunda ini membuat kemacetan semakin
delay. parah, dan akhirnya lebih banyak paket akan
hilang. Ini memiliki efek gelombang salju yang
Go-Back-N Protocol (GBN)
dapat mengakibatkan keruntuhan total
Untuk meningkatkan efisiensi transmisi jaringan.
(untuk mengisi pipa), beberapa paket harus
dalam transisi sementara pengirim sedang Protokol lain yang disebut protokol Selective-
menunggu pengakuan. Dengan kata lain, Repeat (SR) telah diciptakan, yang seperti
kita perlu membiarkan lebih dari satu paket namanya, hanya mengirim ulang paket-paket
menjadi luar biasa untuk menjaga saluran tertentu, yaitu yang benar-benar hilang.
sibuk sementara pengirim sedang menunggu
Ada perbedaan lain antara kedua protokol ini.
pengakuan.
Dalam GBN, sebuah ackNo bersifat kumulatif;
Keadaan Blokir (Blocking state). Tiga ini mendefinisikan nomor urutan dari paket
peristiwa dapat terjadi dalam kasus ini: a. berikutnya yang diharapkan, mengonfirmasi
Jika sebuah ACK yang bebas dari bahwa semua paket sebelumnya telah
diterima dengan aman. Semantik dari
kesalahan tiba dengan ackNo yang terkait
pengakuan (acknowledgment) berbeda dalam
dengan salah satu paket yang tertunda,
SR. Dalam SR, sebuah ackNo mendefinisikan
pengirim menggeser jendela (set Sf = nomor urutan dari satu paket tunggal yang
ackNo) dan jika semua paket yang diterima dengan aman; tidak ada umpan balik
tertunda diakui (ackNo = Sn), maka (feedback) untuk paket lainnya.
pengatur waktu dihentikan. Jika semua
paket yang tertunda tidak diakui, pengatur
Tugas utama dari protokol lapisan transport
waktu diulang. Pengirim kemudian
adalah menyediakan komunikasi dari proses
kembali ke keadaan siap (ready state). b. ke proses. Untuk mendefinisikan proses-
Jika ACK yang rusak atau ACK yang bebas proses tersebut, kita membutuhkan nomor
dari kesalahan dengan ackNo yang tidak port. Program klien mendefinisikan dirinya
terkait dengan paket-paket yang tertunda dengan nomor port efemeral. Server
tiba, ACK tersebut dibuang. c. Jika terjadi mendefinisikan dirinya dengan nomor port
timeout, pengirim mengirimkan semua yang sudah dikenal. Untuk mengirim pesan
paket yang tertunda dan mengulang dari satu proses ke proses lainnya, protokol
pengatur waktu. Protokol Selective-Repeat lapisan transport mengemas dan
Protokol Go-Back-N menyederhanakan proses membongkar pesan. Lapisan transport di
di penerima. Penerima hanya melacak satu sumber melakukan multiplexing; lapisan
variabel saja, dan tidak perlu menyimpan transport di tujuan melakukan demultiplexing.
paket-paket yang tiba di luar urutan dalam Kontrol aliran menyeimbangkan pertukaran
buffer; mereka hanya dibuang. Namun, item-data antara produsen dan konsumen.
Sebuah protokol lapisan transport dapat
memberikan dua jenis layanan: tanpa koneksi mengapa suatu proses ingin
(connectionless) dan berorientasi koneksi menggunakannya? Di balik kelemahan datang
(connection-oriented). Pada layanan tanpa beberapa kelebihan. UDP adalah protokol
koneksi, pengirim mengirimkan paket-paket yang sangat sederhana dengan overhead
ke penerima tanpa adanya pembentukan minimum. Jika suatu proses ingin mengirim
koneksi. Pada layanan berorientasi koneksi, pesan kecil dan tidak terlalu memperhatikan
klien dan server pertama-tama perlu keandalan, maka dapat menggunakan UDP.
membangun koneksi di antara mereka. Mengirim pesan kecil menggunakan UDP
Kita telah membahas beberapa protokol membutuhkan interaksi yang jauh lebih
lapisan transport umum dalam bab ini. sedikit antara pengirim dan penerima
Protokol Stop-and-Wait menyediakan kontrol dibandingkan dengan penggunaan TCP. Kita
aliran dan pengendalian kesalahan, tetapi akan membahas beberapa aplikasi dari UDP di
tidak efisien. Protokol Go-Back-N merupakan akhir bagian ini.
versi yang lebih efisien dari protokol Stop-
Layanan Tanpa Koneksi
and-Wait dan memanfaatkan pemipilan
Seperti yang telah disebutkan sebelumnya,
(pipelining). Protokol Selective-Repeat,
UDP menyediakan layanan tanpa koneksi. Ini
modifikasi dari protokol Go-Back-N, lebih
berarti bahwa setiap datagram pengguna
cocok untuk mengatasi kehilangan paket.
yang dikirim oleh UDP adalah datagram
Semua protokol ini dapat diimplementasikan
independen. Tidak ada hubungan antara
secara dua arah menggunakan piggybacking.
datagram pengguna yang berbeda, bahkan
Chapter 24 jika datang dari proses sumber yang sama dan
menuju program tujuan yang sama. Datagram
UDP (User Datagram Protocol)
pengguna ini tidak diberi nomor urutan. Selain
UDP adalah protokol lapisan transport yang
itu, berbeda dengan TCP, tidak ada
tidak dapat diandalkan dan tanpa koneksi,
pembentukan koneksi dan tidak ada
digunakan karena kesederhanaan dan
penutupan koneksi. Ini berarti bahwa setiap
efisiensinya dalam aplikasi di mana kontrol
datagram pengguna dapat melalui jalur yang
kesalahan dapat diberikan oleh proses lapisan
berbeda.
aplikasi.
Kontrol Aliran (Flow Control)
TCP (Transmission Control Protocol) UDP adalah protokol yang sangat sederhana.
TCP adalah protokol berorientasi koneksi yang Tidak ada mekanisme kontrol aliran, dan
dapat diandalkan yang dapat digunakan karena itu tidak ada mekanisme jendela.
dalam aplikasi mana pun di mana keandalan Penerima mungkin mengalami kelebihan
menjadi penting. pesan yang masuk. Kekurangan kontrol aliran
berarti bahwa proses yang menggunakan UDP
SCTP (Stream Control Transmission Protocol) harus menyediakan layanan ini sendiri jika
SCTP adalah protokol lapisan transport baru diperlukan.
yang menggabungkan fitur-fitur dari UDP dan
TCP Kontrol Kesalahan (Error Control)
Tidak ada mekanisme kontrol kesalahan
Protokol User Datagram Protocol (UDP)
dalam UDP kecuali checksum. Ini berarti
adalah protokol transport tanpa koneksi dan
bahwa pengirim tidak tahu apakah sebuah
tidak dapat diandalkan. Protokol ini tidak
pesan hilang atau diduplikasi. Ketika penerima
menambahkan apa pun pada layanan dari IP
mendeteksi kesalahan melalui checksum,
kecuali untuk menyediakan komunikasi dari
datagram pengguna akan dibuang tanpa
proses ke proses daripada komunikasi dari
pemberitahuan. Kekurangan kontrol
host ke host. Jika UDP begitu sederhana,
kesalahan berarti bahwa proses yang
menggunakan UDP harus menyediakan kita bahas sebelumnya. Satu-satunya
layanan ini sendiri jika diperlukan. perbedaan adalah bahwa UDP menyediakan
checksum opsional untuk mendeteksi paket
Checksum yang rusak di sisi penerima. Jika checksum
Kita telah membahas checksum dan ditambahkan ke paket, UDP penerima dapat
perhitungannya dalam Bab 10. Perhitungan memeriksa paket dan membuang paket jika
checksum UDP mencakup tiga bagian: sebuah rusak. Namun, tidak ada umpan balik yang
pseudoheader, header UDP, dan data yang dikirimkan kepada pengirim.
berasal dari lapisan aplikasi. Pseudoheader
Meskipun hampir tidak memenuhi kriteria
adalah bagian dari header paket IP (dibahas
yang telah kita sebutkan sebelumnya untuk
dalam Bab 19) di mana datagram pengguna
protokol lapisan transport yang andal, UDP
akan dienkapsulasi dengan beberapa bidang
lebih diinginkan untuk beberapa aplikasi
diisi dengan nilai 0.
tertentu. Alasannya adalah bahwa beberapa
Karena UDP adalah protokol tanpa koneksi, layanan mungkin memiliki efek samping yang
maka tidak menyediakan kontrol kemacetan. tidak dapat diterima atau tidak diinginkan.
UDP mengasumsikan bahwa paket-paket yang Terkadang seorang perancang aplikasi harus
dikirimkan kecil dan bersifat sporadis, membuat kompromi untuk mendapatkan
sehingga tidak dapat menyebabkan hasil yang optimal. Sebagai contoh, dalam
kemacetan di jaringan. Asumsi ini mungkin kehidupan sehari-hari, kita semua tahu bahwa
benar atau tidak benar pada zaman sekarang, pengiriman paket oleh kurir dalam satu hari
terutama saat UDP digunakan untuk transfer lebih mahal daripada pengiriman dalam tiga
audio dan video interaktif secara real-time. hari. Meskipun kecepatan tinggi dan biaya
rendah adalah fitur yang diinginkan dalam
Pengenkapsulan dan Pengdekapsulasi pengiriman sebuah paket, keduanya
(Encapsulation and Decapsulation) bertentangan satu sama lain. Kita perlu
Untuk mengirim pesan dari satu proses ke memilih yang optimal.
proses lainnya, protokol UDP
Layanan Tanpa Koneksi
mengenkapsulasi dan mengdekapsulasi
Seperti yang telah disebutkan sebelumnya,
pesan.
UDP adalah protokol tanpa koneksi. Setiap
paket UDP independen dari paket lain yang
Antrian (Queuing)
dikirim oleh program aplikasi yang sama. Fitur
Kita telah berbicara tentang nomor port tanpa
ini dapat dianggap sebagai kelebihan atau
membahas implementasi sebenarnya dari
kekurangan tergantung pada persyaratan
mereka. Dalam UDP, antrian-antrian terkait
aplikasi. Ini menjadi kelebihan jika, misalnya,
dengan nomor port.
aplikasi klien perlu mengirimkan permintaan
singkat ke server dan menerima respons
Di sisi klien, ketika suatu proses dimulai, ia
singkat. Jika permintaan dan respons dapat
meminta nomor port dari sistem operasi.
masuk ke dalam satu datagram pengguna,
Beberapa implementasi menciptakan antrian
layanan tanpa koneksi mungkin lebih
masuk dan keluar yang terkait dengan setiap
diinginkan. Overhead untuk membentuk dan
proses. Implementasi lain hanya menciptakan
menutup koneksi mungkin signifikan dalam
antrian masuk yang terkait dengan setiap
kasus ini. Dalam layanan berorientasi koneksi,
proses.
untuk mencapai tujuan di atas, setidaknya 9
Perbandingan antara UDP dan Protokol paket ditukar antara klien dan server; dalam
Sederhana Umum layanan tanpa koneksi, hanya 2 paket yang
Kita dapat membandingkan UDP dengan ditukar. Layanan tanpa koneksi menyediakan
protokol sederhana tanpa koneksi yang telah keterlambatan yang lebih rendah; layanan
berorientasi koneksi menciptakan lebih perlu mengirim data besar (lihat Bab 26).
banyak keterlambatan. Jika keterlambatan UDP cocok untuk proses dengan mekanisme
menjadi masalah penting bagi aplikasi, kontrol aliran dan kesalahan internal. Sebagai
layanan tanpa koneksi lebih diutamakan. contoh, proses Protokol Transfer File
Sederhana (TFTP) mencakup kontrol aliran
Ketidakberadaan Kontrol Kesalahan
dan kesalahan. Ini dapat dengan mudah
UDP tidak menyediakan kontrol kesalahan; ia
menggunakan UDP.
menyediakan layanan yang tidak dapat
UDP adalah protokol transport yang sesuai
diandalkan. Sebagian besar aplikasi
untuk multicasting. Kemampuan multicasting
mengharapkan layanan yang dapat
ditanamkan dalam perangkat lunak UDP
diandalkan dari protokol lapisan transport.
tetapi tidak dalam perangkat lunak TCP.
Meskipun layanan yang dapat diandalkan
UDP digunakan untuk proses manajemen
diinginkan, hal ini dapat memiliki beberapa
seperti SNMP (lihat Bab 27).
efek samping yang tidak dapat diterima oleh
UDP digunakan untuk beberapa protokol
beberapa aplikasi. Ketika lapisan transport
pembaruan rute seperti Protokol Informasi
menyediakan layanan yang dapat diandalkan,
Routing (RIP) (lihat Bab 20).
jika bagian dari pesan hilang atau rusak,
UDP biasanya digunakan untuk aplikasi waktu
bagian tersebut perlu dikirim ulang. Ini berarti
nyata interaktif yang tidak bisa mentolerir
bahwa lapisan transport penerima tidak dapat
keterlambatan yang tidak merata antara
segera mengirimkan bagian tersebut ke
bagian-bagian pesan yang diterima (lihat Bab
lapisan aplikasi; ada keterlambatan yang tidak
28).
merata antara bagian-bagian yang berbeda
dari pesan yang disampaikan ke lapisan Protokol Kontrol Transmisi (TCP) adalah
aplikasi. protokol yang berorientasi koneksi dan andal.
TCP secara eksplisit mendefinisikan fase
pembentukan koneksi, transfer data, dan
Ketidakberadaan Kontrol Kemacetan
pembongkaran koneksi untuk menyediakan
UDP tidak menyediakan kontrol kemacetan.
layanan berorientasi koneksi. TCP
Namun, UDP tidak menciptakan lalu lintas
menggunakan kombinasi protokol GBN dan SR
tambahan dalam jaringan yang rentan
untuk menyediakan keandalan. Untuk
terhadap kesalahan. TCP mungkin mengirim
mencapai tujuan ini, TCP menggunakan
ulang paket beberapa kali dan dengan
checksum (untuk deteksi kesalahan),
demikian berkontribusi pada pembentukan
pengiriman ulang paket yang hilang atau
kemacetan atau memperburuk situasi yang
rusak, pengakuan kumulatif dan selektif, serta
sudah macet. Oleh karena itu, dalam
pengatur waktu. Dalam bagian ini, kita
beberapa kasus, ketidakberadaan kontrol
pertama-tama membahas layanan yang
kesalahan dalam UDP dapat dianggap sebagai
disediakan oleh TCP; kita kemudian
kelebihan ketika kemacetan menjadi masalah
membahas fitur-fitur TCP dengan lebih detail.
besar.
TCP adalah protokol lapisan transport yang
Berikut beberapa aplikasi khas yang bisa paling umum digunakan di Internet.
mendapatkan manfaat lebih dari layanan UDP
Berbeda dengan UDP, TCP adalah protokol
daripada layanan TCP.
berorientasi aliran. Dalam UDP, sebuah proses
mengirim pesan dengan batas yang telah
UDP cocok untuk proses yang memerlukan
ditentukan kepada UDP untuk pengiriman.
komunikasi permintaan-respon sederhana
UDP menambahkan header sendiri ke setiap
dengan sedikit perhatian terhadap kontrol
pesan ini dan mengirimkannya kepada IP
aliran dan kesalahan. Biasanya tidak
untuk transmisi. Setiap pesan dari proses
digunakan untuk proses seperti FTP yang
disebut datagram pengguna (user datagram),
dan pada akhirnya menjadi sebuah datagram nomor urutan dan nomor pengakuan. Dua
IP. Tidak ada hubungan yang diakui baik oleh bidang ini merujuk pada nomor byte dan
IP maupun UDP antara datagram-datagram bukan nomor segmen.
tersebut. Nomor Byte
TCP menomori semua byte data (oktet) yang
Di sisi lain, TCP memungkinkan proses ditransmisikan dalam sebuah koneksi.
pengirim untuk mengirimkan data sebagai Penomoran dilakukan secara independen
aliran byte, dan memungkinkan proses dalam setiap arah. Ketika TCP menerima byte-
penerima untuk memperoleh data sebagai byte data dari suatu proses, TCP
aliran byte. TCP menciptakan lingkungan di menyimpannya di dalam buffer pengiriman
mana kedua proses tampaknya terhubung dan menomorinya. Penomoran tidak selalu
oleh sebuah "tabung" imajiner yang dimulai dari 0. Sebagai gantinya, TCP memilih
membawa byte-byte mereka melintasi nomor sembarang antara 0 dan 232 − 1 untuk
Internet. Lingkungan imajiner ini digambarkan nomor byte pertama.
dalam Gambar 24.4. Proses pengirim
Stream Control Transmission Protocol (SCTP)
menghasilkan (menulis ke) aliran tersebut,
adalah protokol transport-layer baru yang
sementara proses penerima mengonsumsinya
dirancang untuk menggabungkan beberapa
(membaca dari).
fitur UDP dan TCP dalam upaya untuk
Layanan Berorientasi Koneksi membuat protokol untuk komunikasi
TCP, tidak seperti UDP, adalah protokol multimedia.
berorientasi koneksi. Ketika suatu proses di
Transfer Data
situs A ingin mengirim dan menerima data
Tujuan utama dari suatu asosiasi adalah untuk
dari proses lain di situs B, tiga fase berikut
mentransfer data antara dua ujung. Setelah
terjadi:
asosiasi dibentuk, transfer data dapat
dilakukan dalam kedua arah. Klien dan server
Dua TCP membentuk koneksi logis di antara
keduanya dapat mengirim data. Seperti TCP,
mereka.
SCTP juga mendukung piggybacking.
Data pertukaran dalam kedua arah.
Koneksi diakhiri. Multihoming memungkinkan kedua ujung
Perlu ditekankan bahwa ini adalah koneksi untuk menentukan beberapa alamat IP untuk
logis, bukan koneksi fisik. Segmen TCP komunikasi. Namun, hanya satu dari alamat-
dienkapsulasi dalam datagram IP dan dapat alamat ini yang dapat ditentukan sebagai
dikirimkan secara tidak berurutan, hilang, alamat utama; yang lainnya adalah alamat
atau rusak, dan kemudian diresend. Masing- alternatif. Alamat utama ditentukan selama
masing segmen tersebut dapat diarahkan pembentukan asosiasi. Yang menarik adalah
melalui jalur yang berbeda untuk mencapai bahwa alamat utama dari suatu ujung
tujuan. Tidak ada koneksi fisik yang dibentuk. ditentukan oleh ujung lainnya. Dengan kata
TCP menciptakan lingkungan berorientasi lain, sumber menentukan alamat utama untuk
aliran di mana TCP bertanggung jawab untuk tujuan.
mengirimkan byte-byte secara terurut kepada
ujung lainnya. SLS (Stream Label Sequence): Ini adalah
nomor yang digunakan untuk mengidentifikasi
Sistem Penomoran aliran (stream) dalam protokol SCTP. Setiap
Meskipun perangkat lunak TCP melacak aliran memiliki label SLS yang berbeda untuk
segmen-segmen yang sedang dikirim atau membedakan satu aliran dari yang lain. Ini
diterima, tidak ada bidang untuk nilai nomor memungkinkan SCTP untuk memisahkan data
segmen dalam header segmen. Sebagai yang dikirim melalui aliran-aliran yang
gantinya, terdapat dua bidang yang disebut
berbeda. ke dalam ember (bucket) dibiarkan "bocor"
keluar dari lubang pada laju yang konstan.
SSN (Stream Sequence Number): SSN adalah Teknik ini digunakan untuk meratakan
nomor yang digunakan untuk mengidentifikasi lonjakan data yang masuk. Jika lonjakan data
urutan data dalam aliran (stream) tertentu. datang dengan laju tinggi, teknik "leaky
Setiap aliran memiliki urutan data yang terkait bucket" akan mengatur laju keluar data agar
dengannya, dan SSN digunakan untuk tetap konsisten dan mencegah terjadinya
mengatur urutan data ini. Ketika data dikirim lonjakan lalu lintas yang berlebihan. Ini
dalam suatu aliran, SSN akan meningkat untuk membantu menjaga kualitas dan kinerja
setiap data yang dikirimkan. jaringan yang lebih stabil.

Token Bucket:
Retransmisi
Dalam teknik "token bucket," setiap "token"
Untuk mengendalikan data yang hilang atau
yang mewakili sejumlah data tertentu
dibuang, SCTP, seperti TCP, menggunakan dua
diberikan pada interval waktu tertentu. Jika
strategi: menggunakan timer retransmisi dan
ada data yang ingin dikirim, harus ada cukup
menerima tiga SACK dengan potongan data
token yang tersedia untuk merepresentasikan
yang hilang yang sama.
data tersebut. Jika token tidak tersedia, data
tersebut harus menunggu hingga token
Retransmisi. SCTP menggunakan timer
tersedia. Teknik ini membantu mengontrol
retransmisi, yang mengatur waktu
laju data yang masuk atau keluar dari jaringan
retransmisi, yaitu waktu menunggu untuk
dengan memberikan batasan pada jumlah
pengakuan dari segmen. Prosedur
token yang tersedia. Ini dapat digunakan
perhitungan RTO (Retransmission Timeout)
untuk mencegah lonjakan data yang
dan RTT (Round Trip Time) dalam SCTP sama
berlebihan dan menjaga lalu lintas jaringan
seperti yang telah kami jelaskan untuk TCP.
tetap teratur.
SCTP menggunakan RTT yang diukur (RTTM),
RTT yang disempurnakan (RTTS), dan deviasi
RTT (RTTD) untuk menghitung RTO. SCTP juga Admission control merujuk pada mekanisme
menggunakan algoritma Karn untuk yang digunakan oleh router atau switch untuk
menghindari ambiguitas pengakuan. Perlu menerima atau menolak aliran data
dicatat bahwa jika host menggunakan lebih berdasarkan parameter yang telah
dari satu alamat IP (multihoming), RTO yang ditentukan, yang disebut spesifikasi aliran
terpisah harus dihitung dan dijaga untuk (flow specifications).
setiap jalur.
Empat Laporan Hilang. Setiap kali pengirim
Rspec (resource specification) adalah definisi
menerima empat SACK yang informasi ACK
sumber daya yang diperlukan oleh aliran data
celahnya menunjukkan bahwa satu atau lebih
untuk melakukan reservasi (buffer,
potongan data tertentu hilang, pengirim perlu
bandwidth, dll.).
mempertimbangkan potongan-potongan itu
sebagai hilang dan segera memindahkannya
Tspec (traffic specification) adalah definisi
ke dalam antrian retransmisi. Perilaku ini
karakterisasi lalu lintas aliran data, yang telah
analog dengan "fast retransmission" dalam
kita bahas sebelumnya.
TCP.

Chapter 30 Gaya Filter Wild Card. Dalam gaya ini,


router membuat satu reservasi tunggal
Leaky Bucket: untuk semua pengirim. Reservasi
Dalam teknik "leaky bucket," data yang masuk didasarkan pada permintaan terbesar.
Gaya ini digunakan ketika aliran dari bervariasi dan memiliki toleransi terhadap
pengirim yang berbeda tidak terjadi pada delay, seperti aplikasi data non-real-time.
waktu yang sama. Gaya Filter Tetap. Dalam
gaya ini, router membuat reservasi VBR-RT (Variable Bit Rate - Real Time): Kelas
aliran ini juga memungkinkan variasi laju bit,
terpisah untuk setiap aliran. Ini berarti
tetapi dengan prioritas tinggi. Digunakan
bahwa jika ada n aliran, dibuat n reservasi
untuk aplikasi yang membutuhkan bandwidth
yang berbeda. Gaya ini digunakan ketika bervariasi dan memiliki kebutuhan terhadap
ada kemungkinan tinggi bahwa aliran dari delay yang konsisten, seperti layanan video
pengirim yang berbeda akan terjadi pada streaming atau layanan suara.
saat yang sama. Gaya Berbagi Eksplisit.
Dalam gaya ini, router membuat satu ABR (Available Bit Rate): Kelas aliran ini secara
reservasi tunggal yang dapat dibagikan dinamis mengalokasikan bandwidth sesuai
oleh sekumpulan aliran. dengan kebutuhan dan kapasitas jaringan
yang tersedia. Ini memberikan keseimbangan
Layanan Terintegrasi (IntServ) adalah antara efisiensi bandwidth dan kebutuhan
arsitektur berbasis aliran yang mencoba aplikasi.
menggunakan spesifikasi aliran, kontrol
penerimaan, dan kelas layanan untuk UBR (Unspecified Bit Rate): Kelas aliran ini
menyediakan QoS di Internet. Pendekatan ini tidak menjamin bandwidth atau layanan
memerlukan protokol terpisah untuk tertentu. Digunakan untuk aplikasi yang
membuat layanan berorientasi koneksi untuk toleran terhadap delay dan tidak memerlukan
tujuan ini. Protokol yang menyediakan bandwidth yang terjamin.
layanan berorientasi koneksi disebut Protokol
Reservasi Sumber Daya (RSVP), yang Snooping mengacu pada akses atau
menyediakan koneksi multicasting antara penyadapan data tanpa izin. Sebagai contoh,
sumber dan banyak tujuan. sebuah file yang ditransfer melalui Internet
mungkin berisi informasi rahasia. Entitas yang
Differentiated Service (DiffServ) adalah tidak diizinkan dapat menyadap transmisi dan
arsitektur yang mencoba mengatasi lalu lintas menggunakan kontennya untuk
berdasarkan kelas paket, yang ditandai oleh keuntungannya sendiri. Untuk mencegah
sumber. Setiap paket ditandai oleh sumber snooping, data dapat dibuat tidak dapat
sebagai milik kelas tertentu; namun, paket dimengerti oleh penyadap dengan
tersebut mungkin ditunda atau dihapus jika menggunakan teknik enkripsi
lalu lintas sibuk dengan paket kelas yang lebih
Modifikasi: Penyerang mengubah informasi
tinggi.
yang disadap atau diakses untuk
CBR (Constant Bit Rate): Kelas aliran ini mendapatkan manfaat. Sebagai contoh,
mengalokasikan bandwidth tetap untuk aliran penyerang bisa mengubah jenis transaksi
data dengan laju tetap. Biasanya digunakan dalam pesan untuk mendapatkan keuntungan
untuk aplikasi yang memiliki kebutuhan finansial.
bandwidth yang konsisten, seperti layanan
suara atau video real-time. Pemalsuan (Masquerading): Penyerang
menyamar sebagai orang lain, seperti mencuri
VBR-NRT (Variable Bit Rate - Non-Real Time): kartu bank dan PIN pelanggan untuk
Kelas aliran ini memungkinkan variasi laju bit melakukan tindakan ilegal. Penyerang juga
dengan prioritas rendah. Digunakan untuk bisa menyamar sebagai entitas penerima
aplikasi yang membutuhkan bandwidth untuk mendapatkan informasi.
Pemutaran Ulang (Replaying): Penyerang IDS (Intrusion Detection System): Sistem yang
merekam dan mengulang kembali pesan yang mendeteksi serangan dan ancaman
dikirim oleh pengguna untuk mendapatkan keamanan.
manfaat ganda, seperti menerima IPS (Intrusion Prevention System): Sistem
pembayaran lebih dari satu kali. yang mencegah serangan sebelum terjadi.
Patch Management: Memastikan sistem
Penyangkalan (Repudiation): Salah satu pihak selalu diperbarui dengan perbaikan keamanan
dalam komunikasi, baik pengirim atau terbaru.
penerima, menyangkal keterlibatan mereka Access Control: Mengatur hak akses pengguna
dalam transaksi atau pesan. Ini bisa untuk meminimalkan risiko.
mengakibatkan masalah hukum atau Dalam konteks keamanan jaringan, perlu
kebingungan terkait tanggung jawab diingat bahwa serangan dan ancaman dapat
bervariasi, dan solusi keamanan harus
Keamanan jaringan adalah upaya untuk
disesuaikan dengan kebutuhan dan
melindungi informasi, sumber daya, dan
karakteristik spesifik jaringan atau sistem.
layanan dalam jaringan dari ancaman dan
serangan yang mungkin datang dari luar atau ITU-T mendefinisikan layanan keamanan
dalam jaringan. Beberapa ancaman umum untuk mencegah serangan dan mencapai
meliputi: tujuan keamanan. Kriptografi dan
steganografi adalah dua teknik utama untuk
Snooping: Pengaksesan atau penyadapan data mencapai tujuan ini.
secara tidak sah.
Traffic Analysis: Memantau lalu lintas jaringan Kriptografi: Kriptografi adalah ilmu dan seni
untuk mendapatkan informasi sensitif. mengamankan pesan dengan mengubahnya
Modification: Mengubah data untuk menggunakan kunci rahasia. Ini melibatkan
keuntungan pribadi. tiga mekanisme utama: enkripsi kunci simetris
Masquerading (Spoofing): Menyamar sebagai (sama kunci untuk enkripsi dan dekripsi),
entitas lain untuk tujuan penipuan. enkripsi kunci asimetris (kunci publik dan
Replaying: Mengulang kembali pesan yang pribadi), dan hashing (transformasi pesan
telah direkam sebelumnya. menjadi nilai tetap panjang). Kriptografi
Repudiation: Menyangkal keterlibatan dalam melindungi integritas dan kerahasiaan pesan.
komunikasi atau transaksi.
Denial of Service (DoS): Mencoba Steganografi: Steganografi adalah teknik yang
menghentikan layanan atau sistem dengan mengandalkan menyembunyikan pesan dalam
berbagai metode. media lain, seperti gambar atau suara,
Untuk melindungi jaringan dari ancaman sehingga pesan tidak terdeteksi. Ini berbeda
tersebut, ada beberapa tindakan pencegahan dengan kriptografi yang mengubah isi pesan.
dan teknik keamanan yang dapat diambil: Steganografi lebih fokus pada
"menyembunyikan" daripada "mengenkripsi".
Enkripsi: Menggunakan teknik enkripsi untuk Teknik ini memungkinkan pengirim untuk
membuat data tidak dapat dimengerti oleh mengirim pesan secara diam-diam.
pihak yang tidak sah.
Autentikasi: Memastikan bahwa identitas Kedua teknik ini memiliki peran penting dalam
pengguna atau entitas di jaringan adalah yang keamanan informasi dan sering digunakan
sebenarnya. bersama-sama untuk mengamankan
Firewalls: Penghalang yang mengatur lalu komunikasi dan data, serta melindungi dari
lintas masuk dan keluar untuk mencegah serangan seperti snooping, modifikasi, dan
akses yang tidak sah. serangan DoS.
fungsi hash kriptografis mengambil pesan berorientasi koneksi seperti TCP. Dua protokol
dengan panjang sembarang dan yang dominan saat ini untuk menyediakan
menciptakan ringkasan pesan dengan keamanan pada lapisan transportasi adalah
panjang tetap. Semua fungsi hash Secure Sockets Layer (SSL) dan Transport
Layer Security (TLS). Kami membahas SSL
kriptografis perlu menciptakan ringkasan
dalam bab ini; TLS serupa.
berukuran tetap dari pesan berukuran
variabel. Menciptakan fungsi semacam ini Meskipun SSL atau TLS dapat menyediakan
lebih baik dilakukan dengan iterasi. Alih- keamanan untuk aplikasi yang menggunakan
alih menggunakan fungsi hash dengan layanan protokol berorientasi koneksi seperti
input berukuran variabel, diciptakanlah TCP, aplikasi surel adalah pengecualian karena
fungsi dengan input berukuran tetap yang aplikasi ini menggunakan komunikasi satu
digunakan sejumlah kali yang diperlukan. arah. Pretty Good Privacy (PGP), yang
diciptakan oleh Phil Zimmermann,
SSL (Secure Sockets Layer) dirancang menyediakan privasi, integritas, dan otentikasi
untuk menyediakan layanan keamanan untuk surel. Layanan keamanan lain yang
dan kompresi terhadap data yang dirancang untuk surel elektronik adalah
dihasilkan dari lapisan aplikasi. Biasanya, Secure/Multipurpose Internet Mail Extension
SSL dapat menerima data dari protokol (S/MIME).
lapisan aplikasi apa pun, tetapi biasanya
protokol yang digunakan adalah HTTP. Firewall adalah perangkat (biasanya router
Data yang diterima dari aplikasi dapat atau komputer) yang dipasang di antara
jaringan internal suatu organisasi dan seluruh
dikompresi (opsional), ditandatangani, dan
Internet. Ini dirancang untuk meneruskan
dienkripsi. Data tersebut kemudian
beberapa paket dan menyaring yang lain.
diteruskan ke protokol lapisan transport
Biasanya, firewall diklasifikasikan sebagai
yang dapat diandalkan seperti TCP.
Netscape mengembangkan SSL pada
firewall penyaring paket atau firewall proxy.
tahun 1994. Versi 2 dan 3 dirilis pada

P
tahun 1995. Dalam bagian ini, kita
membahas tentang SSLv3. rotokol pertama yang dibahas di bagian
IP Security (IPSec) adalah kumpulan protokol ini disebut Pretty Good Privacy (PGP). PGP
yang dirancang oleh IETF untuk menyediakan diciptakan oleh Phil Zimmermann untuk
keamanan bagi paket pada tingkat jaringan. menyediakan e-mail dengan privasi,
IPSec beroperasi dalam mode transport atau integritas, dan otentikasi. PGP dapat
mode tunnel. IPSec mendefinisikan dua digunakan untuk membuat pesan e-mail
protokol: Protokol Authentication Header yang aman.
(AH) dan Protokol Encapsulating Security
TELNET adalah aplikasi client-server yang
Payload (ESP). IPSec menciptakan asosiasi
memungkinkan pengguna untuk masuk ke
berorientasi koneksi di bagian atas protokol IP
mesin remote, memberikan akses ke sistem
yang tanpa koneksi untuk dapat menyediakan
remote tersebut. Ketika seorang pengguna
keamanan.
mengakses sistem remote melalui proses
TELNET, ini dapat dibandingkan dengan
Protokol keamanan lapisan transportasi
lingkungan berbagi waktu (time-sharing). SSH
menyediakan layanan keamanan ujung ke
adalah versi yang aman dari TELNET yang
ujung untuk aplikasi yang menggunakan
sangat umum digunakan saat ini.
layanan protokol lapisan transportasi
berhubungan dengan perubahan fisik atau
Sistem Nama Domain (DNS) adalah aplikasi logis dari entitas jaringan. Manajemen
client-server yang berfungsi sebagai "buku gangguan berkaitan dengan operasi yang
telepon" dari internet. Ini menghubungkan benar dari setiap komponen jaringan.
nama domain yang mudah diingat (seperti Manajemen kinerja berkaitan dengan
www.example.com) dengan alamat IP yang pemantauan dan pengendalian jaringan untuk
sesuai (seperti 192.168.1.1). DNS memastikan jaringan berjalan dengan efisien.
menggunakan struktur hierarkis untuk Manajemen keamanan berkaitan dengan
mengelola pemetaan ini dengan efisien dan pengendalian akses ke jaringan. Manajemen
mendistribusikan tanggung jawab akuntansi berkaitan dengan pengendalian
mempertahankan catatan nama domain ke akses pengguna ke sumber daya jaringan
berbagai server. Desentralisasi ini membantu melalui biaya.
memastikan kehandalan dan ketersediaan
sistem DNS. Simple Network Management Protocol
(SNMP) adalah kerangka kerja untuk
World Wide Web (WWW) adalah gudang
mengelola perangkat dalam sebuah internet
informasi yang saling terhubung dari berbagai
menggunakan paket protokol TCP/IP.
belahan dunia. Dokumen hiperteks dan
Manajer, biasanya dalam bentuk host,
hipermedia saling terhubung melalui
mengontrol dan memantau kumpulan agen,
penghubung. Hypertext Transfer Protocol
yang biasanya adalah router. SNMP
(HTTP) adalah protokol utama yang digunakan
menggunakan layanan SMI dan MIB. SMI
untuk mengakses data di Web.
memberi nama pada objek, mendefinisikan
jenis data yang dapat disimpan dalam sebuah
File Transfer Protocol (FTP) adalah aplikasi
objek, dan mengodekan data tersebut. MIB
client-server yang menggunakan protokol
adalah kumpulan dari kelompok-kelompok
TCP/IP untuk menyalin file dari satu host ke
objek yang dapat dikelola oleh SNMP. MIB
host lainnya. FTP membutuhkan dua koneksi
menggunakan urutan leksikografis untuk
untuk transfer data: koneksi kontrol dan
mengelola variabel-variabelnya.
koneksi data. FTP menggunakan NVT ASCII
untuk komunikasi antara sistem-sistem yang
Abstract Syntax Notation Number One (ASN.1)
berbeda.
adalah bahasa yang mendefinisikan sintaks
dan semantik dari data. Ia menggunakan
Surel elektronik (e-mail) adalah salah satu
beberapa simbol, kata kunci, dan tipe data
aplikasi paling umum di Internet. Arsitektur e-
sederhana dan terstruktur. Sebagian dari
mail terdiri dari beberapa komponen seperti
ASN.1 digunakan oleh SMI untuk
agen pengguna (UA), agen transfer pesan
mendefinisikan format objek dan nilai yang
(MTA), dan agen akses pesan (MAA). Protokol
digunakan dalam manajemen jaringan.
yang mengimplementasikan MTA disebut
Simple Mail Transfer Protocol (SMTP). Dua Data multimedia umumnya dikompres
protokol yang digunakan untuk sebelum ditransmisikan. Kompresi dapat
mengimplementasikan MAA adalah Post dibagi menjadi dua kategori besar: kompresi
Office Protocol, versi 3 (POP3) dan Internet tanpa kehilangan (lossless) dan kompresi
Mail Access Protocol, versi 4 (IMAP4). dengan kehilangan (lossy). Dalam kompresi
tanpa kehilangan, integritas data
Lima area yang mencakup manajemen
dipertahankan karena algoritma kompresi dan
jaringan adalah manajemen konfigurasi,
dekompresinya merupakan kebalikan yang
manajemen gangguan, manajemen kinerja,
tepat satu sama lain: tidak ada bagian dari
manajemen akuntansi, dan manajemen
data yang hilang dalam proses ini. Kompresi
keamanan. Manajemen konfigurasi
dengan kehilangan tidak dapat jaringan P2P terpusat, sistem direktori
mempertahankan akurasi data, tetapi kita menggunakan paradigma klien-server, tetapi
mendapatkan manfaat dari pengurangan penyimpanan dan pengunduhan file dilakukan
ukuran data yang terkompresi. menggunakan paradigma peer-to-peer. Dalam
jaringan terdesentralisasi, baik sistem
Berkas audio/video dapat diunduh untuk direktori maupun penyimpanan dan
penggunaan di masa depan (streaming pengunduhan file dilakukan menggunakan
audio/video yang disimpan) atau disiarkan ke paradigma peer-to-peer. Ide utama di balik
klien melalui Internet (streaming audio/video jaringan P2P terdesentralisasi adalah
langsung). Internet juga dapat digunakan Distributed Hash Table (DHT), konsep
untuk interaksi audio/video secara langsung. matematis untuk routing dalam jenis jaringan
Audio dan video perlu diubah menjadi bentuk ini.
digital sebelum dikirimkan melalui Internet.
Kita dapat menggunakan server web, server Salah satu jaringan P2P yang menggunakan
web dengan metafile, server media, atau DHT adalah Chord. Tabel jari yang digunakan
server media dan RTSP untuk mengunduh untuk routing dalam jaringan ini adalah ide
berkas streaming audio/video. yang sangat baik dan inovatif. Jaringan P2P
lainnya disebut Pastry, yang seperti Chord,
Data waktu nyata pada jaringan paket- menggunakan DHT. Pastry menggunakan
switched membutuhkan pemeliharaan tabel routing dan himpunan daun (leaf sets)
hubungan waktu antara paket-paket dari sesi. untuk merutekan kueri dalam jaringan.
Kesenjangan antara paket-paket berturut- Jaringan ketiga yang dibahas dalam bab ini
turut di penerima menyebabkan fenomena disebut Kademlia, yang menggunakan
yang disebut jitter. Jitter dapat dikendalikan pendekatan berbeda dari dua yang
melalui penggunaan penanda waktu sebelumnya. Ia menggunakan tabel routing
(timestamps) dan pemilihan waktu pemutaran dan k-bucket untuk merutekan kueri, tetapi
yang bijaksana. konsep jarak dalam jaringan ini sepenuhnya
berbeda dari dua yang lainnya. Sebagai
Lalu lintas multimedia waktu nyata contoh praktis, kami menyebutkan BitTorrent,
memerlukan penggunaan baik UDP maupun jaringan P2P populer yang digunakan untuk
Real-time Transport Protocol (RTP). RTP berbagi file. Kami membahas dua versi dari
mengelola penanda waktu, urutan, dan jaringan ini, BitTorrent dengan pelacak
pencampuran. Real-time Transport Control (tracker) dan BitTorrent tanpa pelacak, yang
Protocol (RTCP) menyediakan kontrol aliran, telah dirancang. Versi kedua menggunakan
kendali kualitas data, dan umpan balik kepada konsep yang dijelaskan dalam Kademlia.
sumber data. Session Initiation Protocol (SIP)
adalah protokol lapisan aplikasi yang
Aplikasi di Internet dirancang menggunakan
mendirikan, mengelola, dan mengakhiri sesi
paradigma klien-server atau paradigma peer-
multimedia. H.323 adalah standar ITU yang
to-peer. Dalam paradigma klien-server,
memungkinkan telepon yang terhubung ke
program aplikasi yang disebut server
jaringan telepon umum berbicara dengan
menyediakan layanan, dan program aplikasi
komputer yang terhubung ke Internet. Dalam
lain yang disebut klien menerima layanan.
jaringan peer-to-peer (P2P), pengguna
Program server adalah program yang tak
Internet yang siap berbagi sumber daya
terbatas; program klien adalah program yang
mereka menjadi rekan sejawat dan
berakhir. Dalam paradigma peer-to-peer,
membentuk jaringan. Jaringan peer-to-peer
seorang rekan sejawat dapat berperan
dibagi menjadi terpusat (centralized) dan
sebagai klien maupun server.
terdesentralisasi (decentralized). Dalam
Sebuah server dalam paradigma klien-server
dapat dirancang sebagai server iteratif atau
server konkuren. Server iteratif menangani
klien satu per satu. Server konkuren dapat
secara bersamaan melayani banyak klien
sesuai dengan sumber daya komputer yang
ada. Pasangan klien-server yang
menggunakan layanan lapisan transportasi
tanpa koneksi, seperti UDP, sebaiknya
dirancang sebagai program tanpa koneksi.
Pasangan klien-server yang menggunakan
layanan lapisan transportasi berkoneksi,
seperti TCP, sebaiknya dirancang sebagai
program berkoneksi.

Meskipun ada beberapa cara untuk menulis


program aplikasi klien atau server, kita hanya
membahas pendekatan antarmuka soket
(socket interface). Ide utamanya adalah
menciptakan lapisan abstrak baru, yaitu
lapisan antarmuka soket, antara sistem
operasi dan lapisan aplikasi. Pemrograman
jaringan pasti harus berurusan dengan soket
dan alamat soket. Kami menunjukkan
bagaimana hal ini dapat dilakukan
menggunakan struktur dalam bahasa C dan
kelas dalam bahasa Java. Kami juga
memberikan kode untuk program klien-server
sederhana dalam bahasa C dan Java yang
dapat digunakan baik dengan UDP maupun
TCP.

Anda mungkin juga menyukai