28 Apr 2013

Review Film Ago


Film terbaik peraih Piala Oscar dan Golden Globe Awards 2013, yaitu film "Argo". Film "Argo" disutradarai dan dibintangi oleh aktor Hollywood Ben Affleck. Film "Argo" juga yang membawa Ben Affleck meraih predikat sutradara terbaik dalam Piala Oscar tahun ini.

Film "Argo" ini dirilis perdana pada 12 Oktober 2012 yang lalu dan akan diputar di bioskop Indonesia dalam waktu dekat ini. Film berdurasi 120 menit ini berkisah tentang krisis sandera yang terjadi di Teheran, Iran pada 1979.


          Mengambil kisah nyata dengan latar tahun 1979 di Teheran, ibukota negara Iran,"Argo" menceritakan kisah Tony Mendez ketika dirinya bekerja menjadi agen CIA. Mendez yang telah mengabdikan dirinya selama 25 tahun sebagai agen CIA ini akhirnya menuliskan aksi heroiknya.
Tepat pada tanggal 4 November 1979, militan menyerang kedutaan besar AS untuk Iran di Teheran. Lebih dari 50 staf kedutaan AS disandera oleh para militan. Enam staf berhasil melarikan diri, kemudian bersembunyi di rumah duta besar Kanada dan menunggu untuk diselamatkan.
Departemen Luar Negeri AS pun akhirnya merencanakan misi exfiltrating. Dalam rapat penyusunan misi penyelamatan para staf, Tony Mendez yang diperankan oleh Ben Affleck memberikan ide penyamaran untuk              penyelamatan staf kedutaan.

Skenario penyamaran, yakni Mendez berpura-pura menjadi seorang sutradara pembuat film asal Kanada yang mengambil setting lokasi di Iran. Dia mendirikan sebuah studio film palsu. Di kondisi yang semakin tegang, para staf yang bersembunyi merasa pesimis bahwa rencana itu akan gagal. Sampai akhirnya terdengar bahwa penyelamatan tersebut dibatalkan.

Tidak ingin usahanya sia-sia, Mendez terus mempertaruhkan nyawanya demi menyelamatkan para staf yang bersembunyi. Berkat aksi heroik Mendez ini, Mendez dianugerahi Bintang Intelejen.

26 Apr 2013

Contoh pengaplikasian dan implementasi TCP dan UDP


1.     

a.       Contoh protokol aplikasi yang menggunakan TCP :

·         HTTP (Hypertext Transfer Protocol)
·         FTP (File Transfer Protocol)
·         SMTP (Simple Mail Transfer Protocol)
HTTP
Hypertext Transfer Protocol (HTTP) adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia. Penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dengan dokumen hiperteks, yang kemudian membentuk World Wide Web.
 HTTP adalah sebuah protokol meminta atau menjawab antara client dan server. Sebuah client HTTP biasanya memulai permintaan dengan membuat hubungan ke port tertentu di sebuah server Webhosting tertentu (biasanya port 80). Client yang mengirimkan permintaan HTTP juga dikenal dengan user agent. Server yang meresponsnya, yang menyimpan sumber daya seperti berkas HTML dan gambar, dikenal juga sebagai origin server. Di antara user agent dan juga origin server, bisa saja ada penghubung, seperti halnya proxy, gateway, dan juga tunnel. HTTP tidaklah terbatas untuk penggunaan dengan TCP/IP, meskipun HTTP merupakan salah satu protokol aplikasi TCP/IP paling populer melalui Internet.
Memang HTTP dapat diimplementasikan di atas protokol yang lain di atas Internet atau di atas jaringan lainnya, tetapi HTTP membutuhkan sebuah protokol lapisan transport yang dapat diandalkan. Sumber daya yang hendak diakses dengan menggunakan HTTP diidentifikasi dengan menggunakan Uniform Resource Identifier (URI), atau lebih khusus melalui Uniform Resource Locator(URL) menggunakan skema URI
 http: atau https:.

b.      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.
Trivial File Transfer Protocol (TFTP) adalah sebuah protokol perpindahan bekas yang sangat sederhana yang didefinisikan pada tahun 1980. TFTP memiliki fungsionalitas dasar dari protokol File Transfer Protocol (FTP). TFTP digunakan untuk melakukan booting komputer seperti halnya router jaringan komputer yang tidak memiliki perangkat penyimpanan data. Protokol ini kini masih digunakan untuk mentransfer berkas-berkas kecil antar host di dalam sebuah jaringan, seperti halnya ketika terminal jarak jauh X Window System atau thin client lainnya melakukan proses booting dari sebuah host jaringan atau server.
TFTP dibuat berdasarkan protokol yang sebelumnya disebut dengan Easy File Transfer Protocol (EFTP), yang merupakan bagian dari kumpulan protokol PARC Universal Packet (PUP). Pada awal-awal pengembangan protokol TCP/IP, TFTP merupakan protokol pertama kali yang diimplementasikan dalam sebuah jenis host jaringan, karena memang sangat sederhana.
Versi asli TFTP, sebelum direvisi oleh RFC 1350, menampilkan sebuah kelemahan protokol, yang diberinama Sorcerer’s Apprentice Syndrome, saat pertama kali ditemukan. TFTP pertama kali muncul sebagai bagian dari sistem operasi 4.3 BSD. Protokol ini juga masih dimasukkan ke dalam Mac OS X, paling tidak hingga versi 10.5. Akhir-akhir ini, TFTP sering digunakan oleh worm komputer, seperti W32.Blaster, sebagai metode untuk menyebarkan dirinya dan menginfeksi host jaringan lainnya.

23 Apr 2013

Transport Layer


Transport Layer

Transport Layer melakukan segmentasi dan menyatukan kembali data yang tersegmentasi menjadi suatu arus data. Layanan-layanan yang terdapat di transport layer melakukan segmentasi dan juga menyatukan kembali data yang sudah tersegmentasi dari aplikasi-aplikasi upper-layer dan menggabungkannya ke dalam arus data yang sama. Layanan-layanan ini menyediakan layanan transportasi data dari ujung ke ujung dan dapat membuat koneksi logikal antara host pengirim dan host tujuan pada sebuah internetwork.
Transport Layer bertanggung jawab untuk menyediakan mekanisme untuk multiplexing (multiplexing adalah teknik untuk mengirimkan atau menerima beberapa jenis data yang berbeda sekaligus pada saat bersamaan melalui satu media network saja), metode aplikasi-aplikasi upper-layer, membuat session, dan memutuskan virtual circuit (koneksi yang terbentuk antara dua buah host di jaringan, setelah melalui sebuah mekanisme yang disebut three-way handshake).

 Keutuhan data dipastikan di Transport Layer dengan cara mempertahankan apa yang disebut Flow Control, dan dengan memungkinkan pengguna meminta transportasi data antar sistem yang dapat diandalkan. Flow Control mencegah host pengirim membanjiri (overflowing) buffer di host penerima (suatu kejadian yang dapat mengakibatkan data hilang atau rusak).

Protokol Pada Transport Layer

Transport layer hanya terdiri dari dua protokol; yang pertama adalah TCP (Transmission Control Protokol) dan yang kedua adalah UDP (User Datagram Protokol).TCP bertugas membentuk sambungan, mengirim acknowledgment, dan menjamin terkirimnya data.TCP bersifat harus mendapat hasil yang sebaik-baiknya. UDP dapat membuat transfer data menjadi lebih cepat. UDP mendapat kecepatan yang secepat-cepatnya.




1.        Transmission Control Protocol
Transmission Control Protocol (TCP) adalah salah satu jenis protokol yang memungkinkan kumpulan komputer untuk berkomunikasi dan bertukar data didalam suatu network (jaringan). TCP merupakan suatu protokol yang berada di lapisan transport (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.Setiap segmen TCP memiliki 20 byte overhead di header encapsulating data application layer.
KarakteristikTCP
Karakteristik dari TCP antara lain yaitu :
a.         Reliable berarti data ditransfer ke tujuannya dalam suatu urutan seperti ketika dikirim.
b.         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).
c.         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) sesuai dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk.
d.        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.
e.         Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
f.          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.
Kegunaan TCP
Beberapa kegunaan dari TCP yaitu :
a.         Menyediakan komunikasi logika antar proses aplikasi yang berjalan pada host yang berbedaProtokol transport berjalan pada end system.
b.         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, alias tidak berpassword. (lihat RFC 959 untuk spesifikasi FTP)
c.         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).
d.        Computer mail. Digunakan untuk menerapkan sistem elektronik mail.
e.         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).
f.          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”).
g.         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.)
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).

2.        User Datagram Protocol
User Datagram Protocol (UDP) adalah protocol yang sangat sederhana dengan overhead yang minimum, jika suatu proses perlu untuk mengirim pesan yang realatif kecil dan tidak terlalu mementingkan kehandalan, tepat jika menggunakan UDP. Pengiriman pesan kecil menggunakan UDP membutuhkan interaksi antara pengirim dan penerima lebih sedikit dibandingkanbila menggunakan TCP atau SCTP.Segmen UDP hanya memiliki 8 byte overhead.
Karakteristik UDP
Karakteristik dari UDP antara lain, yaitu :
a.         Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi.
b.         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.
c.         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.
d.        UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.
Kegunaan UDP

UDP sering digunakan dalam beberapa tugas berikut :
a.       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.
b.      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).
c.       Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
d.      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.

3.        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 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
Berat (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.

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.