Hendrawan
hend@telecom.ee.itb.ac.id
1
Outline
Transport Layer
TCP Protocol
Karakteristik TCP
Set up koneksi TCP
Segmen TCP
Sequence Numbers TCP
Sliding Window TCP
Timeout dan Retransmisi
(Congestion Control and Avoidance)
UDP Protocol
2
Transport Layer
Untuk apa transport layer?
Karakteristik apa yang dimilikinya?
Pengiriman handal (reliable)
Error control
Flow Control
3
Review Transport Layer
4
Review Transport Layer
5
Layering: Model OSI
layer-to-layer communication
Application Application
7 7
Presentation Presentation
6 6
Session Session
5 5
Peer-layer communication
Transport Transport
4 Router Router 4
Network Network Network Network
3 3
Link Link Link Link
2 2
Physical Physical Physical Physical
1 1
6
Layering: Contoh FTP
Application
FTP Application
Presentation ASCII/Binary
Session
TCP Transport
Transport
Network IP Network
Link
Ethernet Link
Physical
8
TCP adalah Connection-Oriented
Ack
Fin
Ack
9
10
TCP Mendukung Layanan
“stream of bytes”
Byte 80
Byte 3
Byte 2
Byte 1
Byte 0
Byte 80
Byte 3
Byte 2
Byte 1
Byte 0
Host A
Host B
…diemulasikan menggunakan
“segments” TCP
Host A
Byte 0
Byte 1
Byte 2
Byte 3
Byte 80
TCP Data
Host B
Byte 0
Byte 1
Byte 2
Byte 3
Byte 80
11
Format Segmen TCP
IP Data
TCP Data TCP Hdr IP Hdr
0 15 31
Src port Dst port
Sequence #
Src/dst port numbers
Ack Sequence # dan IP addresses secara
TCP Header Flags unik mengidentifikasi socket
HLEN RSVD
Window Size
SYN
URG
PSH
RST
ACK
FIN
4 6
dan Data + IP
Addresses Checksum Urg Pointer
(TCP Options)
TCP Data
12
Sequence Numbers
Host A
ISN (initial sequence number)
TCP
TCP Data HDR
Host B
13
Initial Sequence Numbers
(Active) (Passive)
Client Server
Syn +ISNA
Ack
Connection Setup
3-way handshake
14
TCP Sliding Window
Berapa besar data pengirim TCP mempunyai
segment outstanding di jaringan?
Berapa besar data sebaiknya TCP
retransmit jika terjadi suatu error? Hanya
secara selektif mengulang data yg hilang?
Bagaimana pengirim TCP mencegah
membanjiri (over-running) buffer
penerima?
15
TCP Sliding Window
Window Size
16
TCP Sliding Window
Round-trip time
Round-trip time
Window Size Window Size Window Size
???
Host A
Host B
ACK ACK ACK
(1) RTT > Window size (2) RTT = Window size
17
Contoh : Sliding Window
18
Contoh Mekanisme Alokasi Credit TCP
19
TCP: Retransmisi dan Timeout
Round-trip time (RTT) Retransmission TimeOut (RTO)
Guard
Band
Host A
Estimated RTT
Data1 Data2
ACK ACK
Host B
20
TCP: Retransmisi dan Timeout
Memilih RTO adalah penting:
Memilih nilai terlalu besar akan menunggu terlalu lama utk
retransmisi suatu paket,
Memilih nilai terlalu besar secara tidak perlu retransmisi
paket
Variance
grows rapidly
with load
variance
23
TCP: Retransmisi dan Timeout
Karn’s Algorithm
Host A Host B Host A Host B
Retransmisi Retransmisi
Problem:
Bagaimana kita dp estimasi RTT jika paket-paket diretransmisi?
Solusi:
Pd retransmisi, jangan update estimated RTT (dan double RTO).
24
User Datagram Protocol (UDP)
Karakteristik
25
User-Datagram Protocol (UDP)
A1 A2 B1 B2
OS
UDP
DATA
27