Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 60 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
60
Dung lượng
2,13 MB
Nội dung
[...]... liệu tin cậy LớpTransport 21 Các nguyên lý truyền dữ liệu tin cậy Ì quan trọng trong các lớp application, transport, link Ì là danh sách 10 vấn đề quan trọng nhất của mạng Ì các đặc thù của kênh truyền không tin cậy sẽ xác định sự phức tạp của giao thức truyền dữ liệu data transfer protocol (rdt) LớpTransport 22 Các nguyên lý truyền dữ liệu tin cậy Ì quan trọng trong các lớp application, transport, ... (rdt) LớpTransport 23 Các nguyên lý truyền dữ liệu tin cậy Ì quan trọng trong các lớp application, transport, link Ì là danh sách 10 vấn đề quan trọng nhất của mạng Ì các đặc thù của kênh truyền không tin cậy sẽ xác định sự phức tạp của giao thức truyền dữ liệu data transfer protocol (rdt) LớpTransport 24 Truyền dữ liệu tin cậy rdt_send(): được gọi bởi lớp app Chuyển dữ liệu cần truyền đến lớp cao... P2 P4 P1 P3 SP: 5775 DP: 80 S-IP: B D-IP:C client IP: A SP: 9157 DP: 80 S-IP: A D-IP:C server IP: C SP: 9157 DP: 80 S-IP: B D-IP:C Client IP:B LớpTransport 15 3.3 Vận chuyển không kết nối: UDP LớpTransport 16 UDP: User Datagram Protocol Ì giao thức Internet transport “đơn giản hóa” Ì dịch vụ “best effort”, các đoạn UDP có thể: r mất mát r vận chuyển không thứ tự đến ứng dụng Ì connectionless (không... nhanh nhất theo mong muốn LớpTransport 17 UDP: (tt) Ì thường dùng cho các ứng dụng streaming multimedia r chịu mất mát Độ dài r cảm nhận tốc độ đoạn UDP bao gồm cả header Ì ngoài ra, UDP dùng r DNS r SNMP Ì truyền tin cậy trên UDP: thêm khả năng này tại lớp application r sửa lỗi 32 bits source port # dest port # length checksum dữ liệu ứng dụng (thông điệp) dạng thức đoạn UDP LớpTransport 18 UDP checksum... udt_send(ACK) LớpTransport 29 rdt2.0: hoạt động khi không lỗi rdt_send(data) snkpkt = make_pkt(data, checksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && isNAK(rcvpkt) chờ gọi từ chờ ACK lớp dưới hoặc udt_send(sndpkt) NAK rdt_rcv(rcvpkt) && isACK(rcvpkt) Λ rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(NAK) chờ gọi từ lớp dưới rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ACK) Lớp. .. LớpTransport 30 rdt2.0: hoạt động khi có lỗi rdt_send(data) snkpkt = make_pkt(data, checksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && isNAK(rcvpkt) chờ gọi từ chờ ACK lớp dưới hoặc udt_send(sndpkt) NAK rdt_rcv(rcvpkt) && isACK(rcvpkt) Λ rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(NAK) chờ gọi từ lớp dưới rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ACK) Lớp Transport. .. nhau cho mỗi kết nối từ client r kết nối HTTP không bền vững sẽ có socket khác nhau cho mỗi yêu cầu LớpTransport 13 Demultiplexing hướng kết nối (tt) P1 P4 P5 P2 P6 P1 P3 SP: 5775 DP: 80 S-IP: B D-IP:C client IP: A SP: 9157 DP: 80 S-IP: A D-IP:C server IP: C SP: 9157 DP: 80 S-IP: B D-IP:C Client IP:B LớpTransport 14 Demultiplexing hướng kết nối: Threaded Web Server P1 P2 P4 P1 P3 SP: 5775 DP: 80 S-IP:... hành động trthái 2 Lớp Transport 26 Rdt1.0: truyền dữ liệu tin cậy trên 1 kênh truyền tin cậy Ì kênh ưu tiên tin cậy hoàn toàn r không có các lỗi r không mất mát các gói Ì các FSM phân biệt cho bên gửi, bên nhận: r bên gửi gửi dữ liệu vào kênh ưu tiên r bên nhận nhận dữ liệu từ kênh ưu tiên chờ gọi từ lớp trên rdt_send(data) packet = make_pkt(data) udt_send(packet) bên gửi chờ gọi từ lớp dưới rdt_rcv(packet)... thông điệp điều khiển (ACK,NAK) bên nhận bên gửi LớpTransport 28 rdt2.0: đặc tả FSM rdt_send(data) snkpkt = make_pkt(data, checksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && isNAK(rcvpkt) chờ gọi từ chờ ACK lớp trên hoặc udt_send(sndpkt) NAK rdt_rcv(rcvpkt) && isACK(rcvpkt) Λ bên gửi bên nhận rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(NAK) chờ gọi từ lớp dưới rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data)... khác nữa? Xem tiếp phần sau … LớpTransport 19 Ví dụ Checksum Ì Lưu ý r Khi cộng các số, một bit nhớ ở phía cao nhất có thể sẽ phải thêm vào kết quả Ì Ví dụ: cộng hai số nguyên 16-bit 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 bit dư 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 tổng 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 checksum 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 Lớp Transport 20 3.4 Các nguyên