Kali ini saya akan share tentang TCP,UDP dan ICMP kita mulai dari pengertianya menuru WikiPedia:
Internet Control Message Protocol (ICMP) adalah salah satu protokol inti dari
keluarga protokol internet. ICMP utamanya digunakan oleh
sistem operasi komputer jaringan untuk mengirim pesan kesalahan yang menyatakan, sebagai contoh, bahwa komputer tujuan tidak bisa dijangkau.
ICMP 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.
Gambaran Teknis
Internet Control Message Protocol (
ICmP) adalah bagian dari
keluarga protokol Internet dan didefinisikan di dalam
RFC 792. Pesan-pesan ICMP umumnya dibuat sebagai jawaban atas kesalahan di
datagram IP (seperti yang dispesifikasikan di
RFC1122) atau untuk kegunaan pelacakan atau routing.
Versi ICMP ini juga dikenal sebagai
ICMPv4, yang merupakan bagian dari Internet Protocol versi 4. Sedangkan versi terkini yaitu
ICMPv6.
Transmission Control Protocol (TCP) adalah 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 dispesifikasikan dalam
RFC 793.
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.
TCP umumnya digunakan ketika protokol lapisan aplikasi membutuhkan
layanan transfer data yang bersifat andal, yang layanan tersebut tidak
dimiliki oleh protokol lapisan aplikasi tersebut. Contoh dari protokol
yang menggunakan TCP adalah
HTTP dan
FTP.
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. Protokol ini didefinisikan dalam
RFC 768.
UDP memiliki karakteristik-karakteristik berikut:
- Connectionless (tanpa koneksi): Pesan-pesan UDP akan
dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua
host yang hendak bertukar 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. Header UDP berisi field Source Process Identification dan Destination Process Identification.
- UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.
UDP tidak menyediakan layanan-layanan antar-host berikut:
- 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 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, 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.
sumber:https://id.wikipedia.org/wiki/Internet_Control_Message_Protocol
https://id.wikipedia.org/wiki/Transmission_Control_Protocol
https://id.wikipedia.org/wiki/User_Datagram_Protocol