MÔ HÌNH TCP/IP VÀ ỨNG DỤNG Chương 3. MÔ HÌNH TCP/IP VÀ ỨNG DỤNG Mục đích • Tìm hiểu mô hình thực tế TCP/IP trên cơ sở tham chiếu tới các tầng trong mô hình OSI giao thức liên mạng IP, và giao thức điều khiển đường truyền TCP 9/7/2022 Mô hình TCP/IP 79 Chương 3. MÔ HÌNH TCP/IP VÀ ỨNG DỤNG Nội dung • Tổng quan về TCP/IP • Các giao thức • Địa chỉ dùng trong mô hình TCP/IP 9/7/2022 Mô hình TCP/IP 80 3. Tổng quan về TCP/IP • Sự hình thành và phát triển • Kiến trúc của họ giao thức TCP/IP • So sánh với mô hình tham chiếu OSI 9/7/2022 Mô hình TCP/IP 81 3.
Sự hình thành và phát triển • TCP/IP (Transmission Control Protocol/Internet Protocol) là họ giao thức được phát triển phục vụ cho việc kết nối và trao đổi thông tin trên mạng Internet • TCP/IP được hai tác giả người Mỹ là Vinton G. Cerf và Robert E. Kahn đề xuất vào năm 1974 • TCP/IP thực chất là một họ giao thức cho phép các hệ thống mạng cùng làm việc với nhau thông qua việc cung cấp phương tiện truyền thông liên mạng. 9/7/2022 Mô hình TCP/IP 82 3.
Kiến trúc TCP/IP Application Transport Internet Network Interface 9/7/2022 Mô hình TCP/IP 83 Qui trình truyền thông • Dữ liệu được xử lý bởi tầng application • Tầng application tổ chức DL theo khuôn dạng và trật tự để tầng ứng dụng ở máy nhận có thể hiểu được • Tầng ứng dụng gửi dữ liệu xuống tầng dưới theo dòng byte nối byte • Tầng ứng dụng gửi các thông tin điều khiển khác giúp xác định địa chỉ đến, đi của dữ liệu • Khi tới tầng giao vận, DL sẽ được đóng thành các gói có kích thước nhỏ hơn 64 KB 9/7/2022 Mô hình TCP/IP 84 Qui trình truyền thông (tiếp) • Cấu trúc gói dữ liệu giao vận: • Header + Data • Khi đóng gói, tầng Internet chèn thêm phần header của nó vào gói dữ liệu rồi chuyển xuống cho tầng tiếp cận mạng. • Khi gói dữ liệu từ tầng Internet tới tiếp cận mạng sẽ được gắn thêm 1 header khác và đi vào mạng (frame) • Bộ định tuyến chỉ dẫn gói tin đi đến địa chỉ đích • Tới máy nhận gói DL được xử lý theo chiều ngược lại 9/7/2022 Mô hình TCP/IP 85 3. Đối chiếu với mô hình OSI OSI Model TCP/IP (Internet) Application Presentation Application Session Transport Transport Network Internet Data Link Network Interface Physical 9/7/2022 Mô hình TCP/IP 86 3. Các giao thức trong mô hình Simple Network Simple Mail Transfer Domain Protocol Name System Management Protocol Internet Control Message Protocol Fiber Distributed Address Resolution Protocol Data Interface 9/7/2022 Mô hình TCP/IP 87 3.1 Giao thức trên nền mạng • Nhiệm vụ của giao thức IP • Cấu trúc gói tin của giao thức IP • Nguyên tắc hoạt động của giao thức IP 9/7/2022 Mô hình TCP/IP 88 Nhiệm vụ của giao thức IP • Cung cấp khả năng kết nối các mạng con thành liên kết mạng để truyền dữ liệu • IP có vai trò như giao thức tầng mạng trong OSI • Giao thức IP là giao thức không liên kết • Sơ đồ địa chỉ hóa để định danh các trạm (host) trong liên mạng được gọi là địa chỉ IP 32 bit • Địa chỉ IP gồm: netid và hostid (địa chỉ máy) • Địa chỉ IP là để định danh duy nhất cho một máy tính bất kỳ trên liên mạng 9/7/2022 Mô hình TCP/IP 89 Nguyên tắc hoạt động của IP • Đối với thực thể IP ở máy nguồn, khi nhận được một yêu cầu gửi từ tầng trên, thực hiện: • Tạo một IP datagram dựa trên tham số nhận được • Tính checksum và ghép vào header của gói tin • Ra quyết định chọn đường: hoặc là trạm đích nằm trên cùng mạng hoặc một gateway sẽ được chọn cho chặng tiếp theo • Chuyển gói tin xuống tầng dưới để truyền qua mạng 9/7/2022 Mô hình TCP/IP 90 Nguyên tắc hoạt động của IP • Đối với gateway, khi nhận được một gói tin: • Tính checksum, nếu sai thì loại bỏ gói tin • Giảm giá trị tham số Time-to-Live, nếu thời gian đã hết thì loại bỏ gói tin • Ra quyết định chọn đường • Phân đoạn gói tin (nếu cần) • Kiến tạo lại IP header, gồm giá trị mới của các vùng Time-to- Live, Fragmentation và Checksum • Chuyển datagram xuống tầng dưới để chuyển qua mạng 9/7/2022 Mô hình TCP/IP 91 Nguyên tắc hoạt động của IP (t) • Cuối cùng khi một datagram nhận bởi một thực thể IP ở trạm đích, nó sẽ thực hiện: • Tính checksum.
Nếu sai thì loại bỏ gói tin • Tập hợp các đoạn của gói tin (nếu có phân đoạn) • Chuyển dữ liệu và các tham số điều khiển lên tầng trên 9/7/2022 Mô hình TCP/IP 92 Các giao thức khác trên nền mạng • Giao thức ARP (Address Resolution Protocol) • Giao thức RARP (Reverse ARP) • Giao thức ICMP (Internet Control Message Protocol) 9/7/2022 Mô hình TCP/IP 93 Giao thức ARP • Trong mạng, hai trạm chỉ có thể liên lạc với nhau nếu chúng biết địa chỉ vật lý của nhau • Cần phải tìm được ánh xạ giữa địa chỉ IP (32 bits) và địa chỉ vật lý của một trạm (MAC) • ARP để tìm địa chỉ vật lý từ địa chỉ IP cần thiết 9/7/2022 Mô hình TCP/IP 94 Giao thức RARP • RARP để tìm địa chỉ IP từ địa chỉ vật lý 9/7/2022 Mô hình TCP/IP 95 Giao thức ICMP • Truyền các thông báo điều khiển giữa các gateway hoặc một nút của liên mạng • Các lỗi: • Gói tin IP không thể tới đích • Router không đủ bộ nhớ đệm để lưu, chuyển một gói tin IP • Một thông báo ICMP được tạo và chuyển cho IP • IP sẽ “bọc” (encapsulate) thông báo đó với một IP header và truyền đến cho router hoặc trạm đích 9/7/2022 Mô hình TCP/IP 96 3. Giao thức trên nền giao vận • Nhiệm vụ của giao thức nền giao vận (TCP,UDP) • Cấu trúc gói tin của giao thức nền giao vận (TCP,UDP) • Nguyên tắc hoạt động của giao thức nền giao vận (TCP, UDP) 9/7/2022 Mô hình TCP/IP 97 Nhiệm vụ của TCP • Là giao thức điều khiển đường truyền • TCP là tầng trung gian giữa giao thức IP bên dưới và một ứng dụng bên trên trong bộ giao thức TCP/IP • TCP cung cấp các kết nối đáng tin cậy, làm cho các ứng dụng có thể liên lạc trong suốt với nhau • TCP làm nhiệm vụ của tầng giao vận trong mô hình OSI đơn giản của các mạng máy tính • Sử dụng TCP, các ứng dụng trên máy có thể trao đổi dữ liệu hoặc các gói tin • TCP hỗ trợ nhiều giao thức ứng dụng phổ biến nhất trên Internet và các ứng dụng kết quả, trong đó có WWW, thư điện tử,… 9/7/2022 Mô hình TCP/IP 98 Các cổng TCP • TCP sử dụng khái niệm số hiệu cổng (port number) để định danh các ứng dụng gửi và nhận dữ liệu • Mỗi đầu của một kết nối TCP có một số hiệu cổng được gắn cho ứng dụng đang nhận hoặc gửi dữ liệu 9/7/2022 Mô hình TCP/IP 99 Cấu trúc gói tin TCP Con trỏ này trỏ tới số hiệu tuần tự Nếu cờ SYN bật thì nó là số hiệu tuần tự của byte đi theo sau dữ liệu khởi đầu và byte đầu tiên được gửi có khẩn, cho phép bên nhận biết số thứ tự này cộng thêm 1. Nếu Khai báo các Nếu tùy cờchọnACKcủabậtTCPthì giá trị của • không Độ dài thay đổi được độ dài của dữ liệu khẩn có cờ SYN thì đây là số thứ tự• của trong đó trường có byte dữ liệu của tầng Số độ chính dài tối là đa số thứ tự gói tin của Chứa trênbyte có thể nhận bắt đầu tiên củaĐộsegment vùng dữ tiếp liệu theo mà bên nhận cần TCP dài• 4 bit•URG:Độđịnh qui Dành dài Cờ chongầm cho định trường độtương dài tối đa 536 URGent bytes pointer đầu từ giá trị của của phần •ACK: • headerlaiThay vàCờcó đổi giábằng cho (tính là cách trường theo trị khai báo 0 ACKnowledgement trong trường options báo nhận (ACK) Mã kiểm vị từ• lỗi đơnsoát PSH: 32cho Chứcheader bit).toàn Phần năng PUSH bộcó segment độ dài• tốiRST:thiểuThiết là 5 từlập(160 lại đường truyền (ReSeT) • đaSYN: bit) và tối (header+data) là 15Đồng từ (480bộ bit) lại số hiệu tuần tự 9/7/2022 • FIN:MôKhông còn dữ liệu từ trạm nguồn hình TCP/IP 100 Cấu trúc gói tin TCP - Source port: port nguồn - Destination Port: port đích - Sequence number: số tuần tự (để sắp xếp các gói tin theo đúng trật tự của nó). - Acknowledgment number (ACK số): số thứ tự của Packet mà bên nhận đang chờ đợi.
- Header Length: chiều dài của gói tin. - Reserved: trả về 0 - Code bit: các cờ điều khiển. - Windows: kích thước tối đa mà bên nhận có thể nhận được - Checksum: máy nhận sẽ dùng 16 bit này để kiểm tra dữ liệu trong gói tin có đúng hay không. - Data: dữ liệu trong gói tin (nếu có).
9/7/2022 Mô hình TCP/IP 101 Nguyên tắc hoạt động của TCP • Các ứng dụng gửi các dòng gồm các byte 8-bit tới TCP để chuyển qua mạng • TCP phân chia dòng byte này thành các đoạn (segment) có kích thước thích hợp • Sau đó, TCP chuyển các gói tin thu được tới giao thức IP để gửi nó qua một liên mạng tới mô đun TCP tại máy tính đích • Giao thức TCP là giao thức có liên kết 9/7/2022 Mô hình TCP/IP 102 Nguyên tắc hoạt động của TCP • Thiết lập kết nối • Bước 1: Client gửi một gói tin (SYN) xin kết nối với server tại một cổng nào đó • Bước 2: Server trả lời bằng một gói tin chấp nhận kết nối (SYN- ACK) • Bước 3: Client gửi một tín hiệu báo nhận (ACK) cho server. Đến đây, cả client và server đều đã nhận được một tin báo nhận (acknowledgement) về kết nối, và việc truyền dữ liệu sẽ diễn ra cho tới khi có tin hiệu đóng kết nối của một trong hai bên, đây chính là đặc điểm mà người ta xếp TCP vào loại giao thức kết nối tin cậy.