Analisa Perbandingan Kinerja Video Streaming Pada Jaringan Wlan Ad-Hoc Dengan Menggunakan Trasnport Layer Protocol Standar : Tcp, Tcp Vegas, Dan Udp Menggunakan Ns-2
BAB II
TEORI DASAR
2.1
Umum
Teknologi wireless adalah teknologi yang memungkinkan kita dapat
melakukan hubungan komunikasi tanpa menggunakan media kabel (nirkabel)
melainkan dengan menggunakan gelombang elektromagnetik . Teknologi
wireless merupakan teknologi yang salah satu perkembangannya sangat cepat
saat ini karena memiliki mobility yang tinggi. Terdapat berbagai jenis teknologi
wireless seperti: infrared, bluetooth, radio frekuensi, wireless LAN, Ad hoc dll.
2.2
Konsep Wireless
Untuk menghubugkan sebuah computer yang satu dengan yang lain, maka
diperlukan adanya jaringan wireless. Ada 3 komponen yang dibutuhkan agar
komponen-komponen yang berada dalam wilayah jaringan wireless bisa sukses
dalam mengirim dan menerima data, komponen-komponen tersebut adalah :
1. Sinyal Radio (Radio Signal)
2. Format Data (Data Format)
3. Struktur Jaringan (Network Structure)
Teknologi Wireless bekerja dengan menggunakan gelombang radio. Sinyal
radio menjalar dari pengirim ke penerima bisa melalui free space, pantulanpantulan, difraksi, line of sight dan obstructed tiap sinyal (pada jalur yang
berbeda-beda) dan memiliki level kekuatan, delay dan fasa yang berbeda-beda.
6
Universitas Sumatera Utara
Awalnya teknologi ini didesain untuk aplikasi perkantoran dalam
ruangan, namun sekarang wireless LAN dapat digunakan pada jaringan peer to
peer dalam ruangan dan juga point to point diluar ruangan. Jaringan ini juga bisa
di optimalkan pada lingkungan yang berbeda. Dapat mengatasi kendala geografis
dan rumitnya instalasi kabel. Jaringan wireless memiliki berbagai jenis tetapi
umumnya digolongkan ke dalam empat jenis berdasarkan jangkauannya. Gambar
2.1 menunjukkan
empat jenis
jaringan wireless berdasarkan jangkauannya
[1].
Gambar 2.1 Jenis Jaringan Wireless Berdasarkan Jangkauan
2.3
Jaringan Ad hoc
Jaringan ad hoc didasari pada spesifikasi IEEE 802.11. Jaringan ad hoc
merupakan paradigma baru dari komunikasi nirkabel untuk mobile host (node)
yang berhubungan satu sama lain secara peer to peer . Pada jaringan ini
komunikasi node dengan node yang lain dilakukan secara spontan/langsung tanpa
7
Universitas Sumatera Utara
Universitas Sumatera Utara
mengakibatkan tidak diperlukannya lintasan melalui node B tetapi langsung
melalui node C [2].
Untuk jaringan mobile ad hoc, isu paket routing antara setiap pasangan
node menjadi permasalahan sendiri karena node dapat bergerak secara acak dalam
jaringan. Sebuah lintasan yang dianggap optimal pada titik waktu tertentu
mungkin tidak bekerja sama sekali beberapa saat kemudian. Selain itu, sifat
stochastic saluran nirkabel menambah ketidakpastian kualitas lintasan [2].
2.4
Transport Layer Protocol
Merupakan salah satu dari OSI Layer yang berada pada tingkat ke-empat
yang memiliki peran dan fungsi sebagai berikut :
1.
Segmentasi: Layer transport bertanggung jawab untuk melakukan segmentasi
data yang diterima dari layer atas (layer application). Setiap pecahan data
hasil segmentasi akan di enkapsulasi dengan header yang berisi informasiinformasi layer transport seperti, nomor urut (sequence) dan juga port
address pengirim dan penerima.
2.
Reassembling data: Pada sisi penerima, transport layer memanfaatkan
informasi
yang
ada
pada
header
layer
transport
untuk menyusun
ulang segmen-segmen data menjadi data yang utuh sebelum diberikan ke layer
atas (application).
3.
Identifikasi aplikasi (port-addresssing) : Agar data dapat disampaikan pada
aplikasi yang tepat, layer transport harus mengidentifikasi target aplikasi yang
dituju
layer
transport.
Untuk
itu
layer
transport
memberikan
9
Universitas Sumatera Utara
identifier/addressing
untuk
aplikasi
(service/layanan)
yang
disebut
dengan port number.
4.
Multiplexing/Demultiplexing : merupakan sebuah proses dimana protokol pada
sebuah layer dapat melakukan proses encapsulation terhadap paket data dari
beberapa buah protokol di layer atas secara bersamaan dalam satu waktu dan
sebaliknya.
5.
Reliable Delivery : Banyak hal yang bisa menyebabkan data korup atau hilang
dalam proses pengiriman. Transport layer dapat memastikan penerima
mendapatkan data tersebut dengan mengirim ulang data yang hilang.
6.
Sequencing : Banyaknya rute untuk mencapai tujuan dapat menyebabkan data
diterima tidak berurutan, transport layer dapat menyusun ulang data secara
benar dengan adanya penomoran dan sequencing.
7.
Flow control : Karena emori komputer atau bandwidth network terbatas,
transport layer bisa meminta aplikasi pengirim untuk mengurangi kecepatan
pengiriman data. Hal ini dapat mengurangi hilangnya data dan proses
pengiriman ulang [3].
Beberapa aplikasi memerlukan requirement pengiriman data yang
berbeda, karena itulah dibuat beberapa protokol transport yang berbeda untuk
memenuhi requirement tersebut. Adapun contoh dari transport layer protokol
adalah TCP, UDP dan TCP Vegas.
2.5
Transmission Control Protocol
TCP merupakan protokol yang bersifat connection oriented. Artinya
10
Universitas Sumatera Utara
sebelum
proses
transmisi
data
terjadi,
dua aplikasi
TCP
harus
melakukan pertukaran kontrol informasi (handshaking). TCP juga bersifat
reliable karena menerapkan fitur deteksi kesalahan dan retransmisi apabila
ada data yang rusak, sehingga keutuhan data dapat terjamin. Sedangkan byte
stream service artinya paket akan dikirimkan ke tujuan secara berurutan
(sequencing).
Protokol TCP bertanggung jawab untuk pengiriman data dari sumber
ke tujuan dengan benar. TCP dapat mendeteksi kesalahan atau hilangnya
data dan melakukan pengiriman kembali sampai data diterima dengan
lengkap. TCP selalu meminta konfirmasi setiap kali data dikirim untuk
memastikan apakah data telah sampai di tempat tujuan. Kemudia TCP akan
mengirimkan data berikutnya atau melakukan retransmisi (pengiriman
ulang) apabila data sebelumnya tidak sampai atau rusak. Data yang dikirim
dan diterima kemudian diatur berdasarkan nomor urut [3].
Protokol TCP sangat cocok digunakan untuk koneksi yang membutuhkan
kehandalan tinggi, seperti aplikasi telnet, ssh, ftp, http, dan beberapa layanan
lainnya.
2.5.1 Karakteristik TCP
Adapun karakteristik dari TCP adalah sebagai berikut :
1. Reliable. Berarti data yang ditransfer ke tujuannya dalam suatu urutan seperti
ketika dikirim (andal).
2. Berorientasi
sambungan
(connection-oriented ).
Sebelum
data
dapat
ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi
11
Universitas Sumatera Utara
harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu.
Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP
(TCP connection termination).
3. Full-duplex. Untuk setiap host TCP, koneksi yang terjadi antara dua host
terdiri atas dua buah jalur, yakni keluar dan jalur masuk. Dengan
menggunakan teknologi lapisan yang lebih rendah yang mendukung fullduplex, maka data pun dapat secara simultan diterima dan dikirim. Header
TCP berisi nomor urut TCP dari data yang ditransmisikan dan sebuah
acknowledgement dari data yang ditransmisikan dan sebuah acknowledgement
dari data yang masuk.
4. Flow control. Untuk mencegah data terlalu banyak dikirimkan pada suatu
waktu, yang akhirnya membuat macet jaringan. TCP mengimplimentasikan
layanan flow control yang dimiliki pihak pengirim secara terus menerus untuk
memantau dan membatasi jumlah data yang dikirimkan pada suatu waktu.
Untuk mencegah pihak penerima memperoleh data yang tidak dapat
disangganya (buffer ). TCP juga mengimplementasikan flow control dalam
pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia
dalam pihak penerima.
5. Segmentasi. Melakukan segmentasi terhadap data yang datang dari lapisan
aplikasi mengirimkan paket secara one-to-one. Hal ini karena TCP memang
harus membuat sirkuit logis antara dua buah protokol lapisan aplikasi agar
saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data
secara one-to-many [3].
12
Universitas Sumatera Utara
2.5.2 Cara kerja TCP
Adapun langkah-langkah cara kerja dari protokol TCP ini adalah :
1. datagram dibagi-bagi ke dalam bagian-bagian kecil sesuai dengan ukuran
bandwidth dimana data tersebut akan dikirimkan.
2. Pada lapisan TCP, data tersebut lalu “dibungkus” dengan informasi header
yang dibutuhkan. Misalnya seperti cara mengarahkan data tersebut ke
tujuannya, cara merangkai kembali kebagian-bagian data tersebut jika sudah
sampai pada tujuannya, dan sebagainya.
3. Setelah datagram dibungkus dengan header TCP, datagram tersebut
dikirimkan kepada lapisan IP.
4. IP menerima datagram dari TCP dan menambahkan header nya sendiri pada
datagram tersebut.
5. IP lalu mengarahkan datagram tersebut ke tujuannya.
6. Komputer penerima melakukan proses-proses perhitungan, memeriksa
perhitungan checksum yang sama dengan data yang diterima.
7. Jika kedua perhitungan tersebut tidak cocok berarti ada error sewaktu
pengiriman dan datagram akan dikirimkan kembali [3].
2.6
User Datagram Protocol (UDP)
UDP merupakan protokol yang bersifat connectionless oriented. Artinya
saat melakukan pengiriman data tidak dilakukan proses handshaking, tidak ada
sequencing datagram, tidak ada garansi bahwa paket data ( datagram) yang
dikirim akan tiba dengan selamat. UDP juga tidak menyediakan fitur koreksi
13
Universitas Sumatera Utara
kesalahan hanya menyediakan fasilitas multiplexing aplikasi (via nomor port) dan
integritas verifikasi/deteksi kesalahan (via checksum) yang disediakan dalam
header dan payload. Deteksi kesalahan dalam UDP hanya bersifat optional.
Untuk menghasilkan data yang reliable, haruslah dibantu dan dilakukan ditingkat
aplikasi tidak bisa dikerjakan di tingkat protokol UDP [3].
Contoh layanan yang cocok untuk UDP yaitu transmisi audio/video,
seperti VoIP, audio/video streaming. UDP kurang baik jika digunakan untuk
mengirimkan paket berukuran besar, karena dapat memperbesar peluang jumlah
paket loss atau paket yang hilang.
2.6.1 Karakteristik UDP
Adapun karakteristik dari UDP adalah sebagai berikut :
1. Connectionless (tanpa koneksi). Pesan-pesan UDP akan dikirimkan tanpa
harus melakukan proses negosiasi koneksi antara dua host yang hendak
bertukar informasi.
2. Unreliable (tidak andal). Pesan-pesan UDP akan dikirimkan sebagai datagram
tanpa adanya nomor urut atau pesan acknowledgement. Protokol lapisan
aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap
pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan
aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan
mereka masing-masing, atau mengirim pesan secara periodic atau dengan
menggunakan waktu yang telah didefinisikan.
3. UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah
protokol aplikasi atau proses tertentu didalam sebuah host dalam jaringan
14
Universitas Sumatera Utara
yang menggunakan TCP/IP. Header UDP berisi field Source Process
Identification dan Destination Process Identification .
4. UDP menyediakan perhitungan checksum berukuran 16-bit terhadap
keseluruhan pesan UDP [3].
2.6.2 Cara kerja UDP
Adapun cara kerja UDP adalah sebagai berikut :
1. Paket berisi port client dan port sumber berbentuk file text dikirimkan ke
server dalam UDP header.
2. Paket berisi port client dan port sumber berbentuk file audio dikirimkan ke
server dalam UDP header .
3. UDP tujuan membaca nomor port tujuan dan memproses data
4. Paket asli memiliki port tujuan sehingga server dapat mengirimkan data
kembali ke ftfp client.
5. Untuk point 3 dan 4 berulang lagi saat server menerima file audio dari client.
6. Saat aplikasi ingin mengirim data, UDP tidak akan mem-buffer atau memfragmen data.
7. Karena UDP tidak mem-fragmen data, jika data yang lebih besar dari MTU,
lapisan IP yang harus mem-fragmen nya [3].
2.7
TCP Vegas
TCP
Vegas
adalah
sebuah
algoritma
yang
menekankan
pada
keterlambatan paket daripada kehilangan paket. TCP Vegas merupakan
15
Universitas Sumatera Utara
pengembangan dari TCP Reno. TCP Vegas dikembangkan di University of
Arizona oleh Lawrence Brakmo dan Larry L. Peterson.
Perbedaan antara TCP Vegas dengan TCP lainnya terletak pada fase
slowstart, pendeteksian bandwidth yang tersedia, serta mekanisme pendeteksian
paket yang hilang. Ide dasar dari TCP Vegas adalah mencegah terjadinya packet
loss yang bukan hanya disebakan oleh kongesti sehingga ukuran congestion
window menjadi tidak terlalu besar. Dengan terkontrolnya ukuran congestion
window dengan tepat, maka packet yang hilang dalam jaringan dapat dicegah,
sehingga penurunan throughput akibat dari mengecilnya ukuran congestion
window dapat dihindari [4].
Pada TCP Vegas dalam mengamati keadaan jaringan , tidak hanya
berdasarkan umpan balik ACK, tapi juga mengestimasi kondisi jaringan
berdasarkan RTT ( round trip time). TCP Vegas mengatur congestion window
dengan mengamati perubahan RTT (round trip time) dari paket yang dikirimkan
sebelumnya oleh pengirim kepada penerima. Jika RTT besar, maka jaringan
mengalami kongesti dan memperkecil ukuran congestion window. Jika RTT kecil
berarti jaringan dalam keadaan normal dan ukuran congestion window diperbesar
[4].
Dengan demikian jelaslah bahwa TCP Vegas jelas lebih baik daripada
TCP Tahoe, Reno dan SACK dalam hal menghadapi paket yang hilang. TCP
Vegas tidak perlu menunggu 3 detik untuk menduplikasi paket sehingga paket
dapat dikirim kembali.
16
Universitas Sumatera Utara
2.8
Network Simulator
Network simulator (NS) awalnya dibangun sebagai varian dari real
network simulator pada tahun 1989 di UCB (University of California Berkeley).
Pada tahun 1995 pembangunan network simulator dibangun didukung oleh
Defense Advenced Research Project Agency (DARPA) melalui Virtual Internet
Testbed (VINT) Project, yaitu sebuah tim riset gabungan yang terdiri dari tenaga
ahli [5].
2.8.1 Kelebihan NS
Terdapat
beberapa
keuntungan
dalam
menggunakan NS
dalam
melakukan proses simulasi dalam hal membantu menganalis riset atau tugas
perkuliahan. NS dilengkapi dengan tool validasi yaitu tool yang digunakan
sebagai penguji validasi yang terdapat pada NS. Dengan menggunakan NS
simulasi yang dibuat jauh lebih mudah dilakukan dari pada menggunakan
software seperti Delphi atau C++. NS sendiri bersifat open source yang membuat
pengguna NS dengan mudah mengembangkannya [5].
2.8.2 Menjalankan Skrip NS
Cara membuat skrip simulasi NS sangat sederhana, skrip ini bisa dibuat
didalam program teks editor yang ada pada sistem operasi LINUX. Skrip
tersebut disimpan didalam sebuah folder dengan format .tcl contohnya
“simulasi.tcl“. Untuk menjalankan simulasi tersebut cukup dengan masuk
kedalam folder yang berisikan file tcl tersebut dan mengetikkan nama file tcl
yang ingin dijalankan. Contohnya : [root@accessnet your_folder]# ns
17
Universitas Sumatera Utara
simulasi.tcl [5].
2.8.3 Komponen Pembangun NS
Sebelum membangun simulasi melalui NS-2 hendaknya kita mengenal
komponen pembangun NS. Pada masing-masing komponen terdapat juga fungsi
yang digunakan untuk keperluan pembuatan simulasi. Komponen pembangun
NS ditunjukkan seperti Gambar 2.3 [5].
Gambar 2.3 Komponen pembangun NS-2
NS-2 juga dapat digunakan untuk mensimulasikan protokol jaringan
(TCPs/UDP/RTP), Traffic behavior (FTP, Telnet, CBR, dan lain-lain), Queue
management (RED, FIFO, CBQ), algoritma routing unicast (Distance Vector ,
Link State) dan multicast (PIM SM, PIM DM, DVRMP, shared tree dan
Bidirectional Shared Tree), aplikasi multimedia yang berupa layered video,
quality of service video-audio dan transcoding. NS juga mengimplementasikan
beberapa MAC (IEEE 802.3, 802.11) di berbagai media, misalnya jaringan
berkabel (seperti LAN, WAN, point to point), jaringan tanpa kabel (seperti
mobile IP, Wireless LAN), bahkan simulasi hubungan antar node yang
menggunakan media satelit [5].
18
Universitas Sumatera Utara
2.8.4 Bahasa NS-2
Dalam menjalankan sebuah program, selain menggunakan bahasa C NS-2
juga menggunakan dua bahasa yaitu:
1. TCL
Tcl (Tool Command Language) merupakan string-based command
language, bahasa Tcl diciptakan oleh John Ousterhout sekitar tahun 1980-an. Tcl
didesain sebagai “perekat”
yang membangun
software building block
menjadi suatu aplikasi. Adapun dasar-dasar dalam membuat bahasa Tcl
adalah syntax dasar, variable dan array, repetisi (loop), perintah kondisional,
comment, dan prosedur.
Nama prosedur, build in command, variable dan array bersifat case
sensitive, artinya andai nama prosedur dan variabel sama, keduanya tidak akan
saling konflik saat simulasi dijalankan [5].
2. OTCL
OTCL (Object Oriented TCL) merupakan ekstensi tambahan dari Tcl
yang membuat fungsi object oriented pada Tcl agar dapat didefeniskan dan class
Otcl dapat digunakan.
2.8.5 Output Simulasi NS
Saat simulasi yang dijalankan berakhir, maka NS akan membuat satu atau
lebih file keluaran berupa text-based yang berisi detail hasil simulasi. Ada
19
Universitas Sumatera Utara
dua jenis file keluaran yang ditampilkan NS yaitu: file trace yang digunakan
untuk analisa numerik dan file nacetace yang digunakan sebagai tampilan
grafis simulasi yang dikenal sebagai network animator (nam) [5].
2.9
Evaluation Video (EvalVid)
Evaluation
Video (EvalVid)
adalah metode pengukuran kualitas
video yang dikembangkan oleh University of Berlin, Telecommunication
Network Group. Didalam Evalvid terdapat framework dan berbagai tool yang
dapat digunakan sebagai pengevaluasi video baik yang ditransmisikan lewat
jaringan komunikasi yang nyata ataupun simulasi. Evalvid biasa digunakan untuk
menghitung kualitas video berdasarkan perhitungan PSNR dari frame-by-frame.
EvalVid memiliki struktur
modular , sehingga memudahkan pengguna untuk
mengganti codec dan memungkinkan untuk terjadinya pertukaran jaringan. Pada
Gambar 2.4 menggambarkan struktur framework EvalVid [6].
Gambar 2.4 Struktur Framework EvalVid
20
Universitas Sumatera Utara
Framework evaluasi ini berisi transmisi yang lengkap dari video digital
mulai dari source video, reordering pada source, encoding, paketisasi, transmisi
jaringan, reduksi jitter oleh
buffer play-out, decoding, hingga video yang
diterima oleh end-user . Data yang diperoleh dari evaluasi akan diproses
pada
arus transmisi dan akan disimpan dan ditandai pada file-file yang
berbeda, kemudian file-file ini digunakan untuk memperoleh hasil yang
diinginkan, misalnya, loss rate, jitter, dan kualitas video [6 ].
21
Universitas Sumatera Utara
TEORI DASAR
2.1
Umum
Teknologi wireless adalah teknologi yang memungkinkan kita dapat
melakukan hubungan komunikasi tanpa menggunakan media kabel (nirkabel)
melainkan dengan menggunakan gelombang elektromagnetik . Teknologi
wireless merupakan teknologi yang salah satu perkembangannya sangat cepat
saat ini karena memiliki mobility yang tinggi. Terdapat berbagai jenis teknologi
wireless seperti: infrared, bluetooth, radio frekuensi, wireless LAN, Ad hoc dll.
2.2
Konsep Wireless
Untuk menghubugkan sebuah computer yang satu dengan yang lain, maka
diperlukan adanya jaringan wireless. Ada 3 komponen yang dibutuhkan agar
komponen-komponen yang berada dalam wilayah jaringan wireless bisa sukses
dalam mengirim dan menerima data, komponen-komponen tersebut adalah :
1. Sinyal Radio (Radio Signal)
2. Format Data (Data Format)
3. Struktur Jaringan (Network Structure)
Teknologi Wireless bekerja dengan menggunakan gelombang radio. Sinyal
radio menjalar dari pengirim ke penerima bisa melalui free space, pantulanpantulan, difraksi, line of sight dan obstructed tiap sinyal (pada jalur yang
berbeda-beda) dan memiliki level kekuatan, delay dan fasa yang berbeda-beda.
6
Universitas Sumatera Utara
Awalnya teknologi ini didesain untuk aplikasi perkantoran dalam
ruangan, namun sekarang wireless LAN dapat digunakan pada jaringan peer to
peer dalam ruangan dan juga point to point diluar ruangan. Jaringan ini juga bisa
di optimalkan pada lingkungan yang berbeda. Dapat mengatasi kendala geografis
dan rumitnya instalasi kabel. Jaringan wireless memiliki berbagai jenis tetapi
umumnya digolongkan ke dalam empat jenis berdasarkan jangkauannya. Gambar
2.1 menunjukkan
empat jenis
jaringan wireless berdasarkan jangkauannya
[1].
Gambar 2.1 Jenis Jaringan Wireless Berdasarkan Jangkauan
2.3
Jaringan Ad hoc
Jaringan ad hoc didasari pada spesifikasi IEEE 802.11. Jaringan ad hoc
merupakan paradigma baru dari komunikasi nirkabel untuk mobile host (node)
yang berhubungan satu sama lain secara peer to peer . Pada jaringan ini
komunikasi node dengan node yang lain dilakukan secara spontan/langsung tanpa
7
Universitas Sumatera Utara
Universitas Sumatera Utara
mengakibatkan tidak diperlukannya lintasan melalui node B tetapi langsung
melalui node C [2].
Untuk jaringan mobile ad hoc, isu paket routing antara setiap pasangan
node menjadi permasalahan sendiri karena node dapat bergerak secara acak dalam
jaringan. Sebuah lintasan yang dianggap optimal pada titik waktu tertentu
mungkin tidak bekerja sama sekali beberapa saat kemudian. Selain itu, sifat
stochastic saluran nirkabel menambah ketidakpastian kualitas lintasan [2].
2.4
Transport Layer Protocol
Merupakan salah satu dari OSI Layer yang berada pada tingkat ke-empat
yang memiliki peran dan fungsi sebagai berikut :
1.
Segmentasi: Layer transport bertanggung jawab untuk melakukan segmentasi
data yang diterima dari layer atas (layer application). Setiap pecahan data
hasil segmentasi akan di enkapsulasi dengan header yang berisi informasiinformasi layer transport seperti, nomor urut (sequence) dan juga port
address pengirim dan penerima.
2.
Reassembling data: Pada sisi penerima, transport layer memanfaatkan
informasi
yang
ada
pada
header
layer
transport
untuk menyusun
ulang segmen-segmen data menjadi data yang utuh sebelum diberikan ke layer
atas (application).
3.
Identifikasi aplikasi (port-addresssing) : Agar data dapat disampaikan pada
aplikasi yang tepat, layer transport harus mengidentifikasi target aplikasi yang
dituju
layer
transport.
Untuk
itu
layer
transport
memberikan
9
Universitas Sumatera Utara
identifier/addressing
untuk
aplikasi
(service/layanan)
yang
disebut
dengan port number.
4.
Multiplexing/Demultiplexing : merupakan sebuah proses dimana protokol pada
sebuah layer dapat melakukan proses encapsulation terhadap paket data dari
beberapa buah protokol di layer atas secara bersamaan dalam satu waktu dan
sebaliknya.
5.
Reliable Delivery : Banyak hal yang bisa menyebabkan data korup atau hilang
dalam proses pengiriman. Transport layer dapat memastikan penerima
mendapatkan data tersebut dengan mengirim ulang data yang hilang.
6.
Sequencing : Banyaknya rute untuk mencapai tujuan dapat menyebabkan data
diterima tidak berurutan, transport layer dapat menyusun ulang data secara
benar dengan adanya penomoran dan sequencing.
7.
Flow control : Karena emori komputer atau bandwidth network terbatas,
transport layer bisa meminta aplikasi pengirim untuk mengurangi kecepatan
pengiriman data. Hal ini dapat mengurangi hilangnya data dan proses
pengiriman ulang [3].
Beberapa aplikasi memerlukan requirement pengiriman data yang
berbeda, karena itulah dibuat beberapa protokol transport yang berbeda untuk
memenuhi requirement tersebut. Adapun contoh dari transport layer protokol
adalah TCP, UDP dan TCP Vegas.
2.5
Transmission Control Protocol
TCP merupakan protokol yang bersifat connection oriented. Artinya
10
Universitas Sumatera Utara
sebelum
proses
transmisi
data
terjadi,
dua aplikasi
TCP
harus
melakukan pertukaran kontrol informasi (handshaking). TCP juga bersifat
reliable karena menerapkan fitur deteksi kesalahan dan retransmisi apabila
ada data yang rusak, sehingga keutuhan data dapat terjamin. Sedangkan byte
stream service artinya paket akan dikirimkan ke tujuan secara berurutan
(sequencing).
Protokol TCP bertanggung jawab untuk pengiriman data dari sumber
ke tujuan dengan benar. TCP dapat mendeteksi kesalahan atau hilangnya
data dan melakukan pengiriman kembali sampai data diterima dengan
lengkap. TCP selalu meminta konfirmasi setiap kali data dikirim untuk
memastikan apakah data telah sampai di tempat tujuan. Kemudia TCP akan
mengirimkan data berikutnya atau melakukan retransmisi (pengiriman
ulang) apabila data sebelumnya tidak sampai atau rusak. Data yang dikirim
dan diterima kemudian diatur berdasarkan nomor urut [3].
Protokol TCP sangat cocok digunakan untuk koneksi yang membutuhkan
kehandalan tinggi, seperti aplikasi telnet, ssh, ftp, http, dan beberapa layanan
lainnya.
2.5.1 Karakteristik TCP
Adapun karakteristik dari TCP adalah sebagai berikut :
1. Reliable. Berarti data yang ditransfer ke tujuannya dalam suatu urutan seperti
ketika dikirim (andal).
2. Berorientasi
sambungan
(connection-oriented ).
Sebelum
data
dapat
ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi
11
Universitas Sumatera Utara
harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu.
Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP
(TCP connection termination).
3. Full-duplex. Untuk setiap host TCP, koneksi yang terjadi antara dua host
terdiri atas dua buah jalur, yakni keluar dan jalur masuk. Dengan
menggunakan teknologi lapisan yang lebih rendah yang mendukung fullduplex, maka data pun dapat secara simultan diterima dan dikirim. Header
TCP berisi nomor urut TCP dari data yang ditransmisikan dan sebuah
acknowledgement dari data yang ditransmisikan dan sebuah acknowledgement
dari data yang masuk.
4. Flow control. Untuk mencegah data terlalu banyak dikirimkan pada suatu
waktu, yang akhirnya membuat macet jaringan. TCP mengimplimentasikan
layanan flow control yang dimiliki pihak pengirim secara terus menerus untuk
memantau dan membatasi jumlah data yang dikirimkan pada suatu waktu.
Untuk mencegah pihak penerima memperoleh data yang tidak dapat
disangganya (buffer ). TCP juga mengimplementasikan flow control dalam
pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia
dalam pihak penerima.
5. Segmentasi. Melakukan segmentasi terhadap data yang datang dari lapisan
aplikasi mengirimkan paket secara one-to-one. Hal ini karena TCP memang
harus membuat sirkuit logis antara dua buah protokol lapisan aplikasi agar
saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data
secara one-to-many [3].
12
Universitas Sumatera Utara
2.5.2 Cara kerja TCP
Adapun langkah-langkah cara kerja dari protokol TCP ini adalah :
1. datagram dibagi-bagi ke dalam bagian-bagian kecil sesuai dengan ukuran
bandwidth dimana data tersebut akan dikirimkan.
2. Pada lapisan TCP, data tersebut lalu “dibungkus” dengan informasi header
yang dibutuhkan. Misalnya seperti cara mengarahkan data tersebut ke
tujuannya, cara merangkai kembali kebagian-bagian data tersebut jika sudah
sampai pada tujuannya, dan sebagainya.
3. Setelah datagram dibungkus dengan header TCP, datagram tersebut
dikirimkan kepada lapisan IP.
4. IP menerima datagram dari TCP dan menambahkan header nya sendiri pada
datagram tersebut.
5. IP lalu mengarahkan datagram tersebut ke tujuannya.
6. Komputer penerima melakukan proses-proses perhitungan, memeriksa
perhitungan checksum yang sama dengan data yang diterima.
7. Jika kedua perhitungan tersebut tidak cocok berarti ada error sewaktu
pengiriman dan datagram akan dikirimkan kembali [3].
2.6
User Datagram Protocol (UDP)
UDP merupakan protokol yang bersifat connectionless oriented. Artinya
saat melakukan pengiriman data tidak dilakukan proses handshaking, tidak ada
sequencing datagram, tidak ada garansi bahwa paket data ( datagram) yang
dikirim akan tiba dengan selamat. UDP juga tidak menyediakan fitur koreksi
13
Universitas Sumatera Utara
kesalahan hanya menyediakan fasilitas multiplexing aplikasi (via nomor port) dan
integritas verifikasi/deteksi kesalahan (via checksum) yang disediakan dalam
header dan payload. Deteksi kesalahan dalam UDP hanya bersifat optional.
Untuk menghasilkan data yang reliable, haruslah dibantu dan dilakukan ditingkat
aplikasi tidak bisa dikerjakan di tingkat protokol UDP [3].
Contoh layanan yang cocok untuk UDP yaitu transmisi audio/video,
seperti VoIP, audio/video streaming. UDP kurang baik jika digunakan untuk
mengirimkan paket berukuran besar, karena dapat memperbesar peluang jumlah
paket loss atau paket yang hilang.
2.6.1 Karakteristik UDP
Adapun karakteristik dari UDP adalah sebagai berikut :
1. Connectionless (tanpa koneksi). Pesan-pesan UDP akan dikirimkan tanpa
harus melakukan proses negosiasi koneksi antara dua host yang hendak
bertukar informasi.
2. Unreliable (tidak andal). Pesan-pesan UDP akan dikirimkan sebagai datagram
tanpa adanya nomor urut atau pesan acknowledgement. Protokol lapisan
aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap
pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan
aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan
mereka masing-masing, atau mengirim pesan secara periodic atau dengan
menggunakan waktu yang telah didefinisikan.
3. UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah
protokol aplikasi atau proses tertentu didalam sebuah host dalam jaringan
14
Universitas Sumatera Utara
yang menggunakan TCP/IP. Header UDP berisi field Source Process
Identification dan Destination Process Identification .
4. UDP menyediakan perhitungan checksum berukuran 16-bit terhadap
keseluruhan pesan UDP [3].
2.6.2 Cara kerja UDP
Adapun cara kerja UDP adalah sebagai berikut :
1. Paket berisi port client dan port sumber berbentuk file text dikirimkan ke
server dalam UDP header.
2. Paket berisi port client dan port sumber berbentuk file audio dikirimkan ke
server dalam UDP header .
3. UDP tujuan membaca nomor port tujuan dan memproses data
4. Paket asli memiliki port tujuan sehingga server dapat mengirimkan data
kembali ke ftfp client.
5. Untuk point 3 dan 4 berulang lagi saat server menerima file audio dari client.
6. Saat aplikasi ingin mengirim data, UDP tidak akan mem-buffer atau memfragmen data.
7. Karena UDP tidak mem-fragmen data, jika data yang lebih besar dari MTU,
lapisan IP yang harus mem-fragmen nya [3].
2.7
TCP Vegas
TCP
Vegas
adalah
sebuah
algoritma
yang
menekankan
pada
keterlambatan paket daripada kehilangan paket. TCP Vegas merupakan
15
Universitas Sumatera Utara
pengembangan dari TCP Reno. TCP Vegas dikembangkan di University of
Arizona oleh Lawrence Brakmo dan Larry L. Peterson.
Perbedaan antara TCP Vegas dengan TCP lainnya terletak pada fase
slowstart, pendeteksian bandwidth yang tersedia, serta mekanisme pendeteksian
paket yang hilang. Ide dasar dari TCP Vegas adalah mencegah terjadinya packet
loss yang bukan hanya disebakan oleh kongesti sehingga ukuran congestion
window menjadi tidak terlalu besar. Dengan terkontrolnya ukuran congestion
window dengan tepat, maka packet yang hilang dalam jaringan dapat dicegah,
sehingga penurunan throughput akibat dari mengecilnya ukuran congestion
window dapat dihindari [4].
Pada TCP Vegas dalam mengamati keadaan jaringan , tidak hanya
berdasarkan umpan balik ACK, tapi juga mengestimasi kondisi jaringan
berdasarkan RTT ( round trip time). TCP Vegas mengatur congestion window
dengan mengamati perubahan RTT (round trip time) dari paket yang dikirimkan
sebelumnya oleh pengirim kepada penerima. Jika RTT besar, maka jaringan
mengalami kongesti dan memperkecil ukuran congestion window. Jika RTT kecil
berarti jaringan dalam keadaan normal dan ukuran congestion window diperbesar
[4].
Dengan demikian jelaslah bahwa TCP Vegas jelas lebih baik daripada
TCP Tahoe, Reno dan SACK dalam hal menghadapi paket yang hilang. TCP
Vegas tidak perlu menunggu 3 detik untuk menduplikasi paket sehingga paket
dapat dikirim kembali.
16
Universitas Sumatera Utara
2.8
Network Simulator
Network simulator (NS) awalnya dibangun sebagai varian dari real
network simulator pada tahun 1989 di UCB (University of California Berkeley).
Pada tahun 1995 pembangunan network simulator dibangun didukung oleh
Defense Advenced Research Project Agency (DARPA) melalui Virtual Internet
Testbed (VINT) Project, yaitu sebuah tim riset gabungan yang terdiri dari tenaga
ahli [5].
2.8.1 Kelebihan NS
Terdapat
beberapa
keuntungan
dalam
menggunakan NS
dalam
melakukan proses simulasi dalam hal membantu menganalis riset atau tugas
perkuliahan. NS dilengkapi dengan tool validasi yaitu tool yang digunakan
sebagai penguji validasi yang terdapat pada NS. Dengan menggunakan NS
simulasi yang dibuat jauh lebih mudah dilakukan dari pada menggunakan
software seperti Delphi atau C++. NS sendiri bersifat open source yang membuat
pengguna NS dengan mudah mengembangkannya [5].
2.8.2 Menjalankan Skrip NS
Cara membuat skrip simulasi NS sangat sederhana, skrip ini bisa dibuat
didalam program teks editor yang ada pada sistem operasi LINUX. Skrip
tersebut disimpan didalam sebuah folder dengan format .tcl contohnya
“simulasi.tcl“. Untuk menjalankan simulasi tersebut cukup dengan masuk
kedalam folder yang berisikan file tcl tersebut dan mengetikkan nama file tcl
yang ingin dijalankan. Contohnya : [root@accessnet your_folder]# ns
17
Universitas Sumatera Utara
simulasi.tcl [5].
2.8.3 Komponen Pembangun NS
Sebelum membangun simulasi melalui NS-2 hendaknya kita mengenal
komponen pembangun NS. Pada masing-masing komponen terdapat juga fungsi
yang digunakan untuk keperluan pembuatan simulasi. Komponen pembangun
NS ditunjukkan seperti Gambar 2.3 [5].
Gambar 2.3 Komponen pembangun NS-2
NS-2 juga dapat digunakan untuk mensimulasikan protokol jaringan
(TCPs/UDP/RTP), Traffic behavior (FTP, Telnet, CBR, dan lain-lain), Queue
management (RED, FIFO, CBQ), algoritma routing unicast (Distance Vector ,
Link State) dan multicast (PIM SM, PIM DM, DVRMP, shared tree dan
Bidirectional Shared Tree), aplikasi multimedia yang berupa layered video,
quality of service video-audio dan transcoding. NS juga mengimplementasikan
beberapa MAC (IEEE 802.3, 802.11) di berbagai media, misalnya jaringan
berkabel (seperti LAN, WAN, point to point), jaringan tanpa kabel (seperti
mobile IP, Wireless LAN), bahkan simulasi hubungan antar node yang
menggunakan media satelit [5].
18
Universitas Sumatera Utara
2.8.4 Bahasa NS-2
Dalam menjalankan sebuah program, selain menggunakan bahasa C NS-2
juga menggunakan dua bahasa yaitu:
1. TCL
Tcl (Tool Command Language) merupakan string-based command
language, bahasa Tcl diciptakan oleh John Ousterhout sekitar tahun 1980-an. Tcl
didesain sebagai “perekat”
yang membangun
software building block
menjadi suatu aplikasi. Adapun dasar-dasar dalam membuat bahasa Tcl
adalah syntax dasar, variable dan array, repetisi (loop), perintah kondisional,
comment, dan prosedur.
Nama prosedur, build in command, variable dan array bersifat case
sensitive, artinya andai nama prosedur dan variabel sama, keduanya tidak akan
saling konflik saat simulasi dijalankan [5].
2. OTCL
OTCL (Object Oriented TCL) merupakan ekstensi tambahan dari Tcl
yang membuat fungsi object oriented pada Tcl agar dapat didefeniskan dan class
Otcl dapat digunakan.
2.8.5 Output Simulasi NS
Saat simulasi yang dijalankan berakhir, maka NS akan membuat satu atau
lebih file keluaran berupa text-based yang berisi detail hasil simulasi. Ada
19
Universitas Sumatera Utara
dua jenis file keluaran yang ditampilkan NS yaitu: file trace yang digunakan
untuk analisa numerik dan file nacetace yang digunakan sebagai tampilan
grafis simulasi yang dikenal sebagai network animator (nam) [5].
2.9
Evaluation Video (EvalVid)
Evaluation
Video (EvalVid)
adalah metode pengukuran kualitas
video yang dikembangkan oleh University of Berlin, Telecommunication
Network Group. Didalam Evalvid terdapat framework dan berbagai tool yang
dapat digunakan sebagai pengevaluasi video baik yang ditransmisikan lewat
jaringan komunikasi yang nyata ataupun simulasi. Evalvid biasa digunakan untuk
menghitung kualitas video berdasarkan perhitungan PSNR dari frame-by-frame.
EvalVid memiliki struktur
modular , sehingga memudahkan pengguna untuk
mengganti codec dan memungkinkan untuk terjadinya pertukaran jaringan. Pada
Gambar 2.4 menggambarkan struktur framework EvalVid [6].
Gambar 2.4 Struktur Framework EvalVid
20
Universitas Sumatera Utara
Framework evaluasi ini berisi transmisi yang lengkap dari video digital
mulai dari source video, reordering pada source, encoding, paketisasi, transmisi
jaringan, reduksi jitter oleh
buffer play-out, decoding, hingga video yang
diterima oleh end-user . Data yang diperoleh dari evaluasi akan diproses
pada
arus transmisi dan akan disimpan dan ditandai pada file-file yang
berbeda, kemudian file-file ini digunakan untuk memperoleh hasil yang
diinginkan, misalnya, loss rate, jitter, dan kualitas video [6 ].
21
Universitas Sumatera Utara