Transport Layer
Lapisan transpor atau transport layer adalah
lapisan keempat dari model referensi jaringan OSI. Lapisan transpor bertanggung
jawab untuk menyediakan layanan-layanan yang dapat diandalkan kepada
protokol-protokol yang terletak di atasnya. Layanan yang dimaksud antara lain:
+Mengatur alur (flow control) untuk menjamin
bahwa perangkat yang mentransmisikan data tidak mengirimkan lebih banyak data
daripada yang dapat ditangani oleh perangkat yang menerimanya.
+Mengurutkan paket (packet sequencing), yang
dilakukan untuk mengubah data yang hendak dikirimkan menjadi segmen-segmen data
(proses ini disebut dengan proses segmentasi/segmentation), dan tentunya
memiliki fitur untuk menyusunnya kembali.
+Penanganan kesalahan dan fitur acknowledgment
untuk menjamin bahwa data telah dikirimkan dengan benar dan akan dikirimkan
lagi ketika memang data tidak sampai ke tujuan.
+Multiplexing, yang dapat digunakan untuk
menggabungkan data dari bebeberapa sumber untuk mengirimkannya melalui satu
jalur data saja.
+Pembentukan sirkuit virtual, yang dilakukan
dalam rangka membuat sesi koneksi antara dua node yang hendak berkomunikasi.
Contoh dari protokol yang bekerja pada lapisan transport adalah
Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP) yang
tersedia dari kumpulan protokol TCP/IP. Pada ulasan tentang Internet Layer dan
Subnetting, kita mengenal banyak protokol yang sangat effektif dalam
menyediakan keperluan informasi addressing dan routing sehingga data bisa sampai
ke tujuan dengan sempurna. Addressing dan routing hanyalah satu bagian dari
perjalanan data didalam network. Para developer membutuhkan layer yang lain
diatas Internet Layer yang bisa menyediakan fitur-fitur yang dibutuhkan yang
tidak terdapat pada Internet Layer. Secara spesifik, para developer TCP/IP
menginginkan transport layer untuk menyediakan hal-hal berikut :
•
Sebuah interface untuk network applications : dengan kata lain, menyediakan
cara agar aplikasi bisa mengakses network. Desainer ingin bisa mengarahkan data
tidak hanya pada komputer tujuan saja, tapi juga pada aplikasi spesifik pada
komputer tujuan.
•
Mekanisme multiplexing/demultiplexing. Multiplexing, dalam hal ini, berarti
menerima data dari aplikasi-aplikasi dan mesin yang berbeda dan mengarahkan
data-data tersebut pada satu aplikasi tertentu yang berjalan pada komputer
tujuan.Dengan kata lain, transport layer harus mampu mendukung beberapa
aplikasi network secara simultan dan mengatur alur data kepada Internet Layer.Pada
komputer penerima, transport layer harus mampumenerima data dari Internet Layer
dan mengarahkan data-data tersebut pada beberapa aplikasi yang berbeda. Fitur
yang dikenal sebagai demultiplexing ini, memungkinkan sebuah komputer untuk
men-support jalannya beberapa aplikasi network secara simultan, seperti web
browser, email client, dan file-sharing. Aspek lain dari
multiplexing/demultiplexing adalah satu aplikasi tunggal dapat me-maintain
koneksi-koneksi dengan lebih dari satu komputer lain secara simultan.
•
Error checking, flow control, dan verification.
Karenanya, Transport layer, menyediakan dua jalur bagi aplikasi
network untuk mengakses network, masing-masing dilengkapi dengan fitur-fitur
interfacing dan multiplexing/demultiplexing yang dibutuhkan untuk mendukung
aplikasi network, namun keduanya memiliki pendekatan jaminan kualitas yang
sangat berbeda:
•
Transport Control Protocol (TCP): TCP menyediakan fitur error control dan flow
control yang diperluas untuk memastikan data terkirim dengan sempurna. TCP
termasuk connection-oriented protocol.
•
User Datagram Protocol (UDP): UDP menyediakan fitur error checking yang sangat
remeh dan di desain untuk situasi dimana fitur-fitur tambahan pada TCP tidak
diperlukan. UDP termasuk connectionless protocol.
Konsep Transport Layer
Beberapa konsep penting transport layer antara lain :
•
Connection-oriented dan connectionless protocols
•
Ports dan sockets
•
Multiplexing
Connection-Oriented dan Connectionless Protocols
•
Protokol connection-oriented membangun dan me-maintain koneksi antar komputer
yang sedang berkomunikasi dan memonitor status koneksi tersebut setelah proses
transmisi data. Dengan kata lain, untuk setiap paket data yang dikirimkan
kedalam network harus ada acknowledgment yang diterima, dan mesin pengirim
merekam status informasi untuk memastikan setiap paket diterima tanpa ada
error, mengulang proses transmisi jika diperlukan. Pada akhir proses transmisi,
mesin pengirim dan penerima memutuskan koneksi secara formal.
•
Protokol connectionless mengirimkan datagram ke mesin tujuan dengan jalur
searah dan tidak memberikan notifikasi pada mesin tujuan sebelum mengirimkan
data. Mesin tujuan menerima data dan tidak memberikan konfirmasi pada pengirim
tentang status data yang diterimanya.
Ports dan Sockets
Transport layer berfungsi sebagai interface antara network
applications dengan network dan juga menyediakan metode untuk mengarahkan
data-data yang diterima dari network kepada aplikasi-aplikasi tertentu secara
spesifik. Dalam sistem TCP/IP, aplikasi-aplikasi bisa mengalamatkan data kepada
salah satu modul protokol TCP atau UDP menggunakan nomor port. Port adalah
internal address yang berfungsi sebagai jalur kecil dari aplikasi menuju
transport layer dan sebaliknya. Misalnya, sebuah klien biasanya melakukan
koneksi dengan aplikasi FTP pada server melalui TCP port 21.
Dengan memperhatikan lebih teliti, metode transport layer untuk pengalamatan data-data dari network pada aplikasi spesifik menunjukkan bahwa data-data TCP dan UDP sebenarnya dialamatkan kepada apa yang dikenal sebagai socket. Socket adalah sebuah address yang dibentuk dari gabungan IP address dan angka port. Misalnya socket 111.121.131.141.21menunjukkan port 21 pada komputer dengan IP address 111.121.131.141.
Contoh berikut
menunjukkan bagaimana komputer mengakses aplikasi pada mesin tujuan melewatu
socket:
1. Komputer A
menginisiasi koneksi dengan aplikasi pada komputer B melalui
sebuah well-known port. Well-known port adalah nomor port yang
sudah di assign pada aplikasi tertentu oleh ICANN dan menjadi standard.
Well-known port tersebut digabungkan dengan IP address menjadi socket tujuan
untuk komputer A. request yang dilakukan oleh komputer A juga mencantumkan data
yang menunjukkan alamat socket yang bisa digunakan oleh komputer B untuk
menjawab request komputer A.
2. Komputer B menerima
request dari komputer A melalui well-known port dan memberikan
respond yang ditujukan pada socket komputer A. Socket ini menjadi address
tujuan untuk data yang dikirimkan dari aplikasi komputer B untuk aplikasi
kokmputer A.
Multiplexing/Demultiplexing
Sistem pengalamatan
socket ini memungkinkan TCP dan UDP menjalankan tugas penting yang lain:
multiplexing and demultiplexing. Sudah disebutkan sebelumnya, multiplexing
adalah membundel input dari
beberapa sumber menjadi satu output tunggal, sedangkan demultiplexing adalah
menerima input dari satu sumber dan mengirimkannya pada beberapa output.
Multiplexing/demultiplexing
memungkinkan level bawah TCP/IP stack untuk memproses data tanpa memperhatikan
aplikasi yang mana yang menginisiasi data tersebut. Semua yang berhubungan
dengan aplikasi diselesaikan pada transport layer, dan data ditransfer dari dan
ke internet layer sebagai satu entitas tunggal.
Memahami
TCP dan UDP
TCP:
Connection-Oriented Transport Protocol
TCP mempunyai beberapa
fitur penting lain yang perlu diperhatikan :
•
Stream-oriented processing: TCP memproses data dalam bentuk stream. Dengan kata
lain, TCP dapat menerima data dalam bentuk 1 byte sebagai ganti block data yang
belum diformat. TCP memformat data menjadi segment-segment yang akan diserahkan
pada Internet layer.
•
Resequencing: Menyusun kembali data-data yang datang secara acak sesuai dengan
urutan aslinya.
•
Flow control: fitur flow control ini memastikan data yang ditransmisikan tidak
membanjiri mesin penerima melebihi kemampuannya menerima data dalam satu waktu.
•
Precedence and security: Banyak software yang mengimplementasikan TCP, namun
sedikit yang menyediakan fitur ini.
•
Graceful close: TCP selalu menutup koneksi nya secara formal sebagaimana saat
membentuk koneksi.
Pembahasan tentang TCP
ini juga menunjukkan bahwa sebuah protokol lebih dari sekedar format data; ia
adalah keseluruhan sistem proses interaksi dan desain prosedur untuk mencapai
tujuan yang diinginkan.
Point penting lain
yang perlu kita ketahui adalah, router tidak berhubungan dengan informasi-informasi
pada transport layer. Router Cuma menyerahkan data dari transport layer dalam
bentuk IP datagram. Informasi Kontrol dan verifikasi yang di encode dalam
segment TCP ditujukan semata-mata untuk software TCP pada mesin tujuan. Hal ini
mempercepat routing internetwork karena router tidak ikut berpartisipasi pada
proses-proses TCP.
Format Data TCP Data
Koneksi TCP
TCP mendukung dua tipe
status open :
•
Passive open: Proses aplikasi (server) tertentu memberitahukan TCP bahwa
aplikasi tersebut sudah siap menerima datangnya rekues koneksi melalui TCP
port. Karena itu, jalur dari TCP menuju aplikasi dibuka sebagai antisipasi
datangnya rekues koneksi.
•
Active open: Sebuah aplikasi (client) merekues TCP untuk menginisiasi koneksi
dengan komputer lain yang berada pada status passive open.
Klien adalah komputer
yang melakukan rekues atau menerima servis dari komputer lain dalam network.
Server adalah komputer
yang menawarkan servis pada komputer lain dalam network.
Menjalin Koneksi
Agar acknowledgement
bisa dijalankan, mesin-mesin harus saling mensinkronkan nomor urut (sequence
number) mereka terlebih dahulu. Proses sinkronisasi inilah yang dikenal
sebagaithree-way handshake. Tiga langkah dalam three-way handshake seperti
berikut:
1.
Komputer A mengirim segment data dengan
SYN = 1; ACK = 0
Sequence Number = X ,
dimana X adalah initial sequence number (ISN) komputer A
2.
Komputer B menerima segment dari komputer A dan mengembalikan segment dengan
SYN=1;ACK=1
Sequence number = Y,
dimana Y adalah ISN dari komputer B
Acknowledgment number
= M+1, dimana M adalah nilai sequence number yang terakhir diterima dari
komputer A.
3.
Komputer A mengirimkan segment pada komputer B yang berupa acknowledge atas ISN
dari komputer B.
SYN = 0; ACK=1
Sequence number =
sequence number selanjutnya (M+1)
acknowledgment number
= N +1, dimana N adalah nilai sequence number terakhir yang diterima dari
komputer B.
Setelah three-way
handshake, koneksi terjalin, dan modul-modul TCP mengirim dan menerima data
menggunakan sequence dan acknowledgment.
TCP Flow Control
Field window pada TCP
header berfungsi untuk mekanisme flow control koneksi.Tujuan dari field window
tersebut adalah memastikan komputer pengirim tidak mengirim data terlalu banyak
dan terlalu cepat yang bisa menyebabkan hilangnya data pada komputer penerima
karena tidak terproses. Metode flow control yang digunakan TCP ini biasa
disebut sliding window.
Closing a Connection
Saat tiba memutuskan
koneksi, komputer yang menginginkan pemutusan koneksi, komputer A, menempatkan
segment pada antrian dengan variable FIN di isi dengan angkat 1. Aplikasi
kemudian memasuki status fin-wait. Dalam status fin-wait, software TCP komputer
A tetap menerima segment dan memproses segment yang sudah berada pada antrian,
tetapi tidak ada tambahan data yang diterima dari aplikasi. Ketika komputer B
menerima segment FIN, ia akan memberikan acknowledgment, mengirimkan segment
yang tersisa, dan membertahukan aplikasi lokal bahwa segment FIN telah
diterima. Komputer B kemudian mengirimkan segment FIN ke komputer A, komputer A
memberikan acknowledgment, dan koneksi dihentikan..
UDP: Connectionless
Transport Protocol
UDP jauh lebih
sederhana dibandingkan dengan TCP, UDP tidak menyediakan fungsi-fungsi seperti
yang disebutkan diatas.Namun, ada beberapa hal yang perlu diperhatikan tentang
UDP ini.
Pertama, walaupun UDP
dikatakan tidak punya kemampuan error-checking, faktanya, UDP mampu melakukan
error-checking sederhana. Jadi akan lebih benar jika menyebut UDP sebagai
protokol yang memiliki fungsi error-checking yang terbatas.
Kedua, UDP tidak
menawarkan resequencing (pengurutan kembali) data seperti pada TCP.
Kemudian, UDP tidak
melakukan transmisi ulang jika ada data yang korup atau hilang, tidakmengurutkan
datagram yang diterima, tidak mengeliminasi duplikasi datagram, tidakmemberikan
acknowledgmnet atas segment yang diterima, juga tidak menjalin dan memutus
koneksi.UDP pada dasarnya adalah mekanisme yang dibuat untuk aplikasi yang
ingin mentransfer data tanpa kelebihan-kelebihan yang ditawarkan TCP.
Karena UDP header yang sebenarnya tidak menyertakan IP address
sumber dan tujuan, maka mungkin saja, datagram disampaikan pada komputer yang
tidak dituju. Bagian data yang digunakan untuk kalkulasi checksum adalah sebuah
string yang diextract dari IP header yang dikenal sebagai pseudo-heder.
Pseudo-header inilah yang menyediakan informasi IP address tujuan sehingga
komputer penerima bisa menentukan apakah datagram UDP tersebut salah kirim atau
tidak.
Firewalls
Firewall adalah sistem yang melindungi jaringan lokal dari
serangan-serangan dari user-user tidak berkepentingan yang berusaha mengakses
LAN dari internet. Firewalls melaksanakan beberapa fungsi. Namun, fitur dasar
dari firewall bersinggungan dengan pembahasan kita diatas.
Fitur tersebut adalah kemampuan firewall untuk mem-block akses
pada port-port TCP dan UDP tertentu.Kata firewall kadang-kadang digunakan
sebagai sebuah usaha untuk menutup akses pada port.
Ada banyak layanan yang bisa opsional disediakan oleh protokol
Transport Layer, dan protokol yang berbeda mungkin atau mungkin tidak
menerapkannya.
* Koneksi berorientasi komunikasi:
Menafsirkan koneksi sebagai data stream dapat memberikan banyak manfaat bagi
aplikasi. Hal ini biasanya lebih mudah untuk berurusan dengan daripada yang
mendasari hubungan-model yang kurang, seperti yang mendasari model Transmission
Control Protocol Protokol Internet datagrams.
orientasi Byte *: Daripada mengolah pesan
dalam format sistem komunikasi yang mendasarinya, seringkali lebih mudah untuk
sebuah aplikasi untuk mengolah data stream sebagai urutan byte. Penyederhanaan
ini membantu aplikasi bekerja dengan berbagai format pesan yang mendasarinya.
* Pengiriman order Sama: Lapisan Jaringan
umumnya tidak menjamin bahwa paket data akan tiba dalam urutan yang sama bahwa
mereka dikirim, tetapi sering hal ini merupakan fitur yang diinginkan. Hal ini
biasanya dilakukan melalui penggunaan penomoran segmen, dengan penerima
melewati mereka ke aplikasi secara berurutan.Hal ini dapat menyebabkan
kepala-of-line blocking.
* Reliabilitas: Paket mungkin hilang selama
transportasi karena kongesti jaringan dan kesalahan. Dengan menggunakan kode
deteksi kesalahan, seperti checksum, maka protokol transport dapat memeriksa
bahwa data tidak rusak, dan memverifikasi penerimaan yang benar dengan mengirim
ACK atau pesan NACK ke pengirim.skema mengulangi permintaan otomatis dapat
digunakan untuk mengirim ulang data yang hilang atau rusak.
* Flow control: Tingkat transmisi data antara
dua node kadang-kadang harus dikelola untuk mencegah pengirim cepat dari
transmisi data lebih banyak daripada yang dapat didukung oleh data buffer
menerima, menyebabkan buffer overrun. Ini juga dapat digunakan untuk
meningkatkan efisiensi dengan mengurangi buffer underrun.
* Penghindaran Kemacetan: Congestion control
dapat mengatur lalu lintas masuk ke dalam sebuah jaringan telekomunikasi,
sehingga untuk menghindari keruntuhan kongestif dengan mencoba untuk
menghindari oversubscription dari setiap kemampuan pemrosesan atau link dari
node intermediate dan jaringan dan sumber daya mengambil langkah-langkah
mengurangi, seperti mengurangi tingkat paket pengiriman. Misalnya, permintaan
ulangi otomatis dapat menyimpan jaringan dalam keadaan padat, situasi ini dapat
dihindari dengan menambahkan menghindari kongesti dengan kontrol aliran,
termasuk lambat-start.Hal ini membuat konsumsi bandwidth pada tingkat yang
rendah di awal transmisi, atau setelah pengiriman ulang paket.
* Multiplexing: Ports dapat menyediakan
endpoint ganda pada node tunggal. Sebagai contoh, nama pada alamat pos adalah
sejenis multiplexing, dan membedakan antara penerima yang berbeda dari lokasi
yang sama. Aplikasi Komputer masing-masing akan mendengarkan informasi tentang
port mereka sendiri, yang memungkinkan penggunaan lebih dari satu layanan
jaringan pada waktu yang sama. Ini adalah bagian dari Transport Layer pada
model TCP / IP, tetapi dari Session Layer dalam model OSI.
[Sunting] Analisis
Transport Layer bertanggung jawab untuk menyampaikan data ke
proses aplikasi yang sesuai pada komputer host. Ini melibatkan multiplexing
statistik data dari proses aplikasi yang berbeda, yaitu membentuk paket data,
dan sumber menambahkan dan nomor port tujuan dalam header setiap paket data Transport
Layer. Bersama dengan sumber dan tujuan alamat IP, nomor port merupakan soket
jaringan, yaitu alamat identifikasi proses-proses komunikasi.Dalam model OSI,
fungsi ini didukung oleh Session Layer.
Beberapa Transport Layer protokol, misalnya TCP, tetapi tidak
UDP, dukungan sirkuit virtual, yaitu menyediakan komunikasi berorientasi
koneksi melalui jaringan paket berorientasi datagram yang mendasari.
Aliran-byte disampaikan ketika bersembunyi komunikasi paket modus untuk proses
aplikasi. Ini melibatkan pembentukan koneksi, membagi aliran data ke dalam
paket disebut segmen, segmen penomoran dan penataan kembali out-of data
pesanan.
Akhirnya, beberapa Transport Layer protokol, misalnya TCP,
tetapi tidak UDP, menyediakan komunikasi handal end-to-end, error recovery
yaitu dengan cara mendeteksi kesalahan kode dan permintaan ulang otomatis (ARQ)
protokol. Protokol ARQ juga menyediakan flow control, yang dapat digabungkan
dengan menghindari kemacetan.
UDP adalah protokol yang sangat sederhana, dan tidak menyediakan
sirkuit virtual, atau komunikasi yang handal, mendelegasikan fungsi-fungsi ini
dengan program aplikasi. paket UDP disebut datagram, bukan segmen.
TCP digunakan untuk berbagai protokol, termasuk web browsing
HTTP dan transfer email.UDP dapat digunakan untuk multicasting dan penyiaran,
karena transmisi ulang yang tidak mungkin untuk sejumlah besar host.UDP
biasanya memberikan throughput yang lebih tinggi dan latensi lebih pendek, dan
karena itu sering digunakan untuk komunikasi multimedia real-time dimana packet
loss kadang-kadang dapat diterima, misalnya IP-TV dan IP-telephony, dan untuk
permainan komputer online.
Definisi yang tepat dari apa yang memenuhi syarat sebagai
protokol lapisan transport tidak tegas. Berikut ini adalah daftar singkat:
•
ATP, AppleTalk Transaction Protocol
•
CUDP, Cyclic UDP
•
DCCP, Datagram Congestion Control Protocol
•
FCP, Fiber Channel Protocol
•
IL, IL Protocol
•
NBF, NetBIOS Frames protocol
•
SCTP, Stream Control Transmission Protocol
•
SPX, Sequenced Packet Exchange
•
SST, Structured Stream Transport
•
TCP, Transmission Control Protocol
•
UDP, User Datagram Protocol
•
UDP Lite
•
µTP, Micro Transport Protocol
LAYANAN
Perbandingan protokol Transport Layer
Feature Name
|
UDP
|
UDP Lite
|
TCP
|
SCTP
|
DCCP
|
RUDP
|
Packet header size
|
8 Bytes
|
20-60 Bytes
|
12 Bytes + Variable
Chunk Header
|
12 or 16 bytes
|
||
Transport Layer
packet entity
|
Datagram
|
Datagram
|
Segment
|
Datagram
|
Datagram
|
Datagram
|
Connection oriented
|
No
|
No
|
Yes
|
Yes
|
Yes
|
No
|
Reliable transport
|
No
|
No
|
Yes
|
Yes
|
No
|
Yes
|
Unreliable transport
|
Yes
|
Yes
|
No
|
Yes
|
Yes
|
Yes
|
Preserve message
boundary
|
Yes
|
Yes
|
No
|
Yes
|
Yes
|
Unsure
|
Ordered delivery
|
No
|
No
|
Yes
|
Yes
|
No
|
No
|
Unordered delivery
|
Yes
|
Yes
|
No
|
Yes
|
Yes
|
Yes
|
Data checksum
|
Optional
|
Yes
|
Yes
|
Yes
|
Yes
|
Unsure
|
Checksum size (bits)
|
16
|
16
|
16
|
32
|
16
|
Unsure
|
Partial checksum
|
No
|
Yes
|
No
|
No
|
Yes
|
No
|
Path MTU
|
No
|
No
|
Yes
|
Yes
|
Yes
|
Unsure
|
Flow control
|
No
|
Yes
|
Yes
|
No
|
||
Congestion control
|
No
|
No
|
Yes
|
Yes
|
Yes
|
Unsure
|
ECN support
|
No
|
Yes
|
Yes
|
Yes
|
||
Multiple streams
|
No
|
No
|
No
|
Yes
|
No
|
No
|
Multi-homing support
|
No
|
No
|
No
|
Yes
|
No
|
No
|
Bundling / Nagle
|
No
|
No
|
Yes
|
Yes
|
No
|
Unsure
|
NAT friendly
|
Yes
|
Yes
|
No
|
Yes
|
Model OSI mendefinisikan lima kelas protokol koneksi-mode transportasi yang ditunjuk kelas 0(TP0) untuk kelas 4 (TP4). Kelas 0 tidak berisi pemulihan kesalahan, dan dirancang untuk digunakan pada lapisan jaringan yang menyediakan koneksi bebas dari kesalahan.Kelas 4yang terdekat dengan TCP, meskipun TCP berisi fungsi, seperti dekat anggun, yangmemberikan kepada OSI Session Layer.Semua sambungan-mode OSI kelas protokolmenyediakan data dipercepat dan pelestarian batas rekaman. Karakteristik rinci dari kelasdisajikan dalam tabel berikut:
Service
|
TP0
|
TP1
|
TP2
|
TP3
|
TP4
|
Connection oriented
network
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Connectionless
network
|
No
|
No
|
No
|
No
|
Yes
|
Concatenation and
separation
|
No
|
Yes
|
Yes
|
Yes
|
Yes
|
Segmentation and
reassembly
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Error Recovery
|
No
|
Yes
|
No
|
Yes
|
Yes
|
Reinitiate
connection (if an excessive number of PDUs are unacknowledged)
|
No
|
Yes
|
No
|
Yes
|
No
|
multiplexing and
demultiplexing over a single virtual circuit
|
No
|
No
|
Yes
|
Yes
|
Yes
|
Explicit flow
control
|
No
|
No
|
Yes
|
Yes
|
Yes
|
Retransmission on
timeout
|
No
|
No
|
No
|
No
|
Yes
|
Reliable Transport
Service
|
No
|
Yes
|
No
|
Yes
|
Yes
|
Tidak ada komentar:
Posting Komentar