Mạng máy tính - Bài 7: Tầng truyền tải
Bạn đang xem 20 trang mẫu của tài liệu "Mạng máy tính - Bài 7: Tầng truyền tải", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- mang_may_tinh_bai_7_tang_truyen_tai.pdf
Nội dung text: Mạng máy tính - Bài 7: Tầng truyền tải
- Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng Mạng máy tính ThS. NGUYỄN CAO ĐẠT E-mail:dat@cse.hcmut.edu.vn
- Bài giảng 7: Tầng truyền tải (tt) Tham khảo: Chương 3: “Computer Networking – A top-down approach” Kurose & Ross, 5th ed., Addison Wesley, 2010. Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 2
- Chương 3: Mục lục 3.1 Các dịch vụ tầng-truyền tải 3.4 Sự truyền tải hướng 3.2 Sự dồn và tách kết nối : TCP cấu trúc đoạn tin 3.3 Sự truyền tải không kết nối: UDP truyền tải dự liệu tin cậy kiểm soát lưu lượng quản lý kết nối 3.5 Các nguyên lý của kiểm soát tắc nghẽn 3.6 Kiểm soát tắc nghẽn trong TCP Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 3
- Truyền tải dữ liệu tin cậy TCP TCP tạo dịch vụ ttdltc trên Truyền tải lại được kích nên dịch vụ không tin cậy hoạt bởi: IP sự kiện hết thời gian chờ Các khúc được tạo đường Trùng lặp ACK ống Đầu tiên xem xét ACK cộng dồn ng/gửi TCP đơn giản: bỏ qua các ack trùng lặp TCP chỉ sử dụng một bộ đếm thời gian cho truyền bỏ qua kiểm tra lưu lượng, kiểm tra tắc nghẽn tải lại Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 4
- Các sự kiện phía người gửi TCP: nhận dữ liệu từ ứ/d: hết giờ: Tạo ra khúc với STT gửi lại khúc dữ liệu mà STT là stt trên luồng-byte gây nên hết t/g chờ của byte dữ liệu đầu tiên khởi động lại bđtg trong đoạn Nhận được ACK: khởi động bộ đếm t/g nếu Nếu đó là ACK cho các nó chưa chạy (bộ đếm t/g khúc trước đó chưa được cho khúc dữ liệu chưa ACK ACK lâu nhất) cập nhật danh sách các gói khoảng t/g hết hạn: đã được ACK TimeOutInterval chạy lại bđtg nếu như còn có các khúc chưa ACK Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 5
- NextSeqNum = InitialSeqNum SendBase = InitialSeqNum ng/gửi loop (forever) { TCP switch(event) event: nhận được dữ liệu từ ứng dụng tầng trên (đơn giản hóa) tạo ra đoạn TCP với STT NextSeqNum if (bđtg không chạy) khởi chạy bđtg đẩy đoạn xuống IP NextSeqNum = NextSeqNum + length(data) Chú thích: • SendBase-1: byte event: bđtg hết giờ được ack cộng dồn gửi lại đoạn chưa ACK với STT nhỏ nhất cuối cùng khởi chạy bđtg Ví dụ: event: nhận được ACK, với giá trị trường ACK là y • SendBase-1 = 71; if (y > SendBase) { y= 73, vậy người SendBase = y nhận cần 73+ ; if (còn đoạn chưa ACK) y > SendBase, vì khởi chạy bđtg vậy có thêm dữ liệu } được ack } /* end of loop forever */ Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 6
- TCP: các kịch bản truyền tải lại Máy A Máy B Máy A Máy B hết giờ hết X mất seq=92 giờ hết Sendbase = 100 SendBase = 120 SendBase seq=92giờ hết = 100 SendBase = 120 kịch bản mất ACK hết giờ non t/g t/g Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 7
- TCP: các kịch bản truyền tải lại (tt) Máy A Máy B hết giờ hết X mất SendBase = 120 t/g kịch bản ACK cộng dồn Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 8
- Tạo ACK trong TCP [RFC 1122, RFC 2581] Sự kiện tại ng/nhận Hành vi của ng/ nhận TCP Sự đến của khúc đúng thứ tự với Trì hoãn việc ACK. Chờ khúc tiếp theo STT hợp lí. Tất cả dữ liệu từ trong 500ms. Nếu không có khúc nào STT về trước đã được ACK tiếp theo, gửi ACK Sự đến của khúc đúng thứ tự với Ngay lập tức gửi một ACK cộng dồn, STT hợp lí. Một đoạn khác đang xác nhận cả hai đoạn dữ liệu đúng chờ được ACK thứ tự Sự đến của khúc sai-thứ-tự với STT cao hơn STT mong đợi. Ngay lập tức gửi một ACK lặp, Phát hiện ra sự thiếu hụt chỉ rõ STT của byte mong đợi tiếp theo Sự đến của khúc mà khỏa lấp sự thiếu hụt một phần hoặc toàn Ngay lập tức gửi ACK bộ Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 9
- Truyền lại nhanh Thời gian chờ thường Nếu người nhận nhận tương đối dài: được 3 ACK trùng lặp cho sẽ bị trị hoãn lâu trước khi cùng một khúc dữ liệu, nó gửi lại gói bị mất sẽ suy ra là các khúc dữ Phát hiện mất khúc thông liệu theo sau đã bị mất: qua ACK lặp. truyền lại nhanh: gửi lại Ng/gửi thường gửi nhiều khúc dữ liệu trước khi bộ khúc liên tục đếm thời gian hết hạn Nếu một khúc bị mất thì thường sẽ có nhiều ACK trùng lặp. Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 10
- Máy A Máy B X thời gian chờ gian thời t/g Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 11
- Giải thuật truyền tải lại nhanh: sự kiện: nhận được ACK, với trường ACK có giá trị y if (y > SendBase) { SendBase = y if (không có khúc nào chưa được ACK) khởi động bộ đếm thời gian } else { tăng bộ đếm số ACK cho y trùng if (số ACK trùng = 3) { gửi lại khúc với STT y } một ACK trùng truyền tải lại nhanh cho một khúc đã được ACK Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 12
- Chương 3: Mục lục 3.1 Các dịch vụ tầng-truyền tải 3.4 Sự truyền tải hướng 3.2 Sự dồn và tách kết nối : TCP cấu trúc đoạn tin 3.3 Sự truyền tải không kết nối: UDP truyền tải dự liệu tin cậy kiểm soát lưu lượng quản lý kết nối 3.5 Các nguyên lý của kiểm soát tắc nghẽn 3.6 Kiểm soát tắc nghẽn trong TCP Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 13
- Kiểm soát lưu lượng trong TCP kiểm soát LL ng/gửi không làm tràn phía nhận của receive bộ nhớ tạm của side of TCP connection ng/nhận bởi truyền quá has a receive buffer: nhanh và nhiều dịch vụ làm tương đồng tốc độ: điều chỉnh tốc độ gửi sao cho phù hợp với tốc độ đọc của tiến trình nhận tiến trình ứ/d có thể chậm trong việc đọc từ bộ nhớ tạm Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 14
- KSLL trong TCP làm việc ntn? Ng/nhận thông báo số chỗ trống trong bnt bằng cách thêm giá trị cửa sổ nhận RcvWindow trong khúc tin Ng/gửi hạn chế lượng dữ (Giả sử ng/nhận TCP loại bỏ liệu chưa ACK tới giá trị các khúc không-đúng-thứ- của RcvWindow tự) đảm bảo bộ nhớ tạm của số chỗ trống trong bnt người nhận kô bao giờ bị = RcvWindow tràn = RcvBuffer-[LastByteRcvd - LastByteRead] Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 15
- Chương 3: Mục lục 3.1 Các dịch vụ tầng-truyền tải 3.4 Sự truyền tải hướng 3.2 Sự dồn và tách kết nối : TCP cấu trúc đoạn tin 3.3 Sự truyền tải không kết nối: UDP truyền tải dự liệu tin cậy kiểm soát lưu lượng quản lý kết nối 3.5 Các nguyên lý của kiểm soát tắc nghẽn 3.6 Kiểm soát tắc nghẽn trong TCP Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 16
- Quản lý kết nối TCP Gợi nhớ: ng/gửi, ng/nhận TCP Bắt tay 3 bước: thiết lập “kết nối” trước khi trao đổi các khúc dữ liệu Bước 1: máy khách gửi khúc TCP khởi tạo các biến TCP: SYN tới máy chủ chứa STT ban đầu STT không có dữ liệu BNT, thông tin KSLL (vd: RcvWindow) Bước 2: chủ nhận được SYN, gửi khách: người bắt đầu kết nối trả lại một khúc SYNACK Socket clientSocket = new Socket("hostname","port chủ cấp bộ nhớ tạm STT ban đầu của chủ number"); Bước 3: khách nhận được chủ: được liên lạc bởi khách Socket connectionSocket = SYNACK, phản hồi lại với khúc welcomeSocket.accept(); ACK, có thể kèm theo dữ liệu Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 17
- Quản lý kết nối TCP (tt) Đóng một kết nối: khách chủ khách đóng socket: đóng clientSocket.close(); Bước 1: khách gửi một khúc điều đóng khiển TCP FIN đến chủ Bước 2: chủ nhận được FIN, phản hồi với ACK. Đóng kết nối, gửi FIN. đóng chờ gian thời Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 18
- Quản lý kết nối TCP (tt) Bước 3: khách nhận được FIN, phản hồi với ACK. khách chủ Bước vào trạng thái “chờ có đếm thời gian” – sẽ đang đóng phản hồi bằng ACK với những FIN nhận được đang đóng Step 4: chủ, nhận được ACK. Đóng kết nối. Ghi chú: với vài chỉnh sửa nhỏ, có thể xử lý nhiều FIN đồng đã đóng thời. thời gian chờ gian thời đã đóng Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 19
- Quản lý kết nối TCP (tt) chu kì sống của chủ TCP chu kì sống của khách TCP Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 20
- Chương 3: Mục lục 3.1 Các dịch vụ tầng-truyền tải 3.4 Sự truyền tải hướng 3.2 Sự dồn và tách kết nối : TCP cấu trúc đoạn tin 3.3 Sự truyền tải không kết nối: UDP truyền tải dự liệu tin cậy kiểm soát lưu lượng quản lý kết nối 3.5 Các nguyên lý của kiểm soát tắc nghẽn 3.6 Kiểm soát tắc nghẽn trong TCP Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 21
- Các nguyên tác kiểm soát tắc nghẽn Tắc nghẽn: phát biểu đơn giản: “quá nhiều nguồn gửi quá nhiều dữ liệu quá nhanh để mạng có thể xử lý” khác với kiểm soát lưu lượng! biểu hiện: mất gói tin (tràn bộ nhớ tạmbuffer tại bđt) độ trễ lâu (xếp hàng trong bộ nhớ tạm bđt) là một trong 10 vấn đề quan trọng của Internet! Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 22
- Nguyên nhân/thiệt hại của tắc nghẽn: 1 Máy A lout lin : dữ liệu gốc hai ng/gửi, hai ng/nhận Máy B bộ nhớ tạm đầu ra một bđt, bộ nhớ không giới hạn tạm không giới hạn không truyền tải lại độ trễ lớn khi tắc nghẽn đạt được thông lượng tối đa Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 23
- Nguyên nhân/thiệt hại của tắc nghẽn: 2 một bđt, bộ nhớ tạm có giới hạn người gửi truyền tải lại những gói bị mất Máy A l lin : dữ liệu gốc out l'in : dữu liệu gốc + dữ liệu truyền tải lại Máy B bộ nhớ tạm đầu ra có giới hạn Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 24
- nguyên nhân/thiệt hại của tắc nghẽn: 3 luôn luôn: = l l out in l > l truyền lại “tối ưu” chỉ khi có mất mát: in out sự truyền lạiretransmission của các gói trễ (không mất) làm cho l in lớn hơn (so với tr/hợp tối ưu) với cùng một l out R/2 R/2 R/2 R/3 out out out R/4 l l l R/2 R/2 R/2 lin lin lin a. b. c. “thiệt hại” của tắc nghẽn: phải truyền lại khi mà gói tin bị loại do tràn bộ nhớ tạm tại bđt sự truyền tải lại ko cần thiết: đường kết nối chứa nhiều bản sao của gói tin Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 25
- nguyên nhân/thiệt hại của tắc nghẽn: 4 bốn người gửi Hỏi: chuyện gì xảy ra khi đường đi qua nhiều bước l và l tăng lên ? thời-gian-chờ/truyền-tải-lại in in Máy A lout lin : dữ liệu gốc l'in : dữ liệu gốc + dữ liệu truyền lại bộ nhớ tạm đầu ra có giới hạn Máy B Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 26
- nguyên nhân/thiệt hại của tắc nghẽn: 5 H l o o s u t A t H o s t B Một thiệt hại khác của tắc nghẽn: khi gói tin bị loại bỏ, tất cả băng thông dùng để truyền tải nó tới điểm mà nó bị loại bỏ là phí phạm! Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 27
- Các phương án tiếp cận đối với kiểm soát tắc nghẽn Hai phương án tiếp cận rộng: kiểm soát tắc nghẽn kiểm soát tắc nghẽn được hỗ đầu cuối-đầu cuối: trợ từ mạng: không có phản hồi rõ ràng từ các BĐT cung cấp phản hồi cho mạng máy đầu cuối tắc nghẽn được cho là xảy ra một bit báo hiệu tắc nghẽn nếu máy đầu cuối phát hiện có (SNA, DECbit, TCP/IP ECN, mất gói, trễ ATM) pp tiếp cận này được sử dụng tốc độ cụ thể mà người gửi bởi TCP nên dùng Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 28
- Ví dụ nghiên cứu: kiểm soát tắc nghẽn ATM ABR ABR: tốc độ bit cho phép: ô RM (quản lý tài nguyên) : “dịch vụ mềm dẻo” gửi bởi ng/gửi, chen lẫn với các nếu đường truyền của ng/gửi ô dữ liệu “chưa hết tải”: bits trong ô RM được thiết lập người gửi nên sử dụng băng bởi các bộ chuyển mạch (“được thông còn dư hỗ trợ từ mạng”) nếu đường truyền của ng/gửi bị NI bit: ko tăng tốc (tắc tắc nghẽn: nghẽn nhẹ) ng/gửi giảm xuống tốc độ CI bit: biểu hiện tắc nghẽn đảm bảo tối thiểu (nặng) các ô RM được gửi lại cho ng/gửi bởi ng/nhận mà ko có thay đổi gì Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 29
- Ví dụ nghiên cứu: kiểm soát tắc nghẽn ATM ABR trường ER 2-byte (tốc độ cụ thể) trong ô RM BCM tắc nghẽn có thể giảm giá trị ER trong ô RM ER sẽ được thiết lập bằng với tốc độ hỗ trợ tối thiểu của tất cả BCM trên đường đi từ nguồn-tới-đích bit EFCI trong ô dữ liệu: được đặt là 1 trong BCM tắc nghẽn nếu ô dữ liệu tới trước ô RM chứa bit EFCI bật, người gửi bật bit CI trong ô RM rồi gửi lại Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 30
- Chương 3: Mục lục 3.1 Các dịch vụ tầng-truyền tải 3.4 Sự truyền tải hướng 3.2 Sự dồn và tách kết nối : TCP cấu trúc đoạn tin 3.3 Sự truyền tải không kết nối: UDP truyền tải dự liệu tin cậy kiểm soát lưu lượng quản lý kết nối 3.5 Các nguyên lý của kiểm soát tắc nghẽn 3.6 Kiểm soát tắc nghẽn trong TCP Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 31
- KSTN TCP: tăng hệ số cộng, giảm hệ số nhân P/pháp: tăng tốc độ truyền tải (kích thước cửa sổ), thử băng thông khả dụng, tới khi xuất hiện mất gói tăng hs cộng: tăng CongWin lên 1 MSS mỗi RTT đến khi phát hiện mất gói giảm hs nhân: giảm CongWin xuống ½ sau khi mất gói congestion window 24 Kbytes Hình răng cưa: thăm dò 16 Kbytes băng thông 8 Kbytes timetime kích thước thước kích cửa sổtắc nghẽn Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 32
- KSTN TCP: chi tiết ng/gửi hạn chế truyền tải: Làm sao ng/gửi nhận ra sự LastByteSent-LastByteAcked tắc nghẽn? CongWin mất gói = hết t/g chờ hoặc 3 ack trùng hay, ng/gửi TCP giảm vận tốc CongWin (CongWin) sau khi có vận tốc = Bytes/sec RTT mất gói ba cơ chế: AIMD CongWin là một hàm phụ bắt đầu chậm thuộc vào sự tắc nghẽn của giữ nhịp độ tăng tốc độ sau mạng khi mất gói Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 33
- TCP Bắt đầu chậm Khi kết nối bắt đầu, Khi kết nối bắt đầu, tăng CongWin = 1 MSS vận tốc theo hệ số mũ Vd: MSS = 500 bytes & RTT đến khi xuất hiện mất gói = 200 msec vận tốc ban đầu = 20 kbps băng thông cho phép có thể >> MSS/RTT mong muốn tăng nhanh lên đến vận tốc cao nhất cho phép Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 34
- TCP Bắt đầu chậm (tt) Khi kết nối bắt đầu, tăng vận tốc theo hệ số mũ đến Máy A Máy B khi xuất hiện mất gói : nhân đôi CongWin mỗi RTT RTT thực hiện bởi tăng lên 1 CongWin cho mỗi ACK nhận được Tóm lại: bận tốc ban đầu chậm nhưng tăng lên nhanh theo hàm mũ t/g Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 35
- Cải thiện: phỏng đoán mất gói Nếu nhận được 3 ACK trùng: Triết lí: CongWin giảm ½ sau đó tăng tuyến tính 3 ACK lặp nghĩa là Nhưng nếu xảy ra “hết t/g mạng có khả năng phân chờ”: phối vài khúc dữ liệu CongWin = 1 MSS; “hết t/g chờ” cho biết tăng theo hàm mũ tình hình tắc nghẽn đáng tăng tới ngưỡng cuối cùng báo động hơn trước khi mất gói, sau đó tăng tuyến tính Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 36
- Cải tiến Hỏi: Khi nào thì nên chuyển từ tăng hàm mũ sang tăng tuyến tính? A: Khi CongWin đạt được ½ giá trị của nó trước khi xảy ra “hết t/g chờ” Hiện thực: Giá trị ngưỡng biến thiên Khi mất gói, g/t ngưỡng được gán bằng ½ của CongWin ngay trước khi xảy ra mất gói Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 37
- Tóm tắt: KSTN TCP Khi CongWin nhỏ hơn Threshold, ng/gửi ở pha bắt-đầu- chậm, cửa sổ tăng theo số mũ. Khi CongWin lớn hơn Threshold, ng/gửi trong pha tránh- tắc-nghẽ, cửa sổ tăng tuyến tính. Khi xảy ra lặp 3 ACK, Threshold gán bằng CongWin/2 và CongWin gán bằng Threshold. Khi hết-t/g-chờ, Threshold gán bằng CongWin/2 và CongWin gán bằng 1 MSS. Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 38
- KSTN ng/gửi TCP Trạng thái Sự kiện Hành vi ng/gửi TCP Bình luận Bắt đầu chậm nhận được CongWin = CongWin + MSS, Nhân đôi CongWin mỗi (SS) ACK cho If (CongWin > Threshold) RTT những dữ chuyển trạng thái sang “CA” liệu chưa ack Tránh tắc nhận được CongWin = CongWin+MSS * Tăng theo cấp số cộng, dẫn nghẽn (CA) ACK cho (MSS/CongWin) đến tăng CongWin lên 1 những dữ MSS mỗi RTT liệu chưa ack SS hoặc CA Phát hiện Threshold = CongWin/2, Hồi phục nhanh, sử dụng mất gói do CongWin = Threshold, giảm theo hệ số nhân. có “trùng 3 chuyển trạng thái sang “CA” CongWin không giảm nhỏ ACK” hơn 1 MSS. SS hoặc CA Hết t/g chờ Threshold = CongWin/2, Chuyển sang SS CongWin = 1 MSS, chuyển trạng thái “SS” SS hoặc CA Lặp ACK Tăng biến đếm số ACK lặp cho CongWin và Threshold khúc được ACK không thay đổi Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 39
- Thông lượng TCP Thông lượng trung bình của TCP như là hàm số của k/t cửa sổ và RTT là bao nhiêu? bỏ qua bắt-đầu-chậm Xem W là k/t cửa sổ khi xuất hiện mất gói. Khi cửa sổ là W, thông lượng là W/RTT Sau khi mất gói, cửa sổ giảm xuống còn W/2, thông lượng xuống W/2RTT. Thông lượng trung bình: .75 W/RTT Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 40
- Tương lai TCP: TCP qua các “đường ống dài, rộng” Ví dụ: khúc 1500 byte, RTT 100ms, thông lượng cần có 10 Gbps Yêu cầu kích thước cửa sổ W = 83,333 Thông lượng trong giới hạn của tần số mất gói: 1.22 MSS RTT L -10 ➜ L = 2·10 Vô cùng nhỏ Các phiên bản TCP mới cho đường truyền tốc độ cao Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 41
- Sự công bằng trong TCP Mục đích của sự công bằng: nếu K phiên TCP chia sẽ một đường kết nối cổ chai với băng thông R, mỗi phiên phải có được vận tốc trung bình là R/K kết nối TCP 1 bộ định tuyến k/n cổ chai TCP 2 tải trọng R Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 42
- Tại sao TCP lại công bằng? Hai kịch bản cạnh tranh: Tăng cấp số cộng tạo độ dốc 1, as throughout increases Giảm theo cấp số nhân giảm thông lượng một cách cân xứng R chia sẻ băng thông bằng nhau mất gói: giảm cửa sổ xuống 1/2 tránh tắc nghẽn: tăng cấp số cộng mất gói: giảm cửa sổ xuống 1/2 tránh tắc nghẽn: tăng cấp số cộng Thông lượng của kết nối 1 R Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 43
- Tính công bằng (tt) Tính công bằng và UDP Sự công bằng và các kết nối Các ứ/d đa phương tiện TCP song song thường không dùng TCP ko thể cấm ứ/d mở những không muốn tốc độ bị giới kết nối song song giữa 2 hạn bởi quá trình KSTN máy. Thay vào đó dùng UDP: Trình duyệt Web là một ví gửi âm thanh/phim ảnh ở dụ một vận tốc cố định, chấp nhận mất gói VD: liên kết với vận tốc R hỗ trợ 9 kết nối; Lĩnh vực nghiên cứu: UDP ứ/d mới yêu cầu 1 TCP, có tương tự như TCP tốc độ R/10 ứ/d khác yêu cầu11 TCPs, có tốc độ R/2 ! Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 44
- Chương 3: Tổng kết Các nguyên lý đằng sau các dịch vụ tầng truyền tải: dồn, tách truyền tải dữ liệu tin cậy kiểm soát lưu lượng kiểm soát tắc nghẽn Tiếp theo: Thuyết minh và hiện thực trong Internet chúng ta rời “ngoại vi mạng” (ứ/dụng, UDP tầng truyền tải) TCP đi vào “hạt nhân” mạng Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 2 - Chương 3: Tầng Truyền Tải © 2011 45