Thứ Ba, 19 tháng 3, 2013

Client và Server programs

Trong bối cảnh của networking software, có một định nghĩa khác về client và server, một client program có nghĩa là một chương trình chạy trên một end system thực hiện việc truy vấn và nhận dịch vụ từ server program chạy trên một end system khác. Các ứng dụng phổ biến như Web, email, remote-login hay FTP đều hoạt động dựa theo mô hình client-server. Bởi vì client program chạy trên một end system trong khi một server program chạy trên một end system khác nên ta gọi các ứng dụng client-server trên Internet là các distributed applications. Tới đây có lẽ phải nhắc lại, thế distributed applications là gì ? Các ứng dụng được gọi là distributed applications bởi vì chúng khi hoạt động yêu cầu nhiều end systems trao đổi dữ liệu với nhau. Một điều quan trọng hơn đó là các distributed applications này chỉ chạy được trên các end systems, chúng không chạy được trên các packet switches trong các network core. Thế network core là gì ? network core cũng chỉ là tập hợp của các packet switches và các communication links. Các client program và server program thực hiện việc tương tác thông qua sự trao đổi các thông điệp với nhau trên Internet. Trừu tượng hóa, ta có thể coi các routers, links và các nuts and bolts của mạng Internet phục vụ như một chiếc hộp đen có nhiệm vụ vận chuyển các messages giữa các thành phần ứng dụng, các thành phần giao tiếp của ứng dụng Internet.
Không hoàn toàn tất cả các ứng dụng Internet hiện nay là dựa trên sự tương tác giữa client program và server program. Sự tăng trưởng của nhiều ứng dụng Peer to Peer (P2P), những gì mà end systems tương tác và chạy các chương trình thực hiện cả nhiệm của client lẫn server. Cho ví dụ, trong P2P file sharing applications (ví dụ như BitTorent và eMule), chương trình trong máy user hoạt động như là một client khi nó yêu cầu một file từ peer khác, và nó hoạt động như server khi nó gửi file đến peer khác. Trong ứng dụng điện thoại Internet, có hai thành phần giao tiếp đóng vai trò như các peers, phiên giao tiếp là đối xứng, với cả hai thành phần gửi và nhận dữ liệu.

Không có nhận xét nào:

Đăng nhận xét