2.6. TCP : Transmission Control Protocol
2.6.1. Pengertian TCP
Transmission Control Protocol TCP merupakan salah satu
protokol terpenting pada layer transport selain User Datagram Protocol UDP. TCP memiliki beberapa karakteristik, yaitu connection oriented,
reliable dan byte stream service.
TCP merupakan protokol yang bersifat connection oriented. Artinya sebelum memulai proses transmisi data terjadi, dua aplikasi TCP
harus melakukan pertukaran control informasi handshaking. TCP juga bersifat reliable karena menerapkan fitur deteksi kesalahan dan retransmisi
apabila ada data yang rusak, sehingga keutuhan data dapat terjamin. Sedangkan byte stream service artinya paket akan dikirimkan ke tujuan
secara berurutan sequencing.
2.6.2. TCP Header
Data TCP dirumuskan pada sebuah datagram IP seperti yang terdapat pada gambar 2.7 di bawah ini:
Gambar 2. 7 : Enkapsulasi TCP pada datagram IP
Ukuran normal dari TCP header itu sendiri adalah 20 bytes. Gambar 2.8 menunjukkan format header dari TCP.
Gambar 2. 8 : TCP Header
Format dari header TCP dilengkapi dengan ukuran pada masing-masing fieldnya seperti pada Tabel 2.1 di bawah ini.
Tabel 2. 1 : Tabel ukuran field pada TCP Header
Nama Field Ukuran
Keterangan
Source Port 16 bit 2 byte
Mengindikasikan sumber protokol lapisan aplikasi yang mengirimkan
segmen TCP yang bersangkutan.
Destination Port 16 bit 2 byte
Mengindikasikan tujuan protokol lapisan aplikasi yang menerima
segmen TCP yang bersangkutan.
Sequence Number 32 bit 4 byte
Mengindikasikan nomor urut dari oktet pertama dari data di dalam
sebuah segmen TCP yang hendak dikirimkan.
Acknowledgment Number
32 bit 4 byte Mengindikasikan nomor urut dari
oktet selanjutnya dalam aliran byte yang diharapkan untuk diterima oleh
pengirim
dari penerima
pada pengiriman selanjutnya.
Header Length
Data offset 4 bit
Mengindikasikan di mana data dalam segmen TCP dimulai. Field ini juga
berarti ukuran dari header TCP. Reserved
6 bit Direservasikan
untuk digunakan
pada masa depan. Pengirim segmen TCP akan mengeset bit-bit ini ke
dalam nilai nol.
Flags 6 bit
Mengindikasikan flag-flag TCP yang jumlahnya ada enam yaitu :
1. URG Urgent
2. ACK Acknowledgment
3. PSH Push
4. RST Reset
5. SYN Synchronize
6. FIN Finish
Window 16 bit 2 byte
Mengindikasikan jumlah byte yang tersedia yang dimiliki oleh buffer
host penerima
segmen yang
bersangkutan. Checksum
16 bit 2 byte Mampu
melakukan pengecekan
integritas segmen TCP. Urgent Pointer
16 bit 2 byte Menandakan
lokasi data
yang dianggap “urgent” dalam segmen.
Options 32 bit 4 byte
Berfungsi sebagai
penampung beberapa opsi tambahan TCP.
Data 32 bit 4 byte
Digunakan untuk memenuhi panjang header, merupakan kelipatan 32 bit.
Jika terdapat header yang kurang, maka akan ditambahkan sampai
berjumlah 32 bit.
2.6.3. TCP State Transition Diagram