Truyền thông khách chủ (hay Truyền thông máy khách-máy chủ,tiếng Anh Client-Server Communication) là mô hình giao tiếp gồm hai thành phần máy khách và máy chủ. Các máy khách gửi yêu cầu đến máy chủ và máy chủ phản hồi các yêu cầu của máy khách.
Để giao tiếp được giữa máy khách và máy chủ phải tuân theo các quy tắc giao thức truyền thông. Các giao thức thuyền thông máy khách-máy chủ hoạt động trong lớp ứng dụng của mô hình kết nối các hệ thống mở OSI (Open Systems Interconnection) (xt. Mô hình OSI). Các giao thức đó gồm: (i) HTTP (HyperText Transfer Protocol) cho phép trao đổi thông tin qua Internet, (ii) FTP (File Transfer Protocol) cho phép trao đổi tập tin qua Internet, (iii) SMTP (Simple Mail Transfer Protocol) cho phép gởi các thông điệp thư điện tử (e-mail) qua Internet, (iv) POP3 (Post Office Protocol, phiên bản 3) cho phép nhận các thông điệp thư điện tử qua Internet, (v) MIME (Multipurpose Internet Mail Extension) một mở rộng của giao thức SMTP cho phép gởi kèm các tập tin nhị phân, phim, nhạc,... theo thư điện tử, (vi)WAP (Wireless Application Protocol) cho phép trao đổi thông tin giữa các thiết bị không dây như điện thoại di động. (xt. Mô hình OSI).
Nguyên tắc hoạt động[sửa]
Thành phần của kiến trúc máy khách-máy chủ phải tuân thủ một số nguyên tắc cơ bản áp dụng thống nhất cho máy khách, máy chủ và cho các thành phần trung gian truyền thông. Năm nguyên tắc chính bao gồm:
- Độc lập phần cứng
Các nguyên tắc độc lập phần cứng yêu cầu máy khách, máy chủ và phần mềm trung gian truyền thông, các quy trình chạy trên nhiều nền tảng phần cứng (IBM, DEC, Compap, Apple, v.v) mà không có bất kỳ sự khác biệt về chức năng nào.
- Độc lập phần mềm
Các nguyên tắc độc lập phần mềm yêu cầu các quy trình phần mềm trung gian máy khách, máy chủ và giao tiếp hỗ trợ nhiều hệ điều hành(như Windows 98, Windows NT, hệ thống Apple Mac, OS, Linux và Unix) nhiều mạng các giao thức (như IPX và TCP/IP) và nhiều ứng dụng (bảng tính, cơ sở dữ liệu thư điện tử, v.v.).
- Truy cập mở vào các dịch vụ
Tất cả các máy khách trong hệ thống phải có quyền truy cập không bị hạn chế đối với tất cả các dịch vụ được cung cấp trong mạng và các dịch vụ này không được phụ thuộc vào vị trí của máy khách hoặc máy chủ.
- Phân phối quy trình
Việc xử lý thông tin được phân phối giữa máy khách và máy chủ dựa trên phân chia tải xử lý ứng dụng theo bốn quy tắc sau: (i) Quá trình máy khách và máy chủ phải là các thực thể tự trị với các ranh giới và chức năng được xác định rõ ràng. Thuộc tính này cho phép xác định rõ chức năng của mỗi bên và nó tăng cường tính mô đun và tính linh hoạt của hệ thống; (ii) Việc sử dụng tài nguyên cục bộ ở cả phía máy khách và máy chủ phải được tối đa hóa. Quá trình này máy khách và máy chủ phải sử dụng đầy đủ sức mạnh xử lý của máy chủ. Thuộc tính này cho phép hệ thống gán chức năng cho máy tính phù hợp nhất với nhiệm vụ. Nói cách khác để sử dụng tốt nhất tất cả các tài nguyên, quy trình máy chủ phải được chia sẻ giữa tất cả các quy trình của máy khách tức là một quy trình máy chủ sẽ phục vụ nhiều yêu cầu từ máy khách; (iii) Khả năng mở rộng và linh hoạt đòi hỏi quy trình máy khách và máy chủ có thể dễ dàng nâng cấp để chạy trên nền tảng phần cứng và phần mềm mạnh hơn. Thuộc tính này mở rộng chức năng của các quy trình máy khách/máy chủ khi chúng được yêu cầu cung cấp các khả năng bổ sung hoặc hiệu suất tốt hơn; (iv) Khả năng tương tác và tích hợp yêu cầu các quy trình máy khách và máy chủ phải được tích hợp liền mạch để tạo thành hệ thống. Trao đổi một quy trình máy chủ phải minh bạch quy trình máy khách.
- Tiêu chuẩn
Máy khách bao gồm bốn thành phần phần mềm và phần cứng mong muốn như sau: (i) Phần cứng mạnh (Các quy trình máy khách thường yêu cầu nhiều tài nguyên phần cứng nên chúng được đặt trên một máy tính có đủ sức mạnh tính toán. Các tiến trình của máy khách cũng yêu cầu một lượng lớn dung lượng ổ cứng và bộ nhớ vật lý); (ii) Hệ điều hànhcó khả năng đa nhiệm (Máy khách cần có quyền truy cập vào hệ điều hànhvới ít nhất một số khả năng đa nhiệm); (iii) Khả năng giao tiếp (Để tương tác hiệu quả trong môi trường máy khách/máy chủ, máy tính khách phải có khả năng kết nối và giao tiếp với các thành phần khác trong môi trường mạng. Do đó, sự kết hợp giữa phần cứng và hệ điều hànhcũng phải cung cấp kết nốt đầy đủ cho nhiều hệ điều hànhmạng); (iv) Giao diện người dùng đồ họa GUI (Graphical User Interface) (Giao diện người dùng chạy trên hệ điều hànhkết nối với phần mềm trung gian truyền thông để truy cập các dịch vụ có sẵn trong mạng).
Các dịch vụ cung cấp bởi máy chủ[sửa]
(i) Dịch vụ tệp: Đối với môi trường mạng LAN (Local Area Network) trong đó máy tính có ổ cứng lớn, nhanh được chia sẻ giữa những người dùng khác nhau, máy khách được kết nối với mạng có thể lưu trữ tệp trên máy chủ như một ổ cứng cục bộ khác;
(ii) Dịch vụ in: Đối với môi trường mạng LAN có máy tính được gắn một hoặc nhiều máy in được chia sẻ giữa nhiều máy khách, máy khách có thể truy cập bất kỳ một máy in nào như thể được gắn trực tiếp vào máy tính của mình;
(iii) Dịch vụ fax: Điều này đòi hỏi ít nhất một máy chủ được trang bị với một thiết bị fax. Máy khách không cần có fax hoặc kết nối đường dây điện thoại. Thay vào đó, máy khách gửi dữ liệu sẽ được fax đến máy chủ fax với thông tin bắt buộc;
(iv) Dịch vụ liên lạc: Cho phép các máy khách được kết nối với máy chủ liên lạc truy cập vào các máy tính hoặc dịch vụ khác mà máy khách không kết nối trực tiếp.;
(v) Dịch vụ cơ sở dữ liệu: Máy chủ cơ sở dữ liệu, máy khách sẽ gửi yêu cầu SQL (Structure Query Language) đến máy chủ. Máy chủ nhận mã SQL xác thực nó thực thi và chỉ gửi kết quả cho máy khách;
(vi) Dịch vụ giao dịch: Được cung cấp bởi các máy chủ giao dịch được kết nối với máy chủ cơ sở dữ liệu. Một máy chủ giao dịch chứa mỗi giao dịch cơ sở dữ liệu hoặc các thủ tục dữ liệu trong cơ sở dữ liệu;
(vii) Dịch vụ phần mềm nhóm: Có khả năng lưu trữ thông tin bán cấu trúc như văn bản, hình ảnh, thư, bảng thông báo, luồng công việc. Máy chủ phần mềm nhóm cung cấp các dịch vụ, giúp mọi người tiếp xúc với người khác;
(viii) Dịch vụ ứng dụng đối tượng: Giao tiếp các đối tượng phân tán cư trú trên máy chủ. Máy chủ đối tượng cung cấp quyền truy cập vào các đối tượng đó từ các đối tượng máy khách. Máy chủ ứng dụng đối tượng chịu trách nhiệm chia sẻ các đối tượng phân tán trên mạng. Mỗi đối tượng phân tán có thể có một hoặc nhiều phương thức từ xa;
(ix) Dịch vụ ứng dụng web: Một số tài liệu, dữ liệu, v.v., nằm trên các máy chủ web. web cung cấp quyền truy cập vào tài liệu và dữ liệu khác. Các dịch vụ này cung cấp việc chia sẻ các tài liệu trên các mạng nội bộ hoặc trên Internet. Giao thức được sử dụng phổ biến nhất là HTTP (Hyper Text Transport Protocol);
(x) Các dịch vụ khác: Bao gồm các CD-ROM, thẻ video, sao lưu, v.v. Giống như máy khách, máy chủ cũng có các thành phần phần cứng và phần mềm.
Tiềm năng phát triển[sửa]
Truyền thông khách chủ được ứng dụng rộng rãi và là mô hình của mọi trang web hiện có. Các chương trình giải trí như Youtube, Facebook, Instagram; Các ứng dụng mua sắm trực tuyến như Tiki, Shopee, v.v.; Các ứng dụng gọi điện thoại, nhắn tin như Messenger Facebook, Zalo, Viber, v.v; Các ứng dụng học tập trực tuyến. Truyền thông khách chủ cung cấp một nền tảng cho phép tích hợp các kỹ thuật hiện đại như mô hình thiết kế hướng đối tượng, hệ chuyên gia, hệ thông tin địa lý, v.v.
Truyền thông khách chủ có khả năng phát triển rất lớn. Việc xây dựng và triển khai mô hình truyền thông khách chủ được triển khai rộng rãi ở hầu hết các công ty, tổ chức ở Việt Nam nói chung và trên thế giới nhờ khả năng bảo mật và an toàn thông tin. Ngày nay thiết bị di động tăng lên hàng ngày làm cho việc xây dựng mô hình giao tiếp khách chủ ngày càng có triển vọng lớn.
Về hạ tầng, mô hình truyền thông khách chủ đòi hỏi chi phí lớn về cài đặt và thiết bị phần cứng, phần mềm. Về đáp ứng từ phía máy chủ, các nhà cung cấp dịch vụ lớn như Facebook, Youtube, v.v., đảm bảo cung cấp tài nguyên cho máy khách. Về đáp ứng truyền tải, ngày càng nhiều các bên cung cấp dịch viễn thông và dịch vụ Internet như Vietel, FPT, VNPT... Phầm mềm trung gian truyền thông cung cấp các phương tiện thông qua đó máy khách và máy chủ giao tiếp để thực hiện các hành động cụ thể. Nó cung cấp các dịch vụ chuyên biệt cho quy trình máy khách để riêng biệt với hoạt động của máy chủ cơ sở dữ liệu và các giao thức mạng (Network Protocol).
Độ phức tạp của máy chủ: máy chủ thường khó xây dựng hơn nhiều so với máy khách vì chúng cần đáp ứng nhiều yêu cầu đồng thời. Thông thường, máy chủ có hai phần: một chương trình tổng thể duy nhất chịu trách nhiệm chấp nhận các yêu cầu mới; một tập hợp phụ thuộc chịu trách nhiệm xử lý các yêu cầu riêng lẻ.
Tài liệu tham khảo[sửa]
- Bogdan Ciubotaru, Gabriel-Miro Muntean. Socket-Based Client-Server Communication. Advanced Network Programming – Principles and Techniques, pp 89-100.
- Iosif G. Ghetie. Networks and Systems Managenment Platforms Analysis and Evaluation. Springer US, 1997.
- Subhash Chandra Yadav, Sanjay Kumar Singh. An Introduction to Client Server Computing. New Age International, pp 45-55, 2009
- Ronald Schlager. The OSI Model: simply explained 2nd Edition, 2013.
- Uyless D. Black. OSI: A Model for Computer Communications Standards, 1990.