1
Overview
2
Overview
3
Port and Socket
4
App D1
3 2 1
socket Dest.
3 2 1
socket D2
D3
Q: why have type SOCK_DGRAM?
TCP socket calls
Server
socket()
bind()
listen()
Client
accept()
socket()
blocks until server receives
a connect request from clientconnect negotiation
connect()
data write()
read()
write() data
read()
close()
close()
7
UDP socket calls
Server
socket()
Client
bind()
socket()
recvfrom()
sendto() data
recvfrom()
close()
close()
8
TCP Overview
9
⚫ Koneksi TCP diawali oleh prosedur yang biasa disebut dengan Three-
Way-Handshake. Tujuannya untuk melakukan sinkronisasi antara
pengirim dan penerima. Hal yang diinformasikan selama Three Way
Handshake adalah jumlah data yang bisa ditransmisikan dalam satu
waktu, Sequence number yang dipakai.
⚫ Untuk setup koneksi, host melakukan session inisialisasi dengan
menset flag syncronisasi ke 1.
⚫ Segment juga berisi sequence number yang mengindikasikan awal byte
yang ingin dikirim berikutnya. Juga berisi acknowledgement yang
terdiri dari sequence number berikutnya untuk menerima data.
⚫ Setelah Three Way Handshake dilakukan baru dianggap session
established, dan koneksi dua arah siap dilaksanakan
Three Way Handshake
16
Client Server
17
SYN 1
ISN=X
time
SYN 2
ISN=Y ACK=X+1
3
ACK=Y+1
?
Bill: “Monica, I’m afraid I’ll syn and byte your
ack”
Netprog: TCP Details
FIN
19
2
ACK=X+1
...
FIN 3
SN=Y
4
ACK=Y+1
* TCP: Checksum
TCP: No TCP options
= 493D (correct)
PAR
24
1030 80 1031 80
Ini menunjukkan contoh dua browser windows dengan URL yang sama.
TCP/IP menggunakan source port numbers untuk pengembalian informasi
TCP or Source IP Destination IP Connection State
UDP
Source Port Destination Port
34
www.google.com
www.cisco.com
netstat command
⚫ Note: Aktualnya, ketika kita membuka sebuah halaman html, there are usually
several TCP sessions created, not just one.
⚫ Example of multiple TCP connections for a single http session.
35
TCP Header
0 15 16 31
⚫ Electronic commerce?
⚫ Video server?
⚫ File transfer?
⚫ Email ?
⚫ Chat groups?
⚫ Robotic surgery controlled remotely over a
network?