Chapter 5 part 1 End-to-End Protocols (Simple Demultiplexer and Reliable Byte Stream) Muhammad Al Makky
Pembahasan Chapter 5 Memahami layanan demultiplexing (UDP) Mendiskusikan protokol byte stream (TCP)
Chapter Outline Simple Demultiplexer (UDP) Reliable Byte Stream (TCP) End-to-End Issues Segment Format Connection Establishment Sliding Window Revisited
Permasalahan Bagaimana cara mengalihkan layanan pengiriman paket host-to-host ke kanal komunikasi process-to-process
End-to-End Protocols Properti umum yang disediakan oleh protokol transport Jaminan pengiriman pesan Mengirim pesan dalam urutan yang sama Mengirim salinan dari setiap pesan Mendukung pesan dengan ukuran besar Mendukung sinkronisasi antara pengirim dan penerima Mengizinkan penerima untuk menjalankan flow control ke pengirim Mendukung proses banyak aplikasi di setiap host
End-to-End Protocols Keterbatasan di layer network yang akan dioperasikan oleh protokol di layer transport Menghapus pesan Memesan kembali pesan Mengirim salinan pesan Batas pesan dalam ukuran yang terbatas Mengirim pesan setelah terjadi delay di luar kebiasaan
End-to-End Protocols Tantangan untuk protokol transport Develop algorithms that turn the less-than-desirable properties of the underlying network into the high level of service required by application programs
Simple Demultiplexer (UDP) Memperluas layanan pengiriman host-to-host pada lapisan network ke dalam layanan komunikasi process-to-process Menambahkan tingkatan demultiplexing yang mengizinkan proses-proses banyak aplikasi di setiap host untuk berbagi jaringan Frame Format User Datagram Protocol (UDP)
Process Address Pasangan <port, host> kunci demultiplexing untuk protokol UDP well-known port https://www.iana.org/assignments/service-names-portnumbers/servicenames-port-numbers.txt Terkadang, well-known port digunakan sebagai awal mula komunikasi
Simple Demultiplexer (UDP) Umumnya, port diimplementasikan oleh antrean pesan Apabila antrean penuh, pesan diabaikan. Tidak ada mekanisme flow-control dalam UDP Saat proses aplikasi ingin menerima message, maka berlaku FIFO (first in first out). Apabila antrean kosong, proses diblok hingga pesan kembali tersedia Antrian pesan dalam UDP
Reliable Byte Stream (TCP) Berbeda dengan UDP, Transmission Control Protocol (TCP) memberikan layanan Reliable Connection oriented Byte-stream service Karakteristik TCP Jaminan reliable, pengiriman bytes of stream Full-duplex: setiap koneksi TCP mendukung sepasang byte streams Mendukung mekanisme demultiplexing Flow-control: untuk membatasi berapa banyak data yang dapat ditransmisikan oleh pengirim sehingga tidak melebihi kapasitas penerima Congestion-control: untuk mengakselerasi seberapa cepat TCP dapat mengirimkan data, menjaga agar jaringan tidak kelebihan beban
End-to-End Issues Jantungnya TCP adalah algoritma sliding window 1. TCP mendukung koneksi secara logic antara proses yang sedang berjalan dalam 2 (dua) komputer yang berbeda di internet connection establishment 2. Koneksi TCP memiliki waktu RTT yang berbeda-beda. Mekanisme timeout pemicu retransmisi harus adaptive 3. Paket dapat dipesan ulang 4. TCP membutuhkan mekanisme dengan menggunakan setiap koneksi akan mempelajari sumber daya apa yang memungkinkan terjadi koneksi di sisi lainnya 5. TCP membutuhkan mekanisme dengan menggunakan sisi pengirim akan mempelajari kapasitas jaringan
TCP Segment TCP merupakan byte-oriented protocol, artinya pengirim menuliskan bytes ke dalam koneksi TCP dan penerima membaca bytes dari koneksi TCP Paket yang dipertukarkan antara TCP disebut segmen
TCP Header TCP s demux key is given by the 4- tuple < SrcPort, SrcIPAddr, DstPort, DstIPAddr > The Acknowledgment, SequenceNum, and AdvertisedWindow fields are all involved in TCP s sliding window algorithm The SequenceNum field contains the sequence number for the first byte of data carried in that segment. The Acknowledgment and AdvertisedWindow fields carry information about the flow of data going in the other direction TCP Header Format
Connection Establishment / Termination in TCP Timeline for three-way handshake algorithm
State Transition Diagram (STD) dalam TCP
Sliding Window Revisited Variasi algoritma sliding window dalam TCP, dengan maksud sebagai berikut (1) Menjamin kehandalan (reliable) pengiriman data (2) Memastikan data yang dikirimkan sesuai dengan urutan (3) Menjalankan flow control antara pengirim dan penerima
Sliding Window Revisited Relationship between TCP send buffer (a) and receive buffer (b). Sender: Receiver: LastByteAcked LastByteSent LastByteRead < NextByteExpected LastByteSent LastByteWritten NextByteExpected LastByteRcvd + 1
TCP Flow Control LastByteRcvd LastByteRead MaxRcvBuffer AdvertisedWindow = MaxRcvBuffer ((NextByteExpected 1) LastByteRead) LastByteSent LastByteAcked AdvertisedWindow EffectiveWindow = AdvertisedWindow (LastByteSent LastByteAcked) LastByteWritten LastByteAcked MaxSendBuffer If the sending process tries to write y bytes to TCP, but (LastByteWritten LastByteAcked) + y > MaxSendBuffer then TCP blocks the sending process and does not allow it to generate more data.
UDP Demultiplexer, Connectionless, sifat dalam pengiriman data memakai antrian (FIFO) TCP Flow control, penerima membatasi pengiriman data dari pengirim agar tidak melebihi kapasitas buffer penerima Congestion control, memastikan pengirim tidak mengirim data melebihi kapasitas media transmisi jaringan Sliding window