1. Trang chủ
  2. » Tất cả

chapter 3 Tầng Vận chuyển (Transport layer)

111 1 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 111
Dung lượng 3,03 MB

Nội dung

Chương Tầng Vận chuyển (Transport layer) A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers) They’re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs They obviously represent a lot of work on our part In return for use, we only ask the following:  If you use these slides (e.g., in a class) that you mention their source (after all, we’d like people to use our book!)  If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Thanks and enjoy! JFK/KWR All material copyright 1996-2012 J.F Kurose and K.W Ross, All Rights Reserved Tầng Transport 3-1 Chương 3: Tầng Vận chuyển Mục tiêu:  Hiểu nguyên lý đằng sau dịch vụ tầng Vận chuyển:  multiplexing/demultiplexin g  Truyền liệu tin cậy  Điều khiển luồng (flow control)  Điều khiển tắc nghẽn (congestion control)  Tìm hiểu giao thức tầng Vận chuyển Internet:  UDP: vận chuyển phi kết nối  TCP: vận chuyển tin cậy hướng kết nối (connection-oriented reliable transport)  Điều khiển tắc nghẽn TCP Tầng Transport 3-2 Chương 3: Nội dung 3.1 dịch vụ tầng Vận chuyển 3.2 multiplexing demultiplexing 3.3 vận chuyển phi kết nối: UDP 3.4 nguyên lý truyền liệu tin cậy 3.5 vận chuyển hướng kết nối: TCP  Cấu trúc segment  Truyền liệu tin cậy  Điều khiển luồng (flow control)  Quản lý kết nối 3.6 nguyên lý điều khiển tắc nghẽn 3.7 điều khiển tắc nghẽn TCP Tầng Transport 3-3 Các giao thức dịch vụ tầng Vận chuyển    Cung cấp truyền thông logic tiến trình ứng dụng chạy host khác Các giao thức (protocol) chạy hệ thống đầu cuối  Phía gửi: chia nhỏ thơng điệp (message) ứng dụng thành segments, sau chuyển segments cho tầng Mạng  Phía nhận: tái kết hợp segments thành thông điệp (message), thông điệp chuyển lên tầng Ứng dụng Có nhiều giao thức tầng Vận chuyển dành cho ứng dụng  Internet: TCP UDP application transport network data link physical application transport network data link physical Tầng Transport 3-4 Quan hệ Tầng Vận chuyển tầng Mạng   Tầng Mạng: truyền thông logic host Tầng Vận chuyển: truyền thông logic tiến trình  Dựa dịch vụ tầng Mạng Tình tương tự: 12 đứa trẻ nhà Ann gửi thư đến 12 đứa trẻ nhà Bill:  hosts = nhà  Các tiến trình (processes) = đứa trẻ  Thông điệp tầng Ứng dụng = thư phong bì  Giao thức tầng Vận chuyển = Ann and Bill  Giao thức tầng Mạng= dịch vụ bưu điện Tầng Transport 3-5 Các giao thức tầng Vận chuyển Internet  Tin cậy, truyền theo thứ tự (TCP)  Điền khiển tắc nghẽn  Điều khiển luồng  Thiết lập kết nối  Không tin cậy, truyền không theo thứ tự: UDP  Không rườm rà, “nỗ lực tốt nhất” (best-effort)  Khơng có dịch vụ: application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical  Bảo đảm độ trễ  Bảo đảm băng thông Tầng Transport 3-6 Chương Nội dung 3.1 dịch vụ tầng Vận chuyển 3.2 multiplexing demultiplexing 3.3 vận chuyển phi kết nối: UDP 3.4 nguyên lý truyền liệu tin cậy 3.5 vận chuyển hướng kết nối: TCP  Cấu trúc segment  Truyền liệu tin cậy  Điều khiển luồng (flow control)  Quản lý kết nối 3.6 nguyên lý điều khiển tắc nghẽn 3.7 điều khiển tắc nghẽn TCP Tầng Transport 3-7 Multiplexing/demultiplexing Multiplexing bên gửi: xử lý liệu từ nhiều socket, thêm thông tin header tầng Vận chuyển vào segment (được sử dụng sau cho demultiplexing) demultiplexing bên nhận: sử dụng thông tin header để chuyển segment vừa nhận vào socket application application P1 P2 application P3 transport P4 transport network transport network link network physical link link physical socket tiến trình physical Tầng Transport 3-8 demultiplexing làm việc  host nhận gói liệu (datagram) IP  Mỗi gói liệu có địa IP nguồn đích  Mỗi gói liệu mang segment tầng Vận chuyển  Mỗi segment có số port nguồn đích  host dùng địa IP số port để gởi segment đến socket thích hợp 32 bits Số port nguồn Số port đích other header fields application data (payload) Định dạng segment TCP/UDP Tầng Transport 3-9 Demultiplexing khơng kết nối  Ơn lại: socket tạo có số port host cục (host-local port #) : DatagramSocket mySocket1 new DatagramSocket(12534);  Khi host nhận segment UDP :  Kiểm tra số port đích segment  Đưa segment UDP đến socket có số port =  Ơn lại: tạo gói liệu (datagram) để gởi vào đến socket UDP socket, phải xác định  Địa IP đích  Số port đích Các gói liệu IP với số port đích, khác địa IP nguồn và/hoặc khác số port nguồn chuyển đến socket máy đích Tầng Transport 3-10 Ví dụ: điều khiển tắc nghẽn ATM ABR ABR: available bit rate:    “dịch vụ mềm dẻo” Nếu đường gửi “dưới tải”:  Bên gửi dùng băng thông trống Nếu đường gửi bị tắc nghẽn:  Bên gửi điều tiết với tốc độ tối thiểu bảo đảm Các gói RM (resource management cell):    Được gửi bên gửi, xen kẽ với gói liệu Các bit RM cell thiết lập switch  NI bit: không tăng tốc độ (tắc nghẽn nhẹ)  CI bit: tắc nghẽn rõ rệt Các RM cell trả bên gửi từ bên nhận với nguyên vẹn bit Tầng Transport 3-97 Ví dụ: điều khiển tắc nghẽn ATM ABR RM cell  data cell Trường byte ER (tốc độ tường minh) cell RM  Switch bị tắc nghẽn giảm giá trị ER gói  tốc độ gửi điều tiết cho phù hợp với tốc độ tối đa mà đường truyền hỗ trợ  Bit EFCI bit cell liệu: thiết lặp switch bị tắc nghẽn  Nếu gói liệu đứng trước RM cell có bit EFCI bật lên, bên gửi bật bit CI RM cell trả Tầng Transport 3-98 Chương Nội dung 3.1 dịch vụ tầng 3.5 vận chuyển hướng Vận chuyển kết nối: TCP  Cấu trúc segment 3.2 multiplexing  Truyền liệu tin cậy demultiplexing  Điều khiển luồng (flow 3.3 vận chuyển phi kết control) nối: UDP  Quản lý kết nối 3.4 nguyên lý 3.6 nguyên lý điều truyền liệu tin khiển tắc nghẽn cậy 3.7 điều khiển tắc nghẽn TCP Tầng Transport 3-99 TCP điều khiển tắc nghẽn: tăng theo cấp số cộng, giảm theo cấp số nhân Hướng tiếp cận: bên gửi tăng tốc độ truyền (kích thước cửa sổ), thăm dị băng thơng sử dụng, mát gói xảy  tăng theo cấp số cộng (additive increase): tăng cwnd (congestion window) lên MSS sau RTT gói xảy  giảm theo cấp số nhân (multiplicative decrease): giảm nửa cwnd sau gói xảy AIMD saw tooth behavior: thăm dị băng thông cwnd: TCP sender congestion window size  additively increase window size … … Cho đến gói xảy (thì giảm kích thước cửa sổ) time Tầng Transport 3-100 TCP điều khiển tắc nghẽn: chi tiết TCP tốc độ gửi:  Ước lượng: khối lượng byte gửi (cwnd) đợi ACK khoảng thời gian RTT sender sequence number space cwnd last byte ACKed  last byte sent, not- sent yet ACKed (“inflight”) Bên gửi giới hạn truyền tải: LastByteSent- LastByteAcked <  cwnd rate ~ ~ cwnd RTT bytes/sec cwnd thay đổi, chức nhận biết tắc nghẽn mạng Tầng Transport 3-101 TCP Slow Start Khi kết nối bắt đầu, tăng tốc độ theo cấp số nhân kiện gói xảy ra: Host B RTT  Host A  initially cwnd = MSS  Gấp đôi cwnd RTT  Được thực cách tăng cwnd cho ACK nhận  Tóm lại: tốc độ ban đầu chậm, tăng lên theo cấp số nhân time Tầng Transport 3-102 TCP: phát hiện, phản ứng gói  TCP RENO  Mất gói timeout: • cwnd thiết lặp MSS; • Sau kích thước cửa sổ tăng theo cấp số nhân (như slow start) đến ngưỡng, sau tăng tuyến tính Mất gói ACK trùng lặp : • Các ACK trùng lặp mạng có khả truyền • cwnd bị cắt nửa sau tăng theo tuyến tính  TCP TAHOE ln ln thiết lặp cwnd (timeout ack trùng nhau) Tầng Transport 3-103 TCP: chuyển từ slow start qua CA Hỏi: tăng cấp lũy thừa nên chuyển qua tuyến tính? Trả lời: cwnd 1/2 giá trị trước thời gian timeout Thực hiện:   ssthresh thay đổi Khi gói, ssthresh thiết lặp 1/2 cwnd trước gói Tầng Transport 3-104 Tóm tắt: TCP điều khiển tắc nghẽn ACK trùng dupACKcount++ L cwnd = MSS ssthresh = 64 KB dupACKcount = slow start timeout ssthresh = cwnd/2 cwnd = MSS dupACKcount = Truyền lại segmentt thiếu dupACKcount == ssthresh= cwnd/2 cwnd = ssthresh + Truyền lại segmentt thiếu New ACK! New ACK! new ACK cwnd = cwnd + MSS (MSS/cwnd) dupACKcount = Truyền segment(s) mới, phép new ACK cwnd = cwnd+MSS dupACKcount = Truyền segment(s) mới, phép cwnd > ssthresh L timeout ssthresh = cwnd/2 cwnd = MSS dupACKcount = Truyền lại segmentt thiếu timeout ssthresh = cwnd/2 cwnd = dupACKcount = Truyền lại segmentt thiếu congestion avoidance duplicate ACK dupACKcount++ New ACK! New ACK cwnd = ssthresh dupACKcount = dupACKcount == ssthresh= cwnd/2 cwnd = ssthresh + Truyền lại segmentt thiếu fast recovery duplicate ACK cwnd = cwnd + MSS Truyền segment(s) mới, phép Tầng Transport 3-105 TCP thông lượng (throughtput)  Thơng lượng trung bình TCP chức kích thước cửa sổ RTT?  Bỏ qua slow start, giả sử liệu ln gởi  W: kích thước cửa sổ (được đo byte) gói xảy  Kích thước cửa sổ trung bình (# in-flight bytes) ¾ W  Thơng lượng trung bình 3/4W RTT avg TCP thruput = W bytes/sec RTT W W/2 Tầng Transport 3-106 TCP tương lai: TCP qua “ống lớn dài”    Ví dụ: segment 1500 byte, 100ms RTT, muốn thơng lượng 10 Gbps Kích thước cửa sổ yêu cầu W = 83,333 segment đường truyền Thơng lượng trường hợp gói, L [Mathis 1997]: MSS 1.22 TCP throughput = RTT L ➜ để đạt thơng lượng 10 Gbps, cần lệ gói L = 2·10-10 – tỷ lệ gói nhỏ!  Phiên TCP cho tốc độ cao Tầng Transport 3-107 TCP Công Mục tiêu cơng bằng: có K session TCP chia đường link bị bóp cổ chai băng thơng R, phiên nên có tốc độ trung bình R/K Kết nối TCP Router cổ chai Khả R Kết nối TCP Tầng Transport 3-108 Tại TCP công bằng? session cạnh tranh nhau:  Tăng theo cấp số cộng 1, thông lượng tăng  Giảm lưu lượng theo cấp số nhân tương úng R Chia sẻ băng thông Mất gói: giảm kích thước cửa sổ Tránh tắc nghẽn: tăng theo cấp số cộng Mất gói: giảm kích thước cửa sổ Tránh tắc nghẽn: tăng theo cấp số cộng Connection throughput R Tầng Transport 3-109 Công (tt) 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 gói Cơng bằng, kết nối TCP song song  ứng dụng mở nhiều kết nối song song host  Trình duyệt web làm điều  Ví dụ: đường link với tốc độ R có kết nối:  ứng dụng yêu cầu mở kết nối TCP, có tốc độ R/10  ứng dụng yêu cầu mở 11 kết nối TCP, có tốc độ R/2 Tầng Transport 3-110 Chương 3: Tóm tắt   Các nguyên lý dịch vụ tầng Vận chuyển:  multiplexing, demultiplexing  Truyền liệu tin cậy  Điều khiển luồng (flow control)  Điều khiển tắc nghẽn (congestion control) Khởi tạo thực Internet  UDP  TCP Kế tiếp:  Tìm hiểu xong vấn đề mạng “biên” (các tầng Ứng dụng, tầng Vận chuyển)  Chuẩn bị vào phần mạng “lõi” Tầng Transport 3-111 ... băng thông Tầng Transport 3- 6 Chương Nội dung 3. 1 dịch vụ tầng Vận chuyển 3. 2 multiplexing demultiplexing 3. 3 vận chuyển phi kết nối: UDP 3. 4 nguyên lý truyền liệu tin cậy 3. 5 vận chuyển hướng... Transport 3- 2 Chương 3: Nội dung 3. 1 dịch vụ tầng Vận chuyển 3. 2 multiplexing demultiplexing 3. 3 vận chuyển phi kết nối: UDP 3. 4 nguyên lý truyền liệu tin cậy 3. 5 vận chuyển hướng kết nối: TCP  Cấu... data link physical Tầng Transport 3- 4 Quan hệ Tầng Vận chuyển tầng Mạng   Tầng Mạng: truyền thông logic host Tầng Vận chuyển: truyền thơng logic tiến trình  Dựa dịch vụ tầng Mạng Tình tương

Ngày đăng: 25/02/2023, 15:51