Transport
Layer
Transport
Layer melakukan segmentasi dan menyatukan kembali data yang tersegmentasi
menjadi suatu arus data. Layanan-layanan yang terdapat di transport layer
melakukan segmentasi dan juga menyatukan kembali data yang sudah tersegmentasi
dari aplikasi-aplikasi upper-layer dan menggabungkannya ke dalam arus data yang
sama. Layanan-layanan ini menyediakan layanan transportasi data dari ujung ke
ujung dan dapat membuat koneksi logikal antara host pengirim dan host tujuan
pada sebuah internetwork.
Transport Layer
bertanggung jawab untuk menyediakan mekanisme untuk multiplexing (multiplexing
adalah teknik untuk mengirimkan atau menerima beberapa jenis data yang berbeda
sekaligus pada saat bersamaan melalui satu media network saja), metode
aplikasi-aplikasi upper-layer, membuat session, dan memutuskan virtual circuit
(koneksi yang terbentuk antara dua buah host di jaringan, setelah melalui
sebuah mekanisme yang disebut three-way handshake).
Keutuhan data
dipastikan di Transport Layer dengan
cara mempertahankan apa yang disebut Flow Control, dan dengan memungkinkan
pengguna meminta transportasi data antar sistem yang dapat diandalkan. Flow
Control mencegah host pengirim membanjiri (overflowing) buffer di host penerima
(suatu kejadian yang dapat mengakibatkan data hilang atau rusak).
Protokol
Pada Transport Layer
Transport layer hanya
terdiri dari dua protokol; yang pertama adalah TCP (Transmission Control
Protokol) dan yang kedua adalah UDP (User Datagram Protokol).TCP bertugas
membentuk sambungan, mengirim acknowledgment, dan menjamin terkirimnya data.TCP
bersifat harus mendapat hasil yang sebaik-baiknya. UDP dapat membuat transfer
data menjadi lebih cepat. UDP mendapat kecepatan yang secepat-cepatnya.
1.
Transmission Control Protocol
Transmission Control Protocol (TCP) adalah salah satu jenis
protokol yang memungkinkan kumpulan komputer untuk berkomunikasi dan bertukar
data didalam suatu network (jaringan). TCP merupakan suatu protokol yang berada
di lapisan transport (baik itu dalam tujuh lapis model referensi OSI atau model
DARPA) yang berorientasi sambungan (connection-oriented) dan dapat diandalkan
(reliable). TCP dipakai untuk
aplikasi-aplikasi yang membutuhkan keandalan data.Setiap segmen TCP memiliki 20
byte overhead di header encapsulating data application layer.
KarakteristikTCP
Karakteristik dari TCP antara lain yaitu :
a.
Reliable berarti data
ditransfer ke tujuannya dalam suatu urutan seperti ketika dikirim.
b.
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).
c.
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) sesuai dari data yang ditransmisikan dan sebuah acknowledgment dari
data yang masuk.
d.
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.
e.
Melakukan segmentasi
terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
f.
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.
Kegunaan TCP
Beberapa
kegunaan dari TCP yaitu :
a.
Menyediakan komunikasi logika antar
proses aplikasi yang berjalan pada host yang berbedaProtokol transport berjalan
pada end system.
b.
Pengiriman file (file transfer). File
Transfer Protokol (FTP) memungkinkan pengguna komputer yg satu untuk dapat
mengirim ataupun menerima file ke komputer jaringan. Karena masalah keamanan
data, maka FTP seringkali memerlukan nama pengguna (username) dan password,
meskipun banyak juga FTP yg dapat diakses melalui anonymous, alias tidak
berpassword. (lihat RFC 959 untuk spesifikasi FTP)
c.
Remote login. Network terminal Protokol
(telnet) memungkinkan pengguna komputer dapat melakukan log in ke dalam suatu
komputer didalam suatu jaringan. Jadi hal ini berarti bahwa pengguna
menggunakan komputernya sebagai perpanjangan tangan dari komputer jaringan
tersebut.( lihat RFC 854 dan 855 untuk spesifikasi telnet lebih lanjut).
d.
Computer mail. Digunakan untuk
menerapkan sistem elektronik mail.
e.
Network File System (NFS). Pelayanan
akses file-file jarak jauh yg memungkinkan klien-klien untuk mengakses
file-file pada komputer jaringan jarak jauh walaupun file tersebut disimpan
secara lokal. (lihat RFC 1001 dan 1002 untuk keterangan lebih lanjut).
f.
Remote execution. Memungkinkan pengguna
komputer untuk menjalankan suatu program didalam komputer yg berbeda. Biasanya
berguna jika pengguna menggunakan komputer yg terbatas, sedangkan ia memerlukan
sumber yg banyak dalam suatu system komputer. Ada beberapa jenis remote
execution, ada yg berupa perintah-perintah dasar saja, yaitu yg dapat
dijalankan dalam system komputer yg sama dan ada pula yg menggunakan “prosedure
remote call system”, yg memungkinkan program untuk memanggil subroutine yg akan
dijalankan di system komputer yg berbeda. (sebagai contoh dalam Berkeley UNIX
ada perintah “rsh” dan “rexec”).
g.
Name servers. Nama database alamat yg
digunakan pada internet (lihat RFC 822 dan 823 yg menjelaskan mengenai
penggunaan protokol name server yg bertujuan untuk menentukan nama host di
internet.)
Port TCP
Port
TCP mampu mengindikasikan sebuah lokasi tertentu untuk menyampaikan
segmen-segmen TCP yang dikirimkan yang diidentifikasi dengan TCP Port
Number.Nomor-nomor di bawah angka 1024 merupakan port yang umum digunakan dan
ditetapkan oleh IANA (Internet Assigned Number Authority).Tabel berikut ini
menyebutkan beberapa port TCP yang telah umum digunakan.
Port
TCP merupakan hal yang berbeda dibandingkan dengan port UDP, meskipun mereka
memiliki nomor port yang sama. Port TCP merepresentasikan satu sisi dari sebuah
koneksi TCP untuk protokol lapisan aplikasi, sementara port UDP
merepresentasikan sebuah antrean pesan UDP untuk protokol lapisan aplikasi.
Selain itu, protokol lapisan aplikasi yang menggunakan port TCP dan port UDP
dalam nomor yang sama juga tidak harus sama. Sebagai contoh protokol Extended
Filename Server (EFS) menggunakan port TCP dengan nomor 520, dan protokol
Routing Information Protocol (RIP) menggunakan port UDP juga dengan nomor 520.
Jelas, dua protokol tersebut sangatlah berbeda! Karenanya, untuk menyebutkan
sebuah nomor port, sebutkan juga jenis port yang digunakannya, karena hal
tersebut mampu membingungkan (ambigu).
2.
User Datagram Protocol
User
Datagram Protocol (UDP) adalah protocol yang sangat sederhana dengan overhead
yang minimum, jika suatu proses perlu untuk mengirim pesan yang realatif kecil
dan tidak terlalu mementingkan kehandalan, tepat jika menggunakan UDP.
Pengiriman pesan kecil menggunakan UDP membutuhkan interaksi antara pengirim
dan penerima lebih sedikit dibandingkanbila menggunakan TCP atau SCTP.Segmen
UDP hanya memiliki 8 byte overhead.
Karakteristik
UDP
Karakteristik
dari UDP antara lain, yaitu :
a.
Connectionless (tanpa koneksi):
Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi
antara dua host yang hendak berukar informasi.
b.
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.
c.
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. HeaderUDP berisi field
Source Process Identification dan Destination Process Identification.
d.
UDP menyediakan penghitungan checksum
berukuran 16-bit terhadap keseluruhan pesan UDP.
Kegunaan UDP
UDP sering digunakan
dalam beberapa tugas berikut :
a. 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.
b. 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).
c. Protokol
yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing
Information Protocol (RIP).
d. 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.
3.
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.
Tabel
Perbedaan TCP dan UDP
Dibawah
ini merupakan tabel perbedaan TCP dan UDP secara garis besar.
No.
|
TCP
|
UDP
|
1
|
Dapat diandalkan.
Jika sambungan terputus ketika mengrim sebuah pesan maka server akan meminta
bagian yang hilang. Jadi tidak akan terjadi data yang korup ketika
mentransfer sebuah data.
|
Tidak dapat diandalkan.
Jika mengirimkan suatu pesan atau data, kita tidak akan tahu apakah sudah
terkirim atau belum dan apakah sebagian dari pesan tersebut hilang atau tidak
ketika proses pengiriman. Jadi akan ada kemungkinan terjadinya data yang
korup.
|
2
|
Berurutan.
Ketika mengrimkan dua pesan secara berurutan / satu demi satu. TCP akan mengirimkannya
secara berurutan. Tidak perlu khawatir data tiba dengan urutan yang salah.
|
Tidak berurutan.
Ketika mengrimkan dua pesan secara berurutan / satu demi satu. Tidak dapat
dipastikan data mana yang akan datang terlebih dahulu.
|
3
|
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).
|
Connectionless (tanpa koneksi).
Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi
koneksi antara dua host yang hendak berukar informasi.
|
4
|
Berat (Heavyweight).
Ketika tingkat level terendah dari TCP tercapai dalam urutan yang
salah,permintaan pengiriman ulang data harus dikirm. dan bagian lainya harus
dikembalikan semua. Sehingga membutuhkan proses untuk menyatukannya
|
Ringan (Lightweight).
Tidak ada permintaan pesan, tidak ada trak koneksi dan yang lainnya, hanya
menjalankan dan melupakannya. Ini berarti itu jauh lebih cepat dan kartu
jaringan / OS hanya melakukan sedikit pekerjaan untuk menerjemahkan kembali
data dari paket.
|
5
|
Streaming.
Data/paket dibaca sebagai satu alur data. tanpa mengetahui batas setiap data
berakhir dan data yang lain mulai. Ada kemungkinan beberapa paket data dibaca
per satu panggilan data.
|
Datagrams.
Paket dikirim secara individu dan dijamin utuh ketika tiba. Satu paket dibaca
per satu panggilan.
|
|
Contoh
World Wide Web (Apache TCP port 80), e-mail
(SMTP TCP port 25 Postfix MTA), File Transfer Protocol (FTP port 21) and
Secure Shell (OpenSSH port 22) etc.
|
Contoh
Domain Name System (DNS UDP port 53),
streaming media applications such as IPTV or movies, Voice over IP (VoIP),
Trivial File Transfer Protocol (TFTP) and online multiplayer games etc.
|