Bài giảng Mạng máy tính: Bài 7 (Chương III) - ThS. Nguyễn Cao Đạt
lượt xem 24
download
"Bài giảng Mạng máy tính: Bài 7 (Chương III)" giúp các bạn nắm được những kiến thức về: sự truyền tải hướng kết nối, các nguyên lý của kiểm soát tắc nghẽn mạng và kiểm soát tắc nghẽn trong TCP. Tài liệu này giúp các bạn bổ sung thêm vốn kiến thức về Mạng máy tính.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Mạng máy tính: Bài 7 (Chương III) - ThS. Nguyễn Cao Đạt
- 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 3.3 Sự truyền tải không kết cấu trúc đoạn tin 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ộ bỏ qua kiểm tra lưu lượng, đếm thời gian cho truyền 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ờ seq=92 hết giờ X mất Sendbase = 100 hết giờ seq=92 SendBase = 120 SendBase = 100 SendBase = 120 hết giờ non kịch bản mất ACK 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ờ 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ờ 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 3.3 Sự truyền tải không kết cấu trúc đoạn tin 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 3.3 Sự truyền tải không kết cấu trúc đoạn tin 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"); chủ: được liên lạc bởi khách Bước 3: khách nhận được 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 thời gian chờ hồi với ACK. Đóng kết nối, gửi FIN. đó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 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ờ đang đóng có đếm thời gian” – sẽ 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. thời gian chờ Ghi chú: với vài chỉnh sửa nhỏ, có thể xử lý nhiều FIN đồng đã đóng 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Mạng máy tính: Bài 2 - Trường TCN Tôn Đức Thắng
32 p | 148 | 16
-
Bài giảng Mạng máy tính: Bài 1 - Trường TCN Tôn Đức Thắng
30 p | 141 | 15
-
Bài giảng Mạng máy tính: Bài 3 - Trường TCN Tôn Đức Thắng
39 p | 130 | 14
-
Bài giảng Mạng máy tính: Bài 12 - Trường TCN Tôn Đức Thắng
35 p | 106 | 13
-
Bài giảng Mạng máy tính: Bài 6 - Trường TCN Tôn Đức Thắng
27 p | 136 | 13
-
Bài giảng Mạng máy tính: Bài 11 - Trường TCN Tôn Đức Thắng
24 p | 104 | 11
-
Bài giảng Mạng máy tính: Bài 5 - Trường TCN Tôn Đức Thắng
35 p | 126 | 10
-
Bài giảng Mạng máy tính: Bài 4 - Trường TCN Tôn Đức Thắng
13 p | 119 | 10
-
Bài giảng Mạng máy tính: Bài 8 - Trường TCN Tôn Đức Thắng
16 p | 121 | 10
-
Bài giảng Mạng máy tính: Bài 14 - Trường TCN Tôn Đức Thắng
36 p | 94 | 10
-
Bài giảng Mạng máy tính: Bài 13 - Trường TCN Tôn Đức Thắng
45 p | 117 | 10
-
Bài giảng Mạng máy tính: Bài 7 - Trường TCN Tôn Đức Thắng
23 p | 107 | 10
-
Bài giảng Mạng máy tính: Bài 10 - Trường TCN Tôn Đức Thắng
53 p | 99 | 9
-
Bài giảng Mạng máy tính: Bài 9 - Trường TCN Tôn Đức Thắng
38 p | 110 | 8
-
Bài giảng Mạng máy tính: Bài 15 - Trường TCN Tôn Đức Thắng
38 p | 81 | 7
-
Bài giảng Mạng máy tính: Bài 17 - Trường TCN Tôn Đức Thắng
30 p | 89 | 7
-
Bài giảng Mạng máy tính: Bài 16 - Trường TCN Tôn Đức Thắng
30 p | 93 | 6
-
Bài giảng Mạng máy tính: Bài 18 - Trường TCN Tôn Đức Thắng
27 p | 87 | 6
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn