CHƯƠNG 1 TỔNG QUAN VỀ TCP/IP TCP/IP (Transmission Control Protocol/Internet Protocol) là một bộ giao thức cho phép các thiết bị khác nhau có thể truyền thông được với nhau trên mạng máy tính. TCP/IP được phát triển như một dự án nghiên cứu bắt đầu vào năm 1969 của ARPA (Advanced Research Project Agency) thuộc Bộ quốc phòng Mỹ nhằm kết nối các máy tính của các trung tâm nghiên cứu lớn trong toàn liên bang, đánh dấu sự phát triển của mạng ARPA, tiền thân của mạng thông tin toàn cầu Internet ngày nay. Trong phạm vi một hệ thống mạng, các yêu cầu và dữ liệu từ một máy tính được chuyển qua bộ phận trung gian (có thể là dây cáp mạng hoặc đường điện thoại).1 - Mạng máy tính đơn giản Một máy tính tương tác với thế giới thông qua một hoặc nhiều ứng dụng. Những ứng dụng này thực hiện các nhiệm vụ cụ thể và quản lý dữ liệu ra và vào.
Nếu máy tính đó là một phần của hệ thống mạng, thì một trong số các ứng dụng trên sẽ có thể giao tiếp với các ứng dụng trên các máy tính khác thuộc cùng hệ thống mạng. Bộ giao thức mạng là một hệ thống các quy định chung giúp xác định quá trình truyền SVTH: TRẦN VĂN PHÁT – NGUYỄN HUY SÁNG Trang 4 ĐỒ ÁN TỐT NGHIỆP GVHD: Th.S LÊ ANH UYÊN VŨ dữ liệu phức tạp. Dữ liệu đi từ ứng dụng trên máy này, qua phần cứng về mạng của máy, tới bộ phận trung gian và đến nơi nhận, thông qua phần cứng của máy tính đích rồi tới ứng dụng. Các giao thức TCP/IP có vai trò xác định quá trình liên lạc trong mạng và quan trọng hơn cả là định dạng “hình dáng” của một đơn vị dữ liệu và những thông tin chứa trong nó để máy tính đích có thể dịch thông tin một cách chính xác.
TCP/IP và các giao thức liên quan tạo ra một hệ thống hoàn chỉnh quản lý quá trình dữ liệu được xử lý, chuyển và nhận trên một mạng sử dụng TCP/IP. Một hệ thống các giao thức liên quan, chẳng hạn như TCP/IP, được gọi là bộ giao thức. Một chuẩn TCP/IP là một hệ thống các quy định quản lý việc trao đổi trên các mạng TCP/IP. Bộ lọc TCP/IP là một phần mềm có chức năng cho phép môt máy tính hoà vào mạng TCP/IP.
Mục đích của các chuẩn TCP/IP nhằm đảo bảo tính tương thích của tất cả các bộ lọc.1 Các thuộc tính của TCP/IP Địa chỉ Logic Trên những mạng có định tuyến, người quản trị cần có cách để chia nhỏ mạng thành những phần nhỏ (gọi là tiểu mạng) và thiết lập các cấp độ để thông tin có thể di chuyển tới đích một cách hiệu quả. TCP/IP cung cấp khả năng chia tiểu mạng thông qua địa chỉ logic. Một địa chỉ logic là địa chỉ được thiết lập bằng phần mềm của mạng. Trong TCP/IP, địa chỉ logic của một máy tính được gọi là địa chỉ IP.
Một địa chỉ IP bao gồm: mã số (ID) mạng, dùng để xác định mạng; ID tiểu mạng dùng để xác định vị trí tiểu mạng trong hệ thống; ID máy nguồn (chủ), dùng để xác định vị trí máy tính trong tiểu mạng. Hệ thống tạo địa chỉ IP cũng cho phép quản trị mạng đặt ra hệ thống số của mạng một cách hợp lý để khi cần mở rộng có thể dễ dàng bổ sung và quản lý. SVTH: TRẦN VĂN PHÁT – NGUYỄN HUY SÁNG Trang 5 ĐỒ ÁN TỐT NGHIỆP GVHD: Th.S LÊ ANH UYÊN VŨ Định tuyến Bộ định tuyến là thiết bị đặc biệt có thể đọc được thông tin địa chỉ logic và điều khiển dữ liệu trên mạng tới được đích của nó. Bộ định tuyến phân chia tiểu vùng từ hệ thống mạng.
Dữ liệu cần chuyển tới máy nằm trong cùng tiểu vùng thì không qua bộ định tuyến. Nếu dữ liệu cần tới máy tính nằm ngoài tiểu vùng của máy gửi đi thì bộ định tuyến sẽ làm nhiệm vụ của mình. Trong những mạng có quy mô lớn hơn, chẳng hạn như mạng Internet, sẽ có vô vàn bộ định tuyến cung cấp các lộ trình khác nhau từ nguồn tới đích. TCP/IP bao gồm những bộ định tuyến có chức năng xác định cách các bộ định tuyến tìm lộ trình trong mạng.
Giải pháp địa chỉ dạng tên Mọi người chắc chắn sẽ gặp khó khăn khi nhớ các địa chỉ IP như: 172. Vì thế TCP/IP cung cấp một địa chỉ dạng ký tự tương ứng với địa chỉ số, những địa chỉ ký tự này được gọi là tên miền hay DNS (Dịch vụ tên miền). Một số máy tính đặc biệt được gọi là máy chủ, quản lý tên miền lưu trữ các bảng hướng dẫn cách gắn tên miền với địa chỉ số. Kiểm tra lỗi và kiểm soát giao thông Bộ giao thức TCP/IP cung cấp các thuộc tính đảm bảo mức độ tin cậy của việc vận chuyển dữ liệu trên mạng.
Những thuộc tính này bao gồm việc kiểm tra lỗi trong quá trình vận chuyển (để xác định dữ liệu đã tới nơi chính là cái đã được gửi đi) và xác nhận việc thông tin đã được nhận. Lớp vận chuyển của TCP/IP xác định các việc kiểm tra lỗi và xác nhận thông qua giao thức TCP. Nhưng giao thức ở cấp thấp hơn, Lớp Truy Cập Mạng, cũng đóng một vai trò trong toàn bộ quá trình kiểm tra lỗi. SVTH: TRẦN VĂN PHÁT – NGUYỄN HUY SÁNG Trang 6 ĐỒ ÁN TỐT NGHIỆP GVHD: Th.S LÊ ANH UYÊN VŨ Hỗ trợ ứng dụng Bộ giao thức phải cung cấp giao diện cho ứng dụng trên máy tính để những ứng dụng này có thể tiếp cận được phần mềm giao thức và có thể vào mạng.
Trong TCP/IP, giao diện từ mạng cho tới ứng dụng chạy trên máy ở mạng cục bộ được thực hiện thông qua các kênh logic (port). Mỗi cổng có một số đánh dấu.2 - Hoạt động Tầng ứng dụng 1.2 Nguyên tắc hoạt động của TCP/IP Bộ giao thức Internet là một tập hợp các giao thức truyền thông được sử dụng cho mạng Internet và các mạng tương tự khác. Hai trong số những giao thức quan trọng nhất của nó là: Giao thức điều khiển truyền dẫn (TCP) và Giao thức Internet (IP), đó là hai giao thức mạng đầu tiên được xác định theo theo tiêu chuẩn này. Bộ giao thức Internet, cũng giống như nhiều bộ giao thức khác, được xây dựng thành một tập hợp các tầng.
Mỗi tầng giải quyết một loạt các vấn đề liên quan đến việc truyền tải dữ liệu. Đặc biệt, các tầng có vai trò xác định phạm vi hoạt động bên trong các giao thức. Thông thường, một thành phần của một tầng sẽ cung cấp một dịch vụ đã được định rõ cho các giao thức tầng trên và có thể sử dụng dịch vụ từ các tầng thấp hơn nó. Xét về logic thì tầng trên được gắn kết với người sử dụng hơn và xử lý với những dữ liệu trừu tượng hơn, dựa trên các giao thức tầng thấp hơn để dịch dữ liệu thành SVTH: TRẦN VĂN PHÁT – NGUYỄN HUY SÁNG Trang 7 ĐỒ ÁN TỐT NGHIỆP GVHD: Th.S LÊ ANH UYÊN VŨ các dạng cuối cùng có thể sẽ được truyền tải.
Mô hình TCP/IP bao gồm bốn tầng (RFC 1122): Data Link Layer, Network Layer, Transport Layer, Application Layer. Giả sử bạn đang ở máy A và muốn gửi một thông điệp tới máy B. Bạn dùng một trình soạn thảo văn bản để soạn thư, sau đó nhấn nút Send. Tính từ thời điểm đó dữ liệu được xử lý lần lượt như trong hình sau: Hình 1.3 - Mô hình truyền tải dữ liệu Đầu tiên, dữ liệu được xử lý bởi tầng application.
Tầng này có nhiệm vụ tổ chức dữ liệu theo khuôn dạng và trật tự nhất định để tầng application ở máy B có thể hiểu được. Điều này giống như khi bạn viết một chương trình thì các câu lệnh phải tuân theo thứ tự và cú pháp nhất định thì chương trình mới chạy được. Tầng application SVTH: TRẦN VĂN PHÁT – NGUYỄN HUY SÁNG Trang 8 ĐỒ ÁN TỐT NGHIỆP GVHD: Th.S LÊ ANH UYÊN VŨ gửi dữ liệu xuống tầng dưới theo dòng byte nối byte. Cùng với dữ liệu, tầng application cũng gửi xuống 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 xuống tới tầng TCP, dòng dữ liệu sẽ được đóng thành các gói có kích thước không nhất thiết bằng nhau nhưng phải nhỏ hơn 64 KB. Cấu trúc của gói dữ liệu TCP gồm một phần header chứa thông tin điều khiển và sau đó là dữ liệu. Sau khi đóng gói xong ở tầng TCP, dữ liệu được chuyển xuống cho tầng IP. Gói dữ liệu xuống tới tầng IP sẽ tiếp tục bị đóng gói lại thành các gói dữ liệu IP nhỏ hơn sao cho có kích thước phù hợp với mạng chuyển mạch gói mà nó dùng để truyền dữ liệu.
Trong khi đóng gói, IP cũng 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 Data Link/Physical. Khi các gói dữ liệu IP tới tầng Datalink sẽ được gắn thêm một header khác và chuyển tới tầng physical đi vào mạng. Gói dữ liệu lúc này gọi là frame. Kích thước của một frame hoàn toàn phụ thuộc vào mạng mà máy A kết nối.
Trong khi chu du trên mạng Internet, frame được các router chỉ dẫn để có thể tới đúng đích cần tới. Router thực ra là một module chỉ có hai tầng là Network và Datalink/Physical. Các frame tới router sẽ được tầng Data Link/Physical lọc bỏ header mà tầng này thêm vào và chuyển lên tầng Network (IP). Tầng IP dựa vào các thông tin điều khiển trong header mà nó thêm vào để quyết định đường đi tiếp theo cho gói IP.
Sau đó gói IP này lại được chuyển xuống tầng Datalink/Physical để đi vào mạng. Quá trình cứ thế tiếp tục cho đến khi dữ liệu tới đích là máy B. Khi tới máy B các gói dữ liệu được xử lý theo quy trình ngược lại với máy A. Theo chiều mũi tên, đầu tiên dữ liệu qua tầng Data Link/Physical.
Tại đây frame bị bỏ đi phần header và chuyển lên tầng IP. Tại tầng IP, dữ liệu được bung gói IP, sau đó lên tầng TCP và cuối cùng lên tầng application để hiển thị ra màn hình. SVTH: TRẦN VĂN PHÁT – NGUYỄN HUY SÁNG Trang 9 ĐỒ ÁN TỐT NGHIỆP GVHD: Th.S LÊ ANH UYÊN VŨ 1.1 Hoạt động tầng ứng dụng Tầng này thực hiện việc truyền thông giữa các chương trình và giao thức chuyển tải. Trên tầng Ứng dụng này, có nhiều loại giao thức khác nhau hoạt động.
Giao thức được biết đến nhiều nhất là HTTP (Giao thức Truyền Siêu Văn bản), SMTP (Giao thức Truyền Thư Đơn giản), FTP (Giao thức Truyền Tập tin), SNMP (Giao thức Quản lý Mạng Đơn giản), DNS (Hệ thống Tên Miền) và Telnet (Chương trình mô phỏng thiết bị đầu cuối, cho phép người dùng login vào máy chủ từ một máy tính nào đó trên mạng).