Đặc tả OSI cung cấp một diện mạo bề ngoài của truyền thông mạng. Khi đã cho một mạng vật lý hạ tầng, tồn tại hai kiểu t−ơng tác hệ thống: truyền thông liên QT và truyền thông liên nút. Đặt ra hai câu hỏi đối với ng−ời thiết kế hệ thống: Làm thế nào để duy trì đ−ợc truyền thông giữa cặp hai QT và việc dẫn đ−ờng TĐ theo các nút của mạng nh− thế nào ? Nói khác đi, tầng giao vận và tầng mạng là cốt yếu trong thiết kế hệ thống. TCP/IP là bộ giao thức tập trung vào hai vấn đề này trong môi tr−ờng liên mạng. TCP là giao thức tầng giao vận t−ơng đ−ơng với TP4 trong bộ OSI. Đích cơ bản của bộ TCP/IP là mạng liên kết nối trong khi OSI là máy tính liên kết nối.
Hình 2.5 mô tả bộ giao thức TCP/IP cho hai mạng đ−ợc kết nối qua một số cổng, còn hình 2.6 thể hiện các giao thức t−ơng ứng với các tầng. Giao thức thực sự trong hình chỉ có hai tầng; các tầng khác đ−ợc chỉ ra chỉ mang tính toàn vẹn. Tầng ứng dụng là không cần định rõ, thậm chí ngay cả t−ơng tác giữa TCP và ứng dụng là không xác định để linh hoạt. Tầng kết nối dữ liệu và vật lý đ−ợc chú ý nh− là một giao diện mạng mà hiện có rất nhiều chuẩn cho nó.
Mức giao vận có thể chọn h−ớng kết nối hoặc không kết nối. Dịch vụ này có thể đ−ợc thực hiện bởi một chu trình ảo hoặc một gói tin tại tầng mạng. Nh− vậy, tổ hợp thành bốn cơ chế truyền thông QT. Truyền thông h−ớng kết nối, theo định nghĩa, có yêu cầu nghiêm ngặt đối với việc phân phát chính xác và đúng trình tự TĐ hơn so với truyền thông không kết nối. Nó là dịch vụ đúng đắn cho hầu hết ứng dụng. Hơn nữa, một gói tin (đơn vị truyền thông không kết nối) là dễ dàng và hiệu quả hơn khi thi hành trong tầng mạng, đặc biệt khi mạng hạ tầng là không tin cậy. Kết hợp tầng giao vận h−ớng kết nối và tầng mạng gói tin làm thích nghi một lớp rộng lớn các ứng dụng mạng. Đây là triết lý của TCP/IP (TCP h−ớng kết nối và IP mạch chuyển gói tin).
Trách nhiệm duy trì truyền thông tin cậy từ mức mạng đ−ợc chuyển tới mức HĐH, nơi cho phép điều khiển nhiều hơn so với tại mạng. Dữ liệu khác và TĐ điều khiển chỉ đòi hỏi dịch vụ không tin cậy, và điều đó đ−ợc đáp ứng nhờ dịch vụ gói tin ng−ời dùng tại mức giao vận.
Một QT có thể truyền thông trực tiếp tới QT ngang hàng nhờ sử dụng số hiệu QT (Pid) nh− địa chỉ nguồn và đích. Tuy nhiên, thuận tiện hơn dùng khái niệm cổng đối với nút truyền thông liên QT. Ví dụ một QT có thể dùng nhiều đ−ờng truyền thông tới một QT khác nhờ việc sử dụng cổng phức và các QT khác có thể chia xẻ cổng đích chung nhằm thực hiện kết nối đa điểm. Cổng đ−ợc HĐH cục bộ khởi tạo và gán một số hiệu (id) t−ơng ứng. Số hiệu cổng là duy nhất nội tại trong máy cục bộ. Nút mạng diện rộng t−ờng minh đạt đ−ợc nhờ việc ghép nối số hiệu cổng với máy chủ và địa chỉ mạng.
Tầng ứng dụng Tầng giao vận Tầng Internet Tầng mạng RIP SNMP SMTP Transsmission Control Protocol User Datagram Protocol TELNET FTP Internet Protocol ICMP ARP
Token Ring Token Bus Fiber
Ethernet
DNS
Hình 2.6. Các tầng trong bộ giao thức TCP/IP Hình 2.5. Bộ giao thức TCP/IP
Giao vận Trình ứng dụng
Giao vận
Trình ứng dụng Giao thức điểm - điểm
Internet Internet Internet Internet Cổng (Gateway) Kết nối dữ liệu và vật lý Kết nối dữ liệu và vật lý Kết nối dữ liệu và vật lý Kết nối dữ liệu và vật lý Khuôn bit Khuôn bit Mạch chuyển gói tin Gói Thông điệp
Hình 2.7 cho một cấu trúc địa chỉ IP và một kết nối TCP giữa hai nút. Nút kết nối đ−ợc định danh bởi cặp địa chỉ máy chủ Internet và cổng giao vận.
Địa chỉ Internet đầy đủ chứa địa chỉ mạng và địa chỉ máy chủ nội tại trong mạng. Nếu mạng chứa mạng con, địa chỉ mạng (cũng đ−ợc gọi là miền) đ−ợc chia làm hai phần: địa chỉ mạng và địa chỉ mạng con. Một địa chỉ IP dài 32 bit. Các dạng địa chỉ IP đ−ợc mô tả chi tiết ở phần sau.
Mức giao vận trong TCP/IP hoặc UDP/IP cung cấp các cổng đối với các dịch vụ h−ớng kết nối hoặc không kết nối. Giao diện chuyển mạch gói (socket) trong UNIX BSD IV đ−ợc phát triển tại tr−ờng ĐHTH Berkeley là một ví dụ đối với cơ chế giao diện mà những ứng dụng chẳng hạn ống dẫn dòng UNIX cần đ−ợc xây dựng. Socket là trừu t−ợng hóa vào-ra mạng cho phép thực hiện các thao tác đọc và ghi chuẩn. Lời gọi hệ thống socket tạo ra một socket, cho một đặc tả socket đ−ợc dùng để đọc và ghi socket, t−ơng tự nh− đặc tả file của một file đ−ợc mở. Tham số trong lời gọi hệ thống socket
mô tả họ giao thức và kiểu dịch vụ truyền thông sẽ đ−ợc thiết đặt đối với socket. Với kết nối TCP, socket bắt buộc h−ớng tới cổng giao vận đích tr−ớc khi toán tử đọc hoặc ghi đ−ợc giải thích. Lời gọi connect thực hiện việc làm phù hợp socket với cổng giao vận đích xa. HĐH tại đích xa cho số hiệu cổng t−ơng ứng. Nếu số hiệu cổng cần thiết là đã biết thì nó có thể đ−ợc QT đích gán nhờ lời gọi bind với chức năng ràng buộc socket tới một cổng cục bộ. Đối với truyền dữ liệu không kết nối, các lời gọi hệ thống
sendio và revfrom đ−ợc dùng. Yêu cầu về số hiệu socket và địa chỉ đích đ−ợc mô tả nh− những tham số trong lời gọi. Không cần kết nối từ tr−ớc.
Do TCP/IP xác định trực tiếp hai tầng chủ yếu nhất để thiết kế hệ thống phân tán và mạng truyền thông, nó th−ờng đ−ợc dùng nh− là một mô hình để trình bày. Socket trong truyền thông không kết nối đ−ợc sử dụng rộng rãi trong hệ phân tán và lập trình mạng.
Chức năng các giao thức trong bộ giao thức TCP/IP
Một số giao thức điển hình trong bộ giao thức TCP/IPđ−ợc liệt kê nh− d−ới đây.
• FTP (File transfer Protocol): Giao thức truyền File lấy (gửi) File từ (tới) máy khác.
• Telnet: Ch−ơng trình mô phỏng thiết bị đầu cuối cho phép login vào máy chủ.
• SMTP (Simple Mail Transfer Protocol): Một giao thức th− tín điện tử.
• DNS (Domain Name phục vụ): Dịch vụ tên miền cho phép nhận ra máy tính từ một
tên miền thay cho chuỗi địa chỉ Internet khó nhớ.
Số hiệu cổng 280 Hình 2.7. Kết nối TCP và địa chỉ IP Số hiệu cổng 80 Gói IP liên nút www.mcu.edu Kết nối TCP liên QT www.vnu.edu.vn Cổng giao thức giao vận Địa chỉ miền hoặc mạng Địa chỉ máy chủ Địa chỉ miền hoặc mạng Cổng giao thức giao vận Địa chỉ máy chủ Internet
• SNMP (Simple Network Management Protocol): Giao thức cung cấp công cụ quản
trị mạng.
• RIP (Routing Internet Protocol): Giao thức dẫn đ−ờng động.
• ICMP (Internet Control Message Protocol): Nghi thức thông báo lỗi.
• UDP (User Datagram Protocol): Giao thức truyền không kết nối cung cấp dịch vụ
truyền không tin cậy nh−ng tiết kiệm chi phí truyền.
• TCP (Transmission Control Protocol): Giao thức h−ớng kết nối cung cấp dịch vụ truyền thông tin cậy.
• IP (Internet Protocol): Giao thức Internet chuyển giao các gói tin qua các máy tính
đến đích.
• ARP (Address Resolution Protocol): Cơ chế chuyển địa chỉ TCP/IP thành địa chỉ vật lý của các thiết bị mạng.
II.6. Kết quả thiết kế chủ yếu
Hệ phân tán bao gồm các QT đồng thời truy nhập tài nguyên phân tán (có thể đ−ợc chia xẻ hoặc nhân bản) thông qua CTĐ trong môi tr−ờng mạng có thể không tin cậy và chứa các thành phần không cấu trúc. Một số vấn đê đ−ợc đặt ra khi nghiên cứu thiết kế hệ phân tán. Thứ nhất, bằng cách nào các đối t−ợng trong hệ thống đ−ợc mô hình hóa và định danh. Thứ hai, bằng cách nào kết hợp t−ơng tác giữa các đối t−ợng và bằng cách nào chúng truyền thông cho nhau. Thứ ba là nếu đối t−ợng đ−ợc chia xẻ hoặc nhân bản, bằng cách nào chúng đ−ợc quản lý trong cấu thành đ−ợc điều khiển. Thứ t−, sự an toàn của đối t−ợng và an ninh trong hệ thống bắt buộc phải xác định. Các vấn đề này đ−ợc tóm l−ợc trong phần tiếp theo và đ−ợc phân tích kỹ trong các ch−ơng sau.
II.6.1. Mô hình đối t−ợng và sơ đồ tên
Đối t−ợng trong hệ thống máy tính là QT, file dữ liệu, bộ nhớ, thiết bị và mạng. Theo truyền thống, các kiểu đối t−ợng khác nhau đ−ợc thi hành khác nhau. Theo đúng tinh thần của tính trong suốt, giả thiết rằng mọi đối t−ợng đ−ợc trình bày theo cùng một cách thức. Do các đối t−ợng mang nghĩa đầy đủ chỉ khi chúng đ−ợc truy nhập vì vậy mỗi đối t−ợng cần đ−ợc phù hợp với các thao tác hoàn toàn xác định để truy nhập đối t−ợng. Bởi vậy, mỗi đối t−ợng đ−ợc trừu t−ợng hóa bằng tập các thao tác truy nhập đ−ợc đối với nó. Chi tiết vật lý của đối t−ợng là trong suốt đối với các đối t−ợng khác. QT thực hiện công việc quản lý đối t−ợng trở thành phục vụ đối t−ợng. Nói khác đi, đối t−ợng đ−ợc cô lập qua các phục vụ và chỉ còn các phục vụ là các thực thể nhìn thấy đ−ợc trong hệ thống. Nh− vậy, trong hệ thống có phục vụ QT, phục vụ File, phục vụ bộ nhớ... Khách là một phục vụ rỗng, nó truy nhập các phục vụ đối t−ợng.
Để giao thiệp đ−ợc với một phục vụ thì phục vụ đó phải đ−ợc định danh. Tồn tại chỉ ba cách định danh phục vụ:
- Định danh bằng tên,
- Định danh bằng hoặc địa chỉ vật lý hoặc địa chỉ lôgic - Định danh bằng dịch vụ mà phục vụ đó cung cấp,
Tên đ−ợc dùng cho mục đích định danh, đ−ợc giả thiết tổng quát là duy nhất trong khi đó cho phép tồn tại tính đa địa chỉ t−ơng ứng với cùng một phục vụ, địa chỉ có thể thay đổi khi phục vụ chuyển động. Tên là trực giác và trong suốt hơn so với điạ chỉ nh−ng điạ chỉ chứa thông tin cấu trúc để định vị phục vụ. Giải pháp ánh xạ tên tới địa chỉ lôgic đ−ợc thực thi bởi phục vụ tên trong HĐH. Giải pháp điạ chỉ ánh xạ địa chỉ lôgic
thành địa chỉ vật lý là chức năng của dịch vụ mạng. Trong nhiều hệ thống, cổng (port) đ−ợc coi là một địa chỉ lôgic. T−ơng ứng nhiều cổng tới một dịch vụ theo các đa điểm vào tới phục vụ. Mặt khác, đa phục vụ có thể chia xẻ cùng một cổng. Tiếp cận này đ−ợc đặt ra theo định danh tên trong hệ phân tán. Ph−ơng pháp thứ ba - định danh theo dịch vụ là độc đáo hơn. Khách chỉ quan tâm đến dịch vụ đ−ợc yêu cầu còn ai cung cấp dịch vụ này thì không liên quan. Điều hợp lý là đa phục vụ có thể cung cấp cùng một dịch vụ. Tiếp cận này cũng đ−ợc dùng cho thi hành HĐH tự trị cộng tác. Một cách tự nhiên, cần thiết một giao thức giải pháp để chuyển từ dịch vụ tới phục vụ.
Mô hình đối t−ợng và định danh theo tên là những vấn đề cơ sở buộc đ−ợc quyết định ngay khi thiết kế HĐH. Cấu trúc hệ thống, quản lý không gian tên, giải pháp tên và ph−ơng pháp truy nhập, tất cả phụ thuộc vào sơ đồ tên của các đối t−ợng trong hệ thống.