Newest Post
// Posted by :Fiqry Firdhan P.P
// On :Rabu, 18 Februari 2015
Secara garis besar dua protokol yang mendukung berjalannya video streaming yaitu:
- Transport Protocol yang menyediakan konektivitas secara end-to-end di jaringan untuk aplikasi streaming. Transport protocol terbagi menjadi User Datagram Protocol (UDP) dan Transmission Control Protocol (TCP).
- Session Control Protocol yang mendefinisikan pesan dan prosedur untuk mengatur pengiriman data dari multimedia selama session terbentuk. Yang termasuk Session control protocol adalah Real-Time Protocol (RTP), Real- Time Streaming Protocol (RTSP), dan Real-Time Control Protocol (RTCP).
Salah satu penggunaan TCP adalah autentikasi password dan user commands seperti pause dan fast-forward. Kelemahan dari sifat TCP adalah memiliki respon yang kurang dalam kondisi jaringan yang sering berubah dan membuat overhead keseluruhan yang lebih besar. Namun pada beberapa kasus tertentu seperti di mana jaringan menggunakan firewall yang memblok UDP, penggunaan TCP lebih menguntungkan. Sementara itu, UDP bersifat memiliki overhead keseluruhan lebih kecil sehingga packet-packet yang diantarkan bisa lebih cepat sampai. Karena data video dan audio mengkonsumsi badwidth lebih besar maka default dari media streaming biasanya menggunakan UDP, terlebih jika streaming bersifat live.
Pada Layer Application protokol yang umum digunakan adalah RTSP, RTP ataupun RTCP. Beberapa server streaming juga ada yang menyediakan fitur protokol lain seperti HTTP dan MMS. Real-Time Streaming Protocol (RTSP) merupakan sebuah standar protokol dalam mendukung presentasi multimedia, terutama jika broadcasting bersifat global dan berskala besar. RTSP menggunakan TCP untuk message kontrol pada player dan UDP untuk pengiriman data video dan audio. RTP merupakan Real-Time Transport Protocol di mana biasanya bekerja berdampingan dengan protokol RTSP untuk mendukung fitur real-time pada multimedia. Sedangkan Real-Time Control Protocol (RTCP) lebih bersifat untuk monitoring dan kontrol terhadap RTP sessions. Selain protokol-protokol di atas ada juga protokol lain yang digunakan bergantung pada player yang digunakan pada sisi client. Misal penggunaan protokol RealNetworks Data Transport (RDT) sebagai format packet saat Helix Streaming Server berkomunikasi secara RTSP dengan Real Player. Microsoft Media Services (MMS) yang digunakan untuk melayani presentasi multimedia dengan menggunakan Windows Media Player .
Protokol pendistribusian ini disesuaikan dengan codec dari video dan
audio yang diproduksi dan dikembangkan oleh perusahaan maupun komunitas
pengembang yang secara garis besar penggunaan protocol tersebut
diataranya adalah :
- RTSP ( Real Time Streaming Protocol ) , protocol ini sangat banyak digunakan oleh industri pengembang teknologi streaming media , hingga saat ini untuk player media pada Hanphone dan Smarphone telah terintegrasi dengan protocol RTSP ini . Player media pada handphone dan smartphone yang terintegrasi dengan protocol RTSP seperti pada vendor handphone dan Smarphone , baik berbasis Java J2ME , Symbian maupun Android yang telah bergabung dengan project Helix Player DNA yang merupakan produk yang dikembangkan oleh RealNetworks telah mampu memutar streaming media dengan Format RA, RV, RM, H264/AAC, H263/AMR, MPEG-4/AAC dan MPEG-4/AMR secara langsung. Protokol yang dikembangkan pertama kali oleh RealNetworks ini adalah protocol standard untuk pendistribusian streaming media. Port default yang digunakan adalah 544.
- MMS ( Microsoft Media Server ) , adalah protocol yang digunakan untuk mendistribusikan streaming windows media yang dikembangkan oleh Microsoft . Dukungan codec yang dapat didistribusikan melalui protocol ini adalah WMA dan WMV. Namun saat ini Microsft windows media server telah dapat pula mengggunakan protocol RTSP dengan meridirect protocol HTTP yang dimiliki oleh MMS . Port default nya adalah 1935.
- RTMP ( Real Time Message Protocol) , adalah protocol yang digunakan untuk mendistribusikan streaming berbasis Flash media yang dikembangkan oleh Adobe System , namun protocol RTMP saat ini hanya mampu diterima pada decoder/player media flah media yang bersifat embed player pada layanan web site. Dukungan codecs dapat didistribusikan adalah format FLV dan F4V yaitu FV6, MP3, H264 dan AAC.
- HTTP ( Hyper Text Transfer Protocol ) , adalah protocol yang bersifat progressive download artinya file-file Video maupun Audio dengan segala format didownload secara utuh , namun untuk beberapa file dengan Codecs H264/AAC dengan menggunakan Flash Player proses Progresive Download tersamarkan karena file tersebut telah diputar berangsur-angsur , walaupun sebenarnya video tersebut di Download secara utuh.
My Opinion:
Protokol yang cocok untuk video streaming adalah TCP dikarenakan- Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination).
- Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk.
- Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP (protocol data unit dalam protokol TCP) akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum.
- Byte stream: TCP melihat data yang dikirimkan dan diterima melalui dua jalur masuk dan jalur keluar TCP sebagai sebuah byte stream yang berdekatan (kontigu). Nomor urut TCP dan nomor acknowlegment dalam setiap header TCP didefinisikan juga dalam bentuk byte. Meski demikian, TCP tidak mengetahui batasan pesan-pesan di dalam byte stream TCP tersebut. Untuk melakukannya, hal ini diserahkan kepada protokol lapisan aplikasi (dalam DARPA Reference Model), yang harus menerjemahkan byte stream TCP ke dalam "bahasa" yang ia pahami.
- Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat "macet" jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk 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.
- Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
- Mengirimkan paket secara "one-to-one": hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.
- Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak bertukar informasi.
- Unreliable (tidak andal): Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. 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 periodik atau dengan menggunakan waktu yang telah didefinisikan.
- UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu di dalam sebuah host dalam jaringan yang menggunakan TCP/IP. Header UDP berisi field Source Process Identification dan Destination Process Identification.
- UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.
- UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data yang masuk ataupun data yang keluar. Tugas buffering merupakan tugas yang harus diimplementasikan oleh protokol lapisan aplikasi yang berjalan di atas UDP.
- UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena itulah, protokol lapisan aplikasi yang berjalan di atas UDP harus mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai Maximum Transfer Unit/MTU) yang dimiliki oleh sebuah antarmuka di mana data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.
- UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.
Source:
Sistem Protokol Jaringan Pada Teknologi StreamingTransmission Control Protocol
User Datagram Protocol