chapter 7

TRANSPORT LAYER

            Lapisan transport bertanggung jawab untuk membangun sesi komunikasi sementara antara dua aplikasi dan memberikan data antara mereka. Sebuah aplikasi menghasilkan data yang dikirim dari sebuah aplikasi pada host sumber ke aplikasi pada host tujuan, tanpa memperhatikan jenis host tujuan, jenis media di mana data harus melakukan perjalanan, jalan yang diambil oleh data, kemacetan pada link, atau ukuran jaringan.
            Lapisan transport menyediakan metode penyampaian data melalui jaringan dengan cara yang menjamin data dapat benar disatukan kembali di akhir penerimaan. Lapisan transport menyediakan untuk segmentasi data, dan kontrol yang diperlukan untuk memasang kembali segmen tersebut ke dalam berbagai aliran komunikasi. Dalam TCP / IP, proses segmentasi dan reassembly ini dapat dicapai dengan menggunakan dua sangat berbeda protokol lapisan transport: Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP).
Tanggung jawab utama dari protokol lapisan transport adalah:
1.      Pelacakan Percakapan Individu : Pada lapisan transport, masing-masing set tertentu dari data yang mengalir antara sumber aplikasi dan aplikasi tujuan dikenal sebagai percakapan
2.      Segmentasi data dan pemasangan kembali Segmen : Data harus siap untuk dikirim di seluruh media di potongan-potongan dikelola. Kebanyakan jaringan memiliki keterbatasan pada jumlah data yang dapat dimasukkan dalam satu paket.
3.      Mengidentifikasi Aplikasi : Mungkin ada banyak aplikasi atau layanan yang berjalan pada setiap host dalam jaringan.
    Contoh gambaran dari peranan transport layer




4.      Percakapan Multiplexing : Mengirim beberapa jenis data (misalnya, video streaming) di dalam jaringan, sebagai salah satu aliran komunikasi yang lengkap, bisa menggunakan semua bandwidth yang tersedia dan mencegah komunikasi lain yang terjadi pada waktu yang sama. Hal ini juga membuat pemulihan kesalahan dan pengiriman ulang data yang rusak sulit.
   Contoh gambaran Multiplexing




Lapisan transport juga bertanggung jawab untuk mengelola persyaratan keandalan percakapan. aplikasi yang berbeda memiliki persyaratan keandalan transportasi yang berbeda.
IP yang bersangkutan hanya dengan struktur, menangani, dan routing paket. IP tidak menentukan bagaimana pengiriman atau transportasi dari paket berlangsung. protokol transport menentukan bagaimana untuk mentransfer pesan antara host. TCP / IP menyediakan dua protokol lapisan transport, Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP), seperti yang ditunjukkan pada gambar. IP menggunakan protokol transport ini untuk mengaktifkan host untuk berkomunikasi dan mentransfer data.
TCP dianggap handal, fitur lengkap protokol lapisan transport, yang menjamin bahwa semua data tiba di tempat tujuan. Sebaliknya, UDP adalah protokol lapisan transport yang sangat sederhana yang tidak menyediakan untuk keandalan apapun.
·         TCP
TCP dianggap sebagai protokol transport yang handal.
Tiga operasi dasar dari kehandalan TCP adalah:
1.    Pelacakan segmen data yang dikirimkan
2.    Mengakui data yang diterima
3.    Mentransmisi data yang tidak diakui
File Transfer Protocol (FTP) dan Hypertext Transfer Protocol (HTTP) adalah contoh aplikasi yang menggunakan TCP untuk menjamin pengiriman data.
·         UDP
   UDP menyediakan fungsi dasar untuk menyampaikan segmen data antara aplikasi yang sesuai, dengan sangat sedikit overhead dan pengecekan data. UDP dikenal sebagai protokol pengiriman best-effort. Dengan UDP, tidak ada proses lapisan transport yang menginformasikan pengirim jika pengiriman yang berhasil telah terjadi.
Memperkenalkan TCP dan UDP
Memperkenalkan TCP
Transmission Control Protocol (TCP)
TCP awalnya dijelaskan dalam RFC 793. Selain mendukung fungsi dasar segmentasi data dan reassembly, TCP juga menyediakan:
1.    Connection-oriented
2.    pengiriman yang handal
3.    Memerintahkan rekonstruksi Data
4.    kontrol aliran
5.    Membangun Session
TCP menimbulkan overhead tambahan untuk mendapatkan fungsi-fungsi ini. setiap segmen TCP memiliki 20 byte overhead dalam header encapsulating data lapisan aplikasi. Ini jauh lebih besar dari segmen UDP, yang hanya memiliki 8 byte overhead. Ekstra overhead termasuk:
1.    nomor urut (32 bit)                                   : Untuk tujuan data yang reassembly.
2.    Nomor Acknowledgement (32 bit)          : Menunjukkan data yang telah diterima.
3.    panjang header (4 bit)                              : Dikenal sebagai "data offset".
4.    Reserved (6 bit)                                       : Bidang ini dicadangkan untuk masa depan.
5.    Bit kontrol (6 bit)                                     : Termasuk kode bit, atau bendera.
6.    Windows size (16 bit)                              : Menunjukkan jumlah segmen
7.    Checksum (16 bit)                                    : Untuk  pemeriksaan kesalahan
8.    Urgent (16 bit)                                         : Mengindikasikan jika data yang mendesak.
Contoh aplikasi yang menggunakan TCP adalah web browser, email, dan transfer file.

Memperkenalkan User Datagram Protocol (UDP)
UDP adalah protokol transport ringan yang menawarkan segmentasi data yang sama dan reassembly TCP, tetapi tanpa kehandalan TCP dan flow control. UDP adalah suatu protokol sederhana
Berikut adalah fitur-fitur UDP:
1.    Connectionless       : UDP tidak membuat sambungan antara host sebelum data dapat dikirim dan diterima.
2.    Pengiriman tidak dapat diandalkan          : UDP tidak menyediakan layanan untuk memastikan bahwa data akan dikirimkan berhasil.
3.    Tidak ada perintah data Rekonstruksi    : UDP tidak menyediakan mekanisme untuk pemasangan kembali data dalam urutan aslinya. Data tersebut hanya disampaikan ke aplikasi di urutan yang tiba.
4.    Tidak ada Flow Control    : Tidak ada mekanisme dalam UDP untuk mengontrol jumlah data yang dikirimkan oleh sumber untuk menghindari besar perangkat tujuan.


TCP dan UDP Port Addressing
Di header setiap segmen atau datagram, ada sumber dan port tujuan. Nomor port tujuan adalah nomor untuk komunikasi, ini dikaitkan dengan aplikasi tujuan pada remote host.
   Ketika pesan dikirim baik menggunakan TCP atau UDP, protokol dan layanan yang diminta diidentifikasi oleh nomor port. Sebuah port adalah angka pengenal dalam setiap segmen yang digunakan untuk melacak percakapan tertentu dan layanan tujuan yang diminta. Setiap pesan yang dikirimkan host, berisi sumber dan port tujuan.
Internet Assigned Numbers Authority (IANA) memberikan nomor port. IANA adalah badan standar yang bertanggung jawab untuk menetapkan berbagai standar pengalamatan.
Ada berbagai jenis nomor port, yaitu:
1.    Well-known Ports (Bilangan 0-1023) :  Angka-angka ini dicadangkan untuk layanan dan aplikasi. Mereka umumnya digunakan untuk aplikasi seperti HTTP (web server), Internet Message Access Protocol (IMAP) / Simple Mail Transfer Protocol (SMTP) (email server) dan Telnet.
2.    Registered Ports (Bilangan 1024-49151)  : nomor port ini ditugaskan untuk pengguna proses atau aplikasi.
3.   Dynamic or Private Ports (Nomor 49152-65535) :  Juga dikenal sebagai fana port, ini     biasanya diberikan secara dinamis ke aplikasi klien ketika klien memulai koneksi ke layanan.
TCP dan UDP Segmentation
masing-masing header segmen TCP mengandung nomor urut yang memungkinkan lapisan transport fungsi pada host tujuan untuk memasang kembali segmen dalam urutan di mana mereka dikirim. Hal ini memastikan bahwa aplikasi tujuan memiliki data dalam bentuk yang tepat pengirim dimaksudkan.
Meskipun layanan menggunakan UDP juga melacak percakapan antara aplikasi; mereka tidak peduli dengan urutan di mana informasi itu ditransmisikan atau prihatin dengan mempertahankan sambungan. Tidak ada nomor urut dalam header UDP. UDP adalah desain sederhana dan menghasilkan overhead kurang dari TCP, sehingga transfer data lebih cepat.



TCP Connection Establishment dan termination
TCP adalah full-duplex protokol, di mana masing-masing sambungan mewakili dua aliran komunikasi satu arah, atau sesi. Untuk membuat sambungan, tuan rumah melakukan jabat tangan tiga arah. Kontrol bit dalam header TCP menunjukkan kemajuan dan status sambungan. The three-way handshake:
1.    Menetapkan bahwa perangkat tujuan hadir pada jaringan
2.    Memverifikasi bahwa perangkat tujuan memiliki layanan aktif dan menerima permintaan pada nomor port tujuan bahwa klien memulai bermaksud untuk menggunakan untuk sesi
3.    Menginformasikan perangkat tujuan bahwa klien sumber bermaksud untuk membangun sebuah sesi komunikasi pada nomor port yang
Dalam koneksi TCP, klien tuan rumah menetapkan koneksi dengan server. Tiga langkah dalam pembentukan koneksi TCP adalah:
Langkah 1. Klien memulai meminta sesi komunikasi client-server dengan server.
Langkah 2. Server mengakui sesi komunikasi client-server dan meminta sesi komunikasi server-ke-klien.
Langkah 3. Klien memulai mengakui sesi komunikasi server-ke-klien.
Untuk memahami proses jabat tangan tiga arah, melihat berbagai nilai-nilai bahwa pertukaran dua host. Dalam header segmen TCP, ada enam bidang 1-bit yang berisi informasi kontrol yang digunakan untuk mengelola proses TCP. bidang yaitu:
·         URG - Urgent bidang pointer signifikan
·         ACK - bidang Pengakuan signifikan
·         PSH - fungsi push
·         RST - Atur koneksi
·         SYN - Sinkronisasi nomor urut
·         FIN - Tidak ada data yang lebih dari pengirim
Bidang ACK dan SYN relevan dengan analisis kita tentang jabat tangan tiga arah.
TCP Session Termination Analysis
Untuk menutup sambungan, yang Finish (FIN) flag kontrol harus diatur di header segmen. Untuk mengakhiri setiap sesi TCP satu arah, jabat tangan dua arah digunakan, terdiri dari segmen FIN dan segmen ACK. Oleh karena itu, untuk mengakhiri percakapan tunggal didukung oleh TCP, empat bursa diperlukan untuk mengakhiri kedua sesi.
proses terminasi dapat dimulai oleh dua host yang memiliki sesi terbuka:
Langkah 1: Ketika klien tidak memiliki lebih banyak data untuk mengirim di sungai, ia akan mengirimkan segmen dengan FIN set bendera.
Langkah 2: Server mengirimkan ACK untuk mengakui penerimaan FIN untuk mengakhiri sesi dari klien ke server.
Langkah 3: Server mengirimkan FIN ke klien, untuk mengakhiri server untuk sesi klien.
Langkah 4: Klien merespon dengan ACK untuk mengakui FIN dari server.
Ketika klien tidak memiliki lebih banyak data untuk mentransfer, ia menetapkan bendera FIN di header segmen. Selanjutnya, akhir server koneksi mengirimkan segmen yang normal berisi data dengan bendera ACK set menggunakan nomor pengakuan, yang menyatakan bahwa semua byte data telah diterima. Ketika semua segmen telah diakui, sesi ditutup.

Komunikasi UDP
UDP Low Overhead vs Reliability
UDP adalah protokol sederhana yang memberikan dasar fungsi lapisan transport. Ini memiliki overhead jauh lebih rendah dari TCP, karena tidak berorientasi koneksi dan tidak menawarkan mekanisme pengiriman ulang, sequencing, dan kontrol aliran canggih yang menyediakan kehandalan.
Meskipun jumlah total lalu lintas UDP ditemukan pada jaringan yang khas sering relatif rendah, protokol lapisan aplikasi kunci yang menggunakan UDP termasuk:
1.    Domain Name System (DNS)
2.    Simple Network Management Protocol (SNMP)
3.    Dynamic Host Configuration Protocol (DHCP)
4.    Routing Information Protocol (RIP)
5.    Trivial File Transfer Protocol (TFTP)
6.    IP telephony atau Voice over IP (VoIP)
7.    Game online
Beberapa aplikasi, seperti game online atau VoIP, dapat mentolerir beberapa kehilangan data. Jika aplikasi ini digunakan TCP, mereka bisa mengalami penundaan besar sementara TCP mendeteksi kehilangan data dan mentransmisikan kembali data.
Overhead rendah UDP membuatnya sangat diinginkan untuk aplikasi tersebut.

Proses UDP Server dan Permintaan
Seperti aplikasi berbasis TCP, aplikasi server berbasis UDP ditugaskan nomor port terkenal atau terdaftar. Ketika aplikasi ini atau proses yang berjalan pada server, mereka menerima data yang cocok dengan nomor port yang ditetapkan.

Proses Klien UDP
Seperti TCP, komunikasi client / server diprakarsai oleh aplikasi klien yang meminta data dari server proses. Proses klien UDP secara acak memilih nomor port dari berbagai nomor port yang dinamis dan menggunakan ini sebagai port sumber untuk percakapan. Port tujuan biasanya terkenal atau terdaftar nomor port yang ditugaskan untuk proses server.

Aplikasi yang menggunakan TCP
TCP cocok untuk aplikasi yang membutuhkan transportasi yang dapat diandalkan dan dapat mentolerir beberapa penundaan. lapisan transport protokol TCP menangani semua tugas yang berhubungan dengan segmentasi aliran data menjadi segmen, kehandalan, kontrol aliran, dan penataan kembali segmen, membebaskan aplikasi dari keharusan untuk mengelola semua ini.
Berikut  beberapa contoh aplikasi terkenal yang menggunakan TCP meliputi:
1.    Hypertext Transfer Protocol (HTTP)
2.    File Transfer Protocol (FTP)
3.    Simple Mail Transfer Protocol (SMTP)
4.    Telnet

Aplikasi yang menggunakan UDP
Ada tiga jenis aplikasi yang paling cocok untuk UDP
1.    Aplikasi yang dapat mentolerir beberapa kehilangan data, namun memerlukan sedikit atau tidak ada delay
2.    Aplikasi dengan transaksi balasan permintaan sederhana dan
3.    komunikasi searah mana keandalan tidak diperlukan atau dapat ditangani oleh aplikasi
Banyak video dan aplikasi multimedia, seperti VoIP dan Internet Protocol Television (IPTV) menggunakan UDP.
Jenis lain dari aplikasi yang cocok untuk UDP adalah mereka yang menggunakan permintaan dan balasan sederhana transaksi. Di sinilah host mengirim permintaan dan mungkin atau mungkin tidak menerima balasan. jenis aplikasi meliputi:
1.    DHCP
2.    DNS - Mungkin juga menggunakan TCP
3.    SNMP
4.    TFTP

TFTP memiliki mekanisme sendiri untuk kontrol aliran, deteksi kesalahan, ucapan terima kasih, dan pemulihan kesalahan. Tidak perlu bergantung pada TCP untuk layanan tersebut.

Komentar