Mạng máy tính-chương 3: Tầng giao vận pdf

110 867 10
Mạng máy tính-chương 3: Tầng giao vận pdf

Đ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

Chương 3 Tầng giao vận Tầng giao vận 3-1 Computer Networking: A Top Down Approach Featuring the Internet , 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004. Ghi chú Slides này dựa trên sildes của J.F Kurose and K.W. Ross . Chương 3: Tầng giao vận Mục đích: ❒ Hiểu được các nguyên lý của các dịch vụ tầng giao vận: ❍ Ghép/tách kênh Truy ề n tin c ậ y ❒ Học về các giao thức giao vận trong Internet: ❍ UDP: phi kết nối ❍ TCP: hướng kết nối Ki ể m soát t ắ c ngh ẽ n TCP Tầng giao vận 3-2 ❍ Truy ề n tin c ậ y ❍ Kiểm soát luồng ❍ Kiểm soát tắc nghẽn ❍ Ki ể m soát t ắ c ngh ẽ n TCP Chương 3. Nội dung ❒ 3.1 Các dịch vụ tầng giao vận ❒ 3.2 Ghép và tách kênh ❒ 3.3 Truyền phi kết nối: UDP ❒ 3.5 Truyền hướng kết nối: TCP ❍ Cấu trúc đoạn ❍ Truyền tin cậy ❍ Ki ể m soát lu ồ ng Tầng giao vận 3-3 UDP ❒ 3.4 Các nguyên lý truyền tin cậy ❍ Ki ể m soát lu ồ ng ❍ Quản trị kết nối ❒ 3.6 Các nguyên lý kiểm soát tắc nghẽn ❒ 3.7 Kiểm soát tắc nghẽn trong TCP Các dịch vụ và giao thức giao vận ❒ Cung cấp truy ề n thông logic giữa các tiến trình chạy trên các hosts khác nhau ❒ Các giao thức giao vận chạy trên các hệ thống cuối ❍ Bên gửi: cắt thông báo từ ứ ng d ụ ng g ử i xu ố ng thành application transport network data link physical network data link network data link physical network data link physical network data link physical Tầng giao vận 3-4 ứ ng d ụ ng g ử i xu ố ng thành nhiều đoạn, chuyển từng đoạn xuống tầng mạng ❍ Bên nhận: lắp ghép các đoạn thành thông báo, chuyển thông báo cho tầng ứng dụng ❒ Nhiều giao thức ❍ Internet: TCP and UDP application transport network data link physical network data link physical data link physical Tầng giao vận <> Tầng mạng ❒ T ầ ng m ạ ng: truyền thông logic giữa các hosts ❒ transport layer: truyền thông logic gi ữ a các Tầng giao vận 3-5 thông logic gi ữ a các tiến trình ❍ Dựa vào các dịch vụ tầng mạng Các giao thức giao vận Internet ❒ Tin cậy, đúng thứ tự (TCP) ❍ Kiểm soát tắc nghẽn ❍ Kiểm soát luồng ❍ Thiết lập kết nối ❒ Không tin c ậ y, không application transport network data link physical network data link network data link physical network data link physical network data link physical Tầng giao vận 3-6 ❒ Không tin c ậ y, không đúng thứ tự: UDP ❍ no-frills extension of “best-effort” IP ❒ services not available: ❍ delay guarantees ❍ bandwidth guarantees application transport network data link physical network data link physical data link physical Chương 3. Nội dung ❒ 3.1 Các dịch vụ tầng giao vận ❒ 3.2 Ghép và tách kênh ❒ 3.3 Truyền phi kết nối: UDP ❒ 3.5 Truyền hướng kết nối: TCP ❍ Cấu trúc đoạn ❍ Truyền tin cậy ❍ Ki ể m soát lu ồ ng Tầng giao vận 3-7 UDP ❒ 3.4 Các nguyên lý truyền tin cậy ❍ Ki ể m soát lu ồ ng ❍ Quản trị kết nối ❒ 3.6 Các nguyên lý kiểm soát tắc nghẽn ❒ 3.7 Kiểm soát tắc nghẽn trong TCP Ghép/tách kênh = process= socket Chuyển các gói vào đúng socket Tách kênh ở nút nhận: Nhận dữ liệu từ nhiều sockets, Đóng gói bằng tiêu đề (để sau sử dụng cho tách kênh) Ghép kênh ở nút gửi: Tầng giao vận 3-8 application transport network link physical P1 application transport network link physical application transport network link physical P2 P3 P4 P1 host 1 host 2 host 3 Tách kênh như thế nào ❒ host nhận IP datagrams ❍ Mỗi datagram có địa chỉ IP nguồn, IP đích ❍ Mỗi datagram mang một đoạn dữ liệu từ tầng giao vận ❍ M ỗ i đo ạ n có s ố hi ệ u c ổ ng source port # dest port # 32 bits other header fields Tầng giao vận 3-9 ❍ M ỗ i đo ạ n có s ố hi ệ u c ổ ng nguồn, đích ❒ host sử dụng địa chỉ IP và số hiệu cổng để chuyển đoạn đến cổng thích hợp application data (message) TCP/UDP segment format Tách kênh phi kết nối ❒ Tạo socket với số hiệu cổng: DatagramSocket mySocket1 = new DatagramSocket(99111); DatagramSocket mySocket2 = new DatagramSocket(99222); ❒ UDP socket đ ượ c xác đ ị nh ❒ Khi host nhận UDP segment: ❍ Kiểm tra số hiệu cổng đích trong segment ❍ Chuyển UDP segment đến socket có s ố hi ệ u c ổ ng đích Tầng giao vận 3-10 ❒ UDP socket đ ượ c xác đ ị nh bằng bộ đôi: (dest IP address, dest port number) socket có s ố hi ệ u c ổ ng đích [...]... Client S-IP: B D-IP:C IP:B Tầng giao vận 3-14 Chương 3 Nội dung Ì 3.1 Các dịch vụ tầng giao vận Ì 3.2 Ghép và tách kênh Ì 3.3 Truyền phi kết nối: UDP Ì 3.4 Các nguyên lý truyền tin cậy Ì 3.5 Truyền hướng kết nối: TCP r r r r Cấu trúc đoạn Truyền tin cậy Kiểm soát luồng Quản trị kết nối Ì 3.6 Các nguyên lý kiểm soát tắc nghẽn Ì 3.7 Kiểm soát tắc nghẽn trong TCP Tầng giao vận 3-15 UDP: User Datagram... 3.1 Các dịch vụ tầng giao vận Ì 3.2 Ghép và tách kênh Ì 3.3 Truyền phi kết nối: UDP Ì 3.4 Các nguyên lý truyền tin cậy Ì 3.5 Truyền hướng kết nối: TCP r r r r Cấu trúc đoạn Truyền tin cậy Kiểm soát luồng Quản trị kết nối Ì 3.6 Các nguyên lý kiểm soát tắc nghẽn Ì 3.7 Kiểm soát tắc nghẽn trong TCP Tầng giao vận 3-20 Các nguyên lý truyền tin cậy Ì Quan trọng trong các tầng ứng dụng, giao vận, liên kết Ì... sẽ quyết định độ phức tạp của giao thức truyền tin cậy (rdt) Tầng giao vận 3-21 Truyền tin cậy: bắt đầu rdt_send(): được gọi từ tầng trên send side udt_send(): được gọi bởi rdt, để truyền gói qua kênh không tin cậy đến bên nhận deliver_data(): được gọi bởi rdt để chuyển dữ liệu lên tầng trên receive side rdt_rcv(): được gọi khi gói đến đầu bên nhận của kênh Tầng giao vận 3-22 Truyền tin cậy: bắt đầu... mong muốn Tầng giao vận 3-16 UDP Ì Thường được sử dụng cho streaming multimedia r Chấp nhận lỗi Số bytes của đoạn UDP, r Cảm tốc độ 32 bits source port # dest port # length checksum bao gồm Ì Các ud khác dùng UDP cả tiêu đề r DNS r SNMP Ì Truyền tin cậy trên UDP: thêm tính tin cậy ở tầng ứng dụng r Khắc phục lỗi theo ứng dụng cụ thể! Application data (message) UDP segment format Tầng giao vận 3-17 UDP... bên nhận không thể biết ACK/NAK được nhận như thế nào ở bên gửi Tầng giao vận 3-32 rdt2.2: giao thức không NAK Ì Có chức năng như rdt2.1, chỉ sử dụng ACK Ì Thay vì gửi NAK, bên nhận gửi ACK cho gói cuối cùng nhận được OK r Bên nhận phải bao gồm seq # của gói được ACKed Ì ACK lặp tương đương NAK: bên gửi phát lại gói hiện tại Tầng giao vận 3-33 rdt2.2: vỡ bên gửi, bên nhận rdt_send(data) sndpkt = make_pkt(0,... Nhưng có thể có lỗi Tầng giao vận 3-18 Ví dụ Internet Checksum Ì Ghi chú r Khi cộng các số, nhớ ở bít quan trọng nhất phải được cộng 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 wraparound 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 sum 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 Tầng giao vận 3-19 Chương 3 Nội... socket cho mỗi client đang kết nối r non-persistent HTTP sẽ có socket khác nhau cho các requests Tầng giao vận 3-12 Tách kênh hướng kết nối (tiếp) P1 P4 P5 P2 P6 P1 P3 SP: 5775 DP: 80 S-IP: B D-IP:C SP: 9157 client IP: A DP: 80 S-IP: A D-IP:C SP: 9157 server IP: C DP: 80 Client S-IP: B D-IP:C IP:B Tầng giao vận 3-13 Tách kênh hướng kết nối: Web Server đa luồng P1 P2 P4 P1 P3 SP: 5775 DP: 80 S-IP: B D-IP:C... gửi, nhận trong giao thức truyền tin cậy (rdt) Ì Chỉ xem xét truyền một chiều r Nhưng thông tin điều khiển sẽ được truyền theo cả hai chiều! Ì Sử dụng máy hữu hạn trạng thái (FSM) để đặc tả bên gửi, bên nhận state: when in this “state” next state uniquely determined by next event state 1 event causing state transition actions taken on state transition event actions state 2 Tầng giao vận 3-23 Rdt1.0:... từ kênh bên dưới Wait for call from above rdt_send(data) packet = make_pkt(data) udt_send(packet) sender Wait for call from below rdt_rcv(packet) extract (packet,data) deliver_data(data) receiver Tầng giao vận 3-24 Rdt2.0: kênh truyền có lỗi bit Ì Kênh truyền bên dưới có thể làm đảo một số bít trong gói r Ì checksum để phát hiện lỗi Câu hỏi: khắc phục lỗi như thế nào: r r r acknowledgements (ACKs):... được gói CÓ lỗi Bên gửi phát lại gói khi nhận được NAK Ì Các cơ chế trong rdt2.0 (ngoài rdt1.0): r r Phát hiện lỗi Phản hồi từ bên nhận: các thông báo điều khiển (ACK,NAK) từ bên nhận sang bên gửi Tầng giao vận 3-25 rdt2.0: FSM rdt_send(data) snkpkt = make_pkt(data, checksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && isNAK(rcvpkt) Wait for Wait for call from ACK or udt_send(sndpkt) above NAK rdt_rcv(rcvpkt) . and K.W. Ross . Chương 3: Tầng giao vận Mục đích: ❒ Hiểu được các nguyên lý của các dịch vụ tầng giao vận: ❍ Ghép/tách kênh Truy ề n tin c ậ y ❒ Học về các giao thức giao vận trong Internet: ❍. link physical data link physical Tầng giao vận <> Tầng mạng ❒ T ầ ng m ạ ng: truyền thông logic giữa các hosts ❒ transport layer: truyền thông logic gi ữ a các Tầng giao vận 3-5 thông logic gi ữ a. link physical Tầng giao vận 3-4 ứ ng d ụ ng g ử i xu ố ng thành nhiều đoạn, chuyển từng đoạn xuống tầng mạng ❍ Bên nhận: lắp ghép các đoạn thành thông báo, chuyển thông báo cho tầng ứng dụng ❒ Nhiều giao

Ngày đăng: 11/08/2014, 09:25

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan