SEKILAS MENGENAI TCP
Sejauh ini kita sering menjumpai kata protokol. Cukup sulit
untuk mendefinisikan secara tepat apa yang disebut dengan protokol. Protokol
memiliki banyak tujuan penggunaan. Secara sederhana dapat dijelaskan, pro-
tokol adalah aturan dalam komunikasi data. Protokol mengatur bagaimana
terjadinya hubungan dan perpindahan data antara dua atau lebih banyak kom-
puter.
Pada masa ARPANET, protokol yang digunakan untuk komu-
nikasi data adalah NCP (Network Communication Protocol). Semakin lama
ukuran AROANET semakin membesar dan NCP tidak sanggup menampung
node komputer yang lebih besar. DARPA kemudian mendanai pembuatan pro-
tokol komunikasi yang lebih umum. Protokol inilah yang kemudian dinamakan
TCP/IP. Departemen Pertaanan Amerika menyatakan TCP/IP menjadi stan-
dar jaringan pada tahun 1982. Protokol ini kemudian diadopsi menjadi standar
ARPANET pada tahun 1983. Perusahaan Bolt Beranek Newman (BBN) mem-
buat protokol TCP/IP supaya dapat berjalan di atas komputer dengan sistem
operasi UNIX. Pada saat itulah dimulai perkawinan antara UNIX dan TCP/IP.
KARAKTERISTIK TCP/IP
TCP/IP memiliki karakteristik yang membedakannya dari protokol
komunikasi yang lain diantara a.l:
1. Bersifat standar, terbuka, dan tidak bergantung pada perangkat keras
ataupun sistem operasi tertentu.
2. Bebas dari jaringan fisik tertentu, memungkinkan integrasi dengan berba-
gai jenis jaringan (ethernet, FDDI, Token Ring, dial-up)
3. Mempunyai skema pengalamatan yang umum bagi setiap device yang ter-
hubung dengan jaringan.
4. Menyediakan berbagai layanan bagi user.
KONEKSI DENGAN TCP
Dalam kaitannya dengan koneksi TCP/IP memiliki beberapa karakteristik
yang lain, a.l:
1. Connection Oriented
2. Reliable
3. Byte Stream Service
TCP merupakan protokol yang bersifat connection oriented. artinya
sebelum proses transmisi data terjadi, dua aplikasi TCP harus melakukan per-
tukaran kontrol informasi (handshaking). TCP juga bersifat reliable, karena
menerapkan fitur deteksi kesalahan dan retransmisi apabila data yang ada rusak.
Sehingga keutuhan data dapat terjamin. Sedangkan byte stream service artinya
paket akan dikirimkan ke tujuan secara berurutan (sequencing).
Protokol TCP bertanggung jawab untuk pengiriman data dari sum-
ber ke tujuan dengan benar. TCP dapat mendeteksi kesalahan atau hilangnya
data dan melakukan pengiriman kembali sampai data diterima dengan lengkap.
TCP selalu meminta konfirmasi setiap kali data dikirim, untuk memastikan
apakah data telah sampai di tempat tujuan. Kemudian TCP akan mengir-
imkan data berikutnya atau melakukan retransmisi (pengiriman ulang) apabila
datasebelumnya tidak sampai atau rusak. Data yang dikirim kemudian diatur
berdasarkan nomor urut.
HEADER TCP
Untuk memenuhi tujuan tersebut(sequencing, error checksum, dan retrans-
mission) pada header protokol TCP telah disediakan field khusus. Pada bagan
segmen TCP di bawah ini, dapat kita lihat TCP terdiri atas header dan data.
Kita bisa melihat ada field khusus untuk sequence, checksum, dan acknowledge-
ment.
Keterangan:
• Source Port(16 bit) => berisi informasi port pengirim
• Destination Port(16 bits) =>berisi informasi port penerima
• Sequence Number(32 bits) =>berupa sequence number yang terdiri pada
dua kondisi berikut:
– Jika flag SYN di-set(yang ada di bagian fied Flags), maka field ini
berisi awal (inisial) dari sequence number
– Jika flag SYN tidak di-set, maka nilai pada field ini merupakan se-
quence number
• Acknowledgment atau ACK(32 bits) =>jika flag ACK di-set maka nilai
pada field ini adalah nilai sequence number berikutnya yang di-”harapkan”
oleh penerima
• Data Offset(4 bits) =>Menunjukkan ukuran TCP Header. Total Header
sepanjang 32 bit words. Ukuran minimum header adalah 5 words. Data
Offset juga merupakan awal dari data.
• Reserved (4 bits) => untuk keperluan tertentu di masa yang akan datang.
Nilai pada field ini semestinya adalah nol (zero).
• Flags(8 bit)
– Ini merupakan field kontrol bit(masing-masing 1 bit), yaitu:
CWR(Congestion Window Reduced)
ECE(ECN-Echo)
URG(urgent)
ACK(Acknowledgment)
PSH(Push Function)
RST(Reset)
SYN(Synchronize)
FIN(Finish)
• Window(16 bits) => menunjukkan ukuran windows penerima(receive win-
dow). Agar data dapat diterima dengan baik, maka diperlukan pengatu-
ran ukuran jumlah byte optimal yang ditentukan oleh field ini
• Checksum(16 bits) => digunakan untuk error checking dari header dan
data
• Urgent Pointer(16 bits) =>digunakan untuk sequence number yang menan-
dakan urgent data bye terakhir
• Option(variable sets) =>berisi berbagai opsi berupa angka sbb.:
– 0 - End of Option List
– 1 - No Operation(NOP, Padding)
– 2 - Maximum segment size
– 3 - Window Scale
– 4 - Selective Acknowledgment
– 5, 6, 7
– 8 - Timestamp
• Data => berisi data yang dikirim
Berikut ilustrasi komunikasi menggunakan TCP antara host A dan host B.
Pada gambar terlihat bahwa untuk memulai membuka suatu hubungan, host
A harus terlebih dahulu engirimkan packet SYN. Setelah host B menerima
packet tersebut, lalu mengirim packet SYN, serta meng - ACK packet SYN
yang berasal dari host A. Saat host A menerima packet ini, ia akan meng-ACK
serta mengirimkan data miliknya. Koneksi kemudian terbuka.
Setelah koneksi terbuka host A mengirimkan paket data yang sudah diberi
nomor. Setiap kali sebuah paket tiba di host B, maka host B akan menge-
ceknya dan mengirim ACK yang menandakan paket telah diterima dengan sela-
mat. Proses ini berlangsung berulang-ulang hingga keseluruhan paket berhasil
dikirim.
Setelah paket terakhir dikirim, host A mengirim ACK dan FIN yang mem-
inta host B untuk memutuskan koneksi. Host B akan meng-ACK dan mengirim
balik packet FIN kepada host A. Selanjutnya host A meng-Ack packet FIN dari
host B, maka koneksi pun terputus.
Protokol TCP sangat cocok digunakan untuk koneksi yang membutuhkan ke-
handalan tinggi, seperti aplikasi telnet, SSH, FTP, HTTP, dan beberapa layanan
lainnya.
makasi caesar of IT atas infonya mengenai TCP.. :)
ReplyDelete