CHƯƠNG 4 BỘ GIAO THỨC TCP/IP 4.1 GIỚI THIỆU
4.12 NGUYÊN LÝ HOẠT ĐỘNG CỦA GIAO THỨC TCP/IP VÀ INTERNET
Mạng máy tính ngày nay đã trở thành một thành phần quan trọng trong ngành truyền thông. Trên thế giới, ban đầu chỉ có vài mạng máy tính được đưa vào sử dụng ở các viện nghiên cứu và phục vụ cho quốc phòng. Cùng với thời gian, khoa học phát triển, giá máy giảm, mạng máy tính đã có mặt ở khắp nơi, từ trường học, nhà máy đến các
học viện. Đặc biệt sự bùng nổ của mạng thông tin toàn cầu Internet đã đưa khả năng sử dụng mạng đến từng người dân. Hàng ngày bạn dạo chơi trên Internet, lướt trên các trang Web, có bao giờ bạn tự hỏi làm thế nào mà con người có được khả năng truy cập thông tin mạnh mẽ và tiện lợi đến như vậy?
Trả lời đầy đủ câu hỏi này quả là không đơn giản vì đó là thành quả của hàng ngàn con người, lao động trong hàng chục năm, không thể trình bày gói gọn chỉ trong vài trang viết.
Mô hình tổng quát của mạng Internet
Như trong hình 1, kết cấu vật lý của mạng Internet gồm có mạng chính chứa các server cung cấp dịch vụ cho mạng, mạng nhánh bao gồm các trạm làm việc sử dụng dịch vụ do Internet cung cấp. "Đám mây Internet" hàm chứa vô vàn mạng chính, mạng nhánh và bao phủ toàn thế giới. Để một hệ thống phức tạp như vậy hoạt động trơn tru và hiệu quả thì điều kiện tiên quyết là mọi máy tính trong mạng, dù khác nhau về kiến trúc, đều phải giao tiếp với mạng theo cùng một quy luật. Đó là giao thức TCP/IP:
Hình 25.Kết cấu vật lý của mạng
Nếu đã từng lập trình, bạn hẳn biết rằng một chương trình hoàn chỉnh được tạo nên từ nhiều module với các chức năng và nhiệm vụ khác nhau nhưng lại liên kết chặt chẽ với nhau. Quá trình truyền dữ liệu cũng như vậy. Để có thể truyền qua mạng Internet, dữ liệu phải được xử lý qua nhiều tầng. Một mạng intranet theo chuẩn OSI thường có bảy tầng nhưng Internet chỉ có bốn tầng xử lý dữ liệu là:
* Tầng application
* Tầng transport còn gọi là tầng TCP (Transmission Control Protocol)
* Tầng network còn gọi là tầng IP (Internet Protocol)
* Tầng Datalink/Physical
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 2.
Hình 26.Đường đi của mạng
Đầ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 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 Datalink/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 Datalink/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 datalink/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.
Hệ thống địa chỉ và cơ chế truyền dữ liệu trong mạng Internet
Để một gói dữ liệu có thể đi từ nguồn tới đích, mạng Internet đã dùng một hệ thống đánh địa chỉ tất cả các máy tính nối vào mạng như hình 3.
Hình 27.Hệ thống tên và địa chỉ của mạng Internet
Những tên và địa chỉ này được gửi cho máy tính nhận dữ liệu. Để phân tích hệ thống tên/địa chỉ, hãy bắt đầu từ thấp lên cao: