Professional Documents
Culture Documents
Mang-May-Tinh - Lecture7 - Chuong-3-Muc-Luc - (Cuuduongthancong - Com)
Mang-May-Tinh - Lecture7 - Chuong-3-Muc-Luc - (Cuuduongthancong - Com)
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Kiểm soát lưu lượng trong TCP
kiểm soát LL
ng/gửi không làm tràn
❒ phía nhận của kết nối bộ nhớ tạm của
TCP có một bộ nhớ đệm ng/nhận bởi truyền quá
nhận: nhanh và nhiều
CuuDuongThanCong.com https://fb.com/tailieudientucntt
KSLL trong TCP làm việc ntn?
❒ Ng/nhận thông báo số
chỗ trống trong bnt
bằng cách thêm giá trị
cửa sổ nhận RcvWindow
trong đoạn tin
(Giả sử ng/nhận TCP loại bỏ ❒ Ng/gửi hạn chế lượng dữ
các đoạn không-đúng-thứ- liệu chưa ACK tới giá trị
tự) của RcvWindow
❒ số chỗ trống trong bnt ❍ đảm bảo bộ nhớ tạm của
= RcvWindow người nhận kô bao giờ bị
= RcvBuffer-[LastByteRcvd - tràn
LastByteRead]
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Những vấn đề tiềm tàng
❒ Nếu bnt bị đầy? ❒ Nếu gói tin báo
❒ rwnd = 0 rwnd bị lộn trật tự?
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 3: Mục lục
❒ 3.1 Các dịch vụ tầng- ❒ 3.4Sự truyền tải
truyền tải hướng kết nối : TCP
❒ 3.2 Sự dồn và tách ❍ cấu trúc đoạn tin
❒ 3.3 Sự truyền tải không ❍ truyền tải dự liệu tin cậy
kết nối: UDP ❍ kiểm soát lưu lượng
❍ quản lý kết nối
❒ 3.5Các nguyên lý của
kiểm soát tắc nghẽn
❒ 3.6 Kiểm soát tắc nghẽn
trong TCP
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Quản lý kết nối TCP
Gợi nhớ: ng/gửi, ng/nhận Bắt tay 3 bước:
TCP thiết lập “kết nối” trước
khi trao đổi các đoạn dữ liệu Bước 1: máy khách gửi đoạn TCP
❒ khởi tạo các biến TCP: SYN tới máy chủ
❍ chứa STT ban đầu
❍ STT
❍ không có dữ liệu
❍ BNT, thông tin KSLL
(vd: RcvWindow) Bước 2: chủ nhận được SYN, gửi
❒ khách: người bắt đầu kết nối trả lại một đoạn SYNACK
Socket clientSocket = new
❍ chủ cấp bộ nhớ tạm
Socket("hostname","port
❍ STT ban đầu của chủ
number");
Bước 3: khách nhận được
❒ chủ: được liên lạc bởi khách
Socket connectionSocket =
SYNACK, phản hồi lại với đoạn
welcomeSocket.accept(); ACK, có thể kèm theo dữ liệu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bắt tay 3 bước: Ví dụ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Quản lý kết nối TCP (tt)
đóng
khách đóng socket:
clientSocket.close();
đóng
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Quản lý kết nối TCP (tt)
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Quản lý kết nối TCP (tt)
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 3: Mục lục
❒ 3.1 Các dịch vụ tầng- ❒ 3.4Sự truyền tải
truyền tải hướng kết nối : TCP
❒ 3.2 Sự dồn và tách ❍ cấu trúc đoạn tin
❒ 3.3 Sự truyền tải không ❍ truyền tải dự liệu tin cậy
kết nối: UDP ❍ kiểm soát lưu lượng
❍ quản lý kết nối
❒ 3.5Các nguyên lý của
kiểm soát tắc nghẽn
❒ 3.6 Kiểm soát tắc nghẽn
trong TCP
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các nguyên tác kiểm soát tắc nghẽn
Tắc nghẽn:
❒ phát biểu đơn giản: “quá nhiều nguồn gửi quá nhiều
dữ liệu quá nhanh để mạng có thể xử lý”
❒ khác với kiểm soát lưu lượng!
❒ biểu hiện:
❍ mất gói tin (tràn bộ nhớ tạm tại bđt)
❍ độ trễ lâu (xếp hàng trong bộ nhớ tạm bđt)
❒ là một trong 10 vấn đề quan trọng của Internet!
CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguyên nhân/thiệt hại của tắc nghẽn: 1
Máy A
λin : dữ liệu gốc λout
❒ hai ng/gửi, hai
ng/nhận
Máy B bộ nhớ tạm đầu ra
❒ một bđt, bộ nhớ không giới hạn
CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguyên nhân/thiệt hại của tắc nghẽn: 2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguyên nhân/thiệt hại của tắc nghẽn: 2
❒ luôn luôn: = λ λ
in out
❒ truyền lại “tối ưu” chỉ khi có mất mát: λ > λout
in
❒ sự truyền lạiretransmission của các gói trễ (không mất) làm cho λ
in
lớn hơn (so với tr/hợp tối ưu) với cùng một λout
R/2 R/2 R/2
R/3
λout
λout
λout
R/4
a. b. c.
“thiệt hại” của tắc nghẽn:
❒ phải truyền lại khi mà gói tin bị loại do tràn bộ nhớ tạm tại bđt
❒ sự truyền tải lại ko cần thiết: đường kết nối chứa nhiều bản sao
của gói tin Transport Layer 3-53
CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguyên nhân/thiệt hại của tắc nghẽn: 3
❒ bốn người gửi
Hỏi: chuyện gì xảy ra
❒ đường đi qua nhiều bước khi λ và λ tăng lên ?
❒ thời-gian-chờ/truyền-tải-lại in in
Máy A λout
λin : dữ liệu gốc
λ'in : dữ liệu gốc + dữ
liệu truyền lại
Máy B
Máy C
CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguyên nhân/thiệt hại của tắc nghẽn: 3
H λ
o
o
s
u
t
A t
H
o
s
t
B
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các phương án tiếp cận đối với kiểm soát
tắc nghẽn
Hai phương án tiếp cận rộng:
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ nghiên cứu: kiểm soát tắc nghẽn ATM
ABR
ABR: tốc độ bit cho ô RM (quản lý tài nguyên) :
phép: ❒ gửi bởi ng/gửi, chen lẫn với các
❒ “dịch vụ mềm dẻo” ô dữ liệu
❒ nếu đường truyền của ❒ bits trong ô RM được thiết lập
ng/gửi “chưa hết tải”: bởi các bộ chuyển mạch (“được
❍ người gửi nên sử dụng
hỗ trợ từ mạng”)
băng thông còn dư ❍ NI bit: ko tăng tốc (tắc
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ nghiên cứu: kiểm soát tắc nghẽn
ATM ABR
CuuDuongThanCong.com https://fb.com/tailieudientucntt
KSTN TCP: tăng hệ số cộng, giảm hệ số nhân
❒ P/pháp: tăng tốc độ truyền tải (kích thước cửa sổ), thử
băng thông khả dụng, tới khi xuất hiện mất gói
❍ tăng hs cộng: tăng CongWin lên 1 MSS mỗi RTT đến
khi phát hiện mất gói
❍ giảm hs nhân: giảm CongWin xuống ½ sau khi mất gói
kích thước cửa sổ tắc nghẽn
congestion
window
24 Kbytes
Hình răng
16 Kbytes
cưa: thăm dò
băng thông
8 Kbytes
time
time
CuuDuongThanCong.com https://fb.com/tailieudientucntt
KSTN TCP: chi tiết
❒ ng/gửi hạn chế truyền tải: Làm sao ng/gửi nhận ra sự
LastByteSent-LastByteAcked tắc nghẽn?
≤ CongWin ❒ mất gói = hết t/g chờ
❒ hay, hoặc 3 ack trùng
CongWin ❒ ng/gửi TCP giảm vận
vận tốc = Bytes/sec
RTT tốc (CongWin) sau khi
❒ CongWin là một hàm phụ thuộc
có mất gói
vào sự tắc nghẽn của mạng ba cơ chế:
❍ AIMD
❍ bắt đầu chậm
❍ giữ nhịp độ tăng tốc độ
sau khi mất gói
Transport Layer 3-61
CuuDuongThanCong.com https://fb.com/tailieudientucntt
TCP Khởi Đầu Chậm
❒ Khi kết nối bắt đầu, ❒ Khi kết nối bắt đầu, tăng
CongWin = 1 MSS vận tốc theo hệ số mũ
❍ Vd: MSS = 500 bytes & đến khi xuất hiện mất gói
RTT = 200 msec
❍ vận tốc ban đầu = 20 kbps
❒ băng thông cho phép có
thể >> MSS/RTT
❍ mong muốn tăng nhanh lên
đến vận tốc cao nhất cho
phép
CuuDuongThanCong.com https://fb.com/tailieudientucntt
TCP Khởi Đầu Chậm (tt)
❒ Khi kết nối bắt đầu, Máy A Máy B
tăng vận tốc theo hệ số
mũ đến khi xuất hiện
RTT
mất gói :
❍ nhân đôi CongWin mỗi
RTT
❍ thực hiện bởi tăng lên 1
CongWin cho mỗi ACK
nhận được
❒ Tóm lại: bận tốc ban
đầu chậm nhưng tăng
lên nhanh theo hàm mũ t/g
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cải thiện: phỏng đoán mất gói
❒ Nếu nhận được 3 ACK
trùng:
Triết lí:
❍ CongWin giảm ½
❍ sau đó tăng tuyến tính 3 ACK lặp nghĩa là mạng
❒ Nhưng nếu xảy ra “hết t/g có khả năng phân phối vài
chờ”: đoạn dữ liệu
“hết t/g chờ” cho biết
❍ CongWin = 1 MSS;
tình hình tắc nghẽn đáng
❍ tăng theo hàm mũ báo động hơn
❍ tăng tới ngưỡng cuối
cùng trước khi mất gói,
sau đó tăng tuyến tính
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cải tiến
Hỏi: Khi nào thì nên
chuyển từ tăng hàm
mũ sang tăng tuyến
tính?
A: Khi CongWin đạt
được ½ giá trị của
nó trước khi xảy ra
“hết t/g chờ”
Hiện thực:
❒ Giá trị ngưỡng biến thiên
❒ Khi mất gói, g/t ngưỡng
được gán bằng ½ của
CongWin ngay trước khi xảy
ra mất gói
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tóm tắt: KSTN TCP
CuuDuongThanCong.com https://fb.com/tailieudientucntt
KSTN ng/gửi TCP
Trạng thái Sự kiện Hành vi ng/gửi TCP Bình luận
Bắt đầu chậm nhận được CongWin = CongWin + MSS, Nhân đôi CongWin mỗi
(SS) ACK cho If (CongWin > Threshold) RTT
những dữ chuyển trạng thái sang “CA”
liệu chưa ack
Tránh tắc nhận được CongWin = CongWin+MSS * Tăng theo cấp số cộng, dẫn
nghẽn (CA) ACK cho (MSS/CongWin) đến tăng CongWin lên 1
những dữ MSS mỗi RTT
liệu chưa ack
SS hoặc CA Phát hiện Threshold = CongWin/2, Hồi phục nhanh, sử dụng
mất gói do CongWin = Threshold, giảm theo hệ số nhân.
có “trùng 3 chuyển trạng thái sang “CA” CongWin không giảm nhỏ
ACK” hơn 1 MSS.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thông lượng TCP
❒ Thông lượng trung bình của TCP như là hàm
số của k/t cửa sổ và RTT là bao nhiêu?
❍ bỏ qua bắt-đầu-chậm
❒ Xem W là k/t cửa sổ khi xuất hiện mất gói.
❒ Khi cửa sổ là W, thông lượng là W/RTT
❒ Sau khi mất gói, cửa sổ giảm xuống còn W/2,
thông lượng xuống W/2RTT.
❒ Thông lượng trung bình: .75 W/RTT
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tương lai TCP: TCP qua các “đường ống
dài, rộng”
❒ Ví dụ: đoạn 1500 byte, RTT 100ms, thông lượng cần
có 10 Gbps
❒ Yêu cầu kích thước cửa sổ W = 83,333
❒ Thông lượng trong giới hạn của tần số mất gói:
1.22 ⋅ MSS
RTT L
❒ ➜ L = 2·10-10 Vô cùng nhỏ
❒ Các phiên bản TCP mới cho đường truyền tốc độ cao
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Sự công bằng trong TCP
Mục đích của sự công bằng: nếu K phiên TCP chia sẻ
một đường kết nối cổ chai với băng thông R, mỗi
phiên phải có được vận tốc trung bình là R/K
bộ định tuyến
k/n
cổ chai
TCP 2
tải trọng R
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tại sao TCP lại công bằng?
Hai kịch bản cạnh tranh:
❒ Tăng cấp số cộng tạo độ dốc 1
❒ Giảm theo cấp số nhân giảm thông lượng một cách cân xứng
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tính công bằng (tt)
Tính công bằng và UDP Sự công bằng và các kết nối
❒ Các ứ/d đa phương tiện
TCP song song
thường không dùng TCP ❒ ko thể cấm ứ/d mở những
❍ không muốn tốc độ bị kết nối song song giữa 2
giới hạn bởi quá trình máy.
KSTN ❒ Trình duyệt Web là một ví
❒ Thay vào đó dùng UDP: dụ
❍ đẩy âm thanh/phim ảnh ❒ VD: liên kết với vận tốc R
ở một vận tốc cố định,
chấp nhận mất gói
hỗ trợ 9 kết nối;
❍ ứ/d mới yêu cầu 1 TCP, có tốc
❒ Lĩnh vực nghiên cứu: độ R/10
UDP thân thiện vớiTCP ❍ ứ/d khác yêu cầu11 TCPs, có
tốc độ R/2 !
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 3: Tổng kết
❒ Các nguyên lý đằng sau các
dịch vụ tầng truyền tải:
❍ dồn, tách
❍ truyền tải dữ liệu tin cậy
❍ kiểm soát lưu lượng
❍ kiểm soát tắc nghẽn Tiếp theo:
❒ Thuyết minh và hiện thực ❒ rời “ngoại vi mạng”
trong Internet (ứ/dụng, tầng
❍ UDP truyền tải)
❍ TCP ❒ đi vào “hạt nhân”
mạng
CuuDuongThanCong.com https://fb.com/tailieudientucntt