TCP/IP (singkatan dari Transmission Control Protocol/Internet Protocol) jika diterjemahkan adalah Protokol Kendali Transmisi/Protokol Internet, adalah gabungan dari protokol TCP (Transmission Control Protocol) dan IP (Internet Protocol) sebagai sekelompok protokol yang mengatur komunikasi data dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan internet yang akan memastikan pengiriman data sampai ke alamat yang dituju. Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Protokol ini juga merupakan protokol yang paling banyak digunakan saat ini, karena protokol ini mampu bekerja dan diimplementasikan pada lintas perangkat lunak (software) di berbagai sistem operasi Istilah yang diberikan kepada perangkat lunak ini adalah TCP/IP stack.
Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan sebuah standar jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja. Protokol ini menggunakan skema pengalamatan yang sederhana yang disebut sebagai alamat IP (IP Address) yang mengizinkan hingga beberapa ratus juta komputer untuk dapat saling berhubungan satu sama lainnya di Internet. Protokol ini juga bersifat routable yang berarti protokol ini cocok untuk menghubungkan sistem-sistem berbeda (seperti Microsoft Windows dan keluarga UNIX) untuk membentuk jaringan yang heterogen.
Protokol TCP/IP selalu berevolusi seiring dengan waktu, mengingat semakin banyaknya kebutuhan terhadap jaringan komputer dan Internet. Pengembangan ini dilakukan oleh beberapa badan, seperti halnya Internet Society (ISOC), Internet Architecture Board (IAB), dan Internet Engineering Task Force (IETF). Macam-macam protokol yang berjalan di atas TCP/IP, skema pengalamatan, dan konsep TCP/IP didefinisikan dalam dokumen yang disebut sebagai Request for Comments (RFC) yang dikeluarkan oleh IETF.
(Wikipedia bahasa indonesia, “ensiklopedia bebas”, “https://id.wikipedia.org/wiki/Internet_protocol_suite”, Di akses pada tanggal 13 November 2015 pukul 16:35, tanggal posting artikel Thursday, Maret 26, 2015)
TCP (Transmission Control Protocol)
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
Karakteristik TCP
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.
(Wikipedia bahasa indonesia, “ensiklopedia bebas”, “https://id.wikipedia.org/wiki/Transmission_Control_Protocol”, Di akses pada tanggal 13 November 2015 pukul 16:48, tanggal posting artikel Saturday, November 8, 2014)
Cara Kerja Protokol TCP
TCP Three-way handshake[sunting | sunting sumber]
Proses pembuatan koneksi TCP disebut juga dengan "Three-way Handshake". Tujuan metode ini adalah agar dapat melakukan sinkronisasi terhadap nomor urut dan nomor acknowledgement yang dikirimkan oleh kedua pihak dan saling bertukar ukuran TCP Window. Prosesnya dapat digambarkan sebagai berikut:
- Host pertama (yang ingin membuat koneksi) akan mengirimkan sebuah segmen TCP dengan flag SYN diaktifkan kepada host kedua (yang hendak diajak untuk berkomunikasi).
- Host kedua akan meresponsnya dengan mengirimkan segmen dengan acknowledgment dan juga SYN kepada host pertama.
- Host pertama selanjutnya akan mulai saling bertukar data dengan host kedua.
TCP menggunakan proses jabat tangan yang sama untuk mengakhiri koneksi yang dibuat. Hal ini menjamin dua host yang sedang terkoneksi tersebut telah menyelesaikan proses transmisi data dan semua data yang ditransmisikan telah diterima dengan baik. Itulah sebabnya, mengapa TCP disebut dengan koneksi yang reliable..
(Wikipedia bahasa indonesia, “ensiklopedia bebas”, “https://id.wikipedia.org/wiki/Transmission_Control_Protocol”, Di akses pada tanggal 13 November 2015 pukul 16:48, tanggal posting artikel Saturday, November 8, 2014)
Detailed Term
Connection setup
3 way hand shake :
◦ SYN
◦ SYN, ACK
◦ ACK
Conversation
◦ GET, POST, HTTP OK
◦ Etc
Connection close
◦ RST
◦ FIN
◦ FIN
Detail 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.
Skema Detail HeaderTCP
Detail keterangan
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 TCPdisebut juga
sebagai source socket, 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.
|
**
Sumber (Wikipedia)

No comments:
Post a Comment