Layer transport bukan hanya salah satu jenis layer. Layer transport merupakan inti dari hirarki protokol secara keseluruhan. Tugasnya adalah memberikan transport data yang berbiaya efektif dan reliabel dari mesin sumber ke mesin tujuan, tanpa tergantung pada jaringan fisik atau jaringan - jaringan yang digunakan saat itu. Tanpa layer transport, maka keseluruhan konsep tentang protokolprotokol yang ditempatkan (layered) hanya akan mempunyai arti yang sedikit.

OSI Architecture
1. Layanan Transport Protokol
Transport layer atau lapisan transport adalah lapisan ke-4 dari model referensi jaringan OSI. Lapisan transport bertanggung jawab untuk menyediakan layanan-layanan yang dapat di andalkan 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 desebut dengan proses segmentasi/segmentation), dan tentunya memiliki fitur untuk menyusunnya kembali.
- Penanganan keslahan dan fitur acknowledgment untuk menjamin bahwa data telah dikirimkan dengan benar dan akan dikirimkan lagi ketika memang data tidak sampai ke tujuan.
- Mutiplexing, yang dapat digunakan untuk menggabungkan data dari beberapa 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.

Gb. 7 layer model OSI
Layanan dalam transport layer identik dengan network layer, dimana terdapat dua metode yaitu Connection Oriented dan Connectionless, akan tetapi kode transport dijalankan di mesin user, sedang network layer di router (yang dioperasikan oleh penyedia layanan koneksi), transport layer menutupi kekurangan pada network layer seperti packet loss atau router crash.
Dilakukan pembedaan OSI layer, dimana layer 1 -- 4 adalah bagian dari trasnport service provider sedangkan layer diatas 4 adalah bagian transport service user, pembedaan ini sangat mempengaruhi rancangan layer dan menempatkan transport layer pada posisi yang sangat penting, karena membentuk pembatasan utama antara provider dan user dari layanan transmisi data yang realiable (dapat dipercaya/diandalkan).
a. Layanan Layer Transport kepada Layer Sesion
Tujuan akhir dari layer transport adalah untuk memberikan layanan yang efisien, reliabel (handal), dan berbiaya efektif kepada pemakainya, biasanya entitas-entitas seperti proses dalam layer sesion. Untuk mencapai tujuan ini, layer transport harus menggunakan layanan yang diberikan oleh layer jaringan. Hardware atau software dalam layer transport yang melakukan pekerjaan itu ataupun yang menggunakan layanan disebut transport entity (entitas transport).
Hubungan antar layer jaringan, layer transport dan layer sesion ditunjukkan pada gambar 2.

Gb.2 Hubungan antara Layer Transport, Layer session dan Layer Network.
Sebagaimana kita ketahui bahwa ada dua jenis layanan jaringan, maka layanan transport juga ada dua jenis yaitu berorientasi koneksi dan tanpa koneksi. Layanan transport berorientasi koneksi sama dengan layanan jaringan berorientasi koneksi dalam beberapa hal. Untuk kedua kasus ini setiap koneksi memiliki 3 fase yaitu penetapan (establishment), transfer data, dan pelepasan (release). Pengalamatan dan kontrol arus dalam kedua layer ini juga sama. Selain itu, layanan transport tanpa koneksi juga sama dengan layanan jaringan tanpa koneksi.
Maka ada suatu pertanyaan : "jika layanan layer transport sama dengan layanan layer jaringan, mengapa harus ada dua layer yang berbeda? mengapa satu layer tidak cukup?" jawabannya dalah karena layer jaringan adalah bagian dari subnet komunikasi dan dijalankan oleh carrier (setidaknya untuk WAN). Apa yang akan terjadi jika layer jaringan menawarkan layanan berorientasi koneksi, namun sifat layanan tidak reliabel? Misalkan, ia selalu kehilangan paket? Apa yang akan terjadi jika ia bertubrukanatau mengeluarkan (menghasilkan) N-RESET sepanjang waktu?
Karena para pemakai(pengguna) tidak mempunyai kontrol terhadap subnet, mereka tidak memecahkan masalah tentang pelayanan yang tidak baik dengan menggunakan IMP yang lebih baik atau dengan melakukan penanganan kesalahan dalam layer hubungan data, maka satusatunya cara yang bisa dilakukan adalah dengan menempatkan layer lain di puncak layer jaringan tersebut guna meningkatkan kualitas layanan. Jika hanya sebagian dari transmisi yang panjang dari entitas transport yang diberikan informasi bahwa koneksi jaringannya telah berhenti mendadak, tanpa disertai indikasi mengenai apa yang telah terjadi terhadap data yang saat itu sedang dalam transit (perjalanan), maka kehadiran entitas transport tersebut bisa menetapkan (setup) koneksi jaringan baru ke entitas transport jarak jauh. Dengan menggunakan koneksi jaringan baru ini, ia bisa mengirimkan query yang menanyakan data mana yang tiba dan mana yang tidak ke peer-nya (entitas transport yang menjadi imbangannya), kemudian mengambilnya dari tempat ia berangkat.
Pada hakikatnya, keberadaan layer transport memungkinkan layanan transport lebih reliabel dari pada layanan jaringan yang mendasarinya. Paket-paket yang hilang, data yang rusak, dan bahkan N-RESET jaringan dapat dideteksi dan diganti oleh layer transport. Selain itu, primitif layanan transport bisa dirancang untuk independen terhadap primitif layanan jaringan, dimana primitif layanan jaringan ini sangat bervariasi dari jaringan ke jaringan lain (misalnya, layanan LAN tanpa koneksi bisa lebih berbeda dari pada layanan WAN berorientasi koneksi).
Dengan adanya layer transport, kita bisa menulis atau membuat program aplikasi dengan menggunakan suatu set primitif standard, dan program ini akan bisa bekerja pada berbagai jenis jaringan, sehingga kita tidak perlu khawatir tentang hubungannya dengan interface subnet yang berbeda-beda dan transmisi yang tidak reliabel. Jika semua jaringan riil tidak mempunyai kelemahan dan semuanya mempunyai primitif layanan yang sama, maka mungkin saja kita tidak memerlukan layer transport. Namun demikian, pada kenyataannya, terjadi masalah dengan adanya fungsi pokok pengisolasian layer-layer diatasnya dari teknologi, desain dan ketidaksemputnaan subnet.
Oleh karena itu, banyak orang telah melakukan pembedaan antara layer 1 sampai layer 4 di satu sisi, dan layer 5 sampai layer 7 disisi lain. Empat layer bawah bisa dilihat sebagai Transport Service Provider (pemberi layanan transport), sedangkan tiga layer diatasnya merupakan Transport Service User (pemakai layanan transport). Dengan kita asumsikan bahwa mereka adalah pemberi dan pemakai ini mempunyai dampak yang besar terhadap desain layer, dan menempatkan layer transport dalam posisi kunci, karena ia membentuk batas utama antara pemberi dan pemakai dari layanan transmisi data yang reliabel (handal).
b. Layanan Kualitas
Cara lain melihat layer transport adalah dengan menghargai fungsi primernya untuk meningkatkan QOS (Quality of Service) yang diberikan oleh layer jaringan. Jika layanan jaringan tanpa cela, maka layer transport dapat beban tugas yang mudah. Namun jika layanan jaringannya tidak baik, layer transport harus menjembatani (bridge) gap antara apa yang diinginkan oleh pemakai transport dan apa yang diberikan oleh layer jaringan.
Meskipun secara sekilas kualitas layanan nampaknya seperti konsep yang kabur (meminta setiap orang untuk sepakat mengartikan layanan "yang baik" bukanlah masalah yang mudah), namun QOS ini dapat dikarakterisasi menurut sejumlah parameter tertentu. Layanan transport OSI memungkinkan pemakai untuk menetapkan nilai yang diinginkan, yang bisa diterima, dan yang tidak bisa diterima untuk beberapa perameter ini pada waktunya ditetapkannya koneksi. Beberapa parameter juga berlaku bagi transport tanpa koneksi. Pemeriksaan parameter-parameter tergantung pada layer transport, dan penentuan apakah ia bisa memberikan layanan yang diminta akan teergantung pada jenis layanan jaringan yang bisa digunakan untuknya.

Gb.3 Parameter kualitas layanan layer transport.
Connection Establishment Delay (delay penetapan koneksi) adalah jumlah waktu yang terbuang antara waktu permintaan ditetapkannya koneksi transport dan waktu penerimaan konfirmasi oleh pemakai layanan transport tersebut. Ia mencakup delay pemrosesan dalam entitas transport jarak jauh (remote). Bila semua parameter mengukur atau memperhitungkan delay, maka semakin pendek delay-nya, akan semakin baik layanannya.
Connection Establishment Failure Probability (probabilitas kegagalan pentapan koneksi) adalah peluang tidak bisa ditetapkannya koneksi dalam waktu delay penetapan maksimum, misalnya, karena kemacetan jaringan, kurangnya ruang tabel, atau masalah internal lainnya.
Parameter Troughput (keluaran) mengukur jumlah byte data pemakai yang ditransfer perdetik, yang diukur melalui beberapa interval waktu saat itu. Keluaran diukur secara terpisah untuk setiap arah. Sebenarnya, ada dua jenis keluaran, yaitu keluaran yang diukur sebenarnya dan keluaran yang tidak bisa diberikan oleh jaringan. Keluaran sebenarnya mungkin lebih rendah dari pada kapasitas jaringan, karena pemakai belum mengirimkan data secepat kemampuan jaringan dalam menerimanya.
Transit Delay (delay transit) mengukur wakut antara pengiriman pesan oleh pemakai transport pada mesin sumber dan penerimanya oleh pemakai transport pada mesin tujuan. Seperti halnya keluaran (throughput), setiap arah ditangani secara terpisah.
Residual Error Rate (angka kesalahan residu) mengukur jumlah pesan yang hilang atau rusak sebagai bagian dari pesan total yang dikirmkan dalam periode sampling. Secara teori, angka kesalahan residu (sisa) harus nol, karena penyembunyian semua kesalahan layer jaringan merupakan tugas layer transport. dalam prakteknya, angka kesalahan residu ini mungkin bernilai terbatas (kecil).
Transfer Failure Probability (probability kegagalan transfer) mengukur sejauh mana layanan transport berbuat (berfungsi) sesuai dengan apa yang diharapkan. Ketika koneksi transport deitetapkan, harus disepakati dulu tingkat keluarannya, delay transitnya, dan angka kesalahan residunya. Probabilitas kegagalan transfer memberikan tenggang waktu, sehingga tujuan (ketetapan) yang telah disepakati ini tidak akan terpenuhi selama periode observasi.
Connection Release Delay (delay pelepasan koneksi) adalah jumlah waktu yang terbuang antara waktu pengawalan pelepasan koneksi oleh pemakai transport dan terjadinya pelepasan yang sebenarnya pada ujung yang satunya.
Connection Release Failure Probability (probabilitas kegagalan pelepasan koneksi) adalah bagian dari usaha pelepasan koneksi yang tidak selesai dalam interval (jangka waktu) delay pelepasan koneksi yang telah ditetapkan.
Parameter Protection (proteksi) memberikan suatu cara bagi pemakai transport untuk menentukan apakah ia akan meminta layer transportnya untuk memberikan proteksi terhadap pihak ketiga yang tidak berhak (wiretapper/penyadap jalur) ataukan ia lebih suka memodifikasi data yang ditransmisikan.
Parameter Priority (prioritas) memberikan suatu cara kepada pemakai transport untuk menunjukkan bahwa beberapa dari koneksinya lebih penting daripada yang lainnya, dan dalam event terjadinya kemacetan, untuk memastikan bahwa koneksi yang berprioritas tinggi dilayani lebih dulu sebelum koneksi-koneksi prioritas rendah.
Parameter Resilience (daya kenyal) memberi peluang atau probabilitas kepada layer transport untuk berhenti secara spontan karena terjadi masalah internal atau kemacetan.
2. Elemen Transport Protocol

Gb.4 Elemen-elemen protokol transport dan hubungan mereka dengan lima kelompok protokol transport berorientasi koneksi OSI.
Elemen Protokol Transport
Fasilitas yang disediakan oleh protokol transport tergantung pada lingkungan tempat ia beroprasi (misalnya, jenis layanan jaaringan yang tersedia) dan tergantung pada jenis layanan yang harus ia berikan. Meskipun demikian, kita bisa menyembutkan beberapa elemen dasar yang umum bagi protokol transport. Gb.4 menyebutkan elemen-elemen itu, dan lebih jauh menunjukan fasilitas mana saja yang bisa diterapkan untuk setiap dari lima kelompok protokol OSI. Daftar tersebut tidak boleh diartikan secara terlalu literal, sebab rincian dari fasilitas fasilitas tersebut kadang-kadang berbeda diantara berbagai kelompok protokol, dan tidak semua alternatif dan varian disebutkan di dalam daftar itu.
Semua protokol berorientasi koneksi harus memberikan (menyediakan) mekanisme untuk penetapan koneksi. Lebih dari itu, semuanya harus memberikan suatu cara bagi pihak yang dipanggil untuk menerima atau menolak koneksi yang diminta.
Agar bisa secara benar-benar memindahkan atau menggerakkan bit-bit melintasi jaringan, entitas transport maka harus menetapkan koneksi jaringan, dan menjaga (menelusuri) pemetaan antara koneksi transport dan koneksi jaringan. Namun demikian, entitas transport bisa juga menggunakan protokol jaringan tanpa koneksi untuk transport data, asalkan protokol transportnya adalah protokol kelompok 4 (atau protokol noon-OSI yang mempunyai fungsionalitas yang sama).
Terminologi
Ketika membahas layer hubungan data, kita menyebut unit-unit yang dipertukarkan sebagai "fame". Dalam layer jaringan, kita menyebutnya "paket". Kedua istilah atau nama ini banyak digunakan (misalnya, dalam rekomendasi CCITTX.25), Untuk "transport packet" (paket transport), tidak ada istilah atau kata yang sebanding, sehingga kita akan menggunakan istilah OSI TPDU (Transport Protocol Data Unit). Kita akan menyebut item (bagian) informasi yang disampaikan oleh pemakai transport ke pemberi transport sebagai pesan, sebab istilah OSI, TSDU (Transport Service Data Unit), jarang digunakan. Dalam beberapa kasus, perbedaan antara pesan dan TPDU tidaklah penting; namun apabila dipentingkan, maka kita akan menggunakan istilah yang kiranya lebih cocok menurut konteksnya.
Pesan yang akan ditransmisikan bisa beberapun panjangnya, sehingga tergantung pada layer transport untuk membagi-bagi pesan tersebut kedalam beberapa TPDU untuk tranport. Jika TPDU tidak sesuai dalam satu paket, maka setiap TPDU mungkin juga harus dipecah (dibelah) lagi. Salah satu tugas dari kelima kelompok (kelas) protokol OSI adalah membelah pesan yang panjang menjadi TPDU yang ukurannya bisa digunakan oleh protokol tersebut, dan kemudian merakitnya kembali bagian-bagian (TPDU) ini secara transpran di ujung yang satunya.
Jika banyak koneksi terbuka pada suatu mesin, maka entitas transport harus memberi nomor kepada setiap koneksi tersebut, dan menempatkan nomor koneksi tersebut pada setiap TPDU, sehingga ketika TPDU tiba di ujung yang lain, entitas trasnport yang menerima adakan mengetahui koneksi mana yang akan dihubungkan dengannya. Tidak berari bahwa transport TPDU adalah juga fasilitas dari semua protokol transprot.
Pelepasan biasa dari suatu koneksi juga dijumpai di dalam semua protokol, meskipun pelepasan ini dilakukan agak sedikit berbeda dalam protokol kelompok 0. Dalam kelas atau kelompok ini, selalau ada pemetaan one-to-one (satu koneksi ke satu koneksi) antara koneksi transport dan koneksi jaringan. Koneksi transport dilepas secara implisit dengan hanya melepaskan jaringan yang mendasari. Apabila dengan beberapa kelompok (kelas) yang lain, pelepasannya bersifat eksplisit, dengan menukarkan TPDU kontrol.
Semua protokol harus memperbaiki kesalahan protokol. Jika TPDU yang tidak valid tiba, maka harus ada aturan yang mengatur tentang apa yang dilakukan. dalam beberapa kasus, tindakan yang harus dilakukan mungkin adalah mengabaikan kesalah itu, dalam kasus yang lain, mungkin kita harus melepaskan beberapa koneksi (atau semua koneksi). Kesalahan protokol tentunya tidak diharapkan, namun kita tidak boleh membiarkan entitas transport bertubrukan lagi jika hal ini sudah terjadi.
Item lainnya pada daftar tersebut tidak berlaku bagi kelima kelompol protokol OSI. Sebagai contoh, perangkaian (penjalinan) TPDU-TPDU hanya berlaku untuk kelompok 1 sampai empat, tidak untuk kelompok 0. Fasilitas ini memungkinkan entitas transport mengumpulkan beberapa TPDU dan kemudian mengirimkan mereka bersama sebagai paket tunggal, sehingga hal ini akan mengurangi jumlah panggilan kepada layer jaringan.
Pelepasan kesalahan mengacu pada kenyataan bahwa untuk kelompok protokol 0 dan 2, NRESET dan N-DISCONNECT menghentikan koneksi transport dengan menggunakan koneksi jaringanl, tidak ada usaha yang dilakukan untuk memulihkannya.
Penomoran TPDU digunakan untuk menjaga (mengawasi) lintasan TPDU, dengan menetapkan TPDU yang berurutan pada suatu koneksi yang nomor rangkaiannya urut dari rendah ke tinggi, maka kita bisa melakukan pengesahan eksplisit dan kontrol arus, dan akan ada suatu cara untuk menemukan TPDU mana yang diterima paling akhir setelah terjadi N-RESET. Kelompok 0 (dan mungkin kelompok 2) tidak menggunakan nomor rangkaian.
Transfer data yang dipercepat (expedited) bisa dilakukan di dalam empat kelompok protokol yang lebih atas, namun ini tidak bisa dilakukan dalam kelompok 0.
Kontrol arus layer transport berisi (terdiri atas) bagian ekxplisit dari protokol transport yang berurusan dengan banyaknya TPDU yang bisa dikirimkan pada saat tertentu. Skema sliding window dapat digunakan, namun juga ada kemungkinan yang lain. Jika tidak ada skema kontrol arus yang eksplist yang bisa digunakan pada layer transport, kita bisa menggunakan arus kontrol dasar dari koneksi jaringan.
Resinkronisasi setelah N-RESET dilakukan di dalam kelompok 1,3, dan 4, hal ini untuk memungkinkan setiap sisi untuk menemukan TPDU mana yang ia kirimkan yang telah tiba. Yang terkait erat dengan resinkronisasi adalah perlunya entitas transport untuk menyimpan atau menahan salinan TPDU-TPDU yang dikirimkan sampai mereka disahkan sehingga mereka bisa ditransmisikan kembali setelah terjadi N-RESET, karena kelompok 0 dan 2 memberikan pelepasan kesalaha setelah N-RESET, bukannya berusha untuk melakukan resinkronisasi, mereka tidak perlu menangani retensi (penyimpanan atau penahanan salinan TPDU-TPDU) sampai mereka disahkan.
3. Transport Protocol Sederhana
Transport protocol sederhana merupakan bagian dari transport layer. Layanan primitif yang termasuk di dalamnya adalah model 'connection oriented', yaitu mirip dengan TCP tetapi lebih sederhana.
Contoh Service Primitives
5 primitives: CONNECT, LISTEN, DISCONNECT,SEND dan RECEIVE - Setiap primitive berkaitan dengan sebuah library procedure yang mengeksekusinya
Parameter untuk primitives dan library adalah sbb:
- Connum= LISTEN(local)
- Connum= CONNECT(local, remote)
- Status = SEND(connum, buffer, bytes)
- Status = RECEIVE(connum, buffer, bytes)
- Status = DISCONNECT(connum)

Gb.5 Service Primitives: Simple client-server
Primitives
- LISTEN: memberitakan keinginan caller (procedure call) untuk menerima request koneksi ke local TSAP tertentu
- CONNECT: mencoba establish transport connection antara local TSAP dan remote TSAP (di sisi seberang). Jika sukses connum > 0 menandakan identifier koneksi. Jika gagal connum < 0 menandakan sebab kegagalan. Misalremote TSAP sudah terkoneksi dengan TSAP lain.
- SEND: mengirim isi buffer sebagai message dalam transport connection connum. Kemungkinan error/kegagalan dikembalikan dalam status, misalnya: no connection, illegal buffer address, atau negative count.
- RECEIVE: keinginan caller menerima data.
- DISCONNECT: teminate transport connection yang diindikasikan dengan connum. Jika berhasil status = 0. Kemungkinan error: connum tidak valid
Contoh Transport Entity
Menggunakan layanan connection-oriented yang reliable (dari layer network)
Fokus pada masalah transport yang tidak muncul di layer bawah
- Connection establishment
- Connection release
- Credit management
Transport entity bisa merupakan bagian dari SO host, atau bisa berupa paket library yang dijalankan di dalam user address space
Interface ke layer network melalui procedure to_net dan from_net
Memiliki 6 parameter:
- Connection identifier
- Bit Q (control message)
- Bit M (more data following)
- Packet type
- Pointer ke data
- Ukuran data (jumlah byte)
Setiap koneksi akan berada di salah satu dari 7 status sbb:
- IDLE: tidak adakoneksi
- WAITING: sudah eksekusi CONNECT dan CALL REQUEST telah dikirim
- QUEUED: CALL REQUEST telah tiba, belum ada LISTEN
- ESTABLISHED: koneksi terbentuk
- SENDING: user menunggu untuk mengirim paket
- RECEIVING: Sebuah RECEIVE telah dilakukan
- DISCONNECTING: Sebuah DISCONNECT telah dilakukan local - Perubahan status terjadi karena 3 sebab:
- Eksekusi sebuah primitif
- Packet datang
- Time expires - Type procedure:
- Callable by user program
- Spontaneus triggered by external events: packet_arrival, clock
Berikut akan saya bagikan modul presentasi tentang ruang lingkup layer transport dalam 7 layer model OSI, dimana mencakup beberapa hal diantaranya; layanan layer transport, elemen protokol transport dan protokol transport sederhana. semoga bermanfaat.
DOWNLOAD FILE *PPT
Referensi