Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 44 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
44
Dung lượng
826,5 KB
Nội dung
Chương 1: Giao thức tầng giao vận (Transport Layer Protocol) Giảng viên: Từ Thanh Trí. Computer Networking Services (Dịch vụ mạng) Khoa CNTT – Trường Trung Cấp Tây Bắc. Chương 1. Giao thức tầng giao vận (Transport Layer Protocl) 2 14-02-2011 Chương 1. Giao thức tầng giao vận (Transport Layer Protocl) 3 14-02-2011 Ch1. The Transport Layer Protocol 1. Transport Layer Services & Principles. 2. Multiplexing/Demultiplexing. 3. Connectionless Transport (UDP). 4. Principles of Reliable Data Transfer (RDT). 5. Connection-oriented Transport (TCP). 6. Congestion Control. 7. Sử dụng TCP hay UDP Chương 1. Giao thức tầng giao vận (Transport Layer Protocl) 4 14-02-2011 Transport Layer Services & Principles Cung cấp phương tiện truyền thông logic (logical communication) giữa các applications. PDUs application: messages. transport: segments (đoạn). Các msg từ tầng application gửi xuống được chia nhỏ thành các đoạn (segments). Transport protocol được thực thi tại các trạm cuối (end system). application transport network data link physical 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 l o g i c a l e n d - e n d t r a n s p o r t Chương 1. Giao thức tầng giao vận (Transport Layer Protocl) 5 14-02-2011 Transport & Network layers Network layer: Truyền thông logic giữa các trạm làm việc (host). PDUs = packets (gói). IP (Internet Protocol) là giao thức truyền không tin cậy. Transport layer: Tạo phương thức truyền thông logic giữa các ứng dụng (application/process). Nhận các gói tin từ tầng Network gửi lên. Household analogy: 12 kids sending letters to 12 kids processes = kids app messages = letters in envelopes hosts = houses transport protocol = Ann and Bill network-layer protocol = postal service Chương 1. Giao thức tầng giao vận (Transport Layer Protocl) 6 14-02-2011 Transport Protocols TCP (Transmission Control Protocol) Connection-oriented (có liên kết). Flow control (điều khiển luồng). Congestion control (điều khiển chống nghẽn mạng). reliable transport protocol (tin cậy) UDP (User Datagram Protocol) Connectionless. Không có kiểm soát luồng và kiểm soát nghẽn mạng. unreliable transport protocol. Chương 1. Giao thức tầng giao vận (Transport Layer Protocl) 7 14-02-2011 Ch1. The Transport Layer Protocol 1. Transport Layer Services & Principles. 2. Multiplexing/Demultiplexing. 3. Connectionless Transport (UDP). 4. Principles of Reliable Data Transfer (RDT). 5. Connection-oriented Transport (TCP). 6. Congestion Control. 7. Sử dụng TCP hay UDP Chương 1. Giao thức tầng giao vận (Transport Layer Protocl) 8 14-02-2011 Multiplexing/demultiplexing (mux/demux) Multiplexing (chia kênh): Các msgs từ các apps (P1,P2) được chia nhỏ và đóng thành các segments. Demultiplexing (dồn kênh): Các segments nhận được được gửi tới apps tương ứng (P3, P4). application transport network M P2 application transport network receiver H t H n segment segment M application transport network P1 M M M P3 P4 segment header application-layer data sender sender Chương 1. Giao thức tầng giao vận (Transport Layer Protocl) 9 14-02-2011 Dồn và chia kênh thế nào? source port number: ứng dụng gửi dữ liệu. destination port number: ứng dụng nhận dữ liệu. Port number: 0-1023: well-known port number (đã được giữ cho các apps phổ biến). 1024 – 65535. source port # dest port # 32 bits application data (message) other header fields TCP/UDP segment format Chương 1. Giao thức tầng giao vận (Transport Layer Protocl) 10 14-02-2011 Mux/demux: Ví dụ host A server B source port: x dest. port: 23 source port:23 dest. port: x port use: simple telnet app Web client host A Web server B Web client host C Source IP: C Dest IP: B source port: x dest. port: 80 Source IP: C Dest IP: B source port: y dest. port: 80 port use: Web server Source IP: A Dest IP: B source port: x dest. port: 80 [...]... rdt_rcv(rcvpkt) rdt_send(data) Λ sndpkt = make_pkt(1, data, checksum) udt_send(sndpkt) start_timer Chương 1 Giao thức tầng giao vận (Transport Layer Protocl) 30 RDT3.0 in action 14-02-2011 Chương 1 Giao thức tầng giao vận (Transport Layer Protocl) 31 RDT3.0 in action (cont) 14-02-2011 Chương 1 Giao thức tầng giao vận (Transport Layer Protocl) 32 Ch1 The Transport Layer Protocol 1 Transport Layer Services & Principles... Chương 1 Giao thức tầng giao vận (Transport Layer Protocl) 33 TCP Overview Transmission Control Protocol [RFCs: 793,1122, 1323, 2018, 2581] Point-to-point: 1 sender, 1 receiver Giao thức tin cậy (reliable) Kiểm soát luồng (flow control) Kiểm soát nghẽn mạng (congestion control) full duplex: truyền nhận trên cùng một liên kết send/receive buffers 14-02-2011 Chương 1 Giao thức tầng giao vận. .. 1 Giao thức tầng giao vận (Transport Layer Protocl) 12 UDP: Segment structure source port dest port length application data checksum: mã kiểm tra lỗi (phục vụ cho cơ chế nhận biết lỗi – error detection) 14-02-2011 32 bits Length, in bytes of UDP segment, including header source port # dest port # length checksum Application data (message) UDP segment format Chương 1 Giao thức tầng giao vận. .. m (bù 1) Chương 1 Giao thức tầng giao vận (Transport Layer Protocl) 14-02-2011 15 Ch1 The Transport Layer Protocol 1 Transport Layer Services & Principles 2 Multiplexing/Demultiplexing 3 Connectionless Transport (UDP) 4 Principles of Reliable Data Transfer (RDT) 5 Connection-oriented Transport (TCP) 6 Congestion Control 7 Sử dụng TCP hay UDP 14-02-2011 Chương 1 Giao thức tầng giao vận (Transport Layer... bytes rcvr willing to accept application data (variable length) Chương 1 Giao thức tầng giao vận (Transport Layer Protocl) 35 TCP: Reliable Data Transfer (retransmission) Host A Host B timeout Seq=9 2, 8 b y X =100 ACK bytes = ACK 14-02-2011 a loss Seq=9 2, 8 time tes da t data 100 lost ACK scenario Chương 1 Giao thức tầng giao vận (Transport Layer Protocl) 36 ... Chương 1 Giao thức tầng giao vận (Transport Layer Protocl) 18 Finite State Machine (FSM) event causing state transition actions taken on state transition state: when in this “state” next state uniquely determined by next event 14-02-2011 state 1 event actions Chương 1 Giao thức tầng giao vận (Transport Layer Protocl) state 2 19 RDT1.0: reliable data transfer over reliable channel Tầng dưới: Không... tin) Sender gửi dữ liệu xuống tầng dưới Receiver nhận dữ liệu gửi từ tầng dưới lên Wait for call from above rdt_send(data) packet = make_pkt(data) udt_send(packet) sender 14-02-2011 Wait for call from below rdt_rcv(packet) extract (packet,data) deliver_data(data) receiver Chương 1 Giao thức tầng giao vận (Transport Layer Protocl) 20 RDT2.0: channel with bit errors Tầng dưới có thể có lỗi bit (0... 1 Giao thức tầng giao vận (Transport Layer Protocl) 17 RDT rdt_send(): called from above, (e.g., by app.) Passed data to deliver to receiver upper layer deliver_data(): called by rdt to deliver data to upper send side receive side udt_send(): called by rdt, to transfer packet over unreliable channel to receiver 14-02-2011 rdt_rcv(): called when packet arrives on rcv-side of channel Chương 1 Giao thức. .. rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq1(rcvpkt) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(ACK1, chksum) udt_send(sndpkt) 14-02-2011 Chương 1 Giao thức tầng giao vận (Transport Layer Protocl) 28 RDT3.0: channels with errors and loss Tầng dưới: Có thể có lỗi Có thể gây mất mát gói tin Giải pháp: Sender truyền lại gói tin nếu như chờ ACK một thời gian nhất định nào đó mà không thấy... isACK(rcvpkt) Λ rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(NAK) Wait for call from below rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ACK) 14-02-2011 Chương 1 Giao thức tầng giao vận (Transport Layer Protocl) 23 RDT2.0: error scenario 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) . 1: Giao thức tầng giao vận (Transport Layer Protocol) Giảng viên: Từ Thanh Trí. Computer Networking Services (Dịch vụ mạng) Khoa CNTT – Trường Trung Cấp Tây Bắc. Chương 1. Giao thức tầng giao vận. by next event event actions Chương 1. Giao thức tầng giao vận (Transport Layer Protocl) 20 14-02-2011 RDT1.0: reliable data transfer over reliable channel Tầng dưới: Không có lỗi. Không mất. Connection-oriented Transport (TCP). 6. Congestion Control. 7. Sử dụng TCP hay UDP Chương 1. Giao thức tầng giao vận (Transport Layer Protocl) 4 14-02-2011 Transport Layer Services & Principles Cung