Mục tiêu: hiểu các nguyên tắc đằng sau các dịch vụ lớp transport: multiplexing/demu ltiplexing, truyền dữ liệu tin cậy, điều khiển luồng, điều khiển tắc nghẽn, nghiên cứu về các giao thức lớp, Transport trên Internet: UDP: vận chuyển không kết nối (connectionless), TCP: vận chuyển hướng kết nối (connectionoriented), điều khiển tắc nghẽn TCP.
Chương Lớp Transport Computer Networking: A Top Down Approach Featuring the Internet, 3rd edition Jim Kurose, Keith Ross Addison-Wesley, July 2004 Slide biên dịch sang tiếng Việt theo cho phép tác giả All material copyright 1996-2006 J.F Kurose and K.W Ross, All Rights Reserved Lớp Transport Chương 3: Lớp Transport Mục tiêu: hiểu nguyên tắc đằng sau dịch vụ lớp transport: multiplexing/demulti plexing truyền liệu tin cậy điều khiển luồng điều khiển tắc nghẽn nghiên cứu giao thức lớp Transport Internet: UDP: vận chuyển không kết nối (connectionless) TCP: vận chuyển hướng kết nối (connectionoriented) điều khiển tắc nghẽn TCP Lớp Transport Chương 3: Nội dung trình bày 3.1 Các dịch vụ lớp Transport 3.2 Multiplexing demultiplexing 3.3 Vận chuyển không kết nối: UDP 3.4 Các nguyên lý việc truyền liệu tin cậy 3.5 Vận chuyển hướng kết nối: TCP cấu trúc phân đoạn truyền liệu tin cậy điều khiển luồng quản lý kết nối 3.6 Các nguyên lý điều khiển tắc nghẽn 3.7 Điều khiển tắc nghẽn TCP Transport Layer 3-3 3.1 Các dịch vụ lớp Transport Lớp Transport Các dịch vụ giao thức Transport cung cấp truyền thông logic l ca gi lo network data link physical network data link physical d en den network data link physical t or sp an tr chạy host khác giao thức transport chạy hệ thống đầu cuối phía gửi: cắt thông điệp ứng dụng thành đoạn, chuyển cho lớp network phía nhận: tái kết hợp đoạn thành thơng điệp, chuyển cho lớp application có nhiều giao thức transport dành cho ứng dụng Internet: TCP UDP applicatio n transport network data link physical network data link physical network data link physical applicatio n transport network data link physical Lớp Transport Lớp Transport với lớp network lớp network: truyền thông logic host lớp transport: truyền thông logic tiến trình dựa vào làm bật dịch vụ lớp network Tình tự nhiên tương tự: 12 đứa trẻ gửi thư đến 12 đứa trẻ khác tiến trình = đứa trẻ thông điệp = thư bao thư host = gia đình giao thức transport = Ann Bill giao thức lớp network = dịch vụ bưu điện Lớp Transport Các giao thức lớp transport Internet tin cậy, truyền theo thứ tự (TCP) không theo thứ tự: UDP mở rộng giao thức IP khơng có dịch vụ: bảo đảm trễ bảo đảm bandwidth network data link physical t or sp an tr không tin cậy, truyền network data link physical network data link physical d en den điều khiển tắc nghẽn điều khiển luồng thiết lập kết nối l ca gi lo applicatio n transport network data link physical network data link physical network data link physical applicatio n transport network data link physical Lớp Transport 3.2 Multiplexing demultiplexing Lớp Transport Multiplexing/demultiplexing Multiplexing host gửi: thu nhặt liệu từ nhiều socket, đóng gói liệu với header (sẽ dùng sau cho demultiplexing) Demultiplexing host nhận: vận chuyển đoạn nhận đến socket = socket application = tiến trình P3 P1 P1 application P2 P4 application transport transport transport network network network link link link physical host physical host physical host Lớp Transport Demultiplexing làm việc host nhận IP datagrams datagram có địa IP nguồn IP đích datagram mang đoạn lớp transport đoạn có số port nguồn đích host dùng địa IP & số port để điều hướng đoạn đến socket thích hợp 32 bits port # nguồn port # đích header fields khác liệu ứng dụng (thơng điệp) dạng thức đoạn TCP/UDP Lớp Transport 10 TCP tương lai Ví dụ: đoạn dài 1500 byte, RTT 100ms, lưu lượng 10 Gbps Kích thước cửa sổ yêu cầu W = 83,333 đoạn đường truyền Lưu lượng trường hợp mát: 1.22 MSS RTT L ➜ L = 2·10-10 Phiên TCP dành cho nhu cầu tốc độ cao! Lớp Transport 97 TCP: tính cơng Mục tiêu: K phiên làm việc TCP chia sẻ kết nối cổ chai băng thơng R, phiên có tốc độ trung bình R/K TCP kết nối TCP kết nối router cổ chai khả R Lớp Transport 98 Tại phải TCP công bằng? phiên làm việc cạnh tranh nhau: Additive tăng, lưu lượng tăng multiplicative giảm lưu lượng tương xứng Connection throughput R chia sẻ băng thông mát: giảm cửa sổ 1/2 tránh tắc nghẽn: additive tăng lên mát: giảm cửa sổ 1/2 tránh tắc nghẽn: additive tăng lên Connection throughput R Lớp Transport 99 TCP: tính cơng (tt) Tính cơng & UDP nhiều ứng dụng thường không dùng TCP không muốn tốc độ bị điều tiết điều khiển tắc nghẽn Thay dùng UDP: truyền audio/video với tốc độ ổn định, chịu mát Nghiên cứu: giao thức thân thiện với TCP Tính cơng & kết nối TCP song song ngăn cản việc ứng dụng mở kết nối song song host Trình duyệt Web làm giống Ví dụ: tốc độ R hỗ trợ kết nối ; ứng dụng yêu cầu TCP, có tốc độ R/10 ứng dụng yêu cầu 11 TCP, có tốc độ R/2 ! Lớp Transport 100 Mơ hình trễ Hỏi: Mất để nhận đối tượng từ Web server sau gửi yêu cầu? Bỏ qua tắc nghẽn, trễ bị ảnh hưởng bởi: thiết lập kết nối TCP trễ truyền liệu khởi động chậm Notation, giả định: Giả sử kết nối client server có tốc độ R S: MSS (bits) O: kích thước đối tượng (bits) khơng truyền lại (khơng mát, khơng hỏng) Kích thước cửa sổ: Giả định 1: cửa sổ tắc nghẽn cố định, có W đoạn Sau cửa sổ thay đổi, mơ hình khởi động chậm Lớp Transport 101 Cửa sổ tắc nghẽn cố định (1) Trường hợp đầu tiên: WS/R > RTT + S/R: cho đoạn cửa sổ trả trước cửa sổ liệu gửi ACK trễ = 2RTT + O/R Lớp Transport 102 Cửa sổ tắc nghẽn cố định (2) Trường hợp thứ hai: WS/R < RTT + S/R: sent chờ cho ACK sau gửi liệu trễ = 2RTT + O/R + (K-1)[S/R + RTT - WS/R] Lớp Transport 103 TCP Mơ hình trễ: Khởi động chậm (1) Bây giả sử kích thước cửa sổ tăng lên tùy theo trình khởi động chậm Độ trễ đối tượng là: Latency 2 RTT O S S P RTT ( P 1) R R R P số lần TCP rảnh server: P min{Q , K 1} - Q số lần server rảnh đối tượng khởi tạo kích thước - K số lượng cửa sổ bao trùm đối tượng Lớp Transport 104 TCP Mơ hình trễ: Khởi động chậm (2) Các thành phần trễ: • RTT dành cho thiết lập kết nối yêu cầu • O/R để truyền đối tượng •thời gian server rảnh khởi động chậm in itia te T C P c o n n e c tio n re q u e s t o b je c t f ir s t w in d o w = S /R RTT s e c o n d w in d o w = S /R t h ir d w in d o w = S /R Server rảnh: P = min{K-1,Q} lần Ví dụ: • O/S = 15 đoạn • K = cửa sổ •Q=2 • P = min{K-1,Q} = Server rảnh P=2 lần fo u r th w in d o w = S /R c o m p le te t r a n s m is s io n o b je c t d e liv e r e d tim e a t c lie n t tim e a t s e rv e r Lớp Transport 105 TCP Mơ hình trễ(3) S RTT time from when server starts to send segment R until server receives acknowledgement 2k S time to transmit the kth window R in it ia t e T C P c o n n e c tio n re q u e s t o b je c t S k1 S RTT idle time after the kth window R R f ir s t w in d o w = S /R RTT s e c o n d w in d o w = S /R t h ir d w in d o w = S /R P O delay RTT idleTime p R p 1 P O S S RTT [ RTT k ] R R k 1 R O S S RTT P[ RTT ] (2 P 1) R R R f o u r t h w in d o w = S /R c o m p le t e tr a n s m is s io n o b je c t d e liv e r e d tim e a t c lie n t tim e a t s e rv e r Lớp Transport 106 TCP Mơ hình trễ (4) K = số lượng cửa sổ bao trùm đối tượng Làm tính K ? K min{k : 20 S 21 S k S O} min{k : 20 21 k O / S} O min{k : } S O min{k : k log ( 1)} S O log ( 1) S k cách tính tốn Q tương tự (xem HW) Lớp Transport 107 HTTP Mơ hình Giả sử trang Web chứa: trang HTML (kích thước O bits) M hình ảnh (mỗi kích thướcO bits) HTTP không bền vững: M+1 TCP kết nối Thời gian đáp ứng = (M+1)O/R + (M+1)2RTT + tổng số thời gian rảnh HTTP bền vững: RTT để yêu cầu nhận file HTML RTT để yêu cầu nhận M hình ảnh Thời gian đáp ứng = (M+1)O/R + 3RTT + tổng số thời gian rảnh HTTP không bền vững với X kết nối song song Giả sử M/X số nguyên TCP kết nối cho file M/X thiết lập kết nối song song cho hình ảnh Thời gian đáp ứng = (M+1)O/R + (M/X + 1)2RTT + tổng số thời gian rảnh Lớp Transport 108 HTTP thời gian đáp ứng (giây) RTT = 100 msec, O = Kbytes, M=10 X=5 20 18 16 14 12 10 non-persistent persistent parallel nonpersistent 28 100 10 Kbps Kbps Mbps Mbps Với băng thông thấp, thời gian kết nối & đáp ứng trội thời gian truyền Các kết nối bền vững cho cải thiện không đáng kể kết nối song song Lớp Transport 109 HTTP thời gian đáp ứng (giây) RTT =1 sec, O = Kbytes, M=10 and X=5 70 60 50 40 30 20 10 non-persistent persistent parallel nonpersistent 28 100 10 Kbps Kbps Mbps Mbps Với RTT lớn hơn, thời gian đáp ứng trội thời gian trễ chờ thiết lập kết nối TCP & khởi động chậm Các kết nối bền vững cho thấy cải thiện rõ rệt: đặc biệt với mạng băng thông cao Lớp Transport 110 Chương 3: Tổng kết nguyên lý dịch vụ lớp transport multiplexing, demultiplexing truyền liệu tin cậy điều khiển luồng điều khiển tắc nghẽn khởi tạo thực Internet UDP TCP Tiếp theo: nghiên cứu xong vấn đề “ngoài biên” (các lớp application, transport) chuẩn bị vào phần “lõi” mạng Lớp Transport 111 ... data link physical Lớp Transport Lớp Transport với lớp network lớp network: truyền thông logic host lớp transport: truyền thông logic tiến trình dựa vào làm bật dịch vụ lớp network Tình tự... giao thức lớp Transport Internet: UDP: vận chuyển không kết nối (connectionless) TCP: vận chuyển hướng kết nối (connectionoriented) điều khiển tắc nghẽn TCP Lớp Transport Chương 3: Nội dung... điều khiển tắc nghẽn 3.7 Điều khiển tắc nghẽn TCP Transport Layer 3-3 3.1 Các dịch vụ lớp Transport Lớp Transport Các dịch vụ giao thức Transport cung cấp truyền thông logic l ca gi lo network