A.
Protokol TCP ( Transmission
Control Protocol ) adalah salah satu jenis protokol transfer data. TCP
mempunyai karakteristik sebagai protokol yang berorientasi koneksi (Connection
oriented). Sebelum terjadi proses tranfer data, maka yang pertama dilakukan
adalah kedua belah pihak melakukan caal request dan call accept. Protokol TCP
menggunakan jalur data full duplex yang berarti antara kedua host terdapat dua
buah jalur, jalur masuk dan jalur keluar sehingga data dapat dikirimkan secara
simultan
Sebuah
circuit virtual disiapkan sebelum packet-packet dikirimkan. Pada masing-masing
packet terdapat virual circuit identifier yang berisi alamat tujuan packet
tersebut. Data yang dikirimkan dalam sebuah protokol TCP maka akan diurutkan
dengan sebuah nomor urut dan akan mengharap packet positive acknowledgment.
Apabila tidak ada packet positive acknowledgment, maka packet akan dikirim
ulang. Oleh karena itu, protokol TCP reliable. Akan tetapi karena harus
mengecek setiap packet yang dikirmkan, maka protokol TCP relatif lambat. Pada
TCP, hanya bisa melakukan koneksi one-to-one dan tidak bisa melakukan koneksi
one-to-many. Karena rute-rute packet sudah ditentukan sebelumnya, maka akan
lebih sulit bagi jaringan untuk beradaptasi dengan kemacetan. Apabila sebuah
simpul/node mengalami kerusakan/kegagalan, maka seluruh virtual circuit yang
melewati simpul tersebut akan hilang.
B. Protokol UDP
UDP
( User Datagram Protocol) adalah jenis transfer data yang lain dari TCP. UDP
mempunyai karateristik connectionless (tidak berbasis koneksi). Dengan kata
lain, data yang dikirimkan dalam bentuk packet tidak harus melakukan call setup
seperti pada TCP. Selain itu, data dalam protokol UDP akan dikirimkan sebagai
datagram tanpa adanya nomor identifier. Sehingga sangat besar sekali kemungkinan
data sampai tidak berurutan dan sangat mungkin hilang/rusak dalam perjalananan
dari host asal ke host tujuan. Tergantung pada host penerima/tujuan, apakah
akan meminta kembali pakcet yang rusak atau hilang. Kelebihan UDP adalah pada
saat digunakan pada lightweight protokol, misalnya saja DNS(Domain Name
Service). Selain itu protokol UDP lebih fleksibel karena misalnya saja terjadi
kemacetan pada salah satu bagian jaringan, maka datagram dapat dialihkan
menghindari bagian yang mengalami kemacetan tersebut. Kemudian apabila sebuah
simpul(node) mengalami kerusakan/kegagalan, maka pacekt packet berikutnya dapat
menemukan jalan/rute pengganti yang melewati simpul tersebut.
- UDP adalah “datagram-oriented”,
sedangkan TCP adalah “session-oriented”. Datagram adalah paket informasi
self-contained. UDP berhubungan dengan datagram atau paket individu yang
dikirim dari client ke server dan atau sebaliknya.
- UDP adalah connection-less. Client
tidak membangun koneksi ke server sebelum mengirim data, client hanya mengirim
data secara langsung.
- UDP adalah protokol yang tidak andal,
dalam artian :
o
Paket
dapat hilang. UDP tidak dapat mendeteksinya, sehingga pada program aplikasi
client – server, metode transmisi ulang dikarenakan data rusak atau hilang
harus dilakukan pada level aplikasi. Biasanya aplikasi menunggu hingga timeout
habis, dan kemudian mencoba lagi
o
Paket
dapat mengalami kerusakan. Paket UDP berisi checksum semua data dalam paket.
Checksum ini memungkinkan UDP mendeteksi kapan suatu paket mengalami kerusakan.
Jika hal ini terjadi, maka paket tersebut dikeluarkan, dan sebagaimana biasa
aplikasilah yang mendeteksi hal ini dan melakukan transmisi ulang seperlunya.
o
Karena
UDP adalah datagram-oriented dan pada level protokol setiap paket berdiri
sendiri, maka UDP tidak memiliki konsep paket sesuai urutan, yang selanjutnya
berarti tidak memerlukan nomor urut pada paket tersebut.
o
Karena
UDP tidak memerlukan mekanisme kontrol yang rumit, maka UDP dapat dianggap
lebih mudah dan lebih kecil ( dalam hal baris data dan memori ) untuk
diimplementasikan. Namun hal tersebut juga membuat UDP tidak cocok untuk
sejumlah besar data.
- Port in UDP
Tidak
ada perbedaan fungsi yang signifikan antara port di UDP dan TCP. Seperti halnya
TCP, port dalam UDP menggunakan 16-bit integer, port – port yang bisa digunakan
adalah antara 1 sampai 65535. Port – port yang digunakan dibagi menjadi 3
bagian yaitu well-known port ( antara 1 – 1023), registered port ( 1024 – 49151
) dan ephemeral port ( 49152 – 65535 ).
- Port in TCP
Aplikasi
client menggunakan nomor port untuk memberitahu mesin tujuan dan service TCP
mana yang diinginkannya. Server untuk aplikasi tertentu menggunakan well-known
port untuk mengetahui koneksi dari client yang meminta servicenya. Port – port
yang digunakan dalam transport layer menggunakan 16-bit integer (0 – 65535),
dengan satu sama lain harus berbeda (unique). Pada saat client ingin membangun
koneksi dengan Server, client harus mengetahui port dari server yang dituju dan
protokol apa yang digunakan (UDP or TCP or SCTP). Client di sisi sebaliknya,
umumnya menggunakan ephemeral port atau biasa disebut short-lived ports. Nomor
pada port ephemeral yang digunakan oleh client diberikan oleh Transport
Protocol. Client tidak perlu tahu nomor port ephemeral yang digunakan, yang
jelas semua port ephemeral yang digunakan pasti bersifat unique. The Internet
Assigned Numbers Authority (IANA) telah mengelompokkan nomor – nomor port yang
dibagi menjadi tiga bagian :
- Well-known ports: 0 – 1023. Pada range
ini merupakan nomor – nomor port yang telah digunakan oleh IANA. Contoh nya
adalah Web server yang menggunakan port 80, FTP menggunakan 21 dll.
- Registered ports: 1024 – 49252. Nomor
– nomor port pada range ini tidak digunakan oleh IANA, IANA mengelompokkan port
– port ini untuk dapat digunakan sebagai server untuk TCP atau UDP. Contohnya
antara port 6000 sampai 6063 digunakan untuk X Windows server. Aplikasi yang
kita gunakan juga bisa menggunakan port ini.
- Private ports: 49152 – 65535. Nomor –
nomor port pada range ini adalah ephemeral port. Namun tentu saja tidak menutup
kemungkinan nilai ephemeral port mempunya nilai diluar range ini, hal tersebut
bergantung juga dari Sistem Operasi yang digunakan.
Jadi
dapat disimpulkan bahwa koneksi TCP memiliki 1 buah local ip address, local
port number, foreign ip address dan foreign port number. Contoh aplikasi –
aplikasi yang menggunakan well-known port dan TCP sebagai transport layernya
adalah : SMTP, POP, e-mail IMAP, HTTP, telnet dll.
Tidak ada komentar:
Posting Komentar