Agenda
Apa yang telah dipelajari: Teknologi yang menghubungkan kumpulan komputer => jaringan:
Direct links, packet switching, internet protocol (IP)
Selanjutnya: Ekstensi koneksi dan penyampaian paket host-to-host => untuk komunikasi antar komputer yang terhubung dengan jaringan. Komunikasi aplikasi => antar proses melalui communication channel. Problem: Getting processes to communicate! (Ch. 5) User Datagram Protocol (UDP) Transmission Control Protocol (TCP)
Fasilkom UI v-1.1
Review: Layered Ingat: tujuan jaringan komputer, menghubungkan aplikasi => saling berkomunikasi Layer bawah mendukung komunikasi antar aplikasi untuk mencapai tujuan tsb. IP => hanya menyampaikan paket data ke host (bukan ke aplikasi, tidak ada alamat proses pada IP address).
End-System Mengapa disebut transport layer end-to-end protocol? Transport layer: hanya berada pada host (endsystem) End-system => user; asumsi: kontrol terakhir pengiriman data berada pada aplikasi. Services ke berbagai proses aplikasi Suatu host dapat mempunyai lebih dari satu proses (aplikasi) yang aktif Kebutuhan berbagai aplikasi berbeda; mis. reliable delivery vs unreliable delivery (low overhead)
Fasilkom UI v-1.1
Problems: Getting process to communicate! Kebutuhan aplikasi (reliable data stream): multiple koneksi per-host (sharing): lebih dari satu aplikasi aktif dapat mengirim messages ke jaringan (multiplexing) garansi penyampaian message, notifikasi jika terjadi error (mis. target aplikasi tidak aktif) error control: pemeriksaan kesalahan, berurut, dan sekali saja (tidak ada duplikasi) message size: tidak terbatas dengan ukuran paket (model stream) flow control: sinkronisasi antara aplikasi (proses) pengirim dan penerima
Fasilkom UI v-1.1
Application process
Application process
Segment
Segment
Segment
T ransmit segments
Fasilkom UI v-1.1
W rite Bytes
Read Bytes
TCP: Characteristics TCP is connection oriented 3 fase: connection setup, transfer data (bytestreams), disconnect TCP is reliable: Membagi data (bytes) dari aplikasi dalam kelompok segments (messages) Kontrol kesalahan pada setiap segments
ACK delivery data Checksum deteksi kesalahan pada data Nomor urut (sequence bytes) jika terjadi duplikasi atau segment hilang.
Transport vs. Data Link Layers OSI Ref.: keduanya reliable delivery data transmission Data Link: hanya menghubungkan dua nodes yang terhubung langsung (vs. Transport, melalui networks). Potentially connects many different hosts need explicit connection establishment and termination Potentially long delay in network need to be prepared for arrival of very old packets Potentially different network capacity need to be prepared for network congestion need not contribute to network congestion
Fasilkom UI v-1.1
20 bytes of IP header
IP Header
User data are encapsulated in TCP Segments. A TCP Segment is the unit of data for user messages
Fasilkom UI v-1.1
31
Checksum Options
Data
Figure 8.20 Fasilkom UI v-1.1
TCP Segment Format (1) Source / Destination Ports (16b unsinged int): Identifikasi (address) proses (aplikasi): source & sink user application Sequence (Acknowledgement) Numbers (32b unsigned int): Number of first byte sent (expected from other side) in the segment to other side Acknowledgement Number is byte expected next (ACK) Header Length: in 32b words Reserved (0)
Fasilkom UI v-1.1
TCP Segment Format (2) Flags: Informasi sesuai jenis paket TCP URG: urgent pointer is valid ACK: Acknowledgement number is valid PSH: deliver data received by receiving TCP immediately RST: Receving TCP must abort connection SYN: Connection Request; FIN: Sender has no more data to send to receiving TCP; (Advertised) Window Size: amount of data receiver is willing to accept.
Fasilkom UI v-1.1
TCP Segment Format (3) Urgent Pointer (if URG flag is set) points to last byte of urgent data; any data from beginning of segment to up are urgent
Fasilkom UI v-1.1
source port #
dest port #
checksum
Fasilkom UI v-1.1
TCP: Connection Setup Active Open Umum: koneksi diawali dari client => mengirim tipe messages SYN (connection setup) ke server. Passive Open Server mendengar untuk koneksi dari client Server membalas dengan mengirim tipe message SYN+ACK
Fasilkom UI v-1.1
Connection Establishment
Two way handshake A send SYN, B replies with ACK-SYN
SYN hilang, timeout dan retransmisi
Bagaimana jika muncul delayed SYN (false connection)? Kemungkinan delayed SYN menyebabkan duplikasi SYNs => receiver ? Mana yang valid Gunakan Three Way Handshake Gunakan identifikasi SYN dengan bilangan tertentu => Initial Sequence Number
Gunakan SYN dan ISN Balasan ACK harus menunjuk ISN yang sama
Fasilkom UI v-1.1
TCP: Connection Setup Reliability 3-way handshake Sequence Numbers: x, y (full duplex) Message types (Flag): Synchronize (SYN), Acknowledge (ACK)
y+ 1
Fasilkom UI v-1.1
Fasilkom UI v-1.1
Host B
TIME_WAIT
closed
Fasilkom UI v-1.1
10
TCP: Reliability
Deteksi kesalahan: TCP Checksum Retransmisi segment kembali jika terjadi kesalahan Kontrol kesalahan: Penerima memberikan ACK untuk segment (byte) yang telah diterima Timer (jika ACK atau segment hilang) Flow control Kita ingin mengirim lebih dari satu segment (utilisasi koneksi), tanpa menunggu ACK segment sebelumnya Pengaturan supaya sender yang cepat tidak overflow receiver => sinkronisasi
Fasilkom UI v-1.1
TCP: Flow control TCP Sliding Window + Flow Control: ( acknowledgment, SequenceNum, AdvertisedWindow )
Fasilkom UI v-1.1
11
TCP: Advertised Window (Flow Control) Flow control Mencegah sender mengirim terlalu banyak sehingga melebihi kapasitas menerima dari receiver Negosiasi (informasi) ke sender => status dan kapasistas buffer dari receiver (proses) Menggunakan informasi: Advertised Window (field pada header TCP paket):
Max. ukuran buffer receiver (sisa bytes yang belum dibaca oleh aplikasi) Dinamik, tergantung kecepatan aplikasi memproses data pada buffer receiver.
Fasilkom UI v-1.1
12