Minggu, 25 Oktober 2009

TCP dan UDP

TCP (Transmission Control Protocol)

TCP memiliki karakteristik sebagai berikut:

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.


Beberapa port dalam TCP




Fungsi TCP

TCP bertugas memecah pesan-pesan menjadi beberapa segment, menyatukan kembali (reassemble) pada stasiun tujuan, mengirimkan kembali apapun yang tidak diterima, dan menyatukan kembali pesan-pesan tersebut dari beberapa segment.
TCP menyediakan sirkuit virtual antara aplikasi end-user.

Keuntungan:

Menawarkan suatu teknologi untuk menghubungkan sistem-sistem yang tidak serupa. TCP/IP
termasuk routable dan dapat dihubungkan ke jaringan-jaringan berbeda melalui gateway.
Memungkinkan untuk melakukan server framework atau client yang termasuk cross-platform,
scalable, dan robust. Microsoft TCP/IP menawarkan WinSock interface, yang sangat ideal untuk
mengembangkan aplikasi-aplikasi client/server yang dapat beroperasi pada WinSock-compliant
stack dari vendor-vendor lain.
Memberikan suatu metode untuk memperoleh akses ke Internet. Dengan berhubungan ke
Internet, sebuah VPN (virtual private network) atau extranet dapat ditentukan, yang bisa
menghasilkan akses jarak jauh yang tidak mahal.

UDP (User Datagram Protocol)
 

UDP adalah sebuah connectionless transport protocol yang tidak memiliki connection setup, flow control, congestion control dan juga tidak reliable. Terlepas dari ketidakreliableannya, UDP mampu mengirim data dengan rate berapa saja walaupun tentu saja tidak djiamin data pasti akan sampai di penerima (ada kemungkinan terjadi data loss).

UDP memiliki karakteristik sebagai berikut:

Membutuhkan response yang cepat. UDP tidak memiliki connection state dan connection establishment sehingga mampu memberikan response yg cepat atas setiap request dari client.
Mentolerir data loss. Beberapa applikasi tidak terlalu sensitive terhadap kehilangan data (selama kehilangan tersebut tidak significant), sehingga ketidak reliablean UDP tidak begitu masalah bagi applikasi seperti ini
Membutuhkan kontrol yang lebih baik atas apa yang akan dikirim dan kapan data akan dikirim. Mekanisme kontrol koneksi yg dimiliki TCP akan membuat applikasi menjadi tidak luwes untuk menentukan kapan saat yg tepat untuk mengirim data sehingga bisa menimbulkan delay yg tidak dapat ditoleransi. Di samping itu, TCP akan tetap berusaha mengirimkan data (walaupun akan membutuhkan waktu yg lama) ketika terjadi kongesti, padahal beberapa aplikasi membutuhkan rate pengiriman yang
Memerlukan pengiriman data pada lebih dari 1 client, baik applikasi broadcast ataupun multicast. TCP tidak mampu melakukan broardcast ataupun multicast.

Beberapa port dalam UDP



Fungsi UDP sebagai berikut:
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.
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)
Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
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.

Keuntungan:

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.


Perbedaan antara TCP dan UDP


Senin, 05 Oktober 2009

DNS, Telnet, SMPT, TFTP

DNS (Domain Name System)

Merupakan layanan di Internet untuk jaringan yang menggunakan TCP/IP. Layanan ini digunakan untuk mengidentifikasi sebuah komputer dengan nama bukan dengan menggunakan alamat IP (IP address). Singkatnya DNS melakukan konversi dari nama ke angka. DNS dilakukan secara desentralisasi, dimana setiap daerah atau tingkat organisasi memiliki domain sendiri. Masing-masing memberikan servis DNS untuk domain yang dikelola. Suatu sistem database yang mengizinkan aplikasi TCP/IP menterjemahkan nama host ke dalam satu IP address. DNS (Domain Name Service) merupakan servis di Internet untuk network yang menggunakan TCP/IP. Servis ini digunakan untuk mengidentifikasi sebuah komputer dengan nama bukan dengan menggunakan nomor (alamat Internet). Komputer di Internet diidentifikasikan dengan angka, yaitu nomor IP. Misalnya, sebuah komputer memiliki nomor IP {192.168.1.1}. Komputer lebih mudah bekerja dengan angka, sedangkan manusia lebih mudah mengingat nama. Komputer dalam contoh ini dapat diberi nama {gareng}, misalnya. Singkatnya DNS melakukan konversi dari nama ke angka.
DNS dilakukan secara desentralisasi, dimana setiap daerah atau tingkat organisasi memiliki domain sendiri. Masing-masing memberikan servis DNS untuk domain yang dikelola. Untuk mengetahui nomor IP dari sebuah mesin (komputer) di Internet dapat digunakan beberapa program. Di sistem UNIX ada program host, Nslookup, dan dig.




TELNET ( Terminal Emulation)

Telnet adalah aplikasi remote login Internet. Telnet digunakan untuk login ke komputer lain di Internet dan mengakses berbagai macam pelayanan umum, termasuk katalog perpustakaan dan berbagai macam database. Telnet memungkinkan pengguna untuk duduk didepan komputer yang terkoneksi ke internet dan mengakses komputer lain yang juga terkoneksi ke internet. Dengan kata lain koneksi dapat terjadi ke mesin lain di satu ruangan, satu kampus, bahkan setiap komputer di seluruh dunia. Setelah terkoneksi, input yang diberikan pada keyboard akan mengontrol langsung ke remote computer tadi. Akan dapat diakses pelayanan apapun yang disediakan oleh remote machine dan hasilnya ditampilkan pada terminal lokal. Dapat dijalankan session interaktif normal (login, eksekusi command), atau dapat diakses berbagai service seperti: melihat catalog dari sebuah perpustakaan, akses ke teks dari USA today, dan masih banyak lagi service yang disediakan oleh masing-masing host pada di network. Telnet menggunakan 2 program, yang satu adalah client (telnet) dan server (telnetd). 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 tadi.




Gambar 1. Interaksi TELNET (Parker, 1994:117)




Gambar 2. Koneksi mesin ketika terjadi TELNER (Parker, 1994:118)



Tugas dari client adalah:
• Membuat koneksi network TCP (Transfer Control Protocol) dengan server.
• Menerima inputan dari user
• Menformat kembali inputan dari user kemudian mengubah dalam bentuk format standard
dan dikirim ke server.
• Menerima output dari server dalam format standard.
• Mengubah format output tadi untuk ditampilkan pada layar.

Sedangkan tugas dari server adalah:
• Menginformasikan software jaringan bahwa komputer itu siap menerima koneksi.
• Menunggu permintaan dalam bentuk format standard.
• Melaksanakan permintaan tersebut.
• Mengirim kembali hasil ke client dalam bentuk format standard.
• Menunggu permintaan selanjutnya.



SMTP (Simple Mail Transport Protocol)


SMTP (Simple Mail Transport Protocol) mendefinisikan cara bagaimana suatu Message Transport Agent (MTA) saling menukar e-mail dengan MTA yang lain. Prosesnya dapat dijelaskan sebagai berikut: pemakai (user) berinteraksi dengan User Agent (UA), yang kemudian pada gilirannya UA ini akan berinteraksi dengan MTA. MTA inilah yang kemudian akan meneruskan e-mail kepada MTA lainnya, dan juga MTA ini akan menerima pesan dari MTA lain untuk diserahkan kepada pemakai (user) melalui User Agent (UA).
E-mail client membuka sesi dengan melakukan inisialisasi sirkuit TCP/IP ke port 25, server SMTP kemudian memberikan respon dengan sebuah nomor ID dan status. Jika server tersedia untuk mentransfer pesan maka client dapat meneruskan sesi dan mentransfer pesan. Setelah koneksi TCP diinisialisasikan kemudian e-mail client mengirim perintah "HELO" bersama-sama dengan nama domainnya, hal ini bertujuan untuk memperkenalkan identitasnya kepada server sehingga bila server menerima perintah ini maka server akan menjawab bersama-sama dengan nama domainnya. Kemudian e-mail client akan mengirim perintah "MAIL FROM:". Selanjutnya e-mail client akan mengirimkan perintah "RCPT TO:".
Bila seluruh alamat e-mail dari penerima telah dikirim dan diterima oleh server, client kemudian mengirim perintah "DATA". Pesan tersebut akan dikirim oleh client jika server telah memberikan konfirmasi yang menyatakan siap untuk menerima data dari pesan e-mail tersebut. Bila telah selesai, selanjutnya client akan mengirim perintah terakhir yang akan menunjukkan bahwa pesan telah dikirim yaitu berupa titik("."), setelah server mengirimkan jawaban yang menyatakan bahwa pesan telah diterima maka client akan diberikan kesempatan untuk mengirim pesan lagi atau mengakhiri sesi tersebut yaitu dengan perintah "QUIT".


TFTP (Trivial File Transfer Protocol)


TFTP (Trivial File Transfer Protocol) adalah sebuah aplikasi File Transfer dengan menggunakan protokol UDP. Aplikasi ini dapat dipakai sebagai Server File Transfer Protokol dimana kita bisa menyimpan beberapa file, contohnya seperti menyimpan Running-config ataupun CISCO IOS dari peralatan Jaringan seperti CISCO. Selain itu TFTP juga banyak sekali keuntungannya, antara lain:
Trivia File Transfer Protocol (TFTP) merupakan dua file transfer protocol yang populer di dalam jaringan IP
TFTP melakukan perbaikan satu blok data application layer pada satu waktu
TFTP menggunakan kode lebih sedikit. Ia didesain agar sederhana (trivial), dengan jumlah memory yang sedikit untuk menjalankan kodenya. Karena protokol ini sangatlah sederhana, maka implementasi protokol ini dalam komputer yang memiliki memori yang kecil sangatlah mudah. Hal ini memang pertimbangan yang sangat penting pada saat itu. Akhirnya, TFTP pun 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