Selasa, 26 Oktober 2010

Bagaimanakah bentuk format header protokol TCP ?

Seperti yg telah dibahas sebelumnya, TCP merupakan protokol yg handal
dan bertanggung jawab untuk mengirimkan aliran data ke tujuannya secara
handal dan berurutan. Untuk memastikan diterimanya data, TCP menggunakan
nomor urutan segmen dan acknowlegement (jawaban). Misalkan anda ingin
mengirim file berbentuk seperti berikut :
----------------------------------------------------------
TCP kemudian akan memecah pesan itu menjadi beberapa datagram (untuk
melakukan hal ini, TCP tidak mengetahui berapa besar datagram yg bisa
ditampung jaringan. Biasanya, TCP akan memberitahukan besarnya datagram
yg bisa dibuat, kemudian mengambil nilai yg terkecil darinya, untuk
memudahkan).
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
TCP kemudian akan meletakan header di depan setiap datagram tersebut.
Header ini biasanya terdiri dari 20 oktet, tetapi yg terpenting adalah
oktet ini berisikan sumber dan tujuan nomor port (port number) dan
nomor urut (sequence number). Nomor port digunakan untuk menjaga data
dari banyaknya data yg lalu lalang. Misalkan ada 3 orang yg mengirim
file. TCP anda akan mengalokasikan nomor port 1000, 1001, dan 1002 untuk
transfer file. Ketika datagram dikirim, nomor port ini menjadi sumber
port (source port) number untuk masing-masing jenis transfer.
Yg perlu diperhatikan yaitu bahwa TCP perlu mengetahui juga port yg
dapat digunakan oleh tujuan (dilakukan diawal hubungan). Port ini
diletakan pada daerah tujuan port (destination port). Tentu saja jika
ada datagram yg kembali, maka source dan destination portnya akan
terbalik, dan sejak itu port anda menjadi destination port dan port
tujuan menjadi source port.

Setiap datagram mempunyai nomor urut (sequence number) masing-masing yg
berguna agar datagram tersebut dapat tersusun pada urutan yg benar dan
agar tidak ada datagram yg hilang. TCP tidak memberi nomor datagram,
tetapi pada oktetnya. Jadi jika ada 500 oktet data dalam setiap
datagram, datagram yg pertama mungkin akan bernomor urut 0, kedua 500,
ketiga 1000, selanjutnya 1500 dan eterusnya. Kemudian semua susunan
oktet didalam datagram akan diperiksa keadaannya benar atau salah, dan
biasa disebut dg checksum. Hasilnya kemudian diletakan ke header TCP.
Yg perlu diperhatikan ialah bahwa checksum ini dilakukan di kedua
komputer yg melakukan hubungan. Jika nilai keberadaan susunan oktet
antara satu checksum dg checksum yg lain tidak sama, maka sesuatu yg
tidak diinginkan akan terjadi pada datagram tersebut, yaitu gagalnya
koneksi (lihat bahasan sebelumnya). Jadi inilah bentuk datagram
tersebut:


Jika kita misalkan TCP header sebagai T, maka seluruh file akan
berbentuk sebagai berikut :
T---- T---- T---- T---- T---- T---- T---- T---- T---- T---- T----

Ada beberapa bagian dari header yg belum kita bahas. Biasanya bagian
header ini terlibat sewaktu hubungan berlangsung.

- Seperti 'acknowledgement number' misalnya, yg bertugas untuk menunggu
jawaban apakah datagram yg dikirim sudah sampai atau belum. Jika tidak
ada jawaban (acknowledgement) dalam batas waktu tertentu, maka data akan
dikirim lagi.
- Window berfungsi untuk mengontrol berapa banyak data yg bisa singgah
dalam satu waktu. Jika Window sudah terisi, ia akan segera langsung
mengirim data tersebut dan tidak akan menunggu data yg terlambat, karena
akan menyebabkan hubungan menjadi lambat.
- Urgent pointer menunjukan nomor urutan oktet menyusul data yg
mendesak. Urgent pointer adalah bilangan positif berisi posisi dari
nomor urutan pada segmen.
Reserved selalu berisi nol. Dicadangkan untuk penggunaan mendatang.
- Control bit (disamping kanan reserved, baca dari atas ke bawah). Ada
enam kontrol bit :
a. URG, Saat di set 1 ruang urgent pointer memiliki makna, set 0
diabaikan.
b. ACK saat di set ruang acknowledgement number memiliki arti.
c. PSH, memulai fungsi push.
d. RST, memaksa hubungan di reset.
e. SYN, melakukan sinkronisasi nomor urutan untuk hubungan. Bila diset maka
hubungan di buka.
f. FIN, hubungan tidak ada lagi.


Artikel yang berkaitan:

Bagaimanakah bentuk format header protokol UDP ?

0 komentar: