Transport layer merupakan layer keempat pada Model Referensi OSI Layer. Model layar ini berada dibawah session layer dan diatas network layer, layer ini termasuk ke dalam kelompok Lower layer atau kelompok layer yang lebih dekat ke mesin. Lapisan Transport bertanggung jawab atas keutuhan dari transmisi data. Lapisan ini sangat penting karena bertugas memisahkan lapisan tingkat atas dengan lapisan bawah. Pada lapisan ini data diubah menjadi segmen atau data stream. Transport layer memindahkan data antar-aplikasi dan antar-device dalam network, transport layer menyiapkan Aplication Data untuk dikirim kedalam network dan menyiapkan network data untuk di proses oleh aplikasi.
Transport layer bertanggung jawab dalam proses :
• Pengemasan data upper layer ke dalam bentuk segment.
• Pengiriman segment antar host.
• Penetapan hubungan secara logika antara host pengirim dan penerima dengan membentuk virtual
circuit.
• Secara opsional, menjamin proses pengiriman data yang dapat diandalkan
Dua jenis hubungan yang penting pada Transport Layer :
Connection Oriented
Hubungan ini disebut connection-oriented karena ditunjang oleh Transmission Control Protocol (TCP) dengan menggunakan port 6. Hubungan ini reliable karena setiap session digaransi.
Connection-oriented memiliki tiga langkah untuk melakukan pengiriman sebagai berikut :
• Mengadakan hubungan – di mana jalur antara pengirim dan penerima dibangun.
• Pengiriman paket-paket – data dikirim lewat jalur yang telah dibangun.
• Pemutusan hubungan – hubungan jalur yang tak dipakai lagi akan diputuskan
Ciri-ciri connection-oriented adalah sebagai berikut :
• Semua paket mendapat tanda terima (acknowledge) dari penerima.
• Paket yang tidak diterima dikirim ulang.
• Paket-paket diurut kembali (sequence). Misalnya berdasarkan asal waktu pengirimannya.
Connectionless-Oriented
Mekanisme connectionless-oriented diilustrasikan dengan proses pemberian pesan yang dilakukan melalui surat. Pengiriman surat mungkin sampai ke tempat tujuan tetapi penerima di tempat tujuan belum tentu orang yang dimaksudkan sehingga pesan belum tentu sampai ke orang yang dimaksud. Dari ilustrasi tersebut dapat kita simpulkan bahwa data yang dikirimkan dengan menggunakan mekanisme connection-less kurang dapat diandalkan. UDP (User Datagram Protocol) mengirimkan data unreliable.
Peran dan fungsi transport layer
• Komunikasi end-to-end logik
Setiap host bisa saja memiliki lebih dari 1 aplikasi yang memanfaatkan network untuk proses komunikasi.setiap aplikasi tersebut bisa saja berkomunikasi dengan yang satu atau lebih aplikasi pada host lain.
• Segmenting
Layer transport bertanggung jawab untuk melakukan segmentasi data yang diterima dari layer atas(layer application).setiap pecahan data hasil segmentasi akan di enkapsulasi dengan header yang berisi informasi-informasi layer transport layer seperti nomer urut(sequence) dan juga prt address pengirim dan penerima.
• Reassembling data
Pada sisi penerima,transport layer memanfaatkan informasi yang ada pada header layer transport untuk menyusun ulang segmen-segmen data menjadi data yang utuh sebelum diberikan kelayer atas(application).
• Identifikasi aplikasi (port-addressing)
Agar data dapat disampaikan pada aplikasi yang tepat,layer transport harus mengidentifikasi target aplikasi yang dituju.untuk itu layer transport memberikan iddentifier/addressing untuk aplikasi (service/layanan) yang disebut dengan port number.
• Multiplexing/Demultiplexing
Hal ini memungkinkan layer bawah (network) untuk memproses data tanpa memperhatikan aplikasi mana yang menginisiasi data dan hanya fokus pada mesin host yang dituju.
• Reliable Delivery
Didalam transport layer banyak hal yang bisa menyebabkan data korup atau hilang dalam proses pengiriman.transport layer dapat memastikan penerima bisa mendapatkan data tersebut dengan mengirim ulang data yang hilang.
• Sequencing
Banyaknya rute untuk mencapai tujuan dapat menyebabkan data diterima secara tidak terurut,transport layer dapat menyusun ulang data secara benar dengan adanya penomeran.
• Flow control
Memori komputer atau bandtwidth network tidak terbatas.transport layer bisa meminta aplikasi pengirim untuk mengurangi kecepatan dalam pengiriman data.hal ini bisa mengurangi hilangnya data dan prose pengrimiman ulang.
Jenis port addressing
• Well-known
a. Antara 0-1023.
b. Disediakan untuk aplikasi dan service yang sudah umum digunakan.
Contoh: http (80),ftp (21),smtp (25) dan lain-lain.
• Registered
a. Antara 1024-49151.
b. Disediakan untuk aplikasi service yang tidak umum.
c. Bisa digunakan secara dinamis sebagai source port di sisi client.
• Dynamic
a. Antara 49152 – 65535.
b. Digunakan secara dinamis sebagai source port di sisi client.
Beberapa aplikasi, seperti DNS dan SNMP, memanfaatkan kedua protokol TCP dan UDP.
TCP
Reliability TCP dijalankan dengan membangun komunikasi connection-oriented sebelum transaksi data. Selain itu juga dengan acknowledgement, pengirim tahu bahwa data telah sampai ke tujuan jika menerima ack dari penerima. Jika tidak ada ack yang diterima maka pengirim berasumsi bahwa data yang dikirim tadi tidak sampai ke tujuan dan akan melakukan transmisi ulang data tersebut. Namun ack ini menyebabkan traffic network berlebih untuk pengirimannya dan juga retransmisinya.
Field-field yang ada pada header TCP seperti pada gambar dibawah ini dapat memungkinkan terjadinya komunikasi reliable dan communication-oriented.
1. Source Port Number : Port number pada device yang menginisiasi koneksi TCP. Biasanya bernilai random diatas 1023.
2. Destination Port Number : Port number yang mengidentifikasikan protokol layer atas / aplikasi yang berjalan pada device tujuan.
3. Sequence Number : Nomor urut masing-masing segmen.
4. Acknowledgment (ACK) : Nomor octet (byte) selanjutnya yang ditunggu oleh penerima.
5. Window Size : Menunjukkan berapa banyak byte yang bisa dikirimkan sebelum menunggu datangnya acknowledgment dari penerima
Komunikasi klien-server
Pada komunikasi TCP, setiap servis akan di assign (default/manual) dengan sebuah port number. Dua atau lebih aplikasi servis tidak boleh menggunakan port yang sama. Ketika sebuah port telah di assign ke sebuah aplikasi server, maka port itu disebut open pada sisi server.
Salah satu metode untuk meningkatkan security adalah dengan membatasi akses hanya pada port yang digunakan oleh servis saja.
TCP 3-way Handshake
Sebelum transaksi data via TCP, 2 host harus menjalin koneksi. Client menginisiasi komunikasi dengan server. Hal ini untuk menunjukkan bahwa :
Ada tidaknya mesin tujuan
Apakah mesin tujuan menjalankan aplikasi yang direquest pada port tujuan.
Client ingin menjalin komunikasi pada port tujuan.
TCP Termination
Dalam komunikasi TCP, hal ini digunakan untuk menutup koneksi yang telah terjalin sebelumnya. Dibutuhkan two-way handshake untuk menutup satu arah session. Karenanya untuk menutup 2 arah session (client-server dan server client) dibutuhkan 4 kali pertukaran data.
TCP Acknowledgement
Salah satu fitur protokol TCP adalah memastikan sampainya data ke penerima. Layanan TCP pada sisipenerima akan mengirimkan paket acknowledgement kepada pengirim data untuk memberi tahu bahwa data telah diterima.
Sequence number dan acknowledgement number digunakan bersamaan untuk mengkonfirmasi diterimanya sebuah segmen data. Sequence number mengindikasikan jumlah byte relatif yang telah dikirim dalam satu session. Sedangkan acknowledgement number mengindikasikan byte berikutnya yang ditunggu oleh penerima, disebut juga expectational acknowledgement.
TCP Flow Control
Flow control membantu reliability proses transmisi dengan cara menyesuaikan kecepatan efektif untuk aliran data antara 2 mesin. Ketika pengirim (source) diberi tahu bahwa sejumlah data telah diterima, maka source dapat meningkatkan jumlah data untuk session tersebut.
Window size adalah salah satu field header TCP yang menentukan jumlah data yang dapat dikirimkan oleh source tanpa harus menunggu adanya acknowledgement dari penerima. TCP akan memilih kecepatan transmisi data semaksimal mungkin yang dapat di dukung oleh network dan device dan proses retransmisi bisa dikurangi seminimal mungkin.
Salah satu metode flow control adalah dengan menggunakan dynamic window size. Caranya adalah dengan mengubah-ubah nilai window size pada header TCP.
Host penerima mengirim nilai window size yang bisa ditampung dalam satu session kepada pengirim. Ketika penerima ingin menurunkan kecepatan komunikasi karena terbatasnya buffer memori atau hal lain, maka dia akan mengirim nilai window size yang lebih kecil.
Setelah beberapa kali transmisi tanpa ada data yang hilang atau buffer memori berlebih, penerima perlahan menaikkan nilai window size sehingga mengurangi jumlah acknowledgement yang harus dikirimkan. Nilai window size akan terus naik sampai ada data yang hilang atau alasan lain.
UDP
Protokol UDP menyediakan fungsi-fungsi layer transport namun jauh lebih sederhana daripada TCP. Protokol UDP memiliki overhead yang lebih rendah daripada TCP karena bersifat connectionless dan tidak menyediakan fitur-fitur retransmission, sequencing, dan mekanisme flow control. Connection-less berarti UDP tidak menjalin koneksi sebelum mengirim data seperti yang dilakukan TCP, yang berarti data akan langsung dikirimkan begitu saja
Namun hal ini bukan berarti UDP benar-benar “unreliable”, hanya saja fungsi-fungsi yang disediakan TCP tidak ada di UDP, dan jika diperlukan harus di implementasikan pada layer lain.
PDU untuk protokol UDP biasa disebut datagram, meskipun kadang disebut juga dengan segment. Beberapa datagram (atau segmen untuk TCP) kadang mengambil jalur yang berbeda untuk sampai ke tujuan. Hal itu dapat menyebabkan datagram-datagram yang diterima dalam kondisi tidak berurutan.
Berbeda dengan komunikasi TCP, tidak ada proses sequencing pada komunikasi UDP. datagram yang hilang tidak akan dikirim ulang.
Biasanya aplikasi yang menggunakan protokol UDP adalah yang memerlukan delay serendah mungkin dan bisa mentoleransi hilangnya beberapa data.
Contoh aplikasi : DNS, SNMP, DHCP, RIP, TFTP, online games, VOIP.
Karena fitur yang disediakan tidak sekompleks TCP, header UDP jadi jauh lebih sederhana daripada TCP. Overhead juga lebih kecil karena header yang digunakan untuk enkapsulasi jadi lebih kecil.
Komunikasi klien-server
Seperti halnya aplikasi TCP, aplikasi UDP juga mendapat alokasi Well Known dan Registered port number. Komunikasi client/server diinisiasi oleh aplikasi client. Client akan memilih nomor port dynamic secara random dan menggunakannya sebagai source port.
Karena connection-less, maka segera setelah data siap dikirimkan, UDP akan membentuk datagram dan menyerahkannya ke layer network.
TCP vs UDP
Sumber :
Budi Sutedjo Dharma Oetomo, S.Kom., MM. Konsep & Perancangan Jaringan Komputer : Penerbit ANDI Yogyakarta.
Hendra Wijaya. Cisco Router : Elex Media Komputindo.
URL: