Kamis, 19 Februari 2015

Sistem Protokol Jaringan Pada Teknologi Streaming


         Pendistribusian file-file Video Audio yang bersifat On-Demand maupun Live yang dilakukan oleh Server Media menggunakan protocol yang berbeda-beda. Protokol pendistribusian ini disesuaikan dengan code dari video dan audio yang diproduksi dan dikembangkan oleh perusahaan maupun komunitas pengembang.
           Secara garis besar Dua protokol yang mendukung berjalannya video streaming yaitu:
  1. Transport Protocol yaitu penyedia konektivitas secara end-to-end di jaringan untuk aplikasi streaming. Transport protocol terbagi menjadi User Datagram Protocol (UDP) dan Transmission Control Protocol (TCP).
  2. 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). Untuk lebih jelas lihat gambar dibawah ini :



Pada Layer Transport protokol utama yang digunakan untuk bertukar data adalah TCP dan UDP. TCP menggunakan komunikasi dua arah di mana biasanya terdapat acknowledgement sebagai balasan indikasi bahwa suatu informasi telah sampai atau diterima, sehingga TCP lebih memberikan jaminan bahwa pengantaran packet akan lebih reliable jika dibandingkan dengan UDP yang tidak memiliki fitur acknowledgement tersebut dan lebih bersifat komunikasi satu arah.
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 :

A.  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.
    1. 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.
    2. 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.
    3. 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.




Perbedaan TPC dan UDP

TCP
A.  Pengertian TCP
Transmission Control Protocol (TCP) adalah salah satu jenis protokol yang memungkinkan kumpulan komputer untuk berkomunikasi dan bertukar data didalam suatu jaringan (network). TCP merupakan suatu protokol yang berada di lapisan transpor (baik itu dalam tujuh lapis model referensi OSI atau model DARPA) yang berorientasi sambungan (connection-oriented) dan dapat diandalkan (reliable). TCP dipakai untuk aplikasi-aplikasi yang membutuhkan keandalan data.

B.  Karakteristik TCP
Karakteristik dari TCP diantaranya sebagai berikut :
  1. Reliable berarti data ditransfer ke tujuannya dalam suatu urutan seperti ketika dikirim.
  2. 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).
  3. 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
  4. 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.
  5. Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
  6. 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.

C.  Cara Kerja TCP/IP
Adapun langkah-langkah cara kerja dari protokol TCP/IP ini adalah :
  1. Pertama, datagram dibagi-bagi ke dalam bagian-bagian kecil yang sesuai dengan ukuran bandwith (lebar frekuensi) 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 dikirim kepada lapisan IP.
  4. IP menerima datagram dari TCP dan menambahkan headernya sendiri pada datagram tersebut.
  5. IP lalu mengarahkan datagram tersebut ke tujuannya.
  6. Komputer penerima melakukan proses-proses perhitungan, ia 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.

D.  Kelebihan TCP/IP
Beberapa kelebihan TCP/IP dibandingkan protokol yang lain antara lain:
  1. TCP/IP adalah protokol yang bisa diarahkan. Artinya ia bisa mengirimkan datagram melalui rute-rute yang telah ditentukan sebelumnya. Hal ini dapat mengurangi kepadatan lalu lintas pada jaringan, serta dapat membantu jika jaringan mengalami kegagalan, TCP/IP dapat mengarahkan data melalui jalur lain.
  2. Memiliki mekanisme pengiriman data yang handal dan efisien.
  3. Bersifat open platform atau platform independent yaitu tidak terikat oleh jenis perangkat keras atau perangkat lunak tertentu.
  4. Karena sifatnya yang terbuka, TCP/IP bisa mengirimkan data antara sistem-sistem komputer yang berbeda yang menjalankan pada sistem-sistem operasi yang berbeda pula.
  5. TCP/IP terpisah dari perangkat keras yang mendasarinya. Protokol ini dapat dijalankan pada jaringan Ethernet, Token ring, X.25, dan bahkan melalui sambungan telepon.
  6. TCP/IP menggunakan skema pengalamatan yang umum, maka semua sistem dapat mengirimkan data ke alamat sistem yang lain.
E.  Kegunaan TCP
Beberapa kegunaan dari TCP yaitu :
  1. Menyediakan komunikasi logika antar proses aplikasi yang berjalan pada host yang berbeda
  2. protokol transport berjalan pada end systems
  3. Pengiriman file (file transfer). File Transfer Protokol (FTP) memungkinkan pengguna komputer yg satu untuk dapat mengirim ataupun menerima file ke komputer jaringan. Karena masalah keamanan data, maka FTP seringkali memerlukan nama pengguna (username) dan password, meskipun banyak juga FTP yg dapat diakses melalui anonymous, lias tidak berpassword. (lihat RFC 959 untuk spesifikasi FTP)
  4. Remote login. Network terminal Protokol (telnet) memungkinkan pengguna komputer dapat melakukan log in ke dalam suatu komputer didalam suatu jaringan. Jadi hal ini berarti bahwa pengguna menggunakan komputernya sebagai perpanjangan tangan dari komputer jaringan tersebut.( lihat RFC 854 dan 855 untuk spesifikasi telnet lebih lanjut)
  5. Computer mail. Digunakan untuk menerapkan sistem elektronik mail.
  6. Network File System (NFS). Pelayanan akses file-file jarak jauh yg memungkinkan klien-klien untuk mengakses file-file pada komputer jaringan jarak jauh walaupun file tersebut disimpan secara lokal. (lihat RFC 1001 dan 1002 untuk keterangan lebih lanjut)
  7. remote execution. Memungkinkan pengguna komputer untuk menjalankan suatu program didalam komputer yg berbeda. Biasanya berguna jika pengguna menggunakan komputer yg terbatas, sedangkan ia memerlukan sumber yg banyak dalam suatu system komputer. Ada beberapa jenis remote execution, ada yg berupa perintah-perintah dasar saja, yaitu yg dapat dijalankan dalam system komputer yg sama dan ada pula yg menggunakan “prosedure remote call system”, yg memungkinkan program untuk memanggil subroutine yg akan dijalankan di system komputer yg berbeda. (sebagai contoh dalam Berkeley UNIX ada perintah “rsh” dan “rexec”)
  8. name servers. Nama database alamat yg digunakan pada internet (lihat RFC 822 dan 823 yg menjelaskan mengenai penggunaan protokol name server yg bertujuan untuk menentukan nama host di internet.)

F.  Manajemen Koneksi TCP :
Pada saat Setup Koneksi
  1. Client mengirimkan kontrol TCP SYN ke server, dengan memberikan sequence number inisial.
  2. Server menerima TCP SYN, dan membalasnya dengan kontrol SYNACK.
    • ACK yang menyatakan telah menerima SYN.
    • Mengalokasikan buffer.
    • Menghasilkan sequence number untuk ke client.
Pada saat Menutup Koneksi
  1. Client mengirim kontrol TCP FIN ke server
  2. Server menerima FIN, dan membalas dengan ACK. Menutup koneksi dan mengirimkan FIN ke client.
  3. Client menerima FIN dan membalas ACK
    • Masuk pada masa menunggu balasan ACK terhadap dari server
  4. Server menerima ACK dan koneksi tertutup.

G.  Header TCP
Ukuran dari header TCP adalah bervariasi, yang terdiri atas beberapa field yang ditunjukkan dalam gambar dan tabel berikut. Ukuran TCP header paling kecil (ketika tidak ada tambahan opsi TCP) adalah 20 byte. headerTCP-2
H.  Port TCP
Port TCP mampu mengindikasikan sebuah lokasi tertentu untuk menyampaikan segmen-segmen TCP yang dikirimkan yang diidentifikasi dengan TCP Port Number. Nomor-nomor di bawah angka 1024 merupakan port yang umum digunakan dan ditetapkan oleh IANA (Internet Assigned Number Authority). Tabel berikut ini menyebutkan beberapa port TCP yang telah umum digunakan.
Port TCP merupakan hal yang berbeda dibandingkan dengan port UDP, meskipun mereka memiliki nomor port yang sama. Port TCP merepresentasikan satu sisi dari sebuah koneksi TCP untuk protokol lapisan aplikasi, sementara port UDP merepresentasikan sebuah antrean pesan UDP untuk protokol lapisan aplikasi. Selain itu, protokol lapisan aplikasi yang menggunakan port TCP dan port UDP dalam nomor yang sama juga tidak harus sama. Sebagai contoh protokol Extended Filename Server (EFS) menggunakan port TCP dengan nomor 520, dan protokol Routing Information Protocol (RIP) menggunakan port UDP juga dengan nomor 520. Jelas, dua protokol tersebut sangatlah berbeda! Karenanya, untuk menyebutkan sebuah nomor port, sebutkan juga jenis port yang digunakannya, karena hal tersebut mampu membingungkan (ambigu). PORTtcp-1
I. Aplikasi yang Menggunakan TCP
1. World Wide Web
Aplikasi ini pada prinsipnya mirip dengan aplikasi gopher, yakni penyediaan database yang dapat diakses tidak hanya berupa text, namun dapat berupa gambar/image, suara, video. penyajiannya pun dapat dilakukan secara live. Dengan demikian, jenis informasi yang dapat disediakan sangat banyak dan dapat dibuat dengan tampilan yang lebih menarik. Hal ini dimungkinkan karena Web menggunakan teknologi hypertext. Karena itu, protokol yang digunakan untuk aplikasi ini dikenal dengan nama Hypertext-transfer-protocol (HTTP).
2. Archie
Aplikasi FTP memungkinkan kita mentransfer file dari manapun di seluruh dunia. Hal itu dengan anggapan bahwa kita telah mengetahui lokasi di mana file yang kita cari berada. Namun jika kita belum mengetahui di mana file yang kita cari berada, kita memerlukan aplikasi untuk membantu kita mencari di mana file tersebut berada.
Cara kerja Archie dapat dijelaskan sebagai berikut. Server Archie secara berkala melakukan anonymous ftp ke sejumlah FTP Server dan mengambil informasi daftar seluruh file yang ada pada FTP Server tersebut. Daftar ini disusun berdasarkan letak file dalam direktori/sub direktori, sehingga mudah untuk menemukan file tersebut. File-file yang berisi daftar file tiap FTP Server ini merupakan database dari Archie Server. Jika ada query ke Archie Server yang menanyakan suatu file, server mencari dalam daftar tadi dan mengirimkan seluruh jawaban yang berkaitan dengan file tersebut. Informasi yang diberikan adalah alamat FTP Server yang memiliki file tersebut dan letak file tersebut dalam struktur direktori.
3. Wide Area Information Services (WAIS)
WAIS merupakan salah satu servis pada internet yang memungkinkan kita mencari melalaui materi yang terindeks dan menemukan dokumen/artikel berdasarkan isi artikel tersebut. Jadi pada dasarnya, WAIS memberikan layanan untuk mencari artikel yang berisi kata-kata kunci yang kita ajukan sebagai dasar pencarian.
          Aplikasi WAIS biasanya berbasis text. Untuk membuat suatu dokumen dapat dicari melalaui WAIS Server, harus dibuat terlebih dahulu index dari dokumen tersebut. Setiap kata dalam dokumen tersebut diurut dan dihitung jumlahnya. Jika ada query dari client, index akan diperiksa dan hasilnya, yakni dokumen yang memiliki kata-kata tersebut ditampilkan. Karena kemungkinan ada banyak dokumen yang memiliki kata-kata yang kita ajukan, maka beberapa dokumen yang memiliki kata kunci tersebut diberi skor/nilai. Dokumen yang paling banyak mengandung kata-kata kunci akan mendapat skor tertinggi. Dengan demikian, user mendapatkan informasi kemungkinan terbesar dari bebarapa dokumen yang mengandung kumpulan kata yang diajukannya.
4. FAX di Internet
Mesin FAX sebagai pengirim dan penerima berita tertulis melalaui telepon saat ini hampir dimiliki oleh semua kantor. Melalaui gateway Internet FAX, pengiriman FAX dapat dilakukan melalaui e-mail. Gateway akan menerjemahkan pesan e-mail tersebut dan menghubungi mesin FAX tujuan melalui jalur telepon secara otomatis. Tentu saja, akses untuk ini terbatas (private).
Untuk aplikasi lebih lengkapnya klik disini http://bayudwiki.blogspot.com/2015/02/aplikasi-dalam-tcp-dan-udp.html



UDP
A.  Pengertian UDP
UDP meruoakan kependekan dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP.
B.  Karakteristik UDP
Karakteristik dari UDP antara lain, yaitu :
  1. Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi.
  2. 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.
  3. 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. HeaderUDP berisi field Source Process Identification dan Destination Process Identification.
  4. UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.

C.  Kegunaan UDP:
UDP sering digunakan dalam beberapa tugas berikut:
  1. Protokol yang “ringan” (lightweight): Untuk menghemat sumber daya memori dan prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar pesan. Contoh dari protokol yang ringan adalah fungsi query nama dalam protokol lapisan aplikasi Domain Name System.
  2. Protokol lapisan aplikasi yang mengimplementasikan layanan keandalan: Jika protokol lapisan aplikasi menyediakan layanan transfer data yang andal, maka kebutuhan terhadap keandalan yang ditawarkan oleh TCP pun menjadi tidak ada. Contoh dari protokol seperti ini adalah Trivial File Transfer Protocol (TFTP) dan Network File System (NFS)
  3. Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
  4. Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP yang hanya dapat mengirimkan transmisi one-to-one. Contoh: query nama dalam protokol NetBIOS Name Service.

D.  Kelemahan UDP
  1. 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.
  2. 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.
  3. UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.

E.  Header UDP
Header UDP diwujudkan sebagai sebuah header dengan 4 buah field memiliki ukuran yang tetap.
F.  Port UDP
Seperti halnya TCP, UDP juga memiliki saluran untuk mengirimkan informasi antar host, yang disebut dengan UDP Port. Untuk menggunakan protokol UDP, sebuah aplikasi harus menyediakan alamat IP dan nomor UDP Port dari host yang dituju. Sebuah UDP port berfungsi sebagai sebuah multiplexed message queue, yang berarti bahwa UDP port tersebut dapat menerima beberapa pesan secara sekaligus. Setiap port diidentifikasi dengan nomor yang unik, seperti halnya TCP, tetapi meskipun begitu, UDP Port berbeda dengan TCP Port meskipun memiliki nomor port yang sama. Tabel di bawah ini mendaftarkan beberapa UDP port yang telah dikenal secara luas.

G.  Aplikasi yang Menggunakan UDP
Digunakan untuk multimedia streaming, yang sangat memberikan toleransi kehilangan segment cukup baik dan yang sangat tidak sensitive terhadap kerusakan atau kehilangan segment
Contoh protokol aplikasi yang menggunakan UDP :
  • DNS (Domain Name System) 53
  • SNMP, (Simple Network Management Protocol) 161, 162
  • TFTP (Trivial File Transfer Protocol) 69
  • SunRPC port 111.
Untuk lebih lengkap tentang aplikasi yang menggunakan UDP klik disini http://bayudwiki.blogspot.com/2015/02/aplikasi-dalam-tcp-dan-udp.html


Perbedaan TCP dan UDP

Berbeda dengan TCP, UDP merupakan connectionless dan tidak ada keandalan, windowing, serta fungsi untuk memastikan data diterima dengan benar. Namun, UDP juga menyediakan fungsi yang sama dengan TCP, seperti transfer data dan multiplexing, tetapi ia melakukannya dengan byte tambahan yang lebih sedikit dalam header UDP.
          UDP melakukan multiplexing UDP menggunakan cara yang sama seperti TCP. Satu-satunya perbedaan adalah transport protocol yang digunakan, yaitu UDP. Suatu aplikasi dapat membuka nomor port yang sama pada satu host, tetapi satu menggunakan TCP dan yang satu lagi menggunakan UDP—hal ini tidak biasa, tetapi diperbolehkan. Jika suatu layanan mendukung TCP dan UDP, ia menggunakan nilai yang sama untuk nomor port TCP dan UDP.
UDP mempunyai keuntungan dibandingkan TCP dengan tidak menggunakan field sequence dan acknowledgement. Keuntungan UDP yang paling jelas dari TCP adalah byte tambahan yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu penerimaan atau menyimpan data dalam memory sampai data tersebut diterima. Ini berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory dapat dibebaskan lebih cepat. Pada tabel, Anda dapat melihat fungsi yang dilakukan (atau tidak dilakukan) oleh UDP atau TCP.







Tabel Perbedaan TCP dan UDP

Dibawah ini merupakan tabel perbedaan TCP dan UDP :
No
TCP
UDP
1.
Beroperasi berdasarkan konsep koneksi.
Tidak berdasarkan konsep koneksi, jadi harus membuat kode sendiri.
2.
Jaminan pengiriman-penerimaan data akan reliable dan teratur.
Tidak ada jaminan bahwa pengiriman dan penerimaan data akan reliable dan teratur, sehingga paket data mungkin dapat kurang, terduplikat, atau bahkan tidak sampai sama sekali.
3.
Secara otomatis memecah data ke dalam paket-paket.
Pemecahan ke dalam paket-paket dan proses pengirimannya dilakukan secara manual.
4.
Tidak akan mengirimkan data terlalu cepat sehingga memberikan jaminan koneksi internet dapat menanganinya.
Harus membuat kepastian mengenai proses transfer data agar tidak terlalu cepat sehingga internet masih dapat menanganinya.
5.
Mudah untuk digunakan, transfer paket data seperti menulis dan membaca file.
Jika paket ada yang hilang, perlu dipikirkan di mana letak kesalahan yang terjadi dan mengirim ulang data yang diperlukan.

Tabel perbedaan TCP dan UDP secara garis besar:
No
TCP
UDP
1.
Dapat diandalkan Jika sambungan terputus ketika mengrim sebuah pesan maka server akan meminta bagian yang hilang. Jadi tidak akan terjadi data yang korup ketika mentransfer sebuah data.
Tidak dapat diandalkan Jika mengirimkan suatu pesan atau data, kita tidak akan tahu apakah sudah terkirim atau belum dan apakah sebagian dari pesan tersebut hilang atau tidak ketika proses pengiriman. Jadi akan ada kemungkinan terjadinya data yang korup.
2.
Berurutan Ketika mengrimkan dua pesan secara berurutan / satu demi satu. TCP akan mengirimkannya secara berurutan. Tidak perlu khawatir data tiba dengan  urutan yang salah.
Tidak berurutan Ketika mengrimkan dua pesan secara berurutan / satu demi satu. Tidak dapat dipastikan data mana yang akan datang terlebih dahulu.
3.
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).
Connectionless (tanpa koneksi)
Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi.
4.
Ringan (Heavyweight) Ketika tingkat level terendah dari TCP tercapai dalam urutan yang salah,permintaan pengiriman ulang data harus dikirm. dan bagian lainya harus dikembalikan semua. Sehingga membutuhkan proses untuk menyatukannya
Ringan (Lightweight) Tidak ada permintaan pesan, tidak ada trak koneksi dan yang lainnya, hanya menjalankan dan melupakannya. Ini berarti itu jauh lebih cepat dan kartu jaringan / OS hanya melakukan sedikit pekerjaan untuk menerjemahkan kembali data dari paket.
5.

Streaming Data /paket dibaca sebagai satu alur data. tanpa mengetahui batas setiap data berakhir dan data yang lain mulai. Ada kemungkinan beberapa paket data dibaca per satu panggilan data.  
Datagrams Paket dikirim secara individu dan dijamin utuh ketika tiba. Satu paket dibaca per satu  panggilan.
5.

Contoh
World Wide Web (Apache TCP port 80), e-mail (SMTP TCP port 25 Postfix MTA), File Transfer Protocol (FTP port 21) and Secure Shell (OpenSSH port 22) etc.
Contoh
Domain Name System (DNS UDP port 53), streaming media applications such as IPTV or movies, Voice over IP (VoIP), Trivial File Transfer Protocol (TFTP) and online multiplayer games etc

Sumber Data :


Rabu, 18 Februari 2015

Aplikasi dalam TCP dan UDP



   1.      TCP
      Berikut ini adalah beberapa aplikasi yang menggunakan TCP:

a.       TELNET

Telnet (Telecommunication Network) merupakan protokol client-server dalam sebuah jaringan yang memungkinkan adanya akses remote login komputer tujuan. Telnet juga dapat diartikan sebagai virtual terminal yang menggunakan protokol telnet untuk dapat mengakses komputer tujuan secara remote. Telnet digunakan untuk login ke komputer lain di Internet dan mengakses berbagai macam pelayanan umum, seperti berbagai macam database dan katalog perpustakaan.

Telnet menyediakan akses langsung ke beragam layanan di Internet. Komputer host anda memang menyediakan beragam layanan, namun anda bisa menggunakannya melalui Telnet, jika layanan tersebut tidak ada,.

Telnet menggunakan 2 program, yang satu adalah client dan server. Yang terjadi adalah ada dua program yang berjalan, yaitu software client yang dijalankan pada komputer yang meminta pelayanan tersebut dan software server yang dijalankan oleh computer yang menghasilkan pelayanan.

Fungsi utama dari Telnet adalah mengakses komputer (host/server) dari jauh (Remote log in). Telnet adalah program yang memungkinkan komputer kita menjadi terminal dari komputer lain di Internet. Telnet memungkinkan kita untuk log in sebagai pemakai komputer jarak jauh dan menjalankan program komputer layanan yang ada dikomputer tersebut. (sumber data : http://mypctutorel.blogspot.com/2013/10/pengertian-dan-fungsi-dari-telnet.html )

b.       FTP
 
File Transfer Protokol (FTP) adalah suatu protokol yang berfungsi untuk tukar-menukar file dalam suatu network yang men-support TCP/IP protokol. Dua hal penting yang ada dalam FTP adalah FTP server dan FTP Client. FTP server menjalankan software yang digunakan untuk tukar menukar file, yang selalu siap memberian layanan FTP apabila mendapat request dari FTP client. FTP client adalah komputer yang request koneksi ke FTP server untuk tujuan tukar-menukar file (upload dan download).


c.        SMTP 

SMTP adalah singkatan dari Simple Mail Transfer Protocol. SMPT adalah seperangkat pedoman komunikasi yang memungkinkan perangkat lunak untuk mengirimkan email melalui Internet. Kebanyakan perangkat lunak email dirancang untuk menggunakan SMTP untuk tujuan komunikasi ketika mengirim email, dan Ini hanya bekerja untuk pesan keluar. Ketika orang menyiapkan program email mereka, mereka biasanya harus memberikan alamat server SMTP penyedia layanan Internet mereka untuk surat keluar. Ada dua protokol lain yaitu POP3 dan IMAP yang berfungsi untuk mengambil dan menyimpan email.
SMTP menyediakan satu set kode yang menyederhanakan komunikasi pesan email antara server. semacam singkatan yang memungkinkan server untuk memecah berbagai bagian pesan ke kategori server lain yang dapat dimengerti. Setiap pesan email memiliki pengirim, penerima atau kadang-kadang beberapa penerima sebuah badan pesan, dan biasanya judul pos. Dari perspektif pengguna, ketika mereka menulis pesan email, mereka melihat antarmuka perangkat lunak email mereka, tapi begitu pesan yang keluar di Internet, semuanya berubah menjadi string teks. Teks ini dipisahkan oleh kata-kata kode atau nomor yang mengidentifikasi tujuan setiap bagian. SMTP menyediakan kode-kode, dan perangkat lunak server email ini dirancang untuk memahami apa yang mereka maksud.
Tujuan lain dari Simple Mail Transfer Protocol adalah untuk mengatur aturan komunikasi antara server.




      2.      UDP
      Berikut ini adalah beberapa aplikasi yang menggunakan UDP:

a.       DNS (Domain Name System)

Pengertian DNS (Domain Name System) adalah sebuah sistem yang menyimpan informasi tentang nama host maupun nama domain dalam bentuk basis data tersebar (distributed database) di dalam jaringan komputer, contohnya: Internet.
DNS menyediakan alamat IP untuk setiap nama host dan mendata setiap server transmisi surat (mail exchange server) yang menerima email untuk setiap domain.
DNS juga memiliki arti untuk mengidentifikasi setiap komputer sebagai titik dalam suatu jaringan Internet yang menggunakan bantuan sistem protokol internet address untuk menerjemahkan dari suatu nama domain ke IP dan begitu juga sebaliknya.
Domain Name System ini merupakan sistem penamaan hirarkis (alias) yang nantinya didistribusikan untuk suatu komputer, jasa, atau sumber daya terhubung ke Internet maupun jaringan pribadi.
DNS biasanya digunakan sebuah Layanan Nama Domain untuk menyelesaikan permintaan untuk nama-nama website menjadi alamat IP untuk tujuan menemukan layanan komputer serta perangkat di seluruh dunia. Fungsi utama DNS yaitu untuk memberi nama IP Address agar mudah dalam mengakses alamat di internet.

b.       SNMP 

SNMP (Simple Network Management Protocol) adalah sebuah protokol yang dibuat untuk memberikan kemampuan kepada pengguna untuk memantau dan mengatur jaringan komputernya secara sistematis dari jarak jauh atau dalam satu pusat kontrol saja. Pengolahan ini dijalankan dengan menggumpulkan data dan melakukan penetapan terhadap variabel-variabel dalam elemen jaringan yang dikelola.

Adapun fungsi-fungsi dari bagian SNMP, yaitu:
   i.        Get
Digunakan oleh menajer untuk mengambil suatu item  dari agen MIB.
         ii. Set
               Digunakan oleh manajer untuk men-set atau mengisikan harga suatu variabel   pada agen MIB.
                     iii.  Trap
                         Digunakan oleh agent untuk mengirim peringatan kepada manajer.
         iv. Inform
                         Digunakan oleh manajer untuk mengirimkan peringatan kepada manejer yang lain.
              Beberapa aplikasi yang bekerja pada SNMP ini yaitu PICT, TIFF, JPEG, MIDI, MPEG, QIUCKTIME.

c.        TFTP 

      Trivial File Transfer Protocol didasarkan pada transfer Api sederhana Protocol ( FTP ) yang pertama kali didefinisikan pada tahun 1980. TFTP buku router dan komputer lain yang tidak memiliki perangkat penyimpanan. Hal ini juga transfer file kecil antara dua atau lebih host jaringan komputer seperti transfer dimulai pada sebuah terminal jarak jauh X Window System. TFTP server juga didasarkan pada protokol EFTP tradisional yang merupakan bagian dari alat suite protokol PUP dan biasanya salah satu protokol pertama kali digunakan pada jenis host baru. TFTP server menggunakan UDP wakil TCP paket datagram untuk komunikasi jaringan.

TFTP server menggunakan port UDP 69 untuk protokol transport mereka, yang membantu untuk menghindari konflik dengan protokol FTP yang menggunakan TCP port 21. Layanan ini mampu otentikasi enkripsi sendiri,, dan isi daftar direktori. Tujuan utama protokol TFTP adalah untuk membaca atau menulis file ke sebuah remote server dan mendukung oktet, netascii, dan mode mail transfer, meskipun modus transfer email yang jarang digunakan dalam lingkungan jaringan saat ini. TFTP protokol asli definisi memiliki batas 32 MB untuk transfer file. Hal ini berubah pada tahun 1988 untuk memungkinkan ukuran file maksimum 4 GB, yang jarang digunakan. Karena kurangnya keamanan yang melekat dalam protokol TFTP, server TFTP jarang digunakan melalui Internet terbuka, dan sebagai gantinya digunakan pada jaringan lokal atau swasta.


d.       RPC

RPC (Remote Procedure Call) adalah suatu protokol yang menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode pada sistem yang jauh ( remote system ). RPC mengasumsi keberadaan dari low-level protokol transportasi seperti TCP atau UDP untuk membawa pesan data dalam komunikasi suatu program. Protokol RPC dibangun diatas protokol eXternal Data Representation (XDR), yang merupakan standar dari representasi data dalam komunikasi remote. Protokol XDR mengubah parameter dan hasil dari tiap servis RPC yang disediakan. Protokol RPC mengijinkan pengguna (users) untuk bekerja dengan prosedur remote sebagaimana bekerja dengan prosedur lokal. Prosedur panggilan remote (remote procedure calls) didefinisikan melalui rutin yang terkandung didalam protokol RPC. Tiap message dari panggilan akan disesuaikan dengan message balikan. Protokol RPC sendiri sebenarnya adalah suatu protokol untuk ”meneruskan pesan” yang mengimplemntasikan protokol non-RPC lain seperti panggilan remote batching dan broadcasting. Protokol ini juga mendukung adanya prosedur callback dan select subroutine pada sisi server.
(sumber data : http://sobatbaru.blogspot.com/2010/12/pengertian-remote-procedure-calls-rpc.html )

e.        LDAP
                             
LDAP adalah kependekan dari Lightweight Directory Access Protocol. Dilihat dari kepanjangannya kita dapat menebak artinya yaitu suatu protocol untuk mengakses directory secara ringan. Disebut ringan karena LDAP inin menggunakan jaringan internet yang penggunaan paket-paketnya sangat ringan.
LDAP ini merupakan bagian dari Internet Protocol. LDAP ini digunakan untuk mengakses suatu directory misalnya directory telepon, directory email suatu perusahaan dan lain sebagainya. Pada LDAP ini tidak hanya membaca informasi, tetapi juga bisa menambah dan mengupdate informasi yang ada directory tersebut.
LDAP juga sudah dilengkapi SASL (Simple Authentication and Security Layer) untuk memerika dan memastikan apakah suatu user berhak dan diperbolehkan masuk atau tidak. Karena itulah LDAP juga banyak digunakan untuk 'single sign on', yaitu dengan sekali sign-on, user dapat mengakses berbagai aplikasi yang telah disediakan.