1. TCP
Pengertian TCP
Transmission Control Protocol (TCP) ialah 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 sanggup mendapatkan amanah (reliable).TCP digunakan untuk aplikasi-aplikasi yang membutuhkan keandalan data.
Awal Keberadaan TCP
Konsep TCP/IP berawal dari kebutuhan DoD (Departement of Defense) AS akan suatu komunikasi di antara banyak sekali variasi komputer yg telah ada. Komputer-komputer DoD ini seringkali harus bekerjasama antara satu organisasi peneliti dg organisasi peneliti lainnya, dan harus tetap bekerjasama sehingga pertahanan negara tetap berjalan selama terjadi bencana, menyerupai ledakan nuklir. Oleh karenanya pada tahun 1969 dimulailah penelitian terhadap serangkaian protokol TCP/IP. Di antara tujuan-tujuan penelitian ini ialah sebagai berikut :Terciptanya protokol-protokol umum, DoD memerlukan suatu protokol yg sanggup ditentukan untuk semua jaringan.
Meningkatkan efisiensi komunikasi data.
Dapat dipadukan dengan teknologi WAN (Wide Area Network) yg telah ada.
Praktis dikonfigurasikan.
Karakteristik TCP
Karakteristik dari TCP antara lain yaitu :Reliable berarti data ditransfer ke tujuannya dalam suatu urutan menyerupai ketika dikirim.
Berorientasi sambungan (connection-oriented): Sebelum data sanggup ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melaksanakan perundingan untuk menciptakan sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan memakai 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 memakai teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun sanggup secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk
Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang balasannya menciptakan “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 akseptor untuk memperoleh data yang tidak sanggup 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 tiba dari lapisan aplikasi (dalam DARPA Reference Model)
Mengirimkan paket secara “one-to-one“: hal ini alasannya memang TCP harus menciptakan sebuah sirkuit logis antara dua buah protokol lapisan aplikasi semoga saling sanggup berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.
Cara Kerja TCP/IP
Adapun langkah-langkah cara kerja dari protokol TCP/IP ini ialah :Pertama, datagram dibagi-bagi ke dalam bagian-bagian kecil yang sesuai dengan ukuran bandwith (lebar frekuensi) dimana data tersebut akan dikirimkan.
Pada lapisan TCP, data tersebut kemudian “dibungkus” dengan informasi header yang dibutuhkan. Misalnya menyerupai cara mengarahkan data tersebut ke tujuannya, cara merangkai kembali kebagian-bagian data tersebut jikalau sudah hingga pada tujuannya, dan sebagainya.
Setelah datagram dibungkus dengan header TCP, datagram tersebut dikirim kepada lapisan IP.
IP mendapatkan datagram dari TCP dan menambahkan headernya sendiri pada datagram tersebut.
IP kemudian mengarahkan datagram tersebut ke tujuannya.
Komputer akseptor melaksanakan proses-proses perhitungan, ia menyelidiki perhitungan checksum yang sama dengan data yang diterima.
Jika kedua perhitungan tersebut tidak cocok berarti ada error sewaktu pengiriman dan datagram akan dikirimkan kembali.
Kelebihan TCP/IP
Beberapa kelebihan TCP/IP dibandingkan protokol yang lain antara lain:TCP/IP ialah protokol yang bisa diarahkan. Artinya ia bisa mengirimkan datagram melalui rute-rute yang telah ditentukan sebelumnya. Hal ini sanggup mengurangi kepadatan kemudian lintas pada jaringan, serta sanggup membantu jikalau jaringan mengalami kegagalan, TCP/IP sanggup mengarahkan data melalui jalur lain.
Memiliki mekanisme pengiriman data yang handal dan efisien.
Bersifat open platform atau platform independent yaitu tidak terikat oleh jenis perangkat keras atau perangkat lunak tertentu.
Karena sifatnya yang terbuka, TCP/IP bisa mengirimkan data antara sistem-sistem komputer yang berbeda yang menjalankan pada sistem-sistem operasi yang berbeda pula.
TCP/IP terpisah dari perangkat keras yang mendasarinya. Protokol ini sanggup dijalankan pada jaringan Ethernet, Token ring, X.25, dan bahkan melalui sambungan telepon.
TCP/IP memakai denah pengalamatan yang umum, maka semua sistem sanggup mengirimkan data ke alamat sistem yang lain.
Kegunaan TCP
Beberapa kegunaan dari TCP yaitu :- Menyediakan komunikasi logika antar proses aplikasi yang berjalan pada host yang berbeda
- protokol transport berjalan pada end systems
- Pengiriman file (file transfer). File Transfer Protokol (FTP) memungkinkan pengguna komputer yg satu untuk sanggup mengirim ataupun mendapatkan file ke komputer jaringan. Karena persoalan keamanan data, maka FTP seringkali memerlukan nama pengguna (username) dan password, meskipun banyak juga FTP yg sanggup diakses melalui anonymous, lias tidak berpassword. (lihat RFC 959 untuk spesifikasi FTP)
- Remote login. Network terminal Protokol (telnet) memungkinkan pengguna komputer sanggup melaksanakan log in ke dalam suatu komputer didalam suatu jaringan. Kaprikornus hal ini berarti bahwa pengguna memakai komputernya sebagai perpanjangan tangan dari komputer jaringan tersebut.( lihat RFC 854 dan 855 untuk spesifikasi telnet lebih lanjut)
- Computer mail. Digunakan untuk menerapkan sistem elektronik mail.
- Network File System (NFS). Pelayanan saluran 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)
- Remote execution. Memungkinkan pengguna komputer untuk menjalankan suatu aktivitas didalam komputer yg berbeda. Biasanya mempunyai kegunaan jikalau pengguna memakai 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 sanggup dijalankan dalam system komputer yg sama dan ada pula yg memakai “prosedure remote call system”, yg memungkinkan aktivitas untuk memanggil subroutine yg akan dijalankan di system komputer yg berbeda. (sebagai tumpuan dalam Berkeley UNIX ada perintah “rsh” dan “rexec”)
- Name servers. Nama database alamat yg digunakan pada internet (lihat RFC 822 dan 823 yg menjelaskan mengenai penggunaan protokol name server yg bertujuan untuk memilih nama host di internet.)
Manajemen Koneksi TCP :
Pada dikala Setup Koneksi- Client mengirimkan kontrol TCP SYN ke server, dengan menunjukkan sequence number inisial.
- Server mendapatkan TCP SYN, dan membalasnya dengan kontrol SYNACK.
- ACK yang menyatakan telah mendapatkan SYN.
- Mengalokasikan buffer.
- Menghasilkan sequence number untuk ke client.
- Pada dikala Menutup Koneksi
- Client mengirim kontrol TCP FIN ke server
- Server mendapatkan FIN, dan membalas dengan ACK. Menutup koneksi dan mengirimkan FIN ke client.
- Client mendapatkan FIN dan membalas ACK
- Masuk pada masa menunggu jawaban ACK terhadap dari server
- Server mendapatkan ACK dan koneksi tertutup.
Header TCP
Ukuran dari header TCP ialah bervariasi, yang terdiri atas beberapa field yang ditunjukkan dalam gambar dan tabel berikut. Ukuran TCP header paling kecil (ketika tidak ada komplemen opsi TCP) ialah 20 byte. headerTCP-2.Port TCP
Port TCP bisa mengindikasikan sebuah lokasi tertentu untuk memberikan 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 mempunyai 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 memakai port TCP dan port UDP dalam nomor yang sama juga tidak harus sama. Sebagai tumpuan protokol Extended Filename Server (EFS) memakai port TCP dengan nomor 520, dan protokol Routing Information Protocol (RIP) memakai port UDP juga dengan nomor 520. Jelas, dua protokol tersebut sangatlah berbeda! Karenanya, untuk menyebutkan sebuah nomor port, sebutkan juga jenis port yang digunakannya, alasannya hal tersebut bisa membingungkan (ambigu). PORTtcp-1
Aplikasi yang Menggunakan TCP
1. World Wide Web.Aplikasi ini pada prinsipnya menyerupai dengan aplikasi gopher, yakni penyediaan database yang sanggup diakses tidak hanya berupa text, namun sanggup berupa gambar/image, suara, video. penyajiannya pun sanggup dilakukan secara live. Dengan demikian, jenis informasi yang sanggup disediakan sangat banyak dan sanggup dibentuk dengan tampilan yang lebih menarik. Hal ini dimungkinkan alasannya Web memakai 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 jikalau 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 sanggup dijelaskan sebagai berikut. Server Archie secara terpola melaksanakan anonymous ftp ke sejumlah FTP Server dan mengambil informasi daftar seluruh file yang ada pada FTP Server tersebut. Daftar ini disusun menurut letak file dalam direktori/sub direktori, sehingga gampang 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 ialah alamat FTP Server yang mempunyai 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 bahan yang terindeks dan menemukan dokumen/artikel menurut isi artikel tersebut. Kaprikornus pada dasarnya, WAIS menunjukkan layanan untuk mencari artikel yang berisi kata-kata kunci yang kita ejekan sebagai dasar pencarian.
Aplikasi WAIS biasanya berbasis text. Untuk menciptakan suatu dokumen sanggup dicari melalaui WAIS Server, harus dibentuk 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 mempunyai kata-kata tersebut ditampilkan. Karena kemungkinan ada banyak dokumen yang mempunyai kata-kata yang kita ajukan, maka beberapa dokumen yang mempunyai kata kunci tersebut diberi skor/nilai. Dokumen yang paling banyak mengandung kata-kata kunci akan menerima 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 akseptor isu tertulis melalaui telepon dikala ini hampir dimiliki oleh semua kantor. Melalaui gateway Internet FAX, pengiriman FAX sanggup dilakukan melalaui e-mail. Gateway akan menerjemahkan pesan e-mail tersebut dan menghubungi mesin FAX tujuan melalui jalur telepon secara otomatis. Tentu saja, saluran untuk ini terbatas (private).
2. UDP
Pengertian UDP
UDP, kependekan dari User Datagram Protocol, ialah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak ahli (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang memakai TCP/IP.Karakteristik UDP
Karakteristik dari UDP antara lain, yaitu :
Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses perundingan koneksi antara dua host yang hendak berukar 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 melaksanakan 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 memakai 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 memakai TCP/IP. HeaderUDP berisi field Source Process Identification dan Destination Process Identification.
UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.
Kegunaan UDP:
UDP sering digunakan dalam beberapa kiprah berikut:Protokol yang “ringan” (lightweight): Untuk menghemat sumber daya memori dan prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang sanggup melaksanakan fungsi-fungsi spesifik dengan saling bertukar pesan. Contoh dari protokol yang ringan ialah 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 menyerupai ini ialah Trivial File Transfer Protocol (TFTP) dan Network File System (NFS)
Protokol yang tidak membutuhkan keandalan. Contoh protokol ini ialah protokol Routing Information Protocol (RIP).
Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu menciptakan koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi sanggup mengirimkan paket data ke beberapa tujuan dengan memakai alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP yang hanya sanggup mengirimkan transmisi one-to-one. Contoh: query nama dalam protokol NetBIOS Name Service.
Kelemahan UDP
UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data yang masuk ataupun data yang keluar. Tugas buffering merupakan kiprah 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, menyerupai 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, jikalau ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja terpecah menjadi beberapa fragmen yang balasannya tidak jadi terkirim dengan benar.
UDP tidak menyediakan mekanisme flow-control, menyerupai yang dimiliki oleh TCP.
Header UDP
Header UDP diwujudkan sebagai sebuah header dengan 4 buah field mempunyai ukuran yang tetap.Port UDP
Seperti halnya TCP, UDP juga mempunyai saluran untuk mengirimkan informasi antar host, yang disebut dengan UDP Port. Untuk memakai 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 sanggup mendapatkan beberapa pesan secara sekaligus. Setiap port diidentifikasi dengan nomor yang unik, menyerupai halnya TCP, tetapi meskipun begitu, UDP Port berbeda dengan TCP Port meskipun mempunyai nomor port yang sama. Tabel di bawah ini mendaftarkan beberapa UDP port yang telah dikenal secara luas.
Aplikasi yang Menggunakan UDP:
Digunakan untuk multimedia streaming, yang sangat menunjukkan toleransi kehilangan segment cukup baik dan yang sangat tidak sensitive terhadap kerusakan atau kehilangan segmentContoh protokol aplikasi yang memakai UDP :
- DNS (Domain Name System) 53
- SNMP, (Simple Network Management Protocol) 161, 162
- TFTP (Trivial File Transfer Protocol) 69
- SunRPC port 111.
3. Perbedaan TCP dan UDP
UDP melaksanakan multiplexing UDP memakai cara yang sama menyerupai TCP. Satu-satunya perbedaan ialah transport protocol yang digunakan, yaitu UDP. Suatu aplikasi sanggup membuka nomor port yang sama pada satu host, tetapi satu memakai TCP dan yang satu lagi memakai UDP—hal ini tidak biasa, tetapi diperbolehkan. Jika suatu layanan mendukung TCP dan UDP, ia memakai nilai yang sama untuk nomor port TCP dan UDP.
UDP mempunyai laba dibandingkan TCP dengan tidak memakai field sequence dan acknowledgement. Keuntungan UDP yang paling terang dari TCP ialah byte komplemen yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu penerimaan atau menyimpan data dalam memory hingga data tersebut diterima. Ini berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory sanggup dibebaskan lebih cepat. Pada tabel, Anda sanggup melihat fungsi yang dilakukan (atau tidak dilakukan) oleh UDP atau TCP.