Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chương 3 - Coggle Diagram
Chương 3
Nguyên lý truyền tin cậy
rdt1.0
Tin cậy hoàn toàn
rdt2.0
Vấn đề: dữ liệu lỗi
ACK/NAK
rdt2.1
Vấn đề: ACK/NAK bị lỗi
Đánh số {0,1} để tránh bị trùng dữ liệu
rdt2.2
Bỏ NAK
rdt3.0
Vấn đề: Mất dữ liệu
Thêm biến timer
Truyền nhiều gói tin cùng một lúc
Go-back-N
https://media.pearsoncmg.com/aw/ecs_kurose_compnetwork_7/cw/content/interactiveanimations/go-back-n-protocol/index.html
Mất gói: Gửi lại từ gói tin bị mất
Mất ACK: không ảnh hưởng nếu đã nhận được ACK lớn hơn
Selective Repeat
https://media.pearsoncmg.com/aw/ecs_kurose_compnetwork_7/cw/content/interactiveanimations/selective-repeat-protocol/index.html
Mất gói: chỉ gửi gói bị mất
Mất ACK: gửi lại gói tin bị mất ACK đó
Ứng dụng sử dụng port
HTTP: TCP 80
HTTPS: TCP 443
FTP: TCP 20,21
SMTP: TCP 25
DNS: UDP/TCP 53
TCP
TCP header (tối thiểu 20byte)
Reliable/Tin cậy
Sequence number
http://www-net.cs.umass.edu/kurose_ross/interactive/tcp_segloss.php
ACK number
Hướng kết nối
Thiết lập kết nối
(3 way handshake)
SYN (seq = x, ack = 0)
SYN/ACK, seq = y, ack = x+1
ACK, (seq = x+1, ack = y+1)
Ngắt/Đóng kết nối (4 bước)
FIN
ACK
FIN
ACK
Flow control
receive window
(số byte bên nhận có thể nhận)
Congestion Control
Điều khiển tắc nghẽn
Slow start
cwnd (n) = Cwnd(n-1) * 2
ssthresh (ngưỡng ngưng slow start)
Congestion Avoidance
cwnd(n) = cwnd (n-1) + 1
Mất gói tin
Timeout
Tính lại ssthresh = cwnd/2
cwnd = 1
3ACK trùng
Tính lại ssthresh = cwnd/2
cwnd = cwnd/2 (+3)
Fast recovery
http://www-net.cs.umass.edu/kurose_ross/interactive/tcp_evolution.php
https://media.pearsoncmg.com/aw/ecs_kurose_compnetwork_7/cw/content/interactiveanimations/tcp-congestion/index.html
Socket
TCP
Client
connect
Server
accept
bind: để mở port chờ client kết nối
UDP
Client
send, receive
Server:
bind, send, receive
UDP
Message
(UDP header)
Port nguồn
Port đích
Checksum
Tổng bù 1
Length: message + udp header
Hành động