Transmission Control Protokol (TCP)

Secara teoritis, sebuah protokol trasport layer merupakan sebuah rutin sederhana software, meskipun tidak sesederhana itu. Alasan penggunaan lapisan transport yang kompleks ini merupakan jawaban dari rendahnya reliabilitas IP, dimana IP tidak mampu memberikan jaminan sampainya datagram ke tujuan untuk jenis koneksi connectionless. IP bertugas menentukan routing sebuah datagram, tetapi jika terjadi masalah pada datagram tersebut maka IP akan menolaknya tanpa alasan (dengan membangkitkan pesan kesalahan ICMP ke pengirim).

Kebanyakan user beranggapan bahwa TCP dan IP merupakan protokol yang digunakan berpasangan, akan tetapi TCP dapat digunakan dengan protokol lain tanpa IP. misalnya, TCP atau bagiannya digunakan pada File Trasfer Protocol (FTP) dan Simple Mail Transfer Protocol (SMTP), keduanya tidak menggunakan IP.

Transmission Control Protocol menyediakan sejumlah layanan ke lapisan IP dan upper layer. Hal terpenting TCP menyediakan layanan protokol connection-oriented kepada upper layer yang memberikan jaminan datagram yang dikirm sebuah aplikasi ke jaringan sampai ke tujuan. Dalam hal ini, TCP bertindak sebagai message-validation protocol yang menyediakan layanan komunkasi yang handal. Jika datagram hilang atau rusak, TCP biasanya menangani retransmisi, bukan aplikasi pada upper layer.

TCP mengatur aliran datagram dari lapisan di atasnya (lapisan aplikasi) hingga lapisan IP, sebagaimana datagram yang datang dari lapisan IP hingga ke protokol yang lebih tinggi. TCP terletak pada lapisan transport, posisinya di atas lapisan IP dan dibawah lapisan aplikasi, seperti pada gambar berikut ini TCP berada pada lapisan dimana datagram diproses sekaligus untuk memastikan apakah datagram telah dikirim dari sumber ke mesin target. TCP tidak bekerja untuk menentukan rute datagram, sehingga tidak pernah ada lapisan TCP pada gateway.

GAMBAR: Komunikasi End-to-End TCPGAMBAR: Komunikasi End-to-End TCP

Karena TCP merupakan protokol connection-oriented yang bertanggung jawab untuk memastikan transfer datagram dari sumber ke tujuan (end-to-end communication), TCP harus menerima pesan komunikasi dari tujuan untuk memberitahu penerima datagram. Istilah virtual circuit biasanya digunakan untuk menunjukkan komunikasi antara dua mesin, dimana acknowledgement ini berisi pesan konfirmasi penerimaan, atau kode kesalahan beserta nomor urut datagram (sequence number)

Untuk mengilustrasikan aturan TCP berikut diberikan contoh; sebuah software TCP menerima stream byte dan merangkainya menjadi segmen TCP atau paket. Pada proses merangkai segmen, informasi header ditambahkan pada bagian depan data. Setiap segmen memiliki sebuah checksum yang telah dihitung yang menyatu dengan header. Panjang segmen biasanya ditentukan oleh TCP atau oleh sebuah value sistem yang ditetapkan oleh administrator (panjang segmen TCP tidak ada hubungannya dengan panjang datagram IP, meski kadang terdapat hubungan diantara keduanya).

Jika dibutuhkan komunikasi dua arah (misalnya telnet atau FTP),  maka sebuah koneksi (virtual connection) antara mesin pengirim dan penerima akan dibuat untuk melewatkan segmen TCP ke IP untuk routing. Proses ini dimulai dengan software TCP pengirim mengirimkan sebuah request (permintaan) untuk sebuah koneksi TCP kepada mesin penerima. Dalam message terdapat sebuah nomor unik (disebut nomor socket) yang akan mengidentifikasi koneksi mesin pengirim. Software TCP penerima juga akan membuat nomor socket yang unik dan mengirimnya kembali ke mesin pengirim, kedua nomor unik ini akan membentuk koneksi pada kedua mesin hingga virtual circuit diakhiri.

Setelah virtual circuit (VC) ditetapkan, TCP akan mengirim segmen ke IP, yang kemudian akan mengelurkan message ke network sebagai sebuah datagram. IP dapat melakukan perubahan terhadap segmen dengan melakukan segmentasi dan reassembly di mesin tujuan.

Jika message lebih panjang dari TCP (bukan datagram IP), mesin penerima TCP akan merangkai pesan berdasarkan nomor urut yang terdapat pada setiap header segmen. Jika sebuah segmen hilang atau rusak (dapat diperiksa melalui checksum), maka TCP akan mengirimkan sebuah pesan nomor urut segmen yang mengalami kegagalan, sehingga software TCP pengirim akan mengirim kembali segmen yang rusak.

Jika hanya ada satu segmen yang digunakan untuk sebuah message setelah membandingkan checksum segmen dengan sebuah nilai baru, maka software TCP penerima dapat membangkitkan sebuah acknowledgement (ACK) positif atau permintaan untuk mengirim kembali dan mengembalikan permintaan ke lapisan pengirim.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: