Materi Mata Kuliah Jaringan Komputer Universitas Indo Global Mandiri
Transport layer/ lapisan transport merupakan lapisan keempat dari model referensi OSI yang bertugas menyediakan data transport yang bisa diandalkan dan efektif biayanya dari komputer sumber ke komputer tujuan. Transport layer merupakan jantung dari hirarki protokol secara keseluruhan. Tanpa transport layer, seluruh konsep protokol yang menggunakan layer tidak akan ada gunanya.
Transport layer yang mengatur koneksi dari satu ujung ke ujung yang lain (komputer pengirim ke komputer penerima) dan juga membangun koneksi logik antara host pengirim dengan penerima dalam jaringan. Lapisan transport menjamin bahwa data yang diberikannya pada session layer diatasnya dalam keadaan utuh, urut, dan tanpa duplikasi serta bebas dari kesalahan.
Lapisan transport juga berfungsi memecah data dari lapisan session menjadi pesanpesan dan memastikan pesan-pesan tersebut diterima dengan benar di komputer tujuan. Lapisan transport juga bertugas mencari jalur (routing) yang kosong untuk transmisi data.
Membuat sebuah koneksi logikal antara host pengirim dan tujuan pada sebuah internetwork.
Lapisan transport juga bertugas 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 data yang tersegmentasi (reassembling) dari upper layer menjadi sebuah arus data yang sama.
Penanganan kesalahan dan fitur acknowledgment untuk menjamin bahwa data telah dikirimkan dengan benar dan akan dikirimkan lagi ketika memang data tidak sampai ke tujuan.
Bertanggung jawab menyediakan mekanisme multiplexing. Multiplexing adalah teknik untuk mengirimkan dan menerima beberapa jenis data yang berbeda sekaligus pada saat yang bersamaan melalui sebuah media network saja.
Sehingga dapat disimpulkan bahwa fungsi dari layer ini meliputi flow control, error checking, dan recovery.
Segment terdiri atas dua bagian besar, yaitu header dan data atau payload. Payload adalah data yang berasal dari lapisan aplikasi.
Bagian pertama dari header TCP adalah source port sepanjang 16 bit dan destination port sepanjang 16 bit. Sequence number dengan panjang 32 bit merupakan nomor urut bagi segment TCP. Acknowledgment number dengan panjang 32 bit merupakan nomor bagi segment acknowledgment. Header length dengan panjang 4 bit menspesifikasikan panjang header dari segment TCP. Panjang header dapat berubah-ubah karena adanya slot options. Apabila options bernilai 0, maka panjang header hanya 20 byte.
Flag sebanyak 9 buah dengan panjang masingmasing 1 bit. ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦
(i) FIN: tidak ada data lagi dari pengirim. (ii) SYN: sinkronisasi sequence number. (iii) RST: reset koneksi. (iv) PSH digunakan untuk meminta mendorong data dari buffer ke lapisan aplikasi. (v) ACK: untuk menunjukkan bahwa segment ini adalah segment acknowledgement. (vi) URG: mengindikasikan data yang bersifat urgent. (vii) ECE (ECN-Echo): untuk indikasi Explicit Congestion Notification. (viii) CWR: untuk indikasi Congestion Window Reduced. (ix) NS: untuk indikasi ECN-nonce dengan tujuan untuk proteksi terhadap percobaan serangan dari pengirim.
Receive window dengan panjang 16 bit berisi jumlah dalam bentuk byte yang mengindikasikan jumlah data yang dapat ditampung oleh penerima pada saat ini. Checksum sepanjang 16 bit digunakan untuk pengecekan kesalahan bit pada header dan data. Urgent data pointer sepanjang 16 bit menunjuk pada sequence number dari data (yang bersifat urgent) terakhir apabila flag URG di set menjadi 1. Options digunakan oleh pengirim dan penerima untuk melakukan negosiasi (Maximum Segment Size) MSS.
Diketahui dua buah terminal A dan B akan bertukar data sebesar 90.000 byte dengan menggunakan TCP. MSS adalah 1500 byte. Misalkan inisialisasi sequence number awal adalah 0. Maka, aliran data akan dipotong-potong menjadi 60 buah segment dengan masing-masing berisi data sebesar 1500 byte. Karena itu, segment pertama mendapat nilai sequence number 0, segment kedua mendapat nilai sequence number 1500, segment ketiga mendapat nilai sequence number 3000 dan seterusnya.
Acknowledgement Misalkan, terminal A telah menerima semua data byte ke 0 sampai 1499 dari terminal B, dan sekarang terminal A akan mengirimkan segment ke terminal B. Bytes berikutnya yang diharapkan oleh terminal A adalah data mulai dari nomor 1500, maka terminal A meletakkan angka 1500 ini ke dalam acknowledgement number pada segment yang dikirim ke terminal B. Demikian seterusnya.
Acknowledgement Namun, misalkan sekarang terminal A telah menerima segment dari terminal B berisi data byte ke 0 sampai 1499, dan terminal A juga telah menerima segment berisi data byte ke 3000 sampai 4499. Karena suatu alasan tertentu terminal A belum menerima data byte ke 1500 sampai 2999, maka terminal A masih menunggu segment kedua dengan byte ke 1500 sampai 2999 ini. Segment ini dibutuhkan untuk proses pengurutan data di dalam terminal A. Karena segment berikutnya yang berasal dari A ke B akan memiliki acknowledgment number dengan nilai 1500.
pada Go-Back-N, protokol mengijinkan pengiriman sebanyak N segment pada satu saat. Apabila terjadi kesalahan pada salah satu segment, maka seluruh segment yang dikirimkan setelah segment yang salah tersebut akan dibuang karena Server mendeteksi adanya segment yang tidak berurutan.
Pada protokol ini hanya segment yang mengalami kesalahan saja yang akan dikirimkan ulang, sedangkan segmentsegment lain yang sudah diterima dengan benar tetap akan disimpan (tidak dibuang) sampai seluruh segment secara berurutan telah diterima oleh server.
Protokol TCP harus dapat menentukan waktu time out dengan baik. Apabila waktu time out terlalu cepat, maka akan sering terjadi pengiriman ulang segment, sebaliknya apabila waktu time out terlalu lama maka pengiriman ulang segment yang hilang akan membutuhkan delay yang sangat besar. Karena itu protokol TCP menggunakan rumusan berikut untuk menentukan waktu time out:
Ket: RTT = Round Trip Time