Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
2,74 MB
Nội dung
ChươngTầnggiaovận Computer Networking: A Top Down Approach Người dịch: Nguyễn Thanh Thủy Tài liệu dịch cho mục đích giảng dạy (được đồng ý tác giả) 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 All material copyright 1996-2012 J.F Kurose and K.W Ross, All Rights Reserved Tầnggiaovận 3-1 Chương3:Tầnggiaovận Mục đích: Hiểu nguyên lý đằng sau dịch vụ tầnggiao vận: Ghép kênh/phân kênh (multiplexing, demultiplexing) 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 tầnggiaovậnmạng Internet: UDP: vận chuyển không kết nối TCP: Vận chuyển tin cậy, hướng kết nối Điều khiển tắc nghẽn TCP Tầnggiaovận 3-2 Chương3: Nội dung 3.1 Các dịch vụ tầnggiaovận 3.2 Ghép kênh phân kênh 3.3 Vận chuyển không kết nối: UDP 3.4 Các 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 đoạn liệu (segment) 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 Tầnggiaovận 3-3 Các dịch vụ giao thức tầnggiaovận Cung cấp truyền thơng logic tiến trình ứng dụng chạy host khác Giao thức tầnggiaovận 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 (segment), chuyển xuống tầngmạng Phía nhận: Tập hợp lại đoạn thành thông điệp, chuyển lên tầng ứng dụng Có nhiều giao thức tầnggiaovận dành cho ứng dụng application transport network data link physical application transport network data link physical Internet: TCP UDP Tầnggiaovận 3-4 Tầnggiaovậntầngmạng Tầng mạng: truyền thông logic host Tầnggiao vận: truyền thơng logic tiến trình Dựa vào nâng cao dịch vụ tầngmạng Tình tương tự: 12 em bé nhà Ann gửi thư đến 12 em bé nhà Bill: Các host = Các ngơi nhà Các tiến trình = em bé Thông điệp ứng dụng = Nội dung thư (trong bì thư) Giao thức giaovận = Quy ước em bé nhà Ann nhà Bill Giao thức tầngmạng = Dịch vụ bưu điện Tầnggiaovận 3-5 Các giao thức tầnggiaovận Internet Truyền tin cậy, theo thứ tự: TCP Điều khiển tắc nghẽn Điều khiển luồng Thiết lập kết nối Truyền không tin cậy, không theo thứ tự: UDP Mở rộng giao thức IP Khơng có dịch vụ: Đảm bảo trễ Đảm bảo băng thông 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 Tầnggiaovận 3-6 Chương3: Nội dung 3.1 Các dịch vụ tầnggiaovận 3.2 Ghép kênh phân kênh 3.3 Vận chuyển không kết nối: UDP 3.4 Các 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 đoạn liệu (segment) 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 Tầnggiaovận 3-7 Ghép kênh/Phân kênh Ghép kênh phía gửi: Phân kênh phía nhận: Xử lý liệu từ nhiều socket, thêm phần tiêu đề tầnggiaovận (sau dùng cho việc phân kênh) Sử dụng thông tin phần tiêu đề để phân phối đoạn liệu (segment) nhận đến socket application application P1 P2 application P3 transport P4 transport network transport network link network link physical physical socket Tiến trình link physical Tầnggiaovận 3-8 Việc phân kênh thực nào? Host nhận IP datagram 32 bits Mỗi datagram có địa nguồn IP địa IP đích Mỗi datagram mang đoạn liệu tầnggiaovận Mỗi segment có số hiệu cổng nguồn số hiệu cổng đích Số cổng nguồn Số cổng đích Các trường khác tiêu đề Dữ liệu ứng dụng (payload) Host sử dụng địa IP & số hiệu cổng để định hướng đoạn đến socket phù hợp Định dạng TCP/UDP segment Tầnggiaovận 3-9 Phân kênh hướng không kết nối Tạo socket có số hiệu cổng cục host: DatagramSocket mySocket1 = new DatagramSocket(12534); Khi host nhận UDP segment: Kiểm tra số hiệu cổng đích segment Định hướng UDP segment tới socket tương ứng với số hiệu cổng Khi tạo datagram để gửi vào UDP socket, cần phải xác định: Địa IP đích Số hiệu cổng đích Các IP datagram với số hiệu cổng đích, có địa IP nguồn và/hoặc số hiệu cổng nguồn khác định hướng tới socket đích Tầnggiaovận 3-10 Ví dụ phân kênh hướng không kết nối DatagramSocket mySocket2 = new DatagramSocket (9157); DatagramSocket serverSocket = new DatagramSocket (6428); application application DatagramSocket mySocket1 = new DatagramSocket (5775); application P1 P3 P4 transport transport transport network network network link link physical link physical physical Cổng nguồn: 6428 Cổng đích: 9157 Cổng nguồn: ? Cổng đích: ? Cổng nguồn: ? Cổng đích: ? Cổng nguồn: 9157 Cổng đích: 6428 Tầnggiaovận 3-11 Phân kênh hướng kết nối TCP socket xác định bộ-4 giá trị: Địa IP nguồn Số hiệu cổng nguồn Địa IP đích Số hiệu cổng đích Phân kênh: Phía nhận sử dụng bốn giá trị để định hướng segment tới socket phù hợp Host server hỗ trợ nhiều TCP socket đồng thời: Mỗi socket xác định bộ-4 giá trị Web server có socket khác cho kết nối từ client Kết nối HTTP khơng bền vững có socket khác cho yêu cầu Tầnggiaovận 3-12 Ví dụ phân kênh hướng kết nối application application P4 P5 application P6 P3 P3 P2 transport transport transport network network link link physical network link physical Server: địa IP B IP, cổng nguồn: B,80 IP, port đích: A,9157 Host: địa IP A physical Host: địa IP C IP, cổng nguồn: C,5775 IP, cổng đích: B,80 IP, cổng nguồn: A,9157 IP, cổng đích: B,80 IP, cổng nguồn: C,9157 IP, cổng đích: B,80 Cả ba segment, hướng tới địa IP: B, cổng đích: 80, phân kênh tới socket khác Tầnggiaovận 3-13 Ví dụ phân kênh hướng kết nối Server phân luồng application application P3 application P4 P3 P2 transport transport link link physical physical Host: địa IP A transport network network network link Server: địa IP B IP,cổng nguồn: B,80 IP,cổng đích: A,9157 physical IP,cổng nguồn: C,5775 IP,cổng đích: B,80 Host: địa IP C IP,cổng nguồn: A,9157 IP, cổng đích: B,80 IP,cổng nguồn: C,9157 IP,cổng đích: B,80 Tầnggiaovận 3-14 Chương3: Nội dung 3.1 Các dịch vụ tầnggiaovận 3.2 Ghép kênh phân kênh 3.3 Vận chuyển không kết nối: UDP 3.4 Các 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 đoạn liệu (segment) 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 Tầnggiaovận 3-15 UDP: User Datagram Protocol [RFC 768] Là giao thức tầnggiaovậnmạng Internet Dịch vụ “best effort”, UDP segment có thể: Bị Được vận chuyển không thứ tự tới ứng dụng Hướng khơng kết nối: Khơng có giai đoạn bắt tay bên gửi bên nhận UDP Mỗi UDP segment xử lý độc lập với segment khác UDP dùng trong: Các ứng dụng streaming multimedia (chịu mát liệu, bị ảnh hưởng tốc độ) DNS SNMP Truyền tin cậy UDP: Bổ sung đặc tính tin cậy vào tầng ứng dụng Khôi phục lỗi cụ thể ứng dụng Tầnggiaovận 3-16 UDP: Tiêu đề segment 32 bits source port # dest port # length checksum Chiều dài, tính theo số byte UDP segment, bao gồm phần tiêu đề Tại lại dùng UDP? Dữ liệu ứng dụng (payload) Định dạng UDP segment Không cần thiết lập kết nối (vì việc làm tăng độ trễ) Đơn giản: không lưu trạng thái kết nối bên gửi, bên nhận Kích thước tiêu đề nhỏ Khơng điều khiển tắc nghẽn: UDP gửi nhanh theo mong muốn Tầnggiaovận 3-17 UDP checksum Mục tiêu: Phát “lỗi” (ví dụ: bit bị bật lên) segment truyền đến Bên gửi: Xử lý nội dung đoạn, bao gồm trường tiêu đề, chuỗi số nguyên 16-bit checksum: bổ sung thêm (tổng bù 1) vào nội dung segment Bên gửi đặt giá trị checksum vào trường checksum UDP Bên nhận: Tính tốn checksum segment nhận Kiểm tra xem checksum tính có giá trị trường checksum hay khơng: KHƠNG – phát có lỗi CĨ – khơng phát lỗi Nhưng có lỗi mà chưa phát hiện? Xem thêm phần sau … Tầnggiaovận 3-18 Ví dụ: checksum Internet Ví dụ: Cộng hai số nguyên 16-bit 1 1 0 1 0 1 0 1 1 1 1 1 1 Bit dư 1 1 1 1 1 1 Tổng 1 1 1 1 1 1 0 checksum 1 0 0 0 0 1 Chú ý: Khi cộng số nguyên, bit nhớ phía cao cần phải thêm vào kết Tầnggiaovận 3-19 10 TCP: đóng kết nối Mỗi bên client server thực đóng kết nối Gửi TCP segment với bit FIN = Đáp ứng lại FIN nhận ACK FIN, ACK nhận kết nối với FIN Có thể thực đồng trao đổi FIN Tầnggiaovận 3-82 TCP: đóng kết nối Trạng thái client Trạng thái server ESTAB ESTAB clientSocket.close() FIN_WAIT_1 FIN_WAIT_2 Khơng thể gửi nữa, nhận liệu FINbit=1, seq=x CLOSE_WAIT ACKbit=1; ACKnum=x+1 Chờ server đóng Vẫn gửi liệu LAST_ACK FINbit=1, seq=y Không thể gửi liệu thêm TIMED_WAIT chờ khoảng thời gian 2*max thời gian sống segment ACKbit=1; ACKnum=y+1 CLOSED CLOSED Tầnggiaovận 3-83 14 Chương3: Nội dung 3.1 Các dịch vụ tầnggiaovận 3.2 Ghép kênh phân kênh 3.3 Vận chuyển không kết nối: UDP 3.4 Các 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 đoạn liệu (segment) 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 Tầnggiaovận 3-84 Các nguyên lý điều khiển tắc nghẽn Tắc nghẽn: Có thể hiểu là: “quá nhiều nguồn gửi nhiều liệu với tốc độ nhanh tới mạng” Khác điều khiển luồng liệu! Các biểu chính: Mất gói tin (tràn đệm định tuyến) Trễ lâu (hàng đợi dài vùng đệm định tuyến) Là mười vấn đề nan giải mạng! Tầnggiaovận 3-85 Các nguyên nhân/chi phí tắc nghẽn: tình Dữ liệu gốc: lin Hai bên gửi, hai bên nhận Một định tuyến với vùng đệm không giới hạn Khả liên kết ra: R Khơng có truyền lại Thông lượng: lout Host A Vùng đệm liên kết không giới hạn Host B Trễ lout R/2 lin lin R/2 Thông lượng lớn kết nối: R/2 R/2 Trễ lớn tốc độ đến, lin, tiệm cận đến thông lượng tối đa Tầnggiaovận 3-86 Các nguyên nhân/chi phí tắc nghẽn: tình Một định tuyến, vùng đệm có giới hạn Bên gửi truyền lại gói tin bị timeout Đầu vào tầng ứng dụng = đầu tầng ứng dụng: lin = lout ‘ in lin Đầu vào tầnggiaovận bao gồm việc truyền lại l lin : liệu gốc l'in: liệu gốc, cộng lout thêm liệu truyền lại Host A Host B Vùng đệm liên kết có giới hạn Tầnggiaovận 3-87 Các nguyên nhân/chi phí tắc nghẽn: tình lout R/2 Lý tưởng hóa: hiểu biết hồn hảo Bên gửi gửi vùng đệm định tuyến sẵn sàng lin lin : liệu gốc l'in: liệu gốc, cộng Sao chép R/2 lout thêm liệu truyền lại A Khơng gian vùng đệm trống! Vùng đệm liên kết có giới hạn Host B Tầnggiaovận 3-88 Các ngun nhân/chi phí tắc nghẽn: tình Lý tưởng hóa: biết mát Các gói tin bị mất, bị bỏ rơi định tuyến vùng đệm bị đầy Bên gửi gửi lại gói tin biết bị lin : liệu gốc l'in: liệu gốc, cộng Sao chép lout thêm liệu truyền lại A Khơng khơng gian đệm! Host B Tầnggiaovận 3-89 Các nguyên nhân/chi phí tắc nghẽn: tình Các gói tin bị mất, bị bỏ rơi định tuyến vùng đệm bị đầy Bên gửi gửi lại gói tin biết bị R/2 lout Lý tưởng hóa: biết mát lin R/2 lin : liệu gốc l'in: liệu gốc, cộng Khi gửi với tốc độ R/2, số gói tin truyền lại tiệm cận đến tốc độ R/2 (Tại sao?) lout thêm liệu truyền lại Không gian vùng đệm trống! ! A Host B Tầnggiaovận 3-90 Các ngun nhân/chi phí tắc nghẽn: tình Thực tế: Các gói tin bị mất, bị bỏ rơi định tuyến vùng đệm bị đầy Nếu bên gửi timeout sớm, gửi hai gói tin, hai phân phối đến đích R/2 lout lin l'in timeout Sao chép A lin R/2 Khi gửi với tốc độ R/2, số gói tin truyền lại bao gồm phân phối đến đích! lout Khơng gian vùng đệm trống! Host B Tầnggiaovận 3-91 Các nguyên nhân/chi phí tắc nghẽn: tình Các gói tin bị mất, bị bỏ rơi định tuyến vùng đệm bị đầy Nếu bên gửi timeout sớm, gửi hai gói tin, hai phân phối đến đích R/2 lout Thực tế: lin R/2 Khi gửi với tốc độ R/2, số gói tin truyền lại bao gồm phân phối đến đích! “Chi phí” tắc nghẽn: Nhiều việc (truyền lại), với lưu lượng xác định Không cần thiết phải truyền lại: liên kết mang nhiều gói tin Làm giảm lưu lượng Tầnggiaovận 3-92 Các ngun nhân/chi phí tắc nghẽn: tình Bốn bên gửi Nhiều đường đến đích timeout/truyền lại Host A Hỏi: Điều xảy lin lin’ tăng lên? Trả lời: Nếu lin’ (đỏ) tăng lên, tất gói tin màu xanh nước biển đến hàng đợi phía bị bỏ rơi, thông lượng màu xanh nước biển tiến đến lin : liệu gốc l'in: liệu gốc, cộng lout Host B thêm liệu truyền lại Vùng đệm liên kết có giới hạn Host D Host C Tầnggiaovận 3-93 Các ngun nhân/chi phí tắc nghẽn: tình lout C/2 lin’ C/2 “Chi phí” khác tắc nghẽn: Khi gói tin bị bỏ rơi, luồng lưu lượng truyền cho gói tin lãng phí! Tầnggiaovận 3-94 Phương pháp tiếp cận hướng tới điều khiển tắc nghẽn Hai cách tiếp cận hướng tới điều khiển tắc nghẽn: Điều khiển tắc nghẽn end-end: Khơng có phản hồi rõ ràng từ mạng Tắc nghẽn suy từ tượng mát trễ quan sát hệ thống đầu cuối Cách tiếp cận thực TCP Điều khiển tắc nghẽn có hỗ trợ từ mạng: Các định tuyến cung cấp phản hồi tới hệ thống đầu cuối bit đơn thị tắc nghẽn (SNA, DECbit, TCP/IP ECN, ATM) Tốc độ gửi xác định rõ ràng Tầnggiaovận 3-95 Case study: điều khiển tắc nghẽn ATM ABR ABR: tốc độ bit có sẵn: “Dịch vụ mềm dẻo” Nếu đường dẫn phía bên gửi “dưới tải” thì: Bên gửi nên dùng băng thơng có sẵn Nếu đường dẫn bên gửi bị tắc nghẽn thì: Bên gửi nên giảm để đảm bảo tốc độ tối thiểu Các cell RM (quản lý tài nguyên): Được gửi bên gửi, xen kẽ với cell liệu Các bit cell RM thiết lập switch (“có hỗ trợ từ mạng”) bit NI: không tăng theo tốc độ (tắc nghẽn nhẹ) bit CI: xác định tắc nghẽn Các cell RM trả lại bên gửi từ bên nhận, với bit nguyên vẹn Tầnggiaovận 3-96 Case study: điều khiển tắc nghẽn ATM ABR Cell RM Cell liệu Hai byte trường ER (explicit rate) cell RM Switch bị tắc nghẽn có giá trị ER thấp cell Bên gửi gửi với tốc độ hỗ trợ lớn đường truyền Bit EFCI cell liệu: thiết lập switch bị tắc nghẽn Nếu cell liệu trước cell RM có EFCI thiết lập, bên nhận thiết lập bit CI cell RM trả Tầnggiaovận 3-97 Chương3: Nội dung 3.1 Các dịch vụ tầnggiaovận 3.2 Ghép kênh phân kênh 3.3 Vận chuyển không kết nối: UDP 3.4 Các 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 đoạn liệu (segment) 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 Tầnggiaovận 3-98 Điều khiển tắc nghẽn TCP: Tăng theo cấp số cộng Giảm theo cấp số nhân Cách 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, có mát xảy Tăng theo cấp số cộng: tăng cwnd theo MSS RTT phát mát Giảm theo cấp số nhân: giảm cwnd nửa sau phát có mát Thăm dò băng thơng cwnd: Kích thước cửa sổ tắc nghẽn TCP bên gửi Tăng kích thước cửa sổ theo cấp số cộng… … Cho đến mát xảy (thì giảm kích thước cửa sổ nửa) Thời gian Tầnggiaovận 3-99 Chi tiết điều khiển tắc nghẽn TCP sender sequence number space cwnd last byte ACKed last byte sent, not-yet sent ACKed (“in-flight”) Bên gửi giới hạn việc truyền: Tốc độ gửi TCP: Được hiểu là: gửi cwnd byte, chờ RTT cho ACK, sau gửi nhiều byte Tốc độ ~ ~ cwnd RTT bytes/sec LastByteSent< cwnd LastByteAcked cwnd thay đổi, có chức nhận biết tắc nghẽn mạngTầnggiaovận 3-100 TCP khởi động chậm Khi kết nối bắt đầu, tăng tốc độ lên theo cấp số nhân có kiện mát xảy ra: Host B RTT Host A Khởi tạo cwnd = MSS Tăng gấp đôi cwnd cho RTT Thưc tăng cwnd cho ACK nhận Tổng kết: tốc độ khởi đầu chậm sau tăng lên theo cấp số nhân Thời gian Tầnggiaovận 3-101 Phát phản ứng lại có mát Mất mát xác định bị timeout: cwnd thiết lập lại MSS; Cửa sổ sau tăng theo cấp số nhân (như khởi động chậm) tới ngưỡng, tăng tuyến tính Mất mát xác định thấy ACK trùng lặp: TCP RENO Các ACK trùng lặp xác định khả truyền segment mạng cwnd giảm nửa kích thước cửa sổ, sau tăng tuyến tính TCP Tahoe ln đặt cwnd (khi có timeout ACK trùng lặp) Tầnggiaovận 3-102 Hiện thực TCP Hỏi: Khi nên chuyển từ tăng theo cấp số nhân sang tăng tuyến tính? Trả lời: cwnd đạt đến 1/2 giá trị trước timeout Cài đặt: Biến ssthresh Với kiện mát, ssthresh đặt 1/2 cwnd trước có mát xảy Tầnggiaovận 3-103 10 Tổng kết điều khiển tắc nghẽn TCP Khi cwnd ssthresh, bên gửi giai đoạn khởi động chậm, kích thước cửa sổ tăng nhanh theo cấp số nhân Khi cwnd ssthresh, bên gửi giai đoạn tránh tắc nghẽn, kích thước cửa sổ tăng nhanh theo cấp tuyến tính Khi có ACK trùng lặp xảy ra, ssthresh = cwnd/2 cwnd = ssthresh Khi timeout xảy ra, ssthresh = cwnd/2 cwnd=1 MSS Tầnggiaovận 3-104 Tổng kết điều khiển tắc nghẽn TCP duplicate ACK dupACKcount++ L cwnd = MSS ssthresh = 64 KB dupACKcount = Khởi động chậm timeout ssthresh = cwnd/2 cwnd = MSS dupACKcount = retransmit missing segment dupACKcount == ssthresh= cwnd/2 cwnd = ssthresh + retransmit missing segment New ACK! new ACK cwnd = cwnd+MSS dupACKcount = transmit new segment(s), as allowed cwnd > ssthresh L timeout ssthresh = cwnd/2 cwnd = MSS dupACKcount = retransmit missing segment timeout ssthresh = cwnd/2 cwnd = dupACKcount = retransmit missing segment New ACK! new ACK cwnd = cwnd + MSS (MSS/cwnd) dupACKcount = transmit new segment(s), as allowed Tránh tắc nghẽn duplicate ACK dupACKcount++ New ACK! New ACK cwnd = ssthresh dupACKcount = dupACKcount == ssthresh= cwnd/2 cwnd = ssthresh + retransmit missing segment Khôi phục nhanh duplicate ACK cwnd = cwnd + MSS transmit new segment(s), as allowed Tầnggiaovận 3-105 11 Thông lượng TCP Thông lượng trung bình TCP xác định qua kích thước cửa sổ RTT nào? Bỏ qua khởi động chậm, giả sử liệu luôn gửi W: kích thước cửa sổ (được tính byte) có mát xảy Kích thước cửa sổ trung bình (số byte lưu lượng) ¾ W Thơng lượng trung bình ¾ W RTT Thông lượng TB TCP = W bytes/sec RTT W W/2 Tầnggiaovận 3-106 TCP tương lai: TCP qua “đường truyền rộng dài” Ví dụ: Các segment dài 1500 byte, RTT 100ms, muốn đạt thông lượng là10 Gbps Yêu cầu lưu lượng với kích thước cửa sổ W = 83,333 segment Thông lượng xác suất đoạn L [Mathis 1997]: Thông lượng TCP = 1.22 MSS RTT L ➜ Để có thơng lượng 10 Gbps, cần tỷ lệ mát L = 2·10-10 – tỷ lệ mát nhỏ! Các phiên TCP dành cho tốc độ cao Tầnggiaovận 3-107 12 Tính cơng TCP Mục tiêu: Nếu K phiên làm việc TCP chia sẻ liên kết nút cổ chai có băng thơng R, phiên nên có tốc độ trung bình R/K Kết nối TCP Kết nối TCP Bộ định tuyến nút cổ chai có băng thông R Tầnggiaovận 3-108 Tại TCP công bằng? Hai phiên làm việc cạnh tranh nhau: Tăng theo cấp số cộng làm tăng lưu lượng liên tục Giảm theo cấp số nhân làm giảm lưu lượng tương ứng R Chia sẻ băng thông Mất mát: Giảm cửa sổ 1/2 Tránh tắc nghẽn: tăng theo cấp số cộng Mất mát: Giảm cửa sổ 1/2 Tránh tắc nghẽn: tăng theo cấp số cộng Kết nối thông lượng R Tầnggiaovận 3-109 13 Tính cơng (tiếp) Tính cơng UDP Các ứng dụng đa phương tiện thường không dùng TCP Không muốn tốc độ bị chặn điều khiển tắc nghẽn Thay dùng UDP: Gửi audio/video với tốc độ ổn định, chịu mát gói tin Tính cơng kết nối song song TCP Ứng dụng mở nhiều kết nối song song hai host Các trình duyệt web làm theo cách Ví dụ: liên kết có 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 Tầnggiaovận 3-110 Chương3: Tổng kết Các nguyên lý dịch vụ tầnggiao vận: Ghép kênh, phân kênh Truyền liệu tin cậy Điều khiển luồng Điều khiển tắc nghẽn Hiện thực mạng Internet: UDP TCP Tiếp theo: Kết thúc vấn đề liên quan đến “phần cạnh” mạng (tầng ứng dụng tầnggiao vận) Chuẩn bị vào “phần lõi” mạngTầnggiaovận 3-111 14