Ringkasan chapter 9

 Nama : Miftahudin

Kelas : 12.1

Cisco batch 6

 Section 9.1 Transport Layer Protocols


Role of the Transport Layer

Lapisan transport bertanggung jawab untuk membangun sesi komunikasi sementara antara dua aplikasi dan mengirimkan data di antara keduanya. Aplikasi menghasilkan data yang dikirim dari aplikasi pada host sumber ke aplikasi pada host tujuan. Ini tanpa memperhatikan jenis host tujuan, jenis media yang harus dilalui data, jalur yang diambil oleh data, kemacetan pada tautan, atau ukuran jaringan. Seperti yang ditunjukkan pada gambar, lapisan transport adalah penghubung antara lapisan aplikasi dan lapisan bawah yang bertanggung jawab untuk transmisi jaringan.


Transport Layer Responsibilities

Melacak Percakapan Individual

Pada lapisan transport, setiap kumpulan data yang mengalir antara aplikasi sumber dan aplikasi tujuan dikenal sebagai percakapan (Gambar 1). Sebuah host mungkin memiliki beberapa aplikasi yang berkomunikasi melalui jaringan secara bersamaan. Masing-masing aplikasi ini berkomunikasi dengan satu atau lebih aplikasi pada satu atau lebih host jarak jauh. Lapisan transport bertanggung jawab untuk memelihara dan melacak banyak percakapan ini.

Segmentasi Data dan Pemasangan Kembali Segmen

Data harus disiapkan untuk dikirim melalui media dalam bentuk yang dapat diatur. Sebagian besar jaringan memiliki batasan jumlah data yang dapat dimasukkan ke dalam satu paket. Protokol lapisan transport memiliki layanan yang mensegmentasi data aplikasi menjadi blok dengan ukuran yang sesuai (Gambar 2). Layanan ini mencakup enkapsulasi yang diperlukan pada setiap bagian data. Sebuah header, digunakan untuk perakitan ulang, ditambahkan ke setiap blok data. Header ini digunakan untuk melacak aliran data.

Di tempat tujuan, lapisan transport harus mampu merekonstruksi potongan-potongan data menjadi aliran data lengkap yang berguna untuk lapisan aplikasi. Protokol pada lapisan transport menjelaskan bagaimana informasi header lapisan transport digunakan untuk memasang kembali potongan data menjadi aliran untuk diteruskan ke lapisan aplikasi.

Mengidentifikasi Aplikasi

Untuk melewatkan aliran data ke aplikasi yang tepat, lapisan transport harus mengidentifikasi aplikasi target (Gambar 3). Untuk mencapai ini, lapisan transport memberikan setiap aplikasi pengenal yang disebut nomor port. Setiap proses perangkat lunak yang perlu mengakses jaringan diberikan nomor port yang unik untuk host tersebut. 


Conversation Multiplexing

Mengirimkan beberapa jenis data (misalnya, video streaming) melalui jaringan, sebagai satu aliran komunikasi lengkap, dapat menghabiskan semua bandwidth yang tersedia. Ini kemudian akan mencegah komunikasi lain terjadi pada waktu yang sama. Ini juga akan mempersulit pemulihan kesalahan dan pengiriman ulang data yang rusak.

Gambar tersebut menunjukkan bahwa membagi data menjadi potongan-potongan yang lebih kecil memungkinkan banyak komunikasi yang berbeda, dari banyak pengguna yang berbeda, untuk disisipkan (multipleks) pada jaringan yang sama.

Untuk mengidentifikasi setiap segmen data, lapisan transport menambahkan header yang berisi data biner yang diatur ke dalam beberapa bidang. Nilai-nilai di bidang inilah yang memungkinkan berbagai protokol lapisan transport untuk melakukan fungsi yang berbeda dalam mengelola komunikasi data. 


Transport Layer Reliability

Lapisan transport juga bertanggung jawab untuk mengelola persyaratan keandalan percakapan. Aplikasi yang berbeda memiliki persyaratan keandalan transportasi yang berbeda pula.

IP hanya berkaitan dengan struktur, pengalamatan, dan perutean paket. IP tidak menentukan bagaimana pengiriman atau pengangkutan paket berlangsung. Protokol transport menentukan cara mentransfer pesan antar 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 memungkinkan host berkomunikasi dan mentransfer data.

TCP dianggap sebagai protokol lapisan transport yang andal dan berfitur lengkap, yang memastikan bahwa semua data sampai di tujuan. Namun, ini membutuhkan kolom tambahan di header TCP yang meningkatkan ukuran paket dan juga meningkatkan penundaan. Sebaliknya, UDP adalah protokol lapisan transport yang lebih sederhana yang tidak menyediakan keandalan. Oleh karena itu, ia memiliki lebih sedikit bidang dan lebih cepat daripada TCP.


TCP

Transport TCP dapat dianalogikan sebagai pengiriman paket yang dilacak dari sumber ke tujuan. Jika pesanan pengiriman dipecah menjadi beberapa paket, pelanggan dapat mengecek secara online untuk melihat pesanan pengiriman.

Dengan TCP, ada tiga operasi dasar keandalan:

  • Penomoran dan pelacakan segmen data yang dikirimkan ke host tertentu dari aplikasi tertentu

  • Mengakui data yang diterima

  • Mengirim ulang data yang tidak diakui setelah jangka waktu tertentu      


UDP

Meskipun fungsi keandalan TCP menyediakan komunikasi yang lebih kuat antar aplikasi, fungsi tersebut juga menimbulkan overhead tambahan dan kemungkinan penundaan transmisi. Ada trade-off antara nilai keandalan dan beban yang dibebankan pada sumber daya jaringan. Menambahkan overhead untuk memastikan keandalan beberapa aplikasi dapat mengurangi kegunaan aplikasi dan bahkan dapat merugikan. Dalam kasus seperti itu, UDP adalah protokol transport yang lebih baik.

UDP menyediakan fungsi dasar untuk mengirimkan segmen data antara aplikasi yang sesuai, dengan sedikit biaya tambahan dan pemeriksaan data. UDP dikenal sebagai protokol pengiriman upaya terbaik. Dalam konteks jaringan, pengiriman upaya terbaik disebut tidak dapat diandalkan karena tidak ada pengakuan bahwa data telah diterima di tempat tujuan. Dengan UDP, tidak ada proses lapisan transport yang menginformasikan pengirim tentang pengiriman yang berhasil.

UDP mirip dengan menempatkan surat biasa, tidak terdaftar, melalui pos. Pengirim surat tidak mengetahui ketersediaan penerima untuk menerima surat tersebut. Kantor pos juga tidak bertanggung jawab untuk melacak surat tersebut atau memberi tahu pengirimnya jika surat tersebut tidak sampai di tujuan akhir.


The Right Transport Layer Protocol for  the Right Application

Untuk beberapa aplikasi, segmen harus tiba dalam urutan yang sangat spesifik agar berhasil diproses. Dengan aplikasi lain, semua data harus diterima sepenuhnya sebelum ada yang dianggap berguna. Dalam kedua contoh ini, TCP digunakan sebagai protokol transport. Pengembang aplikasi harus memilih jenis protokol transport yang sesuai berdasarkan kebutuhan aplikasi.

Misalnya, aplikasi seperti database, browser web, dan klien email, mengharuskan semua data yang dikirim sampai di tujuan dalam kondisi aslinya. Setiap data yang hilang dapat menyebabkan komunikasi rusak yang tidak lengkap atau tidak dapat dibaca. Aplikasi ini dirancang untuk menggunakan TCP.

Dalam kasus lain, aplikasi dapat mentolerir beberapa kehilangan data selama transmisi melalui jaringan, tetapi penundaan transmisi tidak dapat diterima. UDP adalah pilihan yang lebih baik untuk aplikasi ini karena lebih sedikit overhead jaringan yang diperlukan. UDP lebih disukai untuk aplikasi seperti streaming audio langsung, video langsung, dan Voice over IP (VoIP). Ucapan terima kasih dan transmisi ulang akan memperlambat pengiriman.

Misalnya, jika satu atau dua segmen streaming video langsung gagal datang, hal itu akan menyebabkan gangguan sesaat pada streaming. Ini mungkin tampak sebagai distorsi pada gambar atau suara, tetapi mungkin tidak terlihat oleh pengguna. Jika perangkat tujuan harus memperhitungkan data yang hilang, aliran dapat ditunda sambil menunggu transmisi ulang, oleh karena itu menyebabkan gambar atau suara menjadi sangat menurun. Dalam hal ini, lebih baik untuk membuat media terbaik dengan segmen yang diterima, dan mengabaikan keandalan.

Catatan : Aplikasi yang mengalirkan audio dan video yang disimpan menggunakan TCP. Misalnya, jika jaringan Anda tiba-tiba tidak dapat mendukung bandwidth yang diperlukan untuk menonton film on-demand, aplikasi akan menjeda pemutaran. Selama jeda, Anda mungkin melihat pesan "buffering ..." saat TCP bekerja untuk membangun kembali aliran. Setelah semua segmen diurutkan dan level minimum bandwidth dipulihkan, sesi TCP Anda dilanjutkan dan film mulai diputar.


TCP Features 

Untuk memahami perbedaan antara TCP dan UDP, penting untuk memahami bagaimana setiap protokol mengimplementasikan fitur keandalan tertentu dan bagaimana mereka melacak percakapan. Selain mendukung fungsi dasar segmentasi dan reassembly data, TCP, seperti yang ditunjukkan pada gambar, juga menyediakan layanan lain.

Membangun Sesi

TCP adalah protokol berorientasi koneksi. Protokol berorientasi koneksi adalah protokol yang menegosiasikan dan menetapkan koneksi permanen (atau sesi) antara perangkat sumber dan tujuan sebelum meneruskan lalu lintas apa pun. Melalui pembentukan sesi, perangkat menegosiasikan jumlah lalu lintas yang dapat diteruskan pada waktu tertentu, dan data komunikasi antara keduanya dapat dikelola dengan cermat.

Pengiriman yang Andal

Dalam istilah jaringan, keandalan berarti memastikan bahwa setiap segmen yang dikirim sumber tiba di tempat tujuan. Karena berbagai alasan, ada kemungkinan segmen rusak atau hilang sama sekali, saat dikirimkan melalui jaringan.

Pengiriman Pesanan Sama

Karena jaringan mungkin menyediakan beberapa rute yang dapat memiliki kecepatan transmisi berbeda, data dapat sampai dalam urutan yang salah. Dengan penomoran dan pengurutan segmen, TCP dapat memastikan bahwa segmen ini dipasang kembali ke urutan yang benar.

Alur kontrol

Host jaringan memiliki sumber daya yang terbatas, seperti memori dan daya pemrosesan. Ketika TCP menyadari bahwa sumber daya ini kelebihan pajak, TCP dapat meminta aplikasi pengirim untuk mengurangi laju aliran data. Ini dilakukan oleh TCP yang mengatur jumlah data yang dikirim sumber. Kontrol aliran dapat mencegah kebutuhan untuk transmisi ulang data ketika sumber host penerima kewalahan.


TCP Header

TCP adalah protokol stateful. Protokol stateful adalah protokol yang melacak status sesi komunikasi. Untuk melacak status sesi, TCP mencatat informasi mana yang telah dikirim dan informasi mana yang telah diakui. Sesi stateful dimulai dengan pembentukan sesi dan diakhiri ketika ditutup dengan penghentian sesi.

Seperti yang ditunjukkan pada gambar, setiap segmen TCP memiliki 20 byte overhead di header yang merangkum data lapisan aplikasi:

  • Source Port (16 bits) and Destination Port (16 bits) - Digunakan untuk mengidentifikasi aplikasi.

  • Sequence number (32 bits) - Digunakan untuk tujuan perakitan ulang data.

  • Acknowledgment number (32 bits) - Menunjukkan data telah diterima dan byte berikutnya diharapkan dari sumber.

  • Header length (4 bits) - Dikenal sebagai ʺdata offsetʺ. Menunjukkan panjang tajuk segmen TCP.

  • Reserved (6 bits) - Bidang ini disediakan untuk masa depan.

  • Control bits (6 bits)  - Termasuk kode bit, atau bendera, yang menunjukkan tujuan dan fungsi segmen TCP.

  • Window size (16 bits) - Menunjukkan jumlah byte yang dapat diterima dalam satu waktu.

  • Checksum (16 bits) - Digunakan untuk pengecekan error pada header segmen dan data.

  • Urgent (16 bits- Menunjukkan jika data mendesak.

UDP Features

User Datagram Protocol (UDP) dianggap sebagai protokol pengangkutan upaya terbaik. UDP adalah protokol transport ringan yang menawarkan segmentasi data dan perakitan ulang yang sama seperti TCP, tetapi tanpa keandalan dan kontrol aliran TCP. UDP adalah protokol sederhana yang biasanya dijelaskan dalam istilah apa yang tidak dilakukannya dibandingkan dengan TCP.


UDP Header 

UDP adalah protokol tanpa kewarganegaraan, yang berarti baik klien, maupun server, berkewajiban untuk melacak status sesi komunikasi. Jika kehandalan diperlukan saat menggunakan UDP sebagai protokol transport, itu harus ditangani oleh aplikasi.

Salah satu persyaratan terpenting untuk mengirimkan video dan suara langsung melalui jaringan adalah data terus mengalir dengan cepat. Aplikasi video dan suara langsung dapat mentolerir beberapa kehilangan data dengan efek minimal atau tidak terlihat, dan sangat cocok untuk UDP.

Potongan-potongan komunikasi di UDP disebut datagram, seperti yang ditunjukkan pada gambar. Datagram ini dikirim sebagai upaya terbaik oleh protokol lapisan transport. UDP memiliki overhead rendah sebesar 8 byte.


Mulitiple Separate Conversation

Lapisan transport harus dapat memisahkan dan mengelola banyak komunikasi dengan kebutuhan kebutuhan transportasi yang berbeda. Pengguna berharap dapat menerima dan mengirim email dan pesan instan secara bersamaan, melihat situs web, dan melakukan panggilan telepon VoIP. Masing-masing aplikasi ini mengirim dan menerima data melalui jaringan pada waktu yang sama, meskipun persyaratan keandalannya berbeda. Selain itu, data dari panggilan telepon tidak diarahkan ke browser web, dan teks dari pesan instan tidak muncul dalam email.


Port Numbers 

Nomor port sumber dikaitkan dengan aplikasi asal pada host lokal. Nomor port tujuan dikaitkan dengan aplikasi tujuan pada host jarak jauh.

Source Port

Nomor port sumber secara dinamis dibuat oleh perangkat pengirim untuk mengidentifikasi percakapan antara dua perangkat. Proses ini memungkinkan banyak percakapan terjadi secara bersamaan. Biasanya perangkat mengirim beberapa permintaan layanan HTTP ke server web secara bersamaan. Setiap percakapan HTTP terpisah dilacak berdasarkan port sumber.

Destination Port

Klien menempatkan nomor port tujuan di segmen untuk memberi tahu server tujuan layanan apa yang diminta, seperti yang ditunjukkan pada gambar. Misalnya, ketika klien menentukan port 80 di port tujuan, server yang menerima pesan mengetahui bahwa layanan web sedang diminta. Sebuah server dapat menawarkan lebih dari satu layanan secara bersamaan seperti layanan web pada port 80 pada saat yang sama menawarkan pembentukan koneksi File Transfer Protocol (FTP) pada port 21.


Socket Pairs 

Port sumber dan tujuan ditempatkan di dalam segmen. Segmen tersebut kemudian dienkapsulasi dalam paket IP. Paket IP berisi alamat IP dari sumber dan tujuan. Kombinasi alamat IP sumber dan nomor port sumber, atau alamat IP tujuan dan nomor port tujuan dikenal sebagai soket. Soket digunakan untuk mengidentifikasi server dan layanan yang diminta oleh klien. Soket klien mungkin terlihat seperti ini, dengan 1099 mewakili nomor port sumber: 192.168.1.5:1099

Soket di server web mungkin: 192.168.1.7:80

Bersama-sama, kedua soket ini bergabung untuk membentuk pasangan soket: 192.168.1.5:1099, 192.168.1.7:80

Soket memungkinkan banyak proses, berjalan pada klien, untuk membedakan dirinya dari satu sama lain, dan beberapa koneksi ke proses server untuk dibedakan satu sama lain.

Nomor port sumber bertindak sebagai alamat pengirim untuk aplikasi yang meminta. Lapisan transport melacak port ini dan aplikasi yang memulai permintaan sehingga ketika respons dikembalikan, itu bisa diteruskan ke aplikasi yang benar.


Port Number Groups 

Internet Assigned Numbers Authority (IANA) adalah badan standar yang bertanggung jawab untuk menetapkan berbagai standar pengalamatan, termasuk nomor port. Ada berbagai jenis nomor port, seperti yang ditunjukkan pada Gambar 1:

  • Port Terkenal (Angka 0 hingga 1023) - Angka-angka ini dicadangkan untuk layanan dan aplikasi. Mereka biasanya digunakan untuk aplikasi seperti browser web, klien email, dan klien akses jarak jauh. Dengan mendefinisikan port terkenal ini untuk aplikasi server, aplikasi klien dapat diprogram untuk meminta koneksi ke port spesifik tersebut dan layanan terkaitnya.

  • Port Terdaftar (Nomor 1024 hingga 49151) - Nomor port ini ditetapkan oleh IANA ke entitas yang meminta untuk digunakan dengan proses atau aplikasi tertentu. Proses ini pada dasarnya adalah aplikasi individual yang dipilih pengguna untuk diinstal, daripada aplikasi umum yang akan menerima nomor port yang terkenal. Misalnya, Cisco telah mendaftarkan porta 1985 untuk proses Hot Standby Routing Protocol (HSRP).

  • Port Dinamis atau Pribadi (Bilangan 49152 hingga 65535) - Juga dikenal sebagai port sementara, ini biasanya ditetapkan secara dinamis oleh OS klien ketika koneksi ke layanan dimulai. Port dinamis kemudian digunakan untuk mengidentifikasi aplikasi klien selama komunikasi.

Catatan : Beberapa sistem operasi klien mungkin menggunakan nomor port terdaftar sebagai ganti nomor port dinamis untuk menetapkan port sumber.


The netstat Command 

Koneksi TCP yang tidak dapat dijelaskan dapat menimbulkan ancaman keamanan utama. Mereka dapat menunjukkan bahwa sesuatu atau seseorang terhubung ke host lokal. Terkadang perlu untuk mengetahui koneksi TCP aktif mana yang terbuka dan berjalan pada host jaringan. Netstat adalah utilitas jaringan penting yang dapat digunakan untuk memverifikasi koneksi tersebut. Seperti yang ditunjukkan pada gambar, masukkan perintah netstat untuk mendaftar protokol yang digunakan, alamat lokal dan nomor port, alamat asing dan nomor port, dan status koneksi.

Secara default, perintah netstat akan mencoba menyelesaikan alamat IP ke nama domain dan nomor port untuk aplikasi terkenal. The -n pilihan dapat digunakan untuk menampilkan alamat IP dan nomor port dalam bentuk numerik mereka.


Section 9.2 TCP and UDP


TCP Server Processes 

Setiap proses aplikasi yang berjalan di server dikonfigurasi untuk menggunakan nomor port, baik secara default atau manual, oleh administrator sistem. Server individu tidak dapat memiliki dua layanan yang ditetapkan ke nomor port yang sama dalam layanan lapisan transport yang sama.

Misalnya, host yang menjalankan aplikasi server web dan aplikasi transfer file tidak dapat mengkonfigurasi keduanya untuk menggunakan port yang sama (misalnya, port TCP 80). Aplikasi server aktif yang ditetapkan ke port tertentu dianggap terbuka, yang berarti bahwa lapisan transport menerima dan memproses segmen yang dialamatkan ke port tersebut. Setiap permintaan klien masuk yang dialamatkan ke soket yang benar diterima, dan data diteruskan ke aplikasi server. Ada banyak port yang terbuka secara bersamaan di server, satu untuk setiap aplikasi server yang aktif.


TCP Connection Establishment

Di beberapa budaya, ketika dua orang bertemu, mereka sering saling menyapa dengan berjabat tangan. Aksi berjabat tangan dipahami kedua belah pihak sebagai isyarat sapaan akrab. Koneksi di jaringan serupa. Dalam koneksi TCP, klien host membuat koneksi dengan server.

Sambungan TCP dibuat dalam tiga langkah:

Langkah 1 - Klien yang memulai meminta sesi komunikasi klien-ke-server dengan server.

Langkah 2 - Server mengakui sesi komunikasi klien-ke-server dan meminta sesi komunikasi server-ke-klien.

Langkah 3 - Klien yang memulai mengakui sesi komunikasi server-ke-klien.


TCP Session Termination 

Untuk menutup koneksi, bendera kontrol Selesai (FIN) harus disetel di header segmen. Untuk mengakhiri setiap sesi TCP satu arah, jabat tangan dua arah, yang terdiri dari segmen FIN dan segmen Pengakuan (ACK), digunakan. Oleh karena itu, untuk mengakhiri percakapan tunggal yang didukung oleh TCP, diperlukan empat pertukaran untuk mengakhiri kedua sesi.

Pada gambar, klik tombol 1 hingga 4 untuk melihat penghentian koneksi TCP.

Catatan : Dalam penjelasan ini, istilah klien dan server digunakan sebagai referensi untuk kesederhanaan, tetapi proses penghentian dapat dimulai oleh dua host mana saja yang memiliki sesi terbuka:

Langkah 1 - Ketika klien tidak memiliki lebih banyak data untuk dikirim dalam aliran, ia mengirimkan segmen dengan set bendera FIN.

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 sesi server-ke-klien.

Langkah 4 - Klien merespons dengan ACK untuk mengakui FIN dari server.


TCP Three-way Handshake Analysis 

Host melacak setiap segmen data dalam satu sesi dan bertukar informasi tentang data apa yang diterima menggunakan informasi di header TCP. TCP adalah protokol dupleks penuh, di mana setiap koneksi mewakili dua aliran atau sesi komunikasi satu arah. Untuk membuat koneksi, tuan rumah melakukan jabat tangan tiga arah. Bit kontrol di header TCP menunjukkan kemajuan dan status koneksi.

Jabat tangan tiga arah:

  • Menetapkan bahwa perangkat tujuan ada di jaringan

  • Memverifikasi bahwa perangkat tujuan memiliki layanan aktif dan menerima permintaan pada nomor port tujuan yang ingin digunakan klien yang memulai

  • Memberi tahu perangkat tujuan bahwa klien sumber bermaksud untuk membuat sesi komunikasi pada nomor port tersebut

Setelah komunikasi selesai, sesi ditutup, dan koneksi diakhiri. Mekanisme koneksi dan sesi memungkinkan fungsi keandalan TCP.

Enam bit di bidang Control Bits dari header segmen TCP juga dikenal sebagai bendera. Bendera adalah bit yang disetel ke aktif atau nonaktif. Klik bidang Control Bits pada gambar untuk melihat keenam bendera. Kami telah membahas SYN, ACK, dan FIN. Bendera RST digunakan untuk mengatur ulang koneksi ketika terjadi kesalahan atau batas waktu. Klik di sini untuk mempelajari lebih lanjut tentang flag PSH dan URG.


TCP Realiability - Ordered Delivery 

Segmen TCP mungkin tiba di tujuannya karena rusak. Agar pesan asli dapat dipahami oleh penerima, data di segmen ini disusun kembali menjadi urutan aslinya. Nomor urutan ditetapkan di header setiap paket untuk mencapai tujuan ini. Nomor urutan mewakili byte data pertama dari segmen TCP.

Selama penyetelan sesi, nomor urutan awal (ISN) ditetapkan. ISN ini mewakili nilai awal byte untuk sesi ini yang dikirimkan ke aplikasi penerima. Saat data ditransmisikan selama sesi, nomor urut bertambah dengan jumlah byte yang telah dikirim. Pelacakan byte data ini memungkinkan setiap segmen untuk diidentifikasi dan diakui secara unik. Segmen yang hilang kemudian dapat diidentifikasi.

Catatan: ISN tidak dimulai dari satu tetapi secara efektif merupakan nomor acak. Ini untuk mencegah jenis serangan berbahaya tertentu. Untuk mempermudah, kami akan menggunakan ISN 1 untuk contoh di bab ini.

Nomor urutan segmen menunjukkan cara memasang kembali dan menyusun ulang segmen yang diterima, seperti yang ditunjukkan pada gambar.

Proses menerima TCP menempatkan data dari segmen ke buffer penerima. Segmen ditempatkan dalam urutan urutan yang benar dan diteruskan ke lapisan aplikasi saat dipasang kembali. Setiap segmen yang datang dengan nomor urut yang rusak akan ditahan untuk diproses nanti. Kemudian, ketika segmen dengan byte yang hilang tiba, segmen ini diproses secara berurutan.


TCP Flow Control - Window Size and Acknowledgments

TCP juga menyediakan mekanisme untuk kontrol aliran, jumlah data yang dapat diterima dan diproses oleh tujuan dengan andal. Kontrol aliran membantu menjaga keandalan transmisi TCP dengan menyesuaikan laju aliran data antara sumber dan tujuan untuk sesi tertentu. Untuk melakukannya, header TCP menyertakan bidang 16-bit yang disebut ukuran jendela.

Gambar tersebut menunjukkan contoh ukuran jendela dan ucapan terima kasih. Ukuran jendela adalah jumlah byte yang dapat diterima dan diproses oleh perangkat tujuan sesi TCP pada satu waktu. Dalam contoh ini, ukuran jendela awal PC B untuk sesi TCP adalah 10.000 byte. Dimulai dengan byte pertama, byte nomor 1, byte terakhir yang dapat dikirim PC A tanpa menerima pengakuan adalah byte 10.000. Ini dikenal sebagai jendela kirim PC A. Ukuran jendela disertakan di setiap segmen TCP sehingga tujuan dapat mengubah ukuran jendela kapan saja tergantung ketersediaan buffer.

Catatan : Pada gambar, sumber mengirimkan 1.460 byte data dalam setiap segmen TCP. Ini dikenal sebagai MSS (Ukuran Segmen Maksimum).

Ukuran jendela awal disepakati saat sesi TCP dibuat selama jabat tangan tiga arah. Perangkat sumber harus membatasi jumlah byte yang dikirim ke perangkat tujuan berdasarkan ukuran jendela tujuan. Hanya setelah perangkat sumber menerima pengakuan bahwa byte telah diterima, dapatkah perangkat terus mengirimkan lebih banyak data untuk sesi tersebut. Biasanya, tujuan tidak akan menunggu semua byte untuk ukuran jendelanya diterima sebelum membalas dengan pengakuan. Saat byte diterima dan diproses, tujuan akan mengirim ucapan terima kasih untuk memberi tahu sumber bahwa ia dapat terus mengirim byte tambahan.

Biasanya, PC B tidak akan menunggu sampai semua 10.000 byte telah diterima sebelum mengirimkan pengakuan. Ini berarti PC A dapat menyesuaikan jendela pengirimannya saat menerima pengakuan dari PC B.Seperti yang ditunjukkan pada gambar, ketika PC A menerima pengakuan dengan nomor pengakuan 2.921, jendela pengiriman PC A akan menambah 10.000 byte lagi (ukuran PC B's ukuran jendela saat ini) menjadi 12.920. PC A sekarang dapat terus mengirim hingga 10.000 byte lagi ke PC B selama tidak melewati jendela kirim baru di 12.920.

Proses tujuan pengiriman ucapan terima kasih saat memproses byte yang diterima dan penyesuaian berkelanjutan dari jendela pengiriman sumber dikenal sebagai jendela geser.

Jika ketersediaan ruang buffer tujuan berkurang, itu dapat mengurangi ukuran jendelanya untuk memberi tahu sumber untuk mengurangi jumlah byte yang harus dikirim tanpa menerima pengakuan.

Catatan : Perangkat biasanya menggunakan protokol jendela geser. Dengan jendela geser, penerima tidak menunggu jumlah byte dalam ukuran jendelanya tercapai sebelum mengirimkan pengakuan. Penerima biasanya mengirimkan pengakuan setelah setiap dua segmen yang diterimanya. Jumlah segmen yang diterima sebelum diakui dapat bervariasi. Keuntungan dari jendela geser adalah memungkinkan pengirim untuk terus menerus mengirimkan segmen, selama penerima mengetahui segmen sebelumnya. Rincian jendela geser berada di luar cakupan kursus ini.


TCP Flow Control - Congestion Avoidance

Ketika kemacetan terjadi di jaringan, ini mengakibatkan paket dibuang oleh router yang kelebihan beban. Ketika paket yang berisi segmen TCP tidak mencapai tujuannya, paket tersebut dibiarkan tidak diakui. Dengan menentukan kecepatan pengiriman segmen TCP tetapi tidak diakui, sumber dapat mengasumsikan tingkat kemacetan jaringan tertentu.

Setiap kali terjadi kemacetan, transmisi ulang segmen TCP yang hilang dari sumber akan terjadi. Jika transmisi ulang tidak dikontrol dengan benar, transmisi ulang tambahan dari segmen TCP dapat memperburuk kemacetan. Tidak hanya paket baru dengan segmen TCP yang dimasukkan ke dalam jaringan, tetapi efek umpan balik dari segmen TCP yang ditransmisikan ulang yang hilang juga akan menambah kemacetan. Untuk menghindari dan mengontrol kemacetan, TCP menggunakan beberapa mekanisme penanganan kemacetan, pengatur waktu, dan algoritma.

Jika sumber menentukan bahwa segmen TCP tidak diakui atau tidak diakui secara tepat waktu, maka sumber dapat mengurangi jumlah byte yang dikirim sebelum menerima pengakuan. Perhatikan bahwa ini adalah sumber yang mengurangi jumlah byte yang tidak diakui yang dikirimnya dan bukan ukuran jendela yang ditentukan oleh tujuan.

Catatan: Penjelasan tentang mekanisme penanganan kemacetan aktual, pengatur waktu, dan algoritme berada di luar cakupan kursus ini.


UDP Low Overhead versus Reliability 

UDP adalah protokol sederhana yang menyediakan fungsi lapisan transport dasar. Ini memiliki overhead yang jauh lebih rendah daripada TCP karena tidak berorientasi koneksi dan tidak menawarkan transmisi ulang, pengurutan, dan mekanisme kontrol aliran yang memberikan keandalan.

Ini tidak berarti bahwa aplikasi yang menggunakan UDP selalu tidak dapat diandalkan, juga tidak berarti bahwa UDP adalah protokol yang lebih rendah. Ini berarti bahwa fungsi-fungsi ini tidak disediakan oleh protokol lapisan transport dan harus diterapkan di tempat lain jika diperlukan.

Overhead UDP yang rendah membuatnya sangat diinginkan untuk protokol yang membuat transaksi balasan dan permintaan sederhana. Misalnya, menggunakan TCP untuk DHCP akan menyebabkan lalu lintas jaringan yang tidak perlu. Jika ada masalah dengan permintaan atau balasan, perangkat hanya mengirim permintaan lagi jika tidak ada tanggapan yang diterima.


UDP Datagram Reassembly

Seperti segmen dengan TCP, ketika datagram UDP dikirim ke tujuan, mereka sering mengambil jalur yang berbeda dan tiba dalam urutan yang salah. UDP tidak melacak nomor urut seperti yang dilakukan TCP. UDP tidak memiliki cara untuk menyusun ulang datagram menjadi urutan transmisi mereka, seperti yang ditunjukkan pada gambar.

Oleh karena itu, UDP hanya memasang kembali data sesuai urutan penerimaannya dan meneruskannya ke aplikasi. Jika urutan data penting untuk aplikasi, aplikasi harus mengidentifikasi urutan yang tepat dan menentukan bagaimana data harus diproses.


UDP Server Processes and Requests

Seperti aplikasi berbasis TCP, aplikasi server berbasis UDP diberikan nomor port yang terkenal atau terdaftar, seperti yang ditunjukkan pada gambar. Ketika aplikasi atau proses ini berjalan di server, mereka menerima data yang cocok dengan nomor port yang ditetapkan. Ketika UDP menerima datagram yang ditujukan untuk salah satu port ini, UDP meneruskan data aplikasi ke aplikasi yang sesuai berdasarkan nomor portnya.

Catatan: Server Remote Authentication Dial-in User Service (RADIUS) yang ditunjukkan pada gambar menyediakan layanan otentikasi, otorisasi, dan akuntansi untuk mengelola akses pengguna. Pengoperasian RADIUS berada di luar cakupan kursus ini.


UDP Client Processes

Seperti TCP, komunikasi klien-server dimulai oleh aplikasi klien yang meminta data dari proses server. Proses klien UDP secara dinamis memilih nomor port dari kisaran nomor port dan menggunakan ini sebagai port sumber untuk percakapan. Port tujuan biasanya merupakan nomor port terkenal atau terdaftar yang ditetapkan ke proses server.

Setelah klien memilih port sumber dan tujuan, pasangan port yang sama digunakan di header semua datagram yang digunakan dalam transaksi. Untuk data yang dikembalikan ke klien dari server, nomor port sumber dan tujuan di header datagram dibalik.


Application that use TCP

TCP adalah contoh yang bagus tentang bagaimana berbagai lapisan rangkaian protokol TCP / IP memiliki peran khusus. TCP menangani semua tugas yang terkait dengan membagi aliran data menjadi beberapa segmen, memberikan keandalan, mengontrol aliran data, dan menyusun ulang segmen. TCP membebaskan aplikasi dari keharusan untuk mengelola salah satu tugas ini. Aplikasi, seperti yang ditunjukkan pada gambar, dapat dengan mudah mengirim aliran data ke lapisan transport dan menggunakan layanan TCP.


Application that use UDP 

Ada tiga jenis aplikasi yang paling cocok untuk UDP:

  • Video langsung dan aplikasi multimedia - Dapat mentolerir kehilangan data, tetapi memerlukan sedikit atau tanpa penundaan. Contohnya termasuk VoIP dan video streaming langsung.

  • Aplikasi permintaan dan balasan sederhana - Aplikasi dengan transaksi sederhana di mana tuan rumah mengirim permintaan dan mungkin atau mungkin tidak menerima balasan. Contohnya termasuk DNS dan DHCP.

  • Aplikasi yang menangani sendiri keandalannya - Komunikasi searah di mana kontrol aliran, deteksi kesalahan, pengakuan, dan pemulihan kesalahan tidak diperlukan atau dapat ditangani oleh aplikasi. Contohnya termasuk SNMP dan TFTP.

Meskipun DNS dan SNMP menggunakan UDP secara default, keduanya juga dapat menggunakan TCP. DNS akan menggunakan TCP jika permintaan DNS atau respons DNS lebih dari 512 byte, seperti ketika respons DNS menyertakan resolusi nama dalam jumlah besar. Demikian pula, dalam beberapa situasi, administrator jaringan mungkin ingin mengkonfigurasi SNMP untuk menggunakan TCP.



Komentar