You are on page 1of 10

Apa itu TCP ?

TCP (Transmission Control Protocol) adalah protokol yang paling umum digunakan di
Internet . Alasan nya karena TCP menawarkan koreksi kesalahan . Ketika protokol TCP
digunakan ada klausul “pengiriman terjamin . ” Hal ini disebabkan adanya bagian untuk
sebuah metode yang disebut “flow control . ” Flow control menentukan kapan data harus
dikirim kembali , dan kapan menghentikan aliran data paket sebelumnya , sampai
berhasil ditransfer . Hal ini karena jika paket data berhasil dikirim , tabrakan dapat terjadi
. Ketika ini terjadi , maka klien meminta kembali paket dari server sampai seluruh paket
lengkap di transfer dan identik dengan aslinya .

Apa itu UDP ?


UDP (User Datagram Protocol) adalah protokol umum lainnya yang digunakan di
Internet . Namun UDP tidak pernah digunakan untuk mengirim data penting seperti
halaman web , informasi database, dll; UDP biasanya digunakan untuk streaming audio
dan video . Streaming media seperti Windows Media audio file ( . WMA) , Real Player
( . RM) , dan lain-lain menggunakan UDP karena menawarkan kecepatan! Alasannya
UDP lebih cepat daripada TCP adalah karena tidak ada bentuk kontrol aliran atau koreksi
kesalahan . Data yang dikirim melalui Internet dipengaruhi oleh tabrakan , dan kesalahan
yang muncul . Ingatlah bahwa UDP hanya berkaitan dengan kecepatan . Ini adalah alasan
utama mengapa media streaming tidak berkualitas tinggi .

Berita buruknya UDP telah digunakan di beberapa virus trojan horse. Hacker
mengembangkan skrip dan trojan untuk menjalankan UDP dalam rangka untuk menutupi
kegiatan mereka . Paket-paket UDP juga digunakan dalam serangan DoS (Denial of
Service). Penting untuk mengetahui perbedaan antara TCP port 80 dan UDP port 80 .
Lebih jelas tentang port silahkan lihat pembahasannya dibawah  .

Struktur frame TCP dan UDP


Sebagai data yang bergerak di sepanjang jaringan , berbagai atribut ditambahkan ke file
untuk membuat bingkai . Proses ini disebut enkapsulasi . Ada beberapa metode yang
berbeda dari enkapsulasi tergantung pada protokol dan topologi yang sedang digunakan .
Akibatnya , paket struktur rangka ini berbeda juga . Gambar berikut ini menunjukkan
struktur bingkai TCP dan UDP
Payload area berisi data sebenarnya . Perhatikan bahwa TCP memiliki struktur bingkai
yang lebih kompleks . Hal ini terutama disebabkan oleh fakta bahwa TCP merupakan
protokol berorientasi koneksi . Bidang tambahan yang perlu untuk memastikan “jaminan
pengiriman” yang ditawarkan oleh TCP

IP Ports

Port dikembangkan agar komputer dapat menerima data dari berbagai sumber melalui
alamat IP yang sama . Pikirkan seperti ini; Anda adalah layanan TV Internet , dan port
adalah saluran Anda . Anda memiliki banyak bentuk hiburan , berita , dan informasi yang
tersedia melalui berbagai saluran yang berbeda . Pikirkan tentang hal ini , katakanlah
MTV adalah saluran 35 di TV . Hal yang sama berlaku untuk web server yang berjalan
pada port 80 . Setiap port memiliki tujuan khusus melayani masing-masing saluran
program televisi yang berbeda . Meskipun Anda hanya punya 1 kabel TV berlangganan ,
Anda masih dapat menerima beberapa saluran .

Dua jenis utama port: TCP dan UDP . TCP singkatan dari Transmission Control
Protocol . UDP adalah singkatan dari User Data Protocol . Beberapa program di
komputer Anda akan menggunakan port TCP untuk komunikasi dan lainnya dapat
menggunakan UDP . Penting untuk mengetahui perbedaan bagaimana cara keduanya
beroperasi .

Ada 65.535 TCP dan UDP port yang tersedia untuk mengirimkan data . Port 0-1.023
dicadangkan untuk penggunaan umum . Port ini ditugaskan oleh IANA (Internet
Assigned Numbering Authority) . Ini berarti , bahwa setiap port 0-1.023 akan sama pada
setiap sistem . Sebagai contoh , katakanlah server di New York menggunakan port 80 ,
dan lainnya adalah server Texas . Karena port 80 jatuh di kisaran reserved Port , kita tahu
kedua server menggunakan port 80 untuk koneksi HTTP . Melihat daftar port yang
diketahui dapat membantu Anda menentukan jenis koneksi yang terdapat pada mesin
Anda . Server atau mesin dalam hal “mengakses” port tertentu . Sebagai contoh ,
menjalankan server web , FTP , dan layanan Telnet akan mengakses pada port masing-
masing . Tindakan mengakses ini berarti mesin sedang menunggu perangkat lain
tersambung. Berikut ini adalah ilustrasinya:

Anda dapat melihat bagaimana server mengakses 3 port lebih dari satu alamat IP
(192.168.0.15). Anda juga harus tahu bahwa adalah mungkin untuk beberapa perangkat
untuk terhubung ke satu port. Artinya , telnet server mungkin menerima lebih dari 100
koneksi simultan ke port 23.

PERBEDAAN TCP DAN UDP

Berbeda dengan TCP, UDP merupakan connectionless dan tidak ada keandalan,
windowing, serta fungsi untuk memastikan data diterima dengan benar. Namun, UDP
juga menyediakan fungsi yang sama dengan TCP, seperti transfer data dan multiplexing,
tetapi ia melakukannya dengan byte tambahan yang lebih sedikit dalam header UDP.

UDP melakukan multiplexing UDP menggunakan cara yang sama seperti TCP. Satu-
satunya perbedaan adalah transport protocol yang digunakan, yaitu UDP. Suatu aplikasi
dapat membuka nomor port yang sama pada satu host, tetapi satu menggunakan TCP dan
yang satu lagi menggunakan UDP—hal ini tidak biasa, tetapi diperbolehkan. Jika suatu
layanan mendukung TCP dan UDP, ia menggunakan nilai yang sama untuk nomor port
TCP dan UDP.

UDP mempunyai keuntungan dibandingkan TCP dengan tidak menggunakan field


sequence dan acknowledgement. Keuntungan UDP yang paling jelas dari TCP adalah
byte tambahan yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu
penerimaan atau menyimpan data dalam memory sampai data tersebut diterima. Ini
berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory dapat
dibebaskan lebih cepat. Pada tabel, Anda dapat melihat fungsi yang dilakukan (atau tidak
dilakukan) oleh UDP atau TCP.
Protokol Transport (TCP/UDP)
komunikasi logika pada lapisan Transport dapat berbentuk :

● connectionless atau connection-oriented.

● Reliable atau unreliable : Reliable berarti data ditransfer ke tujuannya dalam suatu
urutan seperti ketika dikirim. Pengiriman data Unreliable sangat menggantungkan diri
pada lapisan jaringan di bawahnya, sehingga tidakdapat menyakinkan apaah segment
data dapat dikirimkan sampai ditujuannya atau tidak.

● Stateful atau stateless. Pengiriman data stateful berarti informasi yang dimasukkan
pada satu request, yang dikirimkan dari pengirim ke penerima, dapat dimodifikasi untuk
request berikutnya. Sedangkan pengiriman stateless berarti informasi dalam satu request
tidak dapat dikaitkan dengan request lainnya, sehingga tidak dapat digunakan untuk
request lainnya.

FUNGSI

menyediakan komunikasi logika antar proses aplikasi yang berjalan pada host yang
berbeda protokol transport berjalan pada end systems.

Perbedaan dengan Lapisan Network :

• lapisan network : transfer data antar end-system

• lapisan transport : transfer data antar proses

Layanan transport pada Internet :

• reliable, pengiriman dalam suatu urutan dengan model unicast. Contoh : TCP

• unreliable, pengiriman tidak dalam suatu urutan dengan model unicast atau multicast.
Contoh : UDP

Pada layanan transport, satuan data yang dipertukarkan disebut sebagai segment (TPDU
= Transprot Protocol Data Unit)

Layanan transport menyediakan demultiplexing untuk dapat mengirimkan segment ke


proses lapisan aplikasi yang sesuai berdasar alamat dan port proses tersebut.

Selain itu juga melakukan multiplexing, yang akan mengambil data dari beberapa proses
aplikasi, dan membungkus data dengan header. Multiplexing dan Demultiplexing di
dasarkan pada pengirim dan nomor port serta alamat IP penerima.  Terdapat nomor port
sumber dan tujuan pada tiap segment.

Transmission Control Protocol (TCP) adalah suatu protokol yang berada di lapisan
transpor (baik itu dalam tujuh lapis model referensi OSI atau model DARPA) yang
berorientasi sambungan (connection-oriented) dan dapat diandalkan (reliable). TCP
dispesifikasikan dalam RFC 793

TCP memiliki karakteristik sebagai berikut:

 Berorientasi sambungan (connection-oriented): Sebelum data dapat


ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi
harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi
TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP
connection termination).
 Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri
atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan
teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun
dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP
sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari
data yang masuk.
 Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan
diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive
acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari
penerima, maka segmen TCP (protocol data unit dalam protokol TCP) akan
ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan
diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan
diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk
menjamin integritas setiap segmen TCP, TCP mengimplementasikan
penghitungan TCP Checksum.
 Byte stream: TCP melihat data yang dikirimkan dan diterima melalui dua jalur
masuk dan jalur keluar TCP sebagai sebuah byte stream yang berdekatan
(kontigu). Nomor urut TCP dan nomor acknowlegment dalam setiap header TCP
didefinisikan juga dalam bentuk byte. Meski demikian, TCP tidak mengetahui
batasan pesan-pesan di dalam byte stream TCP tersebut. Untuk melakukannya,
hal ini diserahkan kepada protokol lapisan aplikasi (dalam DARPA Reference
Model), yang harus menerjemahkan byte stream TCP ke dalam “bahasa” yang ia
pahami.
 Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan
pada satu waktu, yang akhirnya membuat “macet” jaringan internetwork IP, TCP
mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim
yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan
pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang
tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control
dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia
dalam pihak penerima.
 Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam
DARPA Reference Model)
 Mengirimkan paket secara “one-to-one“: hal ini karena memang TCP harus
membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar
saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data
secara one-to-many.

TCP umumnya digunakan ketika protokol lapisan aplikasi membutuhkan layanan transfer
data yang bersifat andal, yang layanan tersebut tidak dimiliki oleh protokol lapisan
aplikasi tersebut. Contoh dari protokol yang menggunakan TCP adalah HTTP dan FTP.

Segmen TCP

Segmen-segmen TCP akan dikirimkan sebagai datagram-datagram IP (datagram


merupakan satuan protocol data unit pada lapisan internetwork). Sebuah segmen TCP
terdiri atas sebuah header dan segmen data (payload), yang dienkapsulasi dengan
menggunakan header IP dari protokol IP.

Sebuah segmen dapat berukuran hingga 65495 byte: 216-(ukuran header IP terkecil (20
byte)+ukuran header TCP terkecil (20 byte)). Datagram IP tersebut akan dienkapsulasi
lagi dengan menggunakan header protokol network interface (lapisan pertama dalam
DARPA Reference Model) menjadi frame lapisan Network Interface. Gambar berikut
mengilustrasikan data yang dikirimkan ke sebuah host.

Di dalam header IP dari sebuah segmen TCP, field Source IP Address diatur menjadi
alamat unicast dari sebuah antarmuka host yang mengirimkan segmen TCP yang
bersangkutan. Sementara itu, field Destination IP Address juga akan diatur menjadi
alamat unicast dari sebuah antarmuka host tertentu yang dituju. Hal ini dikarenakan,
protokol TCP hanya mendukung transmisi one-to-one.

Header TCP
Ukuran dari header TCP adalah bervariasi, yang terdiri atas beberapa field yang
ditunjukkan dalam gambar dan tabel berikut. Ukuran TCP header paling kecil (ketika
tidak ada tambahan opsi TCP) adalah 20 byte.

Header TCP harus mampu melakukan semua tugas di atas. Kita telah menjelaskan kapan
dan di mana beberapa header yang digunakan, namun masih ada daerah lain yang kita
belum menyentuh yang sangat mendalam di. Di bawah ini Anda melihat gambar set
lengkap header TCP. Hal ini diformat dalam 32 kata bit per baris, seperti yang Anda
lihat.

Sumber port – bit 0 – 15. Ini adalah port sumber dari paket. Port sumber awalnya terikat
langsung ke suatu proses pada sistem pengiriman. Hari ini, kita menggunakan hash antara
alamat IP, dan baik dan sumber port tujuan untuk mencapai keunikan ini kita dapat
mengikat bahwa untuk sebuah aplikasi atau program.
Tujuan port – 16 bit -. 31 Ini adalah port tujuan dari paket TCP. Sama seperti dengan port
sumber, ini pada awalnya terikat langsung ke suatu proses pada sistem penerima. Hari ini,
hash yang digunakan sebagai gantinya, yang memungkinkan kita untuk memiliki lebih
banyak membuka koneksi pada waktu yang sama. Ketika sebuah paket diterima, dan
sumber port tujuan dibalik yg di kembali ke host pengirim awalnya, sehingga pelabuhan
tujuan sekarang port sumber, port sumber dan port tujuan.

Nomor urutan – bit 32-63. Bidang nomor urutan digunakan untuk menetapkan nomor
pada setiap paket TCP sehingga aliran TCP dapat benar diurutkan (misalnya, paket angin
dalam urutan yang benar). Nomor Sequence kemudian dikembalikan di bidang ACK ke
ackonowledge bahwa paket itu benar diterima.

UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol lapisan
transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa
koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP.
Protokol ini didefinisikan dalam RFC 768

UDP memiliki karakteristik-karakteristik berikut:

 Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus


dilakukan proses negosiasi koneksi antara dua host yang hendak berukar
informasi.
 Unreliable (tidak andal): Pesan-pesan UDP akan dikirimkan sebagai datagram
tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi
yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan
yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan
di atas UDP mengimplementasikan layanan keandalan mereka masing-masing,
atau mengirim pesan secara periodik atau dengan menggunakan waktu yang telah
didefinisikan.
 UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol
lapisan aplikasi atau proses tertentu di dalam sebuah host dalam jaringan yang
menggunakan TCP/IP. Header UDP berisi field Source Process Identification dan
Destination Process Identification.
 UDP menyediakan penghitungan checksum berukuran 16-bit terhadap
keseluruhan pesan UDP.

UDP tidak menyediakan layanan-layanan antar-host berikut:

 UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data yang


masuk ataupun data yang keluar. Tugas buffering merupakan tugas yang harus
diimplementasikan oleh protokol lapisan aplikasi yang berjalan di atas UDP.
 UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam
segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena itulah,
protokol lapisan aplikasi yang berjalan di atas UDP harus mengirimkan data yang
berukuran kecil (tidak lebih besar dari nilai Maximum Transfer Unit/MTU) yang
dimiliki oleh sebuah antarmuka di mana data tersebut dikirim. Karena, jika
ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data
yang dikirimkan bisa saja terpecah menjadi beberapa fragmen yang akhirnya tidak
jadi terkirim dengan benar.
 UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.

Penggunaan UDP

UDP sering digunakan dalam beberapa tugas berikut:

 Protokol yang “ringan” (lightweight): Untuk menghemat sumber daya memori


dan prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan
protokol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling
bertukar pesan. Contoh dari protokol yang ringan adalah fungsi query nama dalam
protokol lapisan aplikasi Domain Name System.
 Protokol lapisan aplikasi yang mengimplementasikan layanan keandalan: Jika
protokol lapisan aplikasi menyediakan layanan transfer data yang andal, maka
kebutuhan terhadap keandalan yang ditawarkan oleh TCP pun menjadi tidak ada.
Contoh dari protokol seperti ini adalah Trivial File Transfer Protocol (TFTP) dan
Network File System (NFS)
 Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah
protokol Routing Information Protocol (RIP).
 Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu membuat
koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast
pun dimungkinkan. Sebuah protokol lapisan aplikasi dapat mengirimkan paket
data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast.
Hal ini kontras dengan protokol TCP yang hanya dapat mengirimkan transmisi
one-to-one. Contoh: query nama dalam protokol NetBIOS Name Service.

UDP, berbeda dengan TCP yang memiliki satuan paket data yang disebut dengan
segmen, melakukan pengepakan terhadap data ke dalam pesan-pesan UDP (UDP
Messages). Sebuah pesan UDP berisi header UDP dan akan dikirimkan ke protokol
lapisan selanjutnya (lapisan internetwork) setelah mengepaknya menjadi datagram IP.
Enkapsulasi terhadap pesan-pesan UDP oleh protokol IP dilakukan dengan
menambahkan header IP dengan protokol IP nomor 17 (0×11). Pesan UDP dapat
memiliki besar maksimum 65507 byte: 65535 (216)-20 (ukuran terkecil dari header IP)-8
(ukuran dari header UDP) byte. Datagram IP yang dihasilkan dari proses enkapsulasi
tersebut, akan dienkapsulasi kembali dengan menggunakan header dan trailer protokol
lapisan Network Interface yang digunakan oleh host tersebut.

Dalam header IP dari sebuah pesan UDP, field Source IP Address akan diset ke
antarmuka host yang mengirimkan pesan UDP yang bersangkutan; sementara field
Destination IP Address akan diset ke alamat IP unicast dari sebuah host tertentu, alamat
IP broadcast, atau alamat IP multicast.

Mengapa ada UDP?


✔   Tidak perlu adanya setup koneksi terlebih dahulu (hal ini dapat menyebabkan
tambahan delay)

✔   sederhana, artinya antara penerima dan pengirim tidak perlu menjaga session atau
status koneksi

✔   ukuran header segment sederhana

✔   tidak perlu kontrol kemacetan koneksi, artinya UDP dapatmengirimkan per segment
tanpa dipengaruhi oleh kesibukan jaringan

You might also like