Mô hình Client-Server

Một phần của tài liệu Tài liệu KIẾN THỨC MẠNG CƠ BẢN doc (Trang 71 - 74)

Theo cách nhìn của người lập trình, TCP/IP giống như hầu hết các giao thức truyền thông khác cung cấp cơ chế cơ bản để truyền dữ liệu. Đặc biệt, TCP/IP cho phép người lập trình thiết lập truyền thông giữa hai chương trình ứng dụng và truyền dữ liệu qua lại. TCP/IP cung cấp kết nối bình đẳng giữa các

ứng dụng kể cả các ứng dụng chạy trên cùng một máy.

Một phát triển của mô hình peer-to-peer là mô hình Client-Server đã trở thành mô hình cơ bản được sử dụng trên mạng máy tính. Chương trình Server là một chương trình chờ đợi kết nối từ chương trình Client và cung cấp dịch vụ

cho Client.

Mô hình được mô t như sau:

 Tiến trình Server được khởi động trên một hệ thống nào đó sau đó chờ đợi một tiến trình Client kết nối đến yêu cầu dịch vụ.

 Tiến trình Client được khởi động trên cùng hệ thống máy với chương trình Server hoặc từ một hệ thống khác kết nối với hệ thống chủ thông qua mạng. Client gửi yêu cầu qua mạng tới tiến trình Server đòi hỏi một số

dịch vụ như:

 Trả lại ngày giờ cho Client

 In một file cho Client

 Đọc hoặc ghi file vào hệ thống file của Server

 Cho phép Client login vào hệ thống Server

 Chạy chương trình của Client trên hệ thống Server

 Sau khi cung cấp dịch vụ cho Client, Server tiếp tục nghỉ và chờ đợi kết nối khác.

Chúng ta có thể chia tiến trình Server làm 2 kiểu:

 Tương tác (Interative Server): Khi Client đòi hỏi những dịch vụ đã đăng ký trước với khoảng thời gian thực hiện nhỏ, Server tự làm công việc đó ví dụ dịch vụ trả lại ngày giờ.

 Đồng thời (Concurrent Server): Với những yêu cầu đòi hỏi thời gian thực hiện lớn, tiến trình Server sinh một tiến trình con để thực hiện yêu cầu còn nó tiếp tục chờ đợi yêu cầu khác. Dịch vụ in file, đọc-ghi file được thực hiện theo kiểu này.

II.1. Mô hình Client-Server s dng dch v không kết ni

Với mô hình không kết nối, client không kết nối với server mà chỉ gửi dữ liệu

đến sử dụng lời gọi sento(), ngược lại, server sử dụng lời gọi recvfrom() chờ đợi dữ liệu từ client chuyển đến. Lời gọi recvfrom() trả lại địa chỉ của client, nhờđó server có thể gửi kết quả lại cho client.

recvfrom() recvfrom() bind() bind() socket() sendto() Server (connectionless protocol)

block until data received from client process request sendto() socket() Client data (reply) data (request)

II.2. Mô hình Client-Server s dng dch v hướng kết ni

Với mô hình Client-Server sử dụng dịch vụ hướng kết nối, đầu tiên Server

được khởi động và chờđợi một kết nối từ client.

Sau khi kết nối được thiết lập, hai bên luân phiên nhau gửi nhận dữ liệu thông qua đường truyền.

accept() listen() bind() socket() write() write() Server (connection-oriented protocol) Connect() read() read() socket() block until connection from

client Process request Connection establishment data (reply) data (request) Client

Một phần của tài liệu Tài liệu KIẾN THỨC MẠNG CƠ BẢN doc (Trang 71 - 74)

Tải bản đầy đủ (PDF)

(104 trang)