NGUYÊN TẮC TRUYỀN THÔNG TIN 7/26/16 NGUYÊN TẮC TRUYỀN THÔNG TIN TCP (Transmission Control Protocol) Các pha kết nối Giao thức TCP Không giao thức UDP (Giao thức gửi gói tin mà khơng cần thiết lập kết nối), TCP đòi hỏi thiết lập kết nối trước bắt đầu gửi liệu kết thúc kết nối việc gửi liệu hoàn tất Cụ thể, kết nối TCP có ba pha: 7/26/16 NGUYÊN TẮC TRUYỀN THÔNG TIN TCP (Transmission Control Protocol) Các trạng thái kết nối socket 7/26/16 LISTEN SYN-SENT SYN-RECEIVED ESTABLISHED FIN-WAIT-1 FIN-WAIT-2 CLOSE-WAIT CLOSING LAST-ACK 10 TIME-WAIT 11 CLOSED NGUYÊN TẮC TRUYỀN THÔNG TIN TCP (Transmission Control Protocol) Các trạng thái kết nối socket 7/26/16 NGUYÊN TẮC TRUYỀN THÔNG TIN TCP (Transmission Control Protocol) Các trạng thái kết nối socket 7/26/16 NGUYÊN TẮC TRUYỀN THÔNG TIN TCP (Transmission Control Protocol) Thiết lập kết nối Để thiết lập kết nối, TCP sử dụng quy trình bắt tay bước (3-way handshake) 7/26/16 NGUYÊN TẮC TRUYỀN THÔNG TIN TCP (Transmission Control Protocol) Thiết lập kết nối SYN: chương trình máy (ví dụ u cầu từ browser, ftp client) bắt đầu connection với máy chủ cách gửi packet với cờ "SYN" đến máy chủ SYN packet thường gửi từ cổng cao (1024 - 65535) máy đến cổng vùng thấp (1 - 1023) máy chủ Chương trình máy hỏi hệ điều hành cung cấp cho cổng để mở connection với máy chủ Những cổng vùng gọi "cổng máy con" (client port range) Tương tự vậy, máy chủ hỏi HĐH để nhận quyền chờ tín hiệu máy chủ, vùng cổng - 1023 Vùng cổng gọi "vùng cổng dịch vụ" (service port) Ví dụ (mặc định): Web Server ln chờ tín hiệu cổng 80 Web browser connect vào cổng 80 máy chủ FTP Server lắng port 21 Ngoài gói liệu cịn có thêm địa IP máy máy chủ 7/26/16 NGUYÊN TẮC TRUYỀN THÔNG TIN TCP (Transmission Control Protocol) Thiết lập kết nối SYN/ACK: yêu cầu mở connection máy chủ nhận cổng mở, server gửi lại packet chấp nhận với bit cờ SYN ACK SYN/ACK packet gửi ngược lại cách đổi hai IP server client, client IP thành IP đích server IP thành IP bắt đầu Tương tự vậy, cổng thay đổi, server nhận packet cổng dùng cổng để gửi lại packet vào cổng mà client gửi Server gửi lại packet để thơng báo server nhận tín hiệu chấp nhận connection, trường hợp server không chấp nhận connection, thay SYN/ACK bits bật, server bật bit RST/ACK (Reset Acknowledgement) gởi ngược lại RST/ACK packet Server bắt buộc phải gửi thông báo lại TCP chuẩn tin cậy nên client khơng nhận thơng báo nghĩ packet bị lạc gửi lại thông báo 7/26/16 NGUYÊN TẮC TRUYỀN THÔNG TIN TCP (Transmission Control Protocol) Thiết lập kết nối ACK: client nhận SYN/ACK packet trả lời ACK packet Packet gởi với mục đích báo cho máy chủ biết client nhận SYN/ACK packet lúc connection thiết lập liệu bắt đầu lưu thông tự Đây tiến trình bắt buộc phải thực client muốn trao đổi liệu với server thông qua giao thức TCP Một số thủ thuật dựa vào đặc điểm TCP để cơng máy chủ (ví dụ DoS) 7/26/16 NGUYÊN TẮC TRUYỀN THÔNG TIN TCP (Transmission Control Protocol) Kết thúc phiên kết nối 7/26/16 10 ...NGUYÊN TẮC TRUYỀN THÔNG TIN TCP (Transmission Control Protocol) Các pha kết nối Giao thức TCP Không giao thức UDP (Giao thức gửi gói tin mà khơng cần thiết lập kết nối), TCP... TIME-WAIT 11 CLOSED NGUYÊN TẮC TRUYỀN THÔNG TIN TCP (Transmission Control Protocol) Các trạng thái kết nối socket 7/26/16 NGUYÊN TẮC TRUYỀN THÔNG TIN TCP (Transmission Control Protocol) Các trạng... TRUYỀN THÔNG TIN TCP (Transmission Control Protocol) Thiết lập kết nối Để thiết lập kết nối, TCP sử dụng quy trình bắt tay bước (3-way handshake) 7/26/16 NGUYÊN TẮC TRUYỀN THÔNG TIN TCP (Transmission