Sabtu, 23 Maret 2013

TCP dan UDP




1.3                       Transmission Control Protocol (TCP)

            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 transpor (baik itu dalam tujuh lapis model referensi OSI atau model DARPA) yang berorientasi sambungan (connection-oriented) dan dapat diandalkan (reliable).

1.1                       Karakteristik TCP

 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) 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.

1.2                       Kegunaan TCP

a.      Menyediakan komunikasi logika antar proses aplikasi yang berjalan pada host yang berbeda
b.     protokol transport berjalan pada end systems
c.      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)
d.     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)
e.      Computer mail. Digunakan untuk menerapkan sistem elektronik mail.
f.       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)
g.      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”)
     h.     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.)

2.     User Datagram Protocol (UDP)

            UDP, singkatan 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.
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.

2.1                       Karakteristik UDP

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. Header UDP berisi field Source Process Identification dan Destination Process Identification.
d.     UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.

2.2                       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:

a.      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.
b.     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.
c.      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.



KOMPUTASI MODERN




Komputasi berasal dari kata “compute” yang dalam bahasa Indonesia berarti “menghitung”. Maka itu komputasi erat hubungannya dengan “perhitungan”. Komputasi modern terdiri dari dua kata yaitu komputasi dan modern. Komputasi dapat diartikan sebagai cara untuk menemukan pemecahan permasalahan dari data input dengan suatu algoritma. Komputasi merupakan subbagian dari matematika. Disebut modern karena menggunakan alat canggih saat menyelesaian masalah. Maka dapat di simpulkan Komputasi modern adalah perhitungan yang menggunakan komputer canggih dimana pada computer tersebut tersimpan sejumlah algoritma untuk menyelesaikan masalah perhitungan secara efektif dan efisien. Komputasi modern digunakan untuk memecahkan masalah antara lain untuk menghitung akurasi (bit, floating point), kecepatan (dalam satuanHz), problem volume besar (paralel), modeling (NN dan GA) dan kompleksitas (menggunakan Teori Big O).
Karakteristik Komputasi Modern
Karakteristik komputasi modern ada 3 macam, yaitu :
1.     Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
2.     Komputer-komputer terhubung ke jaringan yang luas dengan kapasitas bandwidth yang beragam.
3.     Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.

 

Manfaat Komputasi Modern

Banyak manfaat yang terjadi dengan adanya komputasi modern, diantaranya adalah:
Perhitungan-perhitungan kompleks yang bisa mencapai ribuan data dapat dengan mudah dikerjakan manuisa dengan bantuan komputer. Hal ini tentunya dapat mengurangi waktu, biaya dan lain sebagainya.
Lahirnya komputer dapat membantu pekerjaan manusia, dalam berbagai bidang. Misalnya pada bidang kedokteran, pertanian, astronomi, teknologi, ekonomi dan lainnya. Bahkan komputer sekarang telah ada dalam hampir semua bidang di dunia ini.
Contoh alat yang dapat membantu manusia dalam konsep komputasi modern adalah:
Mobile computing merupakan kemajuan teknologi komputer yang dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel serta mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel. Berdasarkan penjelasan tersebut, untuk kemajuan teknologi ke arah yang lebih dinamis membutuhkan  perubahan dari sisi manusia maupun alat. Contoh dari mobile computing adalah GPS, smart phone, dan sebagainya. Manfaat lainnya dari komputasi modern yang banyak dikenal masyarakat ialah tentang pembacaan sidik jadi dan scan retina mata, yang dinamakan dengan teknik biometric.

Kamis, 21 Maret 2013

Cloud computing



Cloud computing atau dalam istilah bahasa indonesia disebut juga komputasi awan merupakan salah satu pengembangan ilmu ti yang bergerak dalam gabungan pemanfaatan teknologi (komputasi) menggunakan layanan berbasis internet. Cloud computing ditujukan untuk dapat mengases data dengan mudah dari mana saja selama anda terhubung dengan internet.
Berdasarkan jenis layanan-nya, Cloud Computing dibagi menjadi berikut ini:
1.      Software as a Service (SaaS)
2.      Platform as a Service (PaaS)
3.      Infrastructure as a Service (IaaS)

Software as a Service (SaaS) adalah layanan dari Cloud Computing dimana kita tinggal memakai software (perangkat lunak) yang telah disediakan. Kita cukup tahu bahwa perangkat lunak bisa berjalan dan bisa digunakan dengan baik. Contoh: layanan email publik (Gmail, YahooMail, Hotmail, dsb), social network (Facebook, Twitter, dsb) instant messaging (YahooMessenger, Skype, GTalk, dsb) dan masih banyak lagi yang lain.  Dalam perkembangan-nya, banyak perangkat lunak yang dulu hanya kita bisa nikmati dengan menginstall aplikasi tersebut di komputer kita (on-premise) mulai bisa kita nikmati lewatCloud Computing. Keuntungan-nya, kita tidak perlu membeli lisensi dan tinggal terkoneksi ke internet untuk memakai-nya. Contoh: Microsoft Office yang sekarang kita bisa nikmati lewat Office 365, Adobe Suite yang bisa kita nikmati lewat Adobe Creative Cloud, dsb.
Platform as a Service (PaaS) adalah layanan dari Cloud Computing dimana kita menyewa “rumah” berikut lingkungan-nya (sistem operasi, network, databbase engine, framework aplikasi, dll), untuk menjalankan aplikasi yang kita buat. Kita tidak perlu pusing untuk menyiapkan “rumah” dan memelihara “rumah” tersebut. Yang penting aplikasi yang kita buat bisa berjalan dengan baik di “rumah” tersebut. Untuk pemeliharaan “rumah” ini menjadi tanggung jawab dari penyedia layanan. Sebagai analogi, misal-nya kita sewa kamar hotel, kita tinggal tidur di kamar yang sudah kita sewa, tanpa peduli bagaimana “perawatan” dari kamar dan lingkungan-nya. Yang penting, kita bisa nyaman tinggal di kamar itu, jika suatu saat kita dibuat tidak nyaman, tinggal cabut dan pindah ke hotel lain yang lebih bagus layanan-nya. Contoh penyedia layanan PaaS ini adalah: Amazon Web Service, Windows Azure,  bahkan tradisional hosting-pun merupakan contoh dari PaaS. Keuntungan dariPaaS adalah kita sebagai pengembang bisa fokus pada aplikasi yang kita buat, tidak perlu memikirkan operasional dari “rumah” untuk aplikasi yang kita buat.
Infrastructure as a Service (IaaS) adalah layanan dari Cloud Computingdimana kita bisa “menyewa” infrastruktur IT (komputasi, storage, memory, network dsb). Kita bisa definisikan berapa besar-nya unit komputasi (CPU), penyimpanan data (storage) , memory (RAM), bandwith, dan konfigurasi lain-nya yang akan kita sewa. Mudah-nya, IaaS ini adalah menyewa komputer virtual yang masih kosong, dimana setelah komputer ini disewa kita bisa menggunakan-nya terserah dari kebutuhan kita. Kita bisa install sistem operasi dan aplikasi apapun diatas-nya. Contoh penyedia layanan IaaS ini adalah:Amazon EC2, Windows Azure (soon), TelkomCloud, BizNetCloud, dsb. Keuntungan dari IaaS ini adalah kita tidak perlu membeli komputer fisik, dan konfigurasi komputer virtual tersebut bisa kita rubah (scale up/scale down) dengan mudah.
Karakteristik Cloud Computing
Dengan semakin maraknya pembicaraan seputar cloud computing, semakin banyak perusahaan yang mengumumkan bahwa mereka menyediakan layanan cloud computing.
Akan sangat membingungkan bagi kita para pengguna untuk memastikan bahwa layanan yang akan kita dapatkan adalah cloud computing atau bukan.
Untuk mudahnya, dari semua definisi yang ada, dapat diintisarikan bahwa cloud computing ideal adalah layanan yang memiliki 5 karakteristik berikut ini.
1. On-Demand Self-Services
Sebuah layanan cloud computing harus dapat dimanfaatkan oleh pengguna melalui  mekanisme swalayan dan langsung tersedia pada saat dibutuhkan. Campur tangan penyedia layanan adalah sangat minim. Jadi, apabila kita saat ini membutuhkan layanan aplikasi CRM (sesuai contoh di awal), maka kita harus dapat mendaftar secara swalayan dan layanan tersebut langsung tersedia saat itu juga.
2. Broad Network Access
Sebuah layanan cloud computing harus dapat diakses dari mana saja, kapan saja, dengan alat apa pun, asalkan kita terhubung ke jaringan layanan. Dalam contoh layanan aplikasi CRM di atas, selama kita terhubung ke jaringan Internet, saya harus dapat mengakses layanan tersebut, baik itu melalui laptop, desktop, warnet, handphone, tablet, dan perangkat lain.
3. Resource Pooling
Sebuah layanan cloud computing harus tersedia secara terpusat dan dapat membagi sumber daya secara efisien. Karena cloud computing digunakan bersama-sama oleh berbagai pelanggan, penyedia layanan harus dapat membagi beban secara efisien, sehingga sistem dapat dimanfaatkan secara maksimal.
4. Rapid Elasticity
Sebuah layanan cloud computing harus dapat menaikkan (atau menurunkan) kapasitas sesuai kebutuhan. Misalnya, apabila pegawai di kantor bertambah, maka kita harus dapat menambah user untuk aplikasi CRM tersebut dengan mudah. Begitu juga jika pegawai berkurang. Atau, apabila kita menempatkan sebuah website berita dalam jaringan cloud computing, maka apabila terjadi peningkatkan traffic karena ada berita penting, maka kapasitas harus dapat dinaikkan dengan cepat.
5. Measured Service
Sebuah layanan cloud computing harus disediakan secara terukur, karena nantinya akan digunakan dalam proses pembayaran. Harap diingat bahwa layanan  cloud computing dibayar sesuai penggunaan, sehingga harus terukur dengan baik.
Kelebihan Cloud Computing
Dari semua penjelasan di atas, apa sebenarnya kelebihan dari Cloud Computing, terutama bagi dunia bisnis? Berikut beberapa di antaranya.
Tanpa Investasi Awal
Dengan cloud computing, kita dapat menggunakan sebuah layanan tanpa investasi yang signifikan di awal.
Ini sangat penting bagi bisnis, terutama bisnis pemula (startup). Mungkin di awal bisnis, kita hanya perlu layanan CRM untuk 2 pengguna. Kemudian meningkat menjadi 10 pengguna.
Tanpa model cloud computing, maka sejak awal kita sudah harus membeli hardware yang cukup untuk sekian tahun ke depan. Dengan cloud computing, kita cukup membayar sesuai yang kita butuhkan.
Mengubah CAPEX menjadi OPEX
Sama seperti kelebihan yang pertama, kelebihan yang kedua masih seputar keuangan.
Tanpa cloud computing, investasi hardware dan software harus dilakukan di awal, sehingga kita harus melakukan pengeluaran modal (Capital Expenditure, atau CAPEX). Sedangkan dengan cloud computing, kita dapat melakukan pengeluaran operasional (Operational Expenditure, atau OPEX).
Jadi, sama persis dengan biaya utilitas lainnya seperti listrik atau telepon ketika kita cukup membayar bulanan sesuai pemakaian. Hal ini akan sangat membantu perusahaan secara keuangan.
Lentur dan Mudah Dikembangkan
Dengan memanfaatkan Cloud Computing, bisnis kita dapat memanfaatkan TI sesuai kebutuhan. Perhatikan Gambar 2 di bawah untuk melihat beberapa skenario kebutuhan bisnis.
Penggunaan TI secara bisnis biasanya tidak datar-datar saja.
Dalam skenario “Predictable Bursting”, ada periode di mana penggunaan TI meningkat tajam. Contoh mudah adalah aplikasi Human Resource (HR) yang pada akhir bulan selalu meningkat penggunaannya karena mengelola gaji karyawan.
Untuk skenario “Growing Fast”, bisnis meningkat dengan pesat sehingga kapasitas TI juga harus mengikuti.
Contoh skenario “Unpredictable Bursting” adalah ketika sebuah website berita mendapat pengunjung yang melonjak karena ada berita menarik.
Skenario “On and Off” adalah penggunaan TI yang tidak berkelanjutan. Misalnya, sebuah layanan pelaporan pajak, yang hanya digunakan di waktu-waktu tertentu setiap tahun.

[Gambar 2: Beberapa skenario kebutuhan bisnis.]

Tanpa layanan cloud computing, ke empat skenario ini akan membutuhkan perencanaan TI yang sangat tidak efisien, karena investasi TI harus dilakukan sesuai kapasitas tertinggi, walaupun mungkin hanya terjadi di saat-saat tertentu. Hal ini dilakukan untuk mencegah terjadi kegagalan layanan pada saat “peak time” tersebut.
Dengan cloud computing, karena sifatnya yang lentur dan mudah dikembangkan (elastic and scalable), maka kapasitas dapat ditingkatkan pada saat dibutuhkan, dengan biaya penggunaan sesuai pemakaian.
Fokus pada Bisnis, bukan TI
Dengan menggunakan Cloud Computing, kita dapat fokus pada bisnis utama perusahaan, dan bukan berkecimpung di dalam pengelolaan TI. Hal ini dapat dilakukan karena pengelolaan TI dilakukan oleh penyedia layanan, dan bukan oleh kita sendiri. Misalnya, melakukan patching, security update, upgrade hardware, upgrade software, maintenance, dan lain-lain.


Nama : JULIAN NURHADI P
kls     : 4IA12
TUGAS SOFTSKIL 1