RAPANI-ID : MENERIMA JASA SETTING MIKROTIK - JASA SETTING PROXY - JASA INSTALASI DAN PEMBUATAN WARNET GAME ONLINE TELP 082170824476 (WA)
TCP
Pengertian 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). TCP dipakai 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 berbagai variasi komputer yg telah ada. Komputer-komputer DoD ini seringkali harus berhubungan antara satu organisasi peneliti dg organisasi peneliti lainnya, dan harus tetap berhubungan sehingga pertahanan negara tetap berjalan selama terjadi bencana, seperti ledakan nuklir. Oleh karenanya pada tahun 1969 dimulailah penelitian terhadap serangkaian protokol TCP/IP. Di antara tujuan-tujuan penelitian ini adalah sebagai berikut :
- Terciptanya protokol-protokol umum, DoD memerlukan suatu protokol yg dapat ditentukan untuk semua jaringan.
- Meningkatkan efisiensi komunikasi data.
- Dapat dipadukan dengan teknologi WAN (Wide Area Network) yg telah ada.
- Mudah dikonfigurasikan.
Karakteristik TCP
Karakteristik dari TCP antara lain yaitu :
- Reliable berarti data ditransfer ke tujuannya dalam suatu urutan seperti ketika dikirim.
- 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
- 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.
Arsitektur
Arsitektur TCP/IP diperbandingkan dengan DARPA Reference Model dan OSI Reference Model
Arsitektur TCP/IP tidaklah berbasis model referensi tujuh lapis OSI, tetapi menggunakan model referensi DARPA. TCP/IP merngimplemenasikan arsitektur berlapis yang terdiri atas empat lapis. Empat lapis ini, dapat dipetakan (meski tidak secara langsung) terhadap model referensi OSI. Empat lapis ini, kadang-kadang disebut sebagai DARPA Model, Internet Model, atau DoD Model, mengingat TCP/IP merupakan protokol yang awalnya dikembangkan dari proyek ARPANET yang dimulai oleh Departemen Pertahanan Amerika Serikat.
Setiap lapisan yang dimiliki oleh kumpulan protokol (protocol suite) TCP/IP diasosiasikan dengan protokolnya masing-masing. Protokol utama dalam protokol TCP/IP adalah sebagai berikut:
- Protokol lapisan aplikasi: bertanggung jawab untuk menyediakan akses kepada aplikasi terhadap layanan jaringan TCP/IP. Protokol ini mencakup protokol Dynamic Host Configuration Protocol(DHCP), Domain Name System (DNS), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Telnet, Simple Mail Transfer Protocol(SMTP), Simple Network Management Protocol (SNMP), dan masih banyak protokol lainnya. Dalam beberapa implementasi stack protokol, seperti halnya Microsoft TCP/IP, protokol-protokol lapisan aplikasi berinteraksi dengan menggunakan antarmuka Windows Sockets (Winsock) atau NetBIOS over TCP/IP (NetBT).
- Protokol lapisan antar-host: berguna untuk membuat komunikasi menggunakan sesi koneksi yang bersifat connection-orientedatau broadcast yang bersifat connectionless. Protokol dalam lapisan ini adalah Transmission Control Protocol(TCP) dan User Datagram Protocol (UDP).
- Protokol lapisan internetwork: bertanggung jawab untuk melakukan pemetaan (routing) dan enkapsulasi paket-paket data jaringanmenjadi paket-paket IP. Protokol yang bekerja dalam lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), dan Internet Group Management Protocol (IGMP).
- Protokol lapisan antarmuka jaringan: bertanggung jawab untuk meletakkan frame-frame jaringan di atas media jaringan yang digunakan. TCP/IP dapat bekerja dengan banyak teknologi transport, mulai dari teknologi transport dalam LAN(seperti halnya Ethernetdan Token Ring), MAN dan WAN (seperti halnya dial-up modem yang berjalan di atas Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), serta Asynchronous Transfer Mode (ATM)).
Pengalamatan
Protokol TCP/IP menggunakan dua buah skema pengalamatan yang dapat digunakan untuk mengidentifikasikan sebuah komputer dalam sebuah jaringan atau jaringan dalam sebuah internetwork, yakni sebagai berikut:
- Pengalamatan IP: yang berupa alamat logis yang terdiri atas 32-bit(empat oktetberukuran 8-bit) yang umumnya ditulis dalam format http://www.xxx.yyy.zzz. Dengan menggunakan subnet mask yang diasosiasikan dengannya, sebuah alamat IP pun dapat dibagi menjadi dua bagian, yakni Network Identifier (NetID) yang dapat mengidentifikasikan jaringan lokal dalam sebuah internetwork dan Host identifier(HostID) yang dapat mengidentifikasikan host dalam jaringan tersebut. Sebagai contoh, alamat 205.116.008.044 dapat dibagi dengan menggunakan subnet mask 255.255.255.000 ke dalam Network ID116.008.000 dan Host ID 44. Alamat IP merupakan kewajiban yang harus ditetapkan untuk sebuah host, yang dapat dilakukan secara manual (statis) atau menggunakan Dynamic Host Configuration Protocol (DHCP) (dinamis).
- Fully qualified domain name(FQDN): Alamat ini merupakan alamat yang direpresentasikan dalam nama alfanumerik yang diekspresikan dalam bentuk <nama_host>.<nama_domain>, di mana <nama_domain> mengindentifikasikan jaringan di mana sebuah komputer berada, dan <nama_host> mengidentifikasikan sebuah komputer dalam jaringan. Pengalamatan FQDN digunakan oleh skema penamaan domain Domain Name System (DNS). Sebagai contoh, alamat FQDN wikipedia.org merepresentasikan sebuah host dengan nama “id” yang terdapat di dalam domain jaringan “wikipedia.org”. Nama domain wikipedia.org merupakan second-level domain yang terdaftar di dalam top-level domain .org, yang terdaftar dalam root DNS, yang memiliki nama “.” (titik). Penggunaan FQDN lebih bersahabat dan lebih mudah diingat ketimbang dengan menggunakan alamat IP. Akan tetapi, dalam TCP/IP, agar komunikasi dapat berjalan, FQDN harus diterjemahkan terlebih dahulu (proses penerjemahan ini disebut sebagai resolusi nama) ke dalam alamat IP dengan menggunakan server yang menjalankan DNS, yang disebut dengan Name Server atau dengan menggunakan berkas hosts(/etc/hosts atau %systemroot%\system32\drivers\etc\hosts) yang disimpan di dalam mesin yang bersangkutan.
Cara Kerja TCP/IP
Adapun langkah-langkah cara kerja dari protokol TCP/IP ini adalah :
- 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 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.
- Setelah datagram dibungkus dengan header TCP, datagram tersebut dikirim kepada lapisan IP.
- IP menerima datagram dari TCP dan menambahkan headernya sendiri pada datagram tersebut.
- IP lalu mengarahkan datagram tersebut ke tujuannya.
- Komputer penerima melakukan proses-proses perhitungan, ia memeriksa 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 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.
- 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 dapat dijalankan pada jaringan Ethernet, Token ring, X.25, dan bahkan melalui sambungan telepon.
- TCP/IP menggunakan skema pengalamatan yang umum, maka semua sistem dapat 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 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)
- 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)
- Computer mail. Digunakan untuk menerapkan sistem elektronik mail.
- 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)
- 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”)
- 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.)
Manajemen Koneksi TCP :
Pada saat Setup Koneksi
- Client mengirimkan kontrol TCP SYN ke server, dengan memberikan sequence number inisial.
- 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
- Client mengirim kontrol TCP FIN ke server
- Server menerima FIN, dan membalas dengan ACK. Menutup koneksi dan mengirimkan FIN ke client.
- Client menerima FIN dan membalas ACK
- Masuk pada masa menunggu balasan ACK terhadap dari server
- Server menerima ACK dan koneksi tertutup.
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 Suatu paket mengandung header dan data gram, pada bagian header dari paket akan mengandung informasi penting tentang :
Nama field | Ukuran |
Keterangan |
Source Port | 2 byte (16 bit) | Mengindikasikan sumber protokol lapisan aplikasi yang mengirimkan segmen TCP yang bersangkutan. Gabungan antara field Source IP Address dalam header IP dan field Source Port dalam field header TCP disebut juga sebagai socket sumber, yang berarti sebuah alamat global dari mana segmen dikirimkan. Lihat juga Port TCP. |
Destination Port | 2 byte (16 bit) | Mengindikasikan tujuan protokol lapisan aplikasi yang menerima segmen TCP yang bersangkutan. Gabungan antara field Destination IP Address dalam header IP dan field Destination Port dalam field header TCP disebut juga sebagai socket tujuan, yang berarti sebuah alamat global ke mana segmen akan dikirimkan. |
Sequence Number | 4 byte (32 bit) | Mengindikasikan nomor urut dari oktet pertama dari data di dalam sebuah segmen TCP yang hendak dikirimkan. Field ini harus selalu diset, meskipun tidak ada data (payload) dalam segmen. Ketika memulai sebuah sesi koneksi TCP, segmen dengan flag SYN (Synchronization) diset ke nilai 1, field ini akan berisi nilai Initial Sequence Number (ISN). Hal ini berarti, oktet pertama dalam aliran byte (byte stream) dalam koneksi adalah ISN+1. |
Acknowledgment Number | 4 byte (32 bit) |
Mengindikasikan nomor urut dari oktet selanjutnya dalam aliran byte yang diharapkan oleh untuk diterima oleh pengirim dari si penerima pada pengiriman selanjutnya. Acknowledgment number sangat dipentingkan bagi segmen-segmen TCP dengan flag ACK diset ke nilai 1. |
Data Offset | 4 bit |
Mengindikasikan di mana data dalam segmen TCP dimulai. Field ini juga dapat berarti ukuran dari header TCP. Seperti halnya field Header Length dalam header IP, field ini merupakan angka dari word 32-bit dalam header TCP. Untuk sebuah segmen TCP terkecil (di mana tidak ada opsi TCP tambahan), field ini diatur ke nilai 0x5, yang berarti data dalam segmen TCP dimulai dari oktet ke 20 dilihat dari permulaan segmen TCP. Jika field Data Offset diset ke nilai maksimumnya (24=16) yakni 15, header TCP dengan ukuran terbesar dapat memiliki panjang hingga 60 byte. |
Reserved | 6 bit | Direservasikan untuk digunakan pada masa depan. Pengirim segmen TCP akan mengeset bit-bit ini ke dalam nilai 0. |
Flags | 6 bit |
Mengindikasikan flag-flag TCP yang memang ada enam jumlahnya, yang terdiri atas: URG (Urgent), ACK (Acknowledgment), PSH (Push), RST (Reset), SYN (Synchronize), dan FIN (Finish). |
Window | 2 byte (16 bit) |
Mengindikasikan jumlah byte yang tersedia yang dimiliki oleh buffer host penerima segmen yang bersangkutan. Buffer ini disebut sebagai Receive Buffer, digunakan untuk menyimpan byte stream yang datang. Dengan mengimbuhkan ukuran window ke setiap segmen, penerima segmen TCP memberitahukan kepada pengirim segmen berapa banyak data yang dapat dikirimkan dan disangga dengan sukses. Hal ini dilakukan agar si pengirim segmen tidak mengirimkan data lebih banyak dibandingkan ukuran Receive Buffer. Jika tidak ada tempat lagi di dalam Receive buffer, nilai dari field ini adalah 0. Dengan nilai 0, maka si pengirim tidak akan dapat mengirimkan segmen lagi ke penerima hingga nilai field ini berubah (bukan 0). Tujuan hal ini adalah untuk mengatur lalu lintas data atau flow control. |
Checksum | 2 byte (16 bit) | Mampu melakukan pengecekan integritas segmen TCP (header-nya dan payload-nya). Nilai field Checksum akan diatur ke nilai 0 selama proses kalkulasi checksum. |
Urgent Pointer | 2 byte (16 bit) | Menandakan lokasi data yang dianggap “urgent” dalam segmen. |
Options | 4 byte (32 bit) | Berfungsi sebagai penampung beberapa opsi tambahan TCP. Setiap opsi TCP akan memakan ruangan 32 bit, sehingga ukuran header TCP dapat diindikasikan dengan menggunakan field Data offset. |
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).
Perbedaan TCP dan UDP
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.
Aplikasi yang Menggunakan TCP
- 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).
- 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.
- 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.
- 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).
- SMTP
SMTP merupakan kependekan dari Simple Mail Transfer Protocol. SMTP merupakan protokol dalam pengiriman email.
- POP3
POP3 merupakan kependekan dari Post Office Protocol 3 . POP3 adalah protocol untuk mengambil email.
- IMAP
IMAP merupakan kependekan dari Internet Message Access Protocol. IMAP merupakan protocol dalam menyimpan dan mengambil email.
- SSH
SSH merupakan kependekan dari Secure Shell adalah shell yang aman yang dapat digunakan untuk melakukan manajemen server.
- FTP
FTP adalah kependekan dari File Transfer Protocok. FTP adalah protocol untuk pengiriman dana penerimaan file.
- Telnet
Telnet merupakan tool untuk melakukan manajemen server.
ICMP
Internet Control Message Protocol (ICMP) adalah salah satu protokol utama dari Internet Protocol Suite Hal ini digunakan oleh perangkat jaringan komputer, seperti router, untuk mengirim pesan yang menunjukkan kesalahan, misalnya layanan yang diminta tidak tersedia atau host atau router tidak bisa dihubungi. ICMP juga dapat digunakan untuk menyampaikan pICMP adalah singkatan dari Internet Control Message Protocol sebagaimana didefinisikan oleh RFC 792 dan RFC 1122 digunakan untuk melaporkan kesalahan jaringan dan menghasilkan pesan yang membutuhkan perhatian. Sebagai protokol, Fungsi ICMP adalah mengirimkan pesan-pesan kesalahan dan kondisi lain yang memerlukan perhatian khusus.esan permintaan, Hal ini ditugaskan pada protokol nomor 1. ICMP untuk Internet Protocol versi 4 (IPv4) juga dikenal sebagai ICMPv4. IPv6 memiliki protokol yang sama, ICMPv6 .
Pelaporan Kesalahan yang dilakukam oleh ICMP umumnya terkait dengan pemrosesan datagram. ICMP hanya melaporkan kesalahan yang melibatkan fragmen 0 dari setiap datagram terfragmentasi. IP, UDP atau TCP lapisan biasanya akan mengambil tindakan berdasarkan pesan ICMP. ICMP umumnya dimiliki lapisan I TCP / IP, tetapi bergantung pada IP dukungan pada lapisan jaringan. Pesan ICMP diringkas (encapsulated) dalam datagram IP.
Ada dua tipe pesan yang dapat dihasilkan ICMP :
- ICMP Error Message(dihasilkan jika terjadi kesalahan jaringan)
- ICMP Query Message(dihasilkan jika pengirim paket mengirimkan informasi tertentu yang berkaitan dengan kondisi jaringan.
ICMP Error Message dibagi menjadi beberapa jenis :
- Destination Unreachable, dihasilkan oleh router jika pengirim paket mengalami kegagalan akibat masalah putusnya jalur baik secara fisik maupun logic. Destination Unreacheabledibagi lagi menjadi beberapa jenis :
- Network Unreacheable, jika jaringantujuan tak dapat dihubungi
- Host Unreacheable, jika host tujuan tak bisa dihubungi
- Protocol At Destination is Unreacheable, jika di tujuan tak tersedia protokol tersebut.
- Destination Host is Unknown, jika host tujuan tidak diketahui
- Destination Network is Unknown, jika network tujuan tidak diketahui
- Time Exceeded, dikirimkan jika isi field TTL dalam paket IPsudah habis dan paket belum juga sampai ke tujuannya. Tiap kali sebuah paket IP melewati satu router, nilai TTL dalam paket tsb, dikurangi satu. TTL ini diterapkan untuk mencegah timbulnya paket IP yang terus menerus berputar-putar di network karena suatu kesalahan tertentu. sehingga menghabiskan sumber daya yang ada. Field TTL juga digunakan oleh program traceroute untuk melacak jalannya paket dari satu host ke host lain. Program traceroute dapat melakukan pelacakan rute berjalannya IP dengan cara mengirimkan paket kecil UDP ke IP tujuan, dengan TTL yang di set membesar. Saat paket pertama dikirim, TTL diset satu, sehingga router pertama akan membuang paket ini dan mengirimkan paket ICMP Time Exceeded, kemudian paket kedua dikirim, dengan TTL dinaikan. Dengan naiknya TTL paket ini sukses melewati router pertama namun dibuang oleh router kedua, router ini pun mengirim paket ICMP time Exceeded.
- Parameter Problem, paket ini dikirim jika terdapat kesalahan parameter pada header paket IP.
- Source Quench, Paket ICMPini dikirimkan jika router tujuan mengalami kongesti. Sebagai respons atas paket ini pihak pengirim paket harus memperlambat pengiriman paketnya.
- Redirect, paket ini dikirimkan jika router merasa host mengirimkan paket IPmelalui router yang salah. Paket ini seharusnya dikirimkan melalui router lain.
Sedangkan ICMP Query Message Terdiri atas :
- Echo dan Echo Reply, Bertujuan untuk memeriksa apakah sistem tujuan dalam keadaan aktif. Program ping merupakan program pengisi paket ini. Respondet harus mengembalikan data yang sama dengan data yang dikirimkan.
- Timestamp dan Timestamp Reply, Menghasilkan informasi waktu yang diperlukan sistem tujuan untuk memproses suatu paket.
- Address mask, untuk mengetahui beberapa netmask yang harus digunakan suatu host dalam suatu network.
Sebagai paket pengatur kelancaran jaringan paket ICMP tidak diperbolehkan membebani network. Karenanya paket ICMP tidak boleh dikirim saat terjadi problem yang disebabkan oleh :
- Kegagalan pengririman paket ICMP
- Kegagalan pengiriman paket broadcast atau multicast.
Pesan ICMP adalah terdiri dari tipe 8 bit, kode 8 bit, checksum 8 bit, dan isi yang bervariasi tergantung pada kode dan jenis pesan. Tabel di bawah ini adalah daftar pesan konrol ICMP
Jenis |
Kode |
Deskripsi |
Tujuan |
0 | 0 | Echo reply | Query |
3 | 0 | Jaringan Tidak terjangkau | Error |
3 | 1 | Host Tidak terjangkau | Error |
3 | 2 | Protokol Tidak terjangkau | Error |
3 | 3 | Protokol Tidak terjangkau | Error |
3 | 4 | Fragmentasi diperlukan dengan tidakfragmen bit set | Error |
3 | 5 | Sumber rute gagal | Error |
3 | 6 | Jaringan tujuan yang tidak diketahui | Error |
3 | 7 | Host tujuan tidak diketahui | Error |
3 | 8 | Host sumber terisolasi | Error |
3 | 9 | Jaringan tujuan administratif dilarang | Error |
3 | 10 | Host tujuan administratif dilarang | Error |
3 | 11 | Jaringan Tidak terjangkau dlm hal Ketentuan Layanan | Error |
3 | 12 | Host Tak terjangkau dlm hal Ketentuan Layanan | Error |
3 | 13 | Komunikasi administratif dilarangoleh penyaringan | Error |
3 | 14 | Host/Pelanggan didahulukan | Error |
3 | 15 | Diutamakan cutoff | Error |
4 | 0 | Sumber memuaskan | Error |
5 | 0 | Redirect untuk jaringan | Error |
5 | 1 | Redirect untuk Host | Error |
5 | 2 | Redirect untuk jenis layanan danjaringan | Error |
5 | 3 | Redirect untuk jenis layanan dan Host | Error |
8 | 0 | Echo request | Query |
9 | 0 | Iklan router yang normal | Query |
9 | 16 | Router tidak pada rute lalu lintasumum | Query |
10 | 0 | Permohonan Router | Query |
11 | 0 | Waktu hidup adalah nol selama transit | Error |
11 | 1 | Waktu hidup adalah nol selamareassembly | Error |
12 | 0 | Header IP yang buruk | Error |
12 | 1 | Opsi yang diperlukan hilang | Error |
12 | 2 | Bad panjang | Error |
13 | 0 | Permintaan Timestamp | Query |
14 | 0 | Balasan Timestamp | Query |
15 | 0 | Permintaan Informasi | Query |
16 | 0 | Informasi balasan | Query |
17 | 0 | Permintaan alamat mask | Query |
18 | 0 | Permintaan alamat mask | Query |
ICMP digunakan pada berbagai fungsi berbeda, namun yang paling penting adalah pelaporan kesalahan. Beberapa di antaranya adalah “port unreachable”, “host unreachable”, “network unreachable”, “jaringan tujuan yang tidak dikenal”, dan “host tujuan tidak dikenal.
Beberapa hal yang tidak terkait dengan kesalahan pada pelaporan ICMP adalah:
- Permintaan dan tanggapan Timestamp memungkinkan sebuah sistem untuk meminta satu sama lain untuk pada satu waktu.
- Address mask and reply digunakan oleh workstation diskless untuk mendapatkan subnet mask-nya pada saat boot.
- Echo request dan echo reply digunakan oleh program ping untuk menguji untuk melihat apakah unit lain akan meresponICMP berbeda tujuan dengan TCP dan UDP dalam hal ICMP tidak digunakan secara langsung oleh aplikasi jaringan milik pengguna. salah satu pengecualian adalah aplikasi ping yang mengirim pesan ICMP Echo Request (dan menerima Echo Reply) untuk menentukan apakah komputer tujuan dapat dijangkau dan berapa lama paket yang dikirimkan dibalas oleh komputer tujuan.
UDP
Pengertian 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.
Karakteristik UDP
Karakteristik dari UDP antara lain, yaitu :
- Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi 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 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.
- 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.
- UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.
Kegunaan UDP:
UDP sering digunakan dalam beberapa tugas 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.
Kelemahan UDP
- 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.
- UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena itulah, protokol lapisan likasi 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.
- UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.
Header UDP
Header UDP diwujudkan sebagai sebuah header dengan 4 buah field memiliki ukuran yang tetap, seperti tersebutkan dalam tabel berikut.
Field | Panjang |
Keterangan |
Source Port | 16 bit (2 byte) | Digunakan untuk mengidentifikasikan sumber protokol lapisan aplikasi yang mengirimkan pesan UDP yang bersangkutan. Penggunaan field ini adalah opsional, dan jika tidak digunakan, akan diset ke angka 0. Beberapa protokol lapisan aplikasi dapat menggunakan nilai field ini dari pesan UDP yang masuk sebagai nilai field port tujuan (Destination Port, lihat baris selanjutnya) sebagai balasan untuk pesan tersebut. |
Destination Port | 16 bit (2 byte) | Digunakan untuk mengidentifikasikan tujuan protokol lapisan aplikasi yang menjadi tujuan pesan UDP yang bersangkutan. Dengan menggunakan kombinasi antara alamat IP dengan nilai dari field ini untuk membuat sebuah alamat yang signifikan untuk mengidentifikasikan proses yang berjalan dalam sebuah host tertentu yang dituju oleh pesan UDP yang bersangkutan. |
Length | 16 bit (2 byte) | Digunakan untuk mengindikasikan panjang pesan UDP (pesan UDP ditambah dengan header UDP) dalam satuan byte. Ukuran paling kecil adalah 8 byte (ukuran header UDP, ketika tidak ada isi pesan UDP), dan ukuran paling besar adalah 65515 bytes (65535 [216] -20 [ukuran header protokol IP]). Panjang maksimum aktual dari pesan UDP akan disesuaikan dengan menggunakan nilai Maximum Transmission Unit (MTU) dari saluran di mana pesan UDP dikirimkan. Field ini bersifat redundan (terulang-ulang). Panjang pesan UDP dapat dihitung dari field Length dalam header UDP dan field IP Header Length dalam header IP. |
Checksum | 16 bit (2 byte) | Berisi informasi pengecekan integritas dari pesan UDP yang dikirimkan (header UDP dan pesan UDP). Penggunaan field ini adalah opsional. Jika tidak digunakan, field ini akan bernilai 0. |
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.
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.