Chương 4. Giao thức TCP

Σχετικά έγγραφα
1. Ma trận A = Ký hiệu tắt A = [a ij ] m n hoặc A = (a ij ) m n

Năm Chứng minh Y N

Năm Chứng minh. Cách 1. Y H b. H c. BH c BM = P M. CM = Y H b

Kinh tế học vĩ mô Bài đọc

Bài Tập Môn: NGÔN NGỮ LẬP TRÌNH

Năm 2014 B 1 A 1 C C 1. Ta có A 1, B 1, C 1 thẳng hàng khi và chỉ khi BA 1 C 1 = B 1 A 1 C.

Tôi có thể tìm mẫu đơn đăng kí ở đâu? Tôi có thể tìm mẫu đơn đăng kí ở đâu? Για να ρωτήσετε που μπορείτε να βρείτε μια φόρμα

Năm 2017 Q 1 Q 2 P 2 P P 1

* Môn thi: VẬT LÝ (Bảng A) * Ngày thi: 27/01/2013 * Thời gian làm bài: 180 phút (Không kể thời gian giao đề) ĐỀ:

SỞ GD & ĐT ĐỒNG THÁP ĐỀ THI THỬ TUYỂN SINH ĐẠI HỌC NĂM 2014 LẦN 1

Chương 12: Chu trình máy lạnh và bơm nhiệt

Sử dụngụ Minitab trong thống kê môi trường

Ngày 26 tháng 12 năm 2015

Suy ra EA. EN = ED hay EI EJ = EN ED. Mặt khác, EID = BCD = ENM = ENJ. Suy ra EID ENJ. Ta thu được EI. EJ Suy ra EA EB = EN ED hay EA

I 2 Z I 1 Y O 2 I A O 1 T Q Z N

ĐỀ BÀI TẬP LỚN MÔN XỬ LÝ SONG SONG HỆ PHÂN BỐ (501047)

Môn: Toán Năm học Thời gian làm bài: 90 phút; 50 câu trắc nghiệm khách quan Mã đề thi 116. (Thí sinh không được sử dụng tài liệu)

MALE = 1 nếu là nam, MALE = 0 nếu là nữ. 1) Nêu ý nghĩa của các hệ số hồi quy trong hàm hồi quy mẫu trên?

HÀM NHIỀU BIẾN Lân cận tại một điểm. 1. Định nghĩa Hàm 2 biến. Miền xác định của hàm f(x,y) là miền VD:

Năm Pascal xem tại [2]. A B C A B C. 2 Chứng minh. chứng minh sau. Cách 1 (Jan van Yzeren).

O 2 I = 1 suy ra II 2 O 1 B.

Q B Y A P O 4 O 6 Z O 5 O 1 O 2 O 3

Бизнес Заказ. Заказ - Размещение. Официально, проба

Truy cập website: hoc360.net để tải tài liệu đề thi miễn phí

KỸ THUẬT ĐIỆN CHƯƠNG IV

ĐỀ 56

HOC360.NET - TÀI LIỆU HỌC TẬP MIỄN PHÍ. đến va chạm với vật M. Gọi vv, là vận tốc của m và M ngay. đến va chạm vào nó.

(CH4 - PHÂN TÍCH PHƯƠNG SAI, SO SÁNH VÀ KIỂM ĐỊNH) Ch4 - Phân tích phương sai, so sánh và kiểm định 1

M c. E M b F I. M a. Chứng minh. M b M c. trong thứ hai của (O 1 ) và (O 2 ).

Tuyển chọn Đề và đáp án : Luyện thi thử Đại Học của các trường trong nước năm 2012.

x y y

có thể biểu diễn được như là một kiểu đạo hàm của một phiếm hàm năng lượng I[]

Μπορείτε να με βοηθήσετε να γεμίσω αυτή τη φόρμα; Για να ρωτήσετε αν κάποιος μπορεί να σας βοηθήσει να γεμίσετε μια φόρμα

5. Phương trình vi phân

ĐỀ PEN-CUP SỐ 01. Môn: Vật Lí. Câu 1. Một chất điểm có khối lượng m, dao động điều hòa với biên độ A và tần số góc. Cơ năng dao động của chất điểm là.

Μετανάστευση Σπουδές. Σπουδές - Πανεπιστήμιο. Για να δηλώσετε ότι θέλετε να εγγραφείτε

TRANSISTOR MỐI NỐI LƯỠNG CỰC

SỞ GIÁO DỤC VÀ ĐÀO TẠO KÌ THI TUYỂN SINH LỚP 10 NĂM HỌC NGÀY THI : 19/06/2009 Thời gian làm bài: 120 phút (không kể thời gian giao đề)

CÁC ĐỊNH LÝ CƠ BẢN CỦA HÌNH HỌC PHẲNG

O C I O. I a. I b P P. 2 Chứng minh

BÀI TẬP LỚN MÔN THIẾT KẾ HỆ THỐNG CƠ KHÍ THEO ĐỘ TIN CẬY

BÀI TẬP. 1-5: Dòng phân cực thuận trong chuyển tiếp PN là 1.5mA ở 27oC. Nếu Is = 2.4x10-14A và m = 1, tìm điện áp phân cực thuận.

gặp của Học viên Học viên sử dụng khái niệm tích phân để tính.

Phụ thuộc hàm. và Chuẩn hóa cơ sở dữ liệu. Nội dung trình bày. Chương 7. Nguyên tắc thiết kế. Ngữ nghĩa của các thuộc tính (1) Phụ thuộc hàm

Chương 1: VECTOR KHÔNG GIAN VÀ BỘ NGHỊCH LƯU BA PHA

Tính: AB = 5 ( AOB tại O) * S tp = S xq + S đáy = 2 π a 2 + πa 2 = 23 π a 2. b) V = 3 π = 1.OA. (vì SO là đường cao của SAB đều cạnh 2a)

Xác định nguyên nhân và giải pháp hạn chế nứt ống bê tông dự ứng lực D2400mm

PHÂN TÍCH ẢNH HƢỞNG CỦA SÓNG HÀI TRONG TRẠM BÙ CÔNG SUẤT PHẢN KHÁNG KIỂU SVC VÀ NHỮNG GIẢI PHÁP KHẮC PHỤC

ĐỀ SỐ 16 ĐỀ THI THPT QUỐC GIA MÔN TOÁN 2017 Thời gian làm bài: 90 phút; không kể thời gian giao đề (50 câu trắc nghiệm)

Dao Động Cơ. T = t. f = N t. f = 1 T. x = A cos(ωt + ϕ) L = 2A. Trong thời gian t giây vật thực hiện được N dao động toàn phần.

x i x k = e = x j x k x i = x j (luật giản ước).

x = Cho U là một hệ gồm 2n vec-tơ trong không gian R n : (1.2)

L P I J C B D. Do GI 2 = GJ.GH nên GIH = IJG = IKJ = 90 GJB = 90 GLH. Mà GIH + GIQ = 90 nên QIG = ILG = IQG, suy ra GI = GQ hay Q (BIC).

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐỀ THI MINH HỌA - KỲ THI THPT QUỐC GIA NĂM 2015 Môn: TOÁN Thời gian làm bài: 180 phút.

+ = k+l thuộc H 2= ( ) = (7 2) (7 5) (7 1) 2) 2 = ( ) ( ) = (1 2) (5 7)

B. chiều dài dây treo C.vĩ độ địa lý

Xác định cỡ mẫu nghiên cứu

ShaMO 30. f(n)f(n + 1)f(n + 2) = m(m + 1)(m + 2)(m + 3) = n(n + 1) 2 (n + 2) 3 (n + 3) 4.

PHƯƠNG PHÁP TỌA ĐỘ TRONG KHÔNG GIAN

Nội dung. 1. Một số khái niệm. 2. Dung dịch chất điện ly. 3. Cân bằng trong dung dịch chất điện ly khó tan

1.3.3 Ma trận tự tương quan Các bài toán Khái niệm Ý nghĩa So sánh hai mô hình...

Tối ưu tuyến tính. f(z) < inf. Khi đó tồn tại y X sao cho (i) d(z, y) 1. (ii) f(y) + εd(z, y) f(z). (iii) f(x) + εd(x, y) f(y), x X.

Chương 2: Đại cương về transistor

(Complexometric. Chương V. Reactions & Titrations) Ts. Phạm Trần Nguyên Nguyên

(Propensity Score Matching Method) Ngày 11 tháng 5 năm 2016

QCVN 28:2010/BTNMT. National Technical Regulation on Health Care Wastewater

BÀI TẬP ÔN THI HOC KỲ 1

ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN (Chương trình đào tạo tín chỉ, từ Khóa 2011)

Dữ liệu bảng (Panel Data)

Batigoal_mathscope.org ñược tính theo công thức

PNSPO CP1H. Bộ điều khiển lập trình cao cấp loại nhỏ. Rất nhiều chức năng được tích hợp cùng trên một PLC. Các ứng dụng

Tự tương quan (Autocorrelation)

KỸ THUẬT ĐIỆN CHƯƠNG II

CHƯƠNG 8: NGUYÊN LÝ THỨ NHẤT CỦA NHIỆT ĐỘNG LỰC HỌC DẠNG 1: ĐỊNH LUẬT THỨ NHẤT

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

- Toán học Việt Nam

c) y = c) y = arctan(sin x) d) y = arctan(e x ).

CÁC VẤN ĐỀ TIÊM CHỦNG VGSVB VÀ TIÊM NHẮC. BS CK II Nguyễn Viết Thịnh

Giáo trình hệ điều hành. Biên tập bởi: Giảng viên. Lê Khắc Nhiên Ân

BÀI TẬP CHƯƠNG 1 Đ/S: a) 4,1419 triệu b) 3,2523 triệu Đ/S: nên đầu tư, NPV=499,3 $

KÝ HIỆU HÀN TRÊN BẢN VẼ THIẾT KẾ. Th.s TRẦN NGỌC DÂN BM: KỸ THUẬT TÀU THỦY. ĐH BÁCH KHOA TP. HCM

TUYỂN TẬP ĐỀ THI MÔN TOÁN THCS TỈNH HẢI DƯƠNG

Vectơ và các phép toán

Chương 11 HỒI QUY VÀ TƯƠNG QUAN ĐƠN BIẾN

1.6 Công thức tính theo t = tan x 2

LẤY MẪU VÀ KHÔI PHỤC TÍN HIỆU

Tự tương quan (Autoregression)

Lecture-11. Ch-6: Phân tích hệ thống liên tục dùng biếnđổi Laplace

A. ĐẶT VẤN ĐỀ B. HƯỚNG DẪN HỌC SINH SỬ DỤNG PHƯƠNG PHÁP VECTƠ GIẢI MỘT SỐ BÀI TOÁN HÌNH HỌC KHÔNG GIAN

A 2 B 1 C 1 C 2 B B 2 A 1

Chứng minh. Cách 1. EO EB = EA. hay OC = AE

Ví dụ 2 Giải phương trình 3 " + = 0. Lời giải. Giải phương trình đặc trưng chúng ta nhận được

HỒI QUY TUYẾN TÍNH ĐƠN. GV : Đinh Công Khải FETP Môn: Các Phương Pháp Định Lượng

BÁO CÁO BÀI TẬP LỚN CÁC BỘ BIẾN ĐỔI TĨNH

CHƯƠNG I NHỮNG KHÁI NIỆM CƠ BẢN

MỤC LỤC LỜI NÓI ĐẦU...

Thuật toán Cực đại hóa Kì vọng (EM)

CHƯƠNG 3: NHIỆT ĐỘNG HÓA HỌC

ĐỀ 83.

Ý NGHĨA BẢNG HỒI QUY MÔ HÌNH BẰNG PHẦN MỀM EVIEWS

Transcript:

Chương 4 Giao thức TCP 1

NỘI DUNG Tổng quan Giao thức truyền tải hướng kết nối, TCP Cấu trúc segment Truyền tải số liệu tin cậy Điều khiển luồng (flow control) Quản lý liên kết Kiểm soát nghẽn Kiểm soát nghẽn TCP Chương 4-Giao thức TCP 3-2

Tổng quan TCP RFCs: 793, 1122, 1323, 2018, 2581 point-to-point: Một truyền và một thu Tin cậy, giữ đúng thứ tự Cơ chếống dẫn (pipeline): Kiểm soát nghẽn và điều khiển luồng, cài đặt cửa sổ Sử dụng bộ đệm truyền và nhận Song công hoàn toàn: Luồng số liệu chạy trên cả hai chiều của cùng kết nối Kết nối có hướng (connection-oriented): Bắt tay thông qua tra đổi thông điệp điều khiển Điều khiển luồng: Máy phát không làm tràn bộ đệm máy thu socket door Ứng dụng ghi data TCP bộ đệm truyền segment Ưng dụng đọc data TCP bộ đệm thu socket door Chương 4-Giao thức TCP 3-3

Cấu trúc TCP segment URG: urgent data, báo có data khẩn trong segment được chỉ ra bởi data pointer ACK: ACK # là hợp lệ PSH: chuyển data lên trên ngay RST, SYN, FIN: Thiết lập kết nối 32 bits source port # dest port # head len sequence number acknowledgement number not used UAP R SF checksum Receive window Urg data pointer Options (chiều dài thay đổi) Đếm theo byte số liệu Số byte (# bytes) Máy thu sẵn sàng nhận Internet checksum (như UDP) Số liệu của ứng dụng (chiều dài thay đổi) Chương 4-Giao thức TCP 3-4

Chỉ số tuần tự và báo nhận ACK TCP xem toàn bộ khối số liệu là một dòng các byte liên tục Chỉ số tuần tự trong mỗi segment là thứ tự trong dòng byte của byte đầu tiên trong phần data của segment Chỉ số báo nhận ACK trong segment là chỉ số tuần tự của byte kế tiếp trong dòng byte mà máy gửi segment này đang chờ. Chương 4-Giao thức TCP 3-5

Ví dụứng dụng Telnet Khái niệm: Piggyback Cumulative ACK User Gõ ký tự C Client Server Seq=42, ACK=79, data = C Seq=79, ACK=43, data = C Nhận 'C' và truyền lại C Nhận 'C' và phản hồi với data trống Seq=43, ACK=80 Giả sử client bắt đầu với tuần tự 42 Server bắt đầu với tuần tự 79 time Chương 4-Giao thức TCP 3-6

Tham số RTT và Timeout (1) Giá trị timeout? Phải lớn hơn thời gian hành trình RTT (round trip time) RTT thay đổi Quá ngắn? Quá dài? Tính RTT? Đo lường thời gian từ khi truyền segment đến khi nhận ACK Thời gian này thay đổi--> trung bình Chương 4-Giao thức TCP 3-7

Tham số RTT và Timeout (2) EstimatedRTT = (1- α)*estimatedrtt + α*samplertt Exponential weighted moving average Ảnh hưởng của mẫu quá khứ giảm nhanh theo hàm mũ Giá trị tiêu biểu là: α = 0.125 Chương 4-Giao thức TCP 3-8

Ví dụ RTT: gaia.cs.umass.edu to fantasia.eurecom.fr 350 300 RTT (milliseconds) 250 200 150 100 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 time (seconnds) SampleRTT Estimated RTT Chương 4-Giao thức TCP 3-9

Tham số RTT và Timeout (3) Cài đặt timeout EstimtedRTT cộng với gia số an toàn EstimatedRTT thay đổi nhiều -> gia số lớn hơn Trước hết xác định độ lệch của mẫu so với EstimatedRTT: DevRTT = (1-β)*DevRTT + β* SampleRTT-EstimatedRTT (giá trị tiêu biểu β = 0.25) Sau đó gán giá trị timeout interval: TimeoutInterval = EstimatedRTT + 4*DevRTT Chương 4-Giao thức TCP 3-10

NỘI DUNG Tổng quan Giao thức truyền tải hướng kết nối, TCP Cấu trúc segment Truyền tải số liệu tin cậy Điều khiển luồng (flow control) Quản lý liên kết Kiểm soát nghẽn Kiểm soát nghẽn TCP Chương 4-Giao thức TCP 3-11

Truyền số liệu tin cậy TCP thực hiện dịch vụ truyền số liệu tin cậy ngay trên dịch vụ chuyển datagram không bảo đảm IP Các segment được chuyển theo cơ chếống dẫn (Pipeline) Dùng báo nhận kiểu tích lũy đại diện (cumulative ack) TCP dùng một bộ định thời truyền lại Việc truyền lại được kích hoạt bởi: Sự kiện timeout Nhận ack trùng Chương 4-Giao thức TCP 3-12

Các sự kiện phía TCP sender Nhận data từứng dụng: Tạo segment với chỉ số tuần tự kế tiếp (seq #) Khởi động timer nếu chưa chạy (như cho segment cũ nhất chưa có báo nhận) Khoảng thời gian timeout được gán: TimeOutInterval timeout: Truyền lại segment gây ra timeout Khởi động lại timer Nhận ACK: Nếu ack cho các segment cũ chưa có báo nhận Cập nhật Khởi động timer nếu còn segment đang đợi Chương 4-Giao thức TCP 3-13

Các kịch bản truyền lại Host A Host B Seq=92, 8 bytes data Seq=100, 20 bytes data ACK=120 ACK=100 Seq=92 timeout Seq=92, 8 bytes data ACK=120 Host A time Timeout sớm Chương 4-Giao thức TCP 3-14 Seq=92, 8 bytes data ACK=100 timeout Seq=92 timeout Host B X loss Sendbase = 100 SendBase = 120 Seq=92, 8 bytes data ACK=100 SendBase = 100 SendBase = 120 time Mất ACK

Kịch bản truyền lại (2) Host A Host B Chương 4-Giao thức TCP 3-15 Seq=92, 8 bytes data ACK=100 X Seq=100, 20 bytes data timeout loss ACK=120 SendBase = 120 time ACK tích lũy đại diện

Phát sinh ACK Đặc tả theo RFC 1122, RFC 2581 Sự kiện tại máy thu Segment đến đúng thứ tự với chỉ số mong đợi. Tất cả data đến chỉ số này đều đã được báo nhận Segment đến đúng thứ tự với chỉ số mong đợi. Một segment khác đang được xúc tiến báo nhận Segment đến không đúng thứ tự với chỉ số lớn hơn chỉ số mong đợi. Phát hiện mất segment Segment đến bổ sung vào một phần hay toàn bộ số bị mất Hành vi tại máy thu Chậm ACK. Đợi segment kế trong 500ms. Nếu không có segment kế, gửi ACK Gửi ngay một ACK đại diện báo nhận cho cả hai một lúc Gửi ngay ACK trùng chỉ số để chỉ ra byte đang đợi kế tiếp Gửi ngay ACK,báo chờ segment với byte bắt đầu tại chỗ thiếu đầu tiên Chương 4-Giao thức TCP 3-16

Truyền lại nhanh (Fast Retransmit) Khoảng time out tương đối dài: Chậm truyền lại segment bị mất Phát hiện mất segment qua ACK trùng. Sender gửi nhiều segment liên tiếp Nếu segment bị mất sẽ có nhiều ACK trùng. Nếu máy phát nhận 3 ACK trùng cho cùng data, xem như segmnet kế tiếp đã bị mất: Truyền lại nhanh : truyền lại trước khi timer hết hạn Chương 4-Giao thức TCP 3-17

Host A Host B X timeout Truyền lại lần 2 time Truyền lại sau khi nhận ba ACK trùng Chương 4-Giao thức TCP 3-18

Giải thuật truyền lại nhanh: sự kiện: nhận ACK, với giá trị ACK cho y if (y > SendBase) { SendBase = y if (có các segment vẫn chưa được báo nhận) start timer } else { tăng số đếm ACK nhận cho y if (nếu số đếm ACK nhận cho y = 3) { truyền lại segment với số tuần tự y } Một ACK trùng cho segment được báo nhận Truyền lại nhanh Chương 4-Giao thức TCP 3-19

NỘI DUNG Tổng quan Giao thức truyền tải hướng kết nối, TCP Cấu trúc segment Truyền tải số liệu tin cậy Điều khiển luồng (flow control) Quản lý liên kết Kiểm soát nghẽn Kiểm soát nghẽn TCP Chương 4-Giao thức TCP 3-20

Điều khiển luồng (Flow Control Máy thu có bộ đệm thu: Điều chỉnh tốc độ phù hợp: tốc độ truyền và tốc độ lấy data Data từ IP Vùng trống Data trong bộ đệm Quá trình ứng dụng Quá trình ứng dụng có thể chậm lấy data từ bộ đệm thu để xử lý Điều khiển luồng làm nhiệm vụ không để cho máy phát làm tràn bộ đệm thu vì truyền quá nhiều, quá nhanh Chương 4-Giao thức TCP 3-21

Hoạt động điều khiển luồng Data từ IP Vùng trống Data trong bộ đệm (giả sử máy thu loại bỏ các segment không đúng thứ tự) Khoảng trống trong bộ đệm Quá trình ứng dụng = RcvWindow = RcvBuffer-[LastByteRcvd - LastByteRead] Máy thu quảng cáo khoảng trống bằng cách gắn giá trịrcvwindow trong segment Máy phát giới hạn số data chưa báo nhận trong phạm vi RcvWindow Đảm bảo máy thu không bị tràn Chương 4-Giao thức TCP 3-22

NỘI DUNG Tổng quan Giao thức truyền tải hướng kết nối, TCP Cấu trúc segment Truyền tải số liệu tin cậy Điều khiển luồng (flow control) Quản lý liên kết Kiểm soát nghẽn Kiểm soát nghẽn TCP Chương 4-Giao thức TCP 3-23

Quản lý liên kết TCP (1/5) Nhắc lại: máy phát và máy thu tạo cầu nối trước khi truyền data Khởi tạo các biến: seq. #s buffers, flow control (ví dụ RcvWindow) Bắt tay ba bước: Bước 1: client gửi TCP SYN segment đến server Chỉ ra seq # ban đầu Không có data Bước 2: server nhận SYN, phản hồi SYNACK segment server cấp phát bộ đệm Chỉ ra seq # ban đầu Bước 3: client nhận SYNACK, phản hồi ACK segment, có thể chứa data Chương 4-Giao thức TCP 3-24

Quản lý liên kêt TCP (2/5): Bắt tay ba bước Chương 4-Giao thức TCP 3-25

Quản lý liên kết TCP(3/5) Thủ tục hủy kết nối: Step 1: client gửi TCP FIN đến server close client FIN server Step 2: server nhận FIN, phản hồi ACK. Tiến hành đóng kết nối và gửi FIN. ACK FIN close timed wait closed ACK Chương 4-Giao thức TCP 3-26

Quản lý liên kết (4/5) Step 3: client nhận FIN, phản hồi ACK. Vào trạng thái timed wait - gửi ACK cho server (báo nhận FIN) Step 4: server nhận ACK, cắt kết nối thực sự. closing client FIN ACK FIN server closing timed wait ACK closed closed Chương 4-Giao thức TCP 3-27

Quản lý liên kết TCP (5/5) Chu kỳ của TCP server Chu kỳ của TCP client Chương 4-Giao thức TCP 3-28

NỘI DUNG Tổng quan Giao thức truyền tải hướng kết nối, TCP Cấu trúc segment Truyền tải số liệu tin cậy Điều khiển luồng (flow control) Quản lý liên kết Kiểm soát nghẽn Kiểm soát nghẽn TCP Chương 4-Giao thức TCP 3-29

Kiểm soát nghẽn Hiện tượng nghẽn: Thông thường: quá nhiều nguồn gửi quá nhiều data và quá nhanh vào mạng, quá khả năng chịu đựng Một khía cạnh khác biệt với điều khiển luồng, điều khiển luồng chỉ giải quyết phần ngọn! Các biểu hiện của nghẽn: Mất gói (bộ đệm tại node bị tràn) Quá trễ (xếp hàng dài trong bộ đệm tại node) Một trong 10 vấn đề hàng đầu của mạng! Chương 4-Giao thức TCP 3-30

Nguyên nhân và phí tổn: kịch bản 1 hai sender, hai receiver Host A λ in : số liệu nguồn λ out Một router, bộ đệm vô hạn Host B Bộ đệm đầu ra không giới hạn Không truyền lại Quá trễ khi nghẽn Tối đa thông lượng Chương 4-Giao thức TCP 3-31

Nguyên nhân và phí tổn: kịch bản 2 Một router, bộ đệm hữu hạn sender truyền lại gói bị mất Host A λ in : số liệu nguồn λ' in : số liệu nguồn+ data truyền lại λ out Host B Bộ đệm hữu hạn Chương 4-Giao thức TCP 3-32

Nguyên nhân và phí tổn: kịch bản 2 Luôn luôn: λ = λ in out Chỉ truyền lại khi mất: λ > λ in out Truyền lại các gói trễ (không mất) làm cho tải đầu vào λ lớn hơn in so với truyền lại khi mất có cùng λ out R/2 R/2 R/2 R/3 λ out λ out λ out R/4 λ in R/2 λ in R/2 λ in R/2 a. Phí tổn do nghẽn: Truyền lại quá nhiều b. c. Truyền lại không cần thiết: liên kết mang quá nhiều bản sao của gói Chương 4-Giao thức TCP 3-33

Nguyên nhân và phí tổn: kịch bản 3 (1/2) Bốn sender Các đường đi qua nhiều node timeout/truyền lại Điều gì xảy ra khi và gia tăng? λ in λ in Host A λ in : data nguồn λ' in : data nguồn + data truyền lại Bộ đệm hữu hạn λ out Host B Chương 4-Giao thức TCP 3-34

Nguyên nhân và phí tổn: kịch bản 3 (2/2) H o s t A λ o u t H o s t B Phí tổn khác: Khi gói bị hủy, bất kỳ dung lượng truyền lên nào cho gói đều là lãng phí! Chương 4-Giao thức TCP 3-35

Các giải pháp End-end congestion control: Không có phản hồi tường minh từ mạng Các host xét triệu chứng mất gói và trễ TCP dùng cách này Network-assisted congestion control: Các router thông báo cho host Bit chỉ định nghẽn (SNA, DECbit, TCP/IP ECN, ATM) Tốc độ nào sender nên truyền vào lúc nào Chương 4-Giao thức TCP 3-36

NỘI DUNG Tổng quan Giao thức truyền tải hướng kết nối, TCP Cấu trúc segment Truyền tải số liệu tin cậy Điều khiển luồng (flow control) Quản lý liên kết Kiểm soát nghẽn Kiểm soát nghẽn TCP Chương 4-Giao thức TCP 3-37

Kiểm soát nghẽn trong TCP Giải pháp: tăng tốc độ truyền (window size), thăm dò băng thông hữu dụng cho đến khi xảy ra mất gói additive increase: tăng CongWin lên 1 MSS sau mỗi RTT (nhận được báo nhận) cho đến khi phát hiện mất data multiplicative decrease: giảm cửa sổ đi một nửa CongWin khi thấy mất data congestion window Thăm dò băng thông congestion window size 24 Kbytes 16 Kbytes 8 Kbytes time time Chương 4-Giao thức TCP 3-38

Chi tiết kiểm soát nghẽn trong TCP Máy phát giới hạn truyền theo: LastByteSent-LastByteAcked Sơ bộ, rate = CongWin RTT CongWin Bytes/sec CongWin là động,thay đổi theo tình trạng nghẽn của mạng (hàm số của nghẽn) Nhận thức nghẽn: Sự kiện mất= timeout hay 3 ack trùng Máy phát giảm tốc (CongWin) sau một sự kiện mất Ba cơ chế: AIMD: additive increase-multiplicative decrease slow start Đàm phán sau các sự kiện timeout Chương 4-Giao thức TCP 3-39

TCP Slow Start (1/2) Khi bắt đầu,congwin = 1 MSS Ví dụ: MSS = 500 bytes và RTT = 200 msec Tốc độ khởi động = 20 kbps Băng thông khả dụng có lẻ lớn hơn nhiều so với MSS/RTT Muốn nhanh chóng đạt tốc độ cao nhất có thể Chương 4-Giao thức TCP 3-40

TCP Slow Start (2/2) Gia tăng tốc độ nhanh chóng theo hàm mũ cho đến khi phát hiện sự kiện mất data đầu tiên: RTT Host A Host B 1 segment Gấp đôi CongWin sau mỗi RTT 2 segments Được thực hiện sau mỗi lần nhận ACK 4 segments Tóm lại: tốc độ ban đầu chậm nhưng tăng nhanh theo hàm mũ time Chương 4-Giao thức TCP 3-41

Hiệu chỉnh (1/2) Hiệu chỉnh cửa sổ nghẽn và tốc độ tăng kích thước tùy theo triệu chứng (sự kiện chỉ thị) nghẽn Sau 3 ACK trùng: CongWin giảm 1/2 Sau đó window tăng tuyến tính Sau sự kiện timeout: CongWin = 1 MSS; window tăng theo hàm mũ Đến ngưỡng (Threshold) sẽ tăng tuyến tính Lý do 3 ACK trùng có lẻ mạng còn có khả năng chuyển phát segment timeout tín hiệu của tình trạng nghẽn Chương 4-Giao thức TCP 3-42

Hiệu chỉnh (2/2) Câu hỏi đặt ra: khi nào nên chuyển từ tăng theo hàm mũ sang tăng theo tuyến tính? Khi CongWin đạt 1/2 giá trị của nó trước khi có timeout xảy ra Thực hiện: Dùng ngưỡng (Threshold) Khi có sự kiện nghẽn, gán Threshold = CongWin/2 (giá trị cửa sổ nghẽn hiện hành ngay trước khi có timeout) Chương 4-Giao thức TCP 3-43

Tóm tắt giải thuật kiểm soát nghẽn của TCP Khi CongWin <Threshold, máy phát chạy slowstart, cửa sổ tăng nhanh theo hàm mũ. Khi CongWin >Threshold, máy phát chạy theo congestion-avoidance, cửa sổ tăng tuyến tính. Khi có 3 ACK trùng nhau, gán ngưỡng bằng 1/2 cửa sổ hiện hành và gán lại cửa sổ bằng ngưỡng (=1/2 cửa sổ hiện hành. Khi có timeout gán ngưỡng bằng CongWin/2 và gán lại CongWin = 1 MSS. Chương 4-Giao thức TCP 3-44

Chương 4-Giao thức TCP 3-45

HẾT CHƯƠNG 4 Chương 4-Giao thức TCP 3-46