Beruflich Dokumente
Kultur Dokumente
End-to-End Protocols
(Week 12) FTP HTTP NV RTP
80 4444
20,21
TCP UDP
6 17
IP
Jaringan Komputer
NET1 NET2 … NETn
3 Versi 1 4 Versi 1
1
Transport-layer Service Model Internet Transport-layer Protocols
Transport layer: logical communication between UDP: connectionless
application end-point point. multiplexing/demultiplexing
multiplexing/demultiplexing error detection
Additional services: TCP: connection oriented
reliable data transfer (guaranteed arrival, no error, in-
order) multiplexing/demultiplexing
flow control (keep sender from overrunning receiver): reliable data transfer
good for myself flow control
congestion control (keep sender from overrunning congestion control
network): good for everybody
services not available:
delay guarantees
bandwidth guarantees
5 Versi 1 6 Versi 1
7 Versi 1 8 Versi 1
2
Simple Demultiplexor (UDP) UDP: User Datagram Protocol
Unreliable and unordered datagram service What is a connection?
Adds multiplexing a group of segments between the same pair of comm. endpoints
0 16 31
No flow control SrcPort DstPort
allow for shared resources, provide services more efficiently
9 Versi 1 10 Versi 1
11 Versi 1 12 Versi 1
3
End-to-End Protocols TCP Overview
Underlying best-effort network (IP service):
Connection-oriented Full duplex
drop messages
Byte-stream Flow control: keep sender from
re-orders messages
app writes Bytes overrunning receiver
delivers duplicate copies of a given message
TCP sends segments Congestion control: keep
limits messages to some finite size app reads Bytes sender from overrunning
delivers messages after an arbitrarily long delay network
Common end-to-end services:
guarantee message delivery
Application process Application process
deliver messages in the same order they are sent
deliver at most one copy of each message Write Read
Bytes Bytes
…
support arbitrarily large messages
TCP TCP
support synchronization Send buffer Receive buffer
allow the receiver to flow control the sender
support multiple application processes on each host Segment Segment
…
Segment
Transmit segments
13 Versi 1 14 Versi 1
data transfer
Timeout
Timeout
Time
ACK ACK
What is reliable data transfer?
Fram
guaranteed arrival e
Timeout
no error ACK
in order delivery
(a) (c) duplication
Why is it difficult?
end-to-end solution has no control of underlying Sender Receiver Sender Receiver
communication channel, which can be error-prone Fram Fram
and lossy e e
Timeout
Timeout
Where is it used in computer networks? ACK
Fram
reliable data link service on top of unreliable physical e
Timeout
Fram
e
layer
Timeout
ACK
(b) (d)
duplication
15 Versi 1 16 Versi 1
4
Stop-and-Wait Bandwidth & Latency (Review)
Problem: Overhead ACK: min. 1 RTT, sender Kinerja jaringan diukur dalam dua kategori:
stop Bandwidth (throughput): jumlah bits yang dapat di-
Example transfer dalam satu periode waktu
• Misalkan: 1 Mbits/detik => 1 Mbps, berarti dapat mengirimkan data
Mak. bit yang dapat dikirimkan: BW x latency. 1 juta bit setiap detik;
BW = Bandwidth • Bandwidth 1 Mbps, diperlukan waktu 1 mikro-detik untuk
1.5Mbps link x 45ms latency = 67.5Kb ≈ 8KB mengirimkan 1 bit.
1KB Byte setiap 90ms => 1/16 utilisasi BW (link) Latency (delay): berapa lama waktu yang diperlukan
Sender Receiver untuk mengirimkan “message” dari satu ujung (end) ke
Length = latency ujung lainnya.
bandwidth
• Ukuran latency adalah satuan waktu.
• Misalkan: latency untuk jaringan JKT – SBY: 20 milidetik (one-
Capacity = bandwidth X latency way).
• Pengukuran lain Round-Trip Time (RTT): latency message bolak
balik (two way).
17 Versi 1 18 Versi 1
TRANSP1 Q2
Host A R1
TRANSP2
PROP4
Actual end to end latency = ∑ (TRANSPi + PROPi + Qi )
Minimum end to end latency = ∑ (TRANSPi + PROPi )
i
19 Versi 1 20 Versi 1
5
E.g. : Exercise 1.5 (Page 61) - Review E.g. : Exercise 1.5 (Page 61) - Review
Hitung waktu transfer 1000 KB file, asumsi *RTT=100ms, Hitung waktu transfer 1000 KB file, asumsi *RTT=100ms,
ukuran paket 1KB data, dan diperlukan 2 RTT untuk ukuran paket 1KB data, dan diperlukan 2 RTT untuk
handshaking awal. handshaking awal.
a) Badwidth 1.5 Mbps, dan paket data dikirim secara kontinyu b) Badwidth 1.5 Mbps, dan paket data tidak dikirim secara
(tidak terputus) kontinyu, tapi setiap satu paket dikirimkan sender harus
- Gunakan rumus latency dan perhitungkan semua faktor yang menunggu 1 RTT, kemudian mengirim paket berikutnya.
memberikan kontribusi terjadinya delay dari sender ke receiver. - Dengan cara ini terdapat overhead 1 RTT pada paket kedua, ketiga,
- Latency = [handshaking] + waktu propagasi [paket 1, one way] + dst sampai paket ke-1000; paket pertama tidak perlu menunggu
waktu transmisi sehingga total delay dari 1000 paket tsb adalah 999 RTT.
- Latency = [2 * RTT] + [RTT/2] + [BesarData/Bandwidth] - Latency = [handshaking] + waktu propagasi [paket 1, one way] +
- Latency = [200ms] + [50 ms] + [1000KB/1.5Mbps] waktu transmisi + [total delay overhead menunggu]
- Latency = [200ms] + [50 ms] + [(1000*1024*8)/(1.5 * 106) s] - Latency = 5.71 s + [999 * RTT]
- Latency = 0.25 s + 5.46 s = 5.71 second - Latency = 105.61 second.
- *Catatan: Di sini RTT = propagation delay - *Catatan: Di sini RTT = propagation delay
21 Versi 1 22 Versi 1
Acknowledgment
Checksum UrgPtr
Options (variable)
Data
…
23 Versi 1 24 Versi 1
6
Segment Format (cont) Connection Establishment and Termination
25 Versi 1 26 Versi 1
27 Versi 1 28 Versi 1
7
TCP Congestion Control Receiver vs Network Capacity
(a) A fast network feeding a low-capacity receiver (b) A slow network feeding a high capacity network
29 Versi 1 30 Versi 1
31 Versi 1 32 Versi 1
8
Slow Start & Threshold Algoritma Slow Start & Threshold
35 Versi 1 36 Versi 1