Lapisan Transport (2)

Lapisan Transport (2)
TCP, THREE-WAY HANDSHAKE, WINDOW
TCP
•
•
•
•
TCP adalah protocol yang berorientasi pada koneksi (connectionoriented protocol);
TCP akan membuat sebuat koneksi virtual antara dua komputer terlebih
dahulu, sebelum keduanya saling bertukar data
TCP mempunyai mekanisme flow dan error control
Analogi : mengirimkan berita melalui telepon
Topik diskusi :
• TCP Services
•
•
•
•
TCP Features
Segment
A TCP Connection
Flow Control
Error Control
23.2
Table 2 Well-known ports used by TCP
23.3
Figure 13 Pengiriman bytes stream
23.4
Figure 14 Sending and receiving buffers
23.5
Figure 15 TCP segments
Note
•
•
Segment yang ditransfer pada setiap koneksi akan diberi nomor (baca : sequence
ID) oleh TCP.
Penomoran dimulai dengan nomor yang dibangkitkan secara acak (relatif)
Example 3
Dibawah ini adalah contoh penomoran pada setiap
segment:
Note
Nilai sekuen mendefinisikan nomor byte data pertama yang terkandung pada segment
Note
•
•
Nilai dari koom acknowledgment pada segment, mendefinisikan nomor byte
selanjutnya yang diharapkan akan diterima
Nomor acknowledgment bersifat kumulatif.
Figure 16 Format TCP segment
23.11
Figure 17 Control field
23.12
Table 3 Description of flags in the control field
Figure 18 Connection establishment menunggakan three-way handshaking
Note
A SYN segment tidak dapat membawa data, tetapi membutuhkan 1 (satu) sequence
number.
Note
A SYN + ACK segment tidak dapat membawa data, tetapi membutuhkan 1 (satu)
sequence number.
Note
Sebuah ACK segment, apabila tidak dalam mebawa data, maka ACK tidak
membutuhkan satu sequence number.
Figure 19 Data transfer
Figure 20 Connection termination using three-way handshaking
23.19
Note
The FIN segment membutuhkan satu sequence number apabila tidak sedang
membawa data
Note
The FIN + ACK segment consumes
one sequence number if it
does not carry data.
23.21
Figure 21 Half-close
23.22
Figure 22 Sliding window
23.23
Note
A sliding window is used to make transmission more efficient as well as
to control the flow of data so that the destination does not become
overwhelmed with data.
TCP sliding windows are byte-oriented.
23.24
Example 4
What is the value of the receiver window (rwnd) for host A
if the receiver, host B, has a buffer size of 5000 bytes and
1000 bytes of received and unprocessed data?
Solution
The value of rwnd = 5000 − 1000 = 4000. Host B can
receive only 4000 bytes of data before overflowing its
buffer. Host B advertises this value in its next segment to A.
23.25
Example 5
What is the size of the window for host A if the value of
rwnd is 3000 bytes and the value of cwnd is 3500 bytes?
Solution
The size of the window is the smaller of rwnd and cwnd,
which is 3000 bytes.
Example.6
Figure 23.23 shows an unrealistic example of a sliding
window. The sender has sent bytes up to 202. We assume
that cwnd is 20 (in reality this value is thousands of bytes).
The receiver has sent an acknowledgment number of 200
with an rwnd of 9 bytes (in reality this value is thousands of
bytes). The size of the sender window is the minimum of
rwnd and cwnd, or 9 bytes. Bytes 200 to 202 are sent, but
not acknowledged. Bytes 203 to 208 can be sent without
worrying about acknowledgment. Bytes 209 and above
cannot be sent.
Figure 23 Example 23.6
Some points about TCP sliding windows:
❏ The size of the window is the lesser of rwnd and
cwnd.
❏ The source does not have to send a full window’s
worth of data.
❏ The window can be opened or closed by the
receiver, but should not be shrunk.
❏ The destination can send an acknowledgment at
any time as long as it does not result in a shrinking
window.
❏ The receiver can temporarily shut down the
window; the sender, however, can always send a
segment of 1 byte after the window is shut down.
ACK segments do not consume sequence numbers and are not acknowledged.
Note
In modern implementations, a retransmission occurs if the retransmission timer
expires or three duplicate ACK segments have arrived.
Note
No retransmission timer is set for an ACK segment.
Note
Data may arrive out of order and be temporarily stored by the receiving TCP,
but TCP guarantees that no out-of-order segment is delivered to the process.
23.33
Figure 24 Normal operation
Figure 25 Lost segment
23.35
Note
The receiver TCP delivers only ordered data to the process.
Figure 26 Fast retransmission