Lớp giao vận – transport layer

18 801 18
Lớp giao vận – transport layer

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lớp giao vận – transport layer Lớp giao vận – transport layer Lớp giao vận – transport layer Lớp giao vận – transport layer Lớp giao vận – transport layer Lớp giao vận – transport layer Lớp giao vận – transport layer Lớp giao vận – transport layer Lớp giao vận – transport layer Lớp giao vận – transport layer Lớp giao vận – transport layer

Bài giảng Mạng máy tính ET4230 – 20112 (Tuần 9) TS Trần Quang Vinh Lớp giao vận – Transport Layer (tiếp) Các khái niệm Điều khiển luồng (Flow Control): Điều khiển lượng liệu gửi để đảm bảo bên gửi có tốc độ nhanh khơng thể tiếp tục truyền liệu nhanh mức mà bên nhận tiếp thu (khơng làm q tải bên nhận) Điều khiển luồng luôn liên quan đến phản hồi trực tiếp từ phía nhận đến phía gửi để thơng báo khả nhận bên nhận Chống tắc nghẽn (Congestion Control): Chống tắc nghẽn chế kiểm sốt thơng tin vào mạng nhằm đảm bảo tổng lưu lượng thông tin vào mạng khơng vượt q khả xử lý tồn mạng Chống tắc nghẽn liên quan đến việc kiểm sốt thơng tin toàn mạng, điều khiển luồng việc kiểm sốt thơng tin hai đầu cuối cụ thể Hai kỹ thuật có điểm tương đồng phải giới hạn lưu lượng thông tin nhằm tránh khả tải hệ thống đích, điều khiển luồng tránh tắc nghẽn thường sử dụng kết hợp với để kiểm sốt thơng tin mạng, ví dụ giao thức TCP Điều khiển luồng thực tầng nào? Điều khiển luồng tránh tắc nghẽn sử dụng nhiều lớp liên kết liệu (data link), lớp mạng (network) lớp giao vận (transport) Điều khiển luồng từ đầu cuối đến đầu cuối (end-to-end): nhằm tránh cho đệm q trình nhận đích khỏi bị tràn, thực lớp Giao vận Điều khiển luồng chặng (hop-by-hop): nhằm tránh cho đường truyền khỏi bị tắc nghẽn Tuy nhiên, việc kiểm soát luồng chặng có ảnh hưởng đến chặng khác, có tác dụng tránh tắc nghẽn cho đường truyền có nhiều chặng Trong mơ hình tham chiếu OSI, điều khiển luồng hop-by-hop thực lớp Liên kết liệu lớp Mạng Mục đích việc sử dụng điều khiển luồng chống tắc nghẽn mạng nhằm: + Tối ưu hóa thơng lượng sử dụng mạng + Giảm trễ gói qua mạng + Đảm bảo tính cơng cho việc trao đổi thông tin mạng + Đảm bảo tránh tắc nghẽn mạng Kiểm soát luồng (Flow Control) TCP sử dụng chế “cửa sổ trượt” tương ứng với đệm liệu cung cấp từ chương trình ứng dụng quy định số lượng liệu tối đa nguồn gửi trước nhận báo nhận từ bên nhận Đây chế kiểm soát luồng sử dụng rộng rãi nhất, áp dụng hay nhiều tầng mạng, thường tầng Liên kết liệu, tầng Mạng, tầng Giao vận Các bên gửi/nhận sử dụng cửa sổ để kiểm soát luồng liệu Cửa sổ nhận (Rwnd) số lượng liệu tối đa bên thu nhận, tham số bên nhận báo cho bên gửi trường Receive Window Size (thông thường từ 4kB – 8kB) Cơ chế kiểm soát luồng cửa sổ trượt cho phép bên gửi phát liên tiếp số segment định phải dừng lại chờ thông báo kết nhận, ACK, trước tiếp tục phát Bên nhận kiểm sốt luồng cách kìm lại hay gửi ACK Tại thời điểm, bên gửi phải ghi nhớ danh sách chứa số thứ tự liên tiếp segment mà phép gửi đi, segment gọi nằm cửa sổ gửi Tương tự vậy, bên gửi trì danh sách gọi cửa sổ gửi (Cwnd: Congestion window size), tương ứng với segment mà phép gửi Hai cửa sổ gửi nhận không thiết phải có độ lớn Dữ liệu gửi nhận ACK Dữ liệu chưa phép gửi Kích thước cửa sổ phải điều chỉnh cho phù hợp với đệm bên thu đảm bảo hiệu suất kênh truyền Trong thực tế, kích thước cửa sổ đánh giá qua RTT RTT > Window Size: hiệu suất kênh truyền thấp RTT= Window Size: hiệu suất kênh đạt 100% Kiểm soát lỗi (Error Control) TCP cung cấp độ tin cậy cách kiểm sốt lỗi, phát gói tin bị hỏng, bị mất, sai thứ tự, trùng liệu Kiểm soát lỗi giao thức TCP đạt thông qua việc sử dụng tổng kiểm tra (checksum), chế xác nhận (ACK), thời gian chờ (timeout) - Acknowledgement (ACK): gói tin gửi trạm để thơng báo gói tin nhận Gói ACK tạo cách thay đổi trường type phần TCP header Vì TCP thực truyền tin song cơng, nên gói ACK cung mang liệu (piggyback) (Rule 1) Gói ACK khơng gán sequence number khơng có báo nhận cho thân gói ACK - Timeout: cho biết gói tin gửi mà chưa nhận ACK khoảng thời gian chờ (timer) xác định trước Tham số Timeout khởi động qua trình truyền lại bên gửi (Retransmission TimeOut -RTO) Sau khoảng thời gian RTO>RTT mà không nhận ACK  truyền lại - Retransmission: (Rule 2) việc truyền lại sảy timeout nhận ACK liên tiếp trùng (Rule 3) Không thiết lập timer cho gói ACK - Out-of-order: (Rule 4) Dữ liệu đến bên nhận khơng thứ tự, chúng lưu đệm bên thu chuyển lên tầng xếp lại Hoạt động chế độ song công Sender Receiver Sender Timeout Fram e ACK Timeout Timeout Time Fram e (a) ACK Fram e ACK (c) Sender Sender Receiver Timeout Timeout Timeout Fram e Timeout Receiver Fram e Receiver Fram e ACK Fram e ACK ACK (b) (d) Hình Cơ chế truyền lại sử dụng timeout: (a) trường hợp bình thường, (b,c) truyền lại frame ACK, (d) timeout < RTT gay phát trùng frame - RTO giá trị thay đổi, thích ứng với trạng thái kênh ví dụ RTT thay đổi, cần xác định RTO cách hợp lý để đạt hiệu tốt Nếu RTO lớn gây trễ truyền lớn, RTO nhỏ sảy phát trùng gói tin RTO trước Round-trip time (RTT) Retransmission TimeOut (RTO) RTT đo Guard Band Phát (A) Estimated RTT Data1 Data2 ACK ACK Thu (B) - Để ước lượng RTO, sử dụng phương pháp “trung bình cửa sổ trượt theo trọng số mũ” (Exponential Weighted Moving Average - EWMA) theo thuật toán Jacobson sau: + Tính giá trị ước lượng eRTT: eRTTk= α eRTTk-1 + (1 - α) SampleRTT (1) + Thiết lập timeout dựa eRTT RTO = * eRTTk (2) Trong đó: + α trọng số thuật tốn EWMA (0 ≤ α ≤ 1, thông thường α =7/8), + k số bước lặp + SampleRTT: giá trị RTT đo (thực tế) cho cặp packet/ACK bước k Lưu ý: Phải tính eRTT qua eRTT trước RTT đo cộng với khoảng bảo vệ (chính giá trị điều chỉnh tham số α) Trường hợp gói (Lost segment) Chú ý: + TCP bên nhận chuyển liệu xếp thứ tự cho tiến trình tương ứng + Sinh viên tự tìm hiểu trường hợp ACK Ví dụ: Một kết nối TCP có RTT 30 ms, nhận tin ACK đến sau 26, 32, 24 ms Tính ước lượng giá trị RTT theo thuật toán Jacobson với α = 0.9 RTT=αRTT+(1-α)M RTT1=0.9 x 30 + (1-0.9) x 26 = 29.6 RTT2=0.9 x 29.6 + (1-0.9) x 32 = 29.84 RTT3=0.9 x 29.84 + (1-0.9) x 24 = 29.256 Chống tắc nghẽn (Congestion Control) 4.1 Hiện tượng tắc nghẽn Tắc nghẽn tượng quen thuộc mạng, mà nguyên nhân nói chung tài nguyên mạng giới hạn nhu cầu truyền thông tin người khơng có giới hạn Hay nói cụ thể hơn, tắc nghẽn xảy mạng lưu lượng gửi vào mạng vượt dung lượng truyền dẫn Hiện tượng tắc nghẽn xảy nút mạng, hay toàn mạng Chống tắc nghẽn chế kiểm sốt thơng tin vào mạng nhằm đảm bảo tổng lưu lượng thông tin vào mạng không vượt khả xử lý tồn mạng (b) (c) (a) (d) Hình Hiện tượng tắc nghẽn (a) Khi số lượng segment đến mạng tương đối nhỏ, nằm khả vận tải mạng, chúng phân phát hết, số lượng segment chuyển tỉ lệ thuận với số lượng segment đến mạng (b) Do ln có tỉ lệ segment phải phát lại bị lỗi trình vận chuyển, lưu lượng mà mạng thực phải vận chuyển nhìn chung lớn lưu lượng qua mạng (thông lượng Timeout mà không nhận ACK + Đặt ngưỡng ssthresh xuống nửa giá trị Cwnd: ssthresh := Cwnd/2 (giảm theo cấp số nhân) + Đặt Cwnd MSS: Cwnd := + TCP chuyển trạng thái slow start (SS) (2) Nhận Ack (báo nhận lặp), điều cho biết có nhiều gói tin đến đích khơng thứ tự, nghĩa có gói tin bị + Đặt ngưỡng ssthresh xuống nửa giá trị Cwnd: ssthresh := cwnd/2 + Đặt Cwnd ½ giá trị tại: Cwnd:= Cwnd/2 + TCP quay lại trạng thái chống tắc nghẽn (CA) 14 Hình Tổng kết sách điều khiển chống tắc nghẽn TCP Hình Ví dụ TCP Congestion control Nhận xét: - Trong giai đoạn CA, Cwnd tăng tuyến tính: + Đảm bảo tận dụng băng thơng sử dụng + Vẫn thăm dị tiếp khả sử dụng băng thơng nhiều hơn, - Cwnd bị giảm theo cấp số nhân (Multiplicative Decreased): theo chế khởi động chậm, cửa sổ gửi tăng lên theo hàm mũ, cần phải rút lui theo cách cho đủ nhanh có dấu hiệu tắc nghẽn - Vì tắc nghẽn tăng lên theo hàm mũ, việc phát sớm quan trọng Nếu tắc nghẽn phát sớm, cần vài điều chỉnh nhỏ cửa sổ bên gửi giải vấn đề; ngược lại, phải điều chỉnh 15 nhiều để mạng chuyển hết đống segment tắc nghẽn mạng Tuy nhiên, chất thăng giáng mạnh lưu lượng, phát tắc nghẽn sớm cách tin cậy việc khó - Thơng tin phản hồi ẩn cửa sổ gửi ln giảm nửa xảy tắc nghẽn không thực hiệu - TCP không chia sẻ thông tin điều khiển, kết nối thời điểm đến đích (một trường hợp thường xảy với lưu lượng web) phải cạnh tranh, thay phối hợp để sử dụng băng thơng mạng cách hợp lý - Đối với mạng đa dịch vụ, thuật toán điều khiển chống tắc nghẽn TCP khơng đem lại bình đẳng cần thiết cho ứng dụng - Đối với mạng có lưu lượng biến đổi động, biến đổi nhanh, điều khiển tắc nghẽn TCP tỏ bất ổn định không hội tụ Thuật toán Fast Retransmit (FRTX): (bỏ) - Sau nhận Dupack (>=3), TCP thực phát lại nhanh, không chờ bị Timeout, sau chuyển SS - Đây cách “dự đốn thơng minh” rằng, gói tin bị Hình 5.11 Giao thức Tahoe TCP Thuật toán Fast Recovery (FRCV): (bỏ) Cải tiến FRTX: thực FRTX xong CA không SS: - ssthresh := cwnd/2, khơng nhỏ (gói tin) - cwnd := cwnd + Bên gửi “đoán”: dupack ứng với gói tin nhận - Với dupack nhận thêm, tăng cwnd := cwnd + 16 Hình 5.12 Giao thức Reno TCP Bài tập Xét tính hiệu việc xử dụng chế SS với liên kết có RTT=10ms khơng có tắc nghẽn Cho biết Rwnd = 24 KB MSS = KB Cần thời gian trước cửa sổ thu đầy đủ gửi đi? The first bursts contain 2K, 4K, 8K, and 16K bytes, respectively The next one is 24 KB and occurs after 40 msec Tại giai đoạn SS, Cwind tăng theo hàm mũ 0ms Cwnd = MSS = 2K 10ms Cwnd = MSS = 4K 20ms Cwnd = MSS = 8K 30ms Cwnd = MSS = 16K 40ms Cwnd = min(Rwnd=24K, Cwnd = 32K)= 24K Giả sử kết nối TCP sử dụng cửa sổ tắc nghẽn Cwnd = 18 KB sảy timeout Tính kích thước cửa sổ lần truyền sau thành cơng Giải thiết kích thước segment tối đa KB Timeout chuyển SS với Cwnd:=1 MSS, so the next transmission will be maximum segment size Then 2, 4, and So after four successes, Cwnd will be KB 17 A TCP machine is sending full windows of 65,535 bytes over a 1-Gbps channel that has a 10-msec one-way delay What is the maximum throughput achievable? What is the line efficiency? RRT=20ms, One window can be sent every 20 msec This gives 50 windows/sec, for a maximum data rate of about 50 x 65,535 bytes = 3.3 million bytes/sec = 26.2Mbps The line efficiency is then 26.2 Mbps/1000 Mbps or 2.6 percent 18 ... sử dụng rộng rãi nhất, áp dụng hay nhiều tầng mạng, thường tầng Liên kết liệu, tầng Mạng, tầng Giao vận Các bên gửi/nhận sử dụng cửa sổ để kiểm soát luồng liệu Cửa sổ nhận (Rwnd) số lượng liệu... tương đối nhỏ, nằm khả vận tải mạng, chúng phân phát hết, số lượng segment chuyển tỉ lệ thuận với số lượng segment đến mạng (b) Do có tỉ lệ segment phải phát lại bị lỗi trình vận chuyển, lưu lượng... độ tin cậy cách kiểm sốt lỗi, phát gói tin bị hỏng, bị mất, sai thứ tự, trùng liệu Kiểm sốt lỗi giao thức TCP đạt thơng qua việc sử dụng tổng kiểm tra (checksum), chế xác nhận (ACK), thời gian

Ngày đăng: 13/06/2014, 12:35

Tài liệu cùng người dùng

Tài liệu liên quan