Tải bản đầy đủ (.docx) (14 trang)

TÌM HIỂU VỀ MÔ HÌNH HỆ THỐNG CLIENT SERVER

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (164.62 KB, 14 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ
Báo cáo Bài tập lớn
Môn: Nguyên lý Hệ Điều Hành
ĐỀ TÀI: TÌM HIỂU VỀ MÔ HÌNH HỆ THỐNG CLIENT - SERVER

GIÁO VIÊN HƯỚNG DẪN: LÊ ĐỨC THUẬN
NHÓM THỰC HIỆN:
1
MỤC LỤC
Lời nói đầu
Mô hình Client-Sever là một mô hình nổi tiếng trong mạng máy tính, được
áp dụng rất rộng rãi và là mô hình của mọi trang web hiện có. Ý tưởng của mô
hình này là máy con (đóng vài trò máy khách) gửi một yêu cầu để máy chủ (đóng
vài trò cung cấp dịch vụ) xử lý và trả kết quả.
Cùng với sự phát triển của công nghệ thông tin và nhu cầu trong các lĩnh
vực đời sống đều ngày càng gắn bó mật thiết với việc ứng dụng công nghệ thông
tin vào sản xuất, kinh doanh, thông tin nhằm tăng năng suất lao động, mang đến
sự thuận tiện lớn trong các nhu cầu ngày càng lớn của con người.
Để quản lý tài nguyên và xây dựng hệ thống phân tán tài nguyên thì không
thể thiếu việc sử dụng mô hình Client-Sever. Đó cũng là lý do mà chúng em chọn
đề tài “Hoạt động của mô hình Client-Sever” để tìm hiểu cơ bản về quá trình hoạt
động của chúng.
Tuy nhiên, do thời gian có hạn cũng như khả năng còn nhiều hạn chế nên đề
tài của nhóm chúng em làm chắc chắn không thể tránh được sai sót và sự chưa
hoàn thiện. Chúng em mong nhận được sự chỉ dẫn thêm từ thầy giáo.
2
Tài liệu tham khảo
- Wiki: vi.wikipedia.org/wiki/Client-server
- />- Các nguồn khác trên Internet
3
1. Các mô hình xử lý mạng:


1.1. Mô hình tính toán tập trung (Centralized computing)
Toàn bộ các tiến trình xử lý diễn ra tại máy tính trung tâm. Các máy trạm cuối
(Terminals) được nối mạng với máy tính trung tâm và chỉ hoạt động như những
thiết bị nhập xuất dữ liệu cho phép người dùng xem trên màn hình và nhập liệu qua
bàn phím. Các máy trạm đầu cuối không lưu trữ và xử lý dữ liệu. Mô hình tính
toán mạng trên có thể triển khai trên hệ thống phần cứng hoặc phần mềm được cài
đặt trên máy chủ (Server).
Ưu điểm: Dữ liệu bảo mật an toàn, dễ sao lưu, dễ diệt virus và chi phí cài đặt
thấp.
Khuyết điểm: Khó đáp ứng được các yêu cầu của nhiều ứng dụng khác nhau,
tốc độ truy xuất chậm.
1.2.Mô hình tính toán phân tán (Distributed computing)
Các máy tính có khả năng hoạt động độc lập, các công việc được tách nhỏ và
giao cho nhiều máy tính khác nhau trong mạng thay vì tập trung xử lý trên máy
4
trung tâm. Tuy dữ liệu được xử lý và lưu trữ tại máy cục bộ nhưng các máy tính
này được nối mạng với nhau nên chúng có thể trao đổi dữ liệu và các dịch vụ.
Ưu điểm: Truy xuất nhanh, phần lớn không giới hạn các ứng dụng.
Khuyết điểm: Dữ liệu lưu trữ rời rạc khó đồng bộ, sao lưu và rất dễ nhiễm
virus.
1.3.Mô hình tính toán cộng tác (Collaborative computing)
Mô hình tính toán mạng cộng tác bao gồm nhiều máy tính có thể hợp tác để
thực hiện một công việc. Một máy tính này có thể mượn năng lực tính toán, xử lý
của máy tính khác bằng cách chạy các chương trình trên các máy tính nằm trong
mạng.
Ưu điểm: Xử lý rất nhanh và mạnh, có thể dùng để chạy các ứng dụng có các
phép toán lớn, xử lý dữ liệu lớn. Ví dụ: bẻ khóa các hệ mã, tính toán ADN,
Khuyết điểm: Các dữ liệu được lưu trữ trên các vị trí khác nhau nên rất khó
đồng bộ và sao lưu, khả năng nhiễm virus rất cao.
2. Các mô hình quản lý mạng

2.1.Mô hình mạng Workgroup
Mô hình mạng Workgroup là một nhóm máy tính mạng cùng chia sẻ tài nguyên
như file dữ liệu, máy in. Nó là một nhóm lôgíc của các máy tính mà tất cả chúng
có cùng tên nhóm. Có thể có nhiều nhóm làm việc (workgroups) khác nhau cùng
kết nối trên một mạng cục bộ (LAN).
Mô hình mạng Workgroup cũng được coi là mạng peer-to-peer bởi vì tất cả các
máy trong workgroup có quyền chia sẻ tài nguyên như nhau mà không cần sự chỉ
định của Server. Mỗi máy tính trong nhóm tự bảo trì, bảo mật cơ sở dữ liệu cục bộ
của nó. Điều này có nghĩa là, tất cả sự quản trị về tài khoản người dùng, bảo mật
5
cho nguồn tài nguyên chia sẻ không được tập trung hóa. Bạn có thể kết nối tới một
nhóm đã tồn tại hoặc khởi tạo một nhóm mới.
Ưu điểm là Workgroups không yêu cầu máy tính chạy trên hệ điều hành
Windows Server để tập trung hóa thông tin bảo mật; workgroups thiết kế và hiện
thực đơn giản và không yêu cầu lập kế hoạch có phạm vi rộng và quản trị như
domain yêu cầu; workgroups thuận tiện đối với nhóm có số máy tính ít và gần
nhau (≤ 10 máy).
Nhược điểm là mỗi người dùng phải có một tài khoản người dùng trên mỗi máy
tính mà họ muốn đăng nhập; bất kỳ sự thay đổi tài khoản người dùng, như là thay
đổi mật khẩu hoặc thêm tài khoản người dùng mới, phải được làm trên tất cả các
máy tính trong Workgroup, nếu bạn quên bổ sung tài khoản người dùng mới tới
một máy tính trong nhóm thì người dùng mới sẽ không thể đăng nhập vào máy tính
đó và không thể truy xuất tới tài nguyên của máy tính đó; việc chia sẻ thiết bị và
file được xử lý bởi các máy tính riêng, và chỉ cho người dùng có tài khoản trên
máy tính đó được được sử dụng.
2.2.Mô hình mạng Domain
Mô hình mạng Domain là một nhóm máy tính mạng cùng chia sẻ cơ sở dữ liệu
thư mục tập trung (central directory database). Thư mục dữ liệu chứa tài khoản
người dùng và thông tin bảo mật cho toàn bộ Domain. Thư mục dữ liệu này được
biết như là thư mục hiện hành (Active Directory).

Trong một Domain, thư mục chỉ tồn tại trên các máy tính được cấu hình như
máy điều khiển miền (domain controller). Một domain controller là một Server
quản lý tất cả các khía cạnh bảo mật của Domain. Không giống như mạng
Workgroup, bảo mật và quản trị trong domain được tập trung hóa. Để có Domain
controller, những máy chủ (server) phải chạy dịch vụ làm Domain controller (dịch
6
vụ được tích hợp sẵn trên các phiên bản Windows Server của Microsoft; hoặc trên
Linux, ta cấu hình dịch vụ Samba để làm nhiệm vụ Domain controller, ).
Một domain không được xem như một vị trí đơn hoặc cấu hình mạng riêng
biệt. Các máy tính trong cùng domain có thể ở trên một mạng LAN hoặc WAN.
Chúng có thể giao tiếp với nhau qua bất kỳ kết nối vật lý nào, như: Dial-up,
Integrated Services Digital Network (ISDN), Ethernet, Token Ring, Frame Relay,
Satellite, Fibre Channel.
Ưu điểm là cho phép quản trị tập trung. Nếu người dùng thay đổi mật khẩu của
họ, thì sự thay sẽ được cập nhật tự động trên toàn Domain; Domain cung cấp quy
trình đăng nhập đơn giản để người dùng truy xuất các tài nguyên mạng mà họ được
phép truy cập; Domain cung cấp linh động để người quản trị có thể khởi tạo mạng
rất rộng lớn.
Các miền điển hình trong Windows Server có thể chứa các kiểu máy tính sau:
• Máy điều khiển miền (Domain controllers) lưu trữ và bảo trì bản sao thư
mục. Trong domain, tài khoản người dùng được tạo một lần, Windows
Server ghi nó trong thư mục này. Khi người dùng đăng nhập tới máy tính
trong domain, domain controller kiểm tra thư mục nhờ tên người sử dụng,
mật khẩu và giới hạn đăng nhập. Khi có nhiều domain controllers, chúng
định kỳ tái tạo thông tin thư mục của chúng.
• Các máy chủ thành viên (Member servers): Một máy member server là một
máy chủ mà không được cấu hình như là domain controller. Máy chủ không
lưu trữ thông tin thư mục và không thể xác nhận domain người dùng. Các
7
máy chủ có thể cung cấp các tài nguyên chia sẻ như các thư mục dùng

chung hay các máy in.
• Các máy tính trạm (Client computers): Các máy tính trạm chạy một hệ điều
hành dùng cho máy trạm của người dùng và cho phép người dùng truy cập
tới nguồn tài nguyên trong domain.
Không giống như Workgroup, Domain phải tồn tại trước khi người dùng tham
gia vào nó. Việc tham gia vào Domain luôn yêu cầu người quản trị Domain cung
cấp tài khoản cho máy tính của người dùng tới domain đó. Tuy nhiên, nếu người
quản trị cho người dùng đúng đặc quyền, người dùng có thể khởi tạo tài khoản máy
tính của mình trong quá trình cài đặt.
3. Khái niệm mô hình client-server
3.1.Mô hình client-server:
Là một mô hình nổi tiếng trong mạng máy tính, được áp dụng rất rộng rãi và là mô hình của mọi
trang web hiện có. Ý tưởng của mô hình này là máy con (đóng vài trò là máy khách) gửi một yêu cầu
(request) để máy chủ (đóng vai trò người cung ứng dịch vụ), máy chủ sẽ xử lý và trả kết quả về cho máy
khách.
Một mô hình ngược lại là mô hình master-slaver, trong đó máy chủ (đóng vai trò ông chủ) sẽ gửi dữ
liệu đến máy con (đóng vai trò nô lệ) bất kể máy con có cần hay không.
3.2. Mô hình Web client/server :
Thuật ngữ server được dùng cho những chương trình thi hành như một dịch vụ
trên toàn mạng. Các chương trình server này chấp nhận tất cả các yêu cầu hợp lệ
đến từ mọi nơi trên mạng, sau đó nó thi hành dịch vụ và trả kết quả về máy yêu
cầu. Một chương trình được coi là client khi nó gửi các yêu cầu tới máy có chương
trình server và chờ đợi câu trả lời từ server. Chương trình server và client nói
chuyện với nhau bằng các thông điệp (messages) thông qua một cổng truyền thông
liên tác IPC (Interprocess Communication).
8
Để một chương trình server và một chương trình client có thể giao tiếp được
với nhau thì giữa chúng phải có một chuẩn để nói chuyện, chuẩn này được gọi là
giao thức. Nếu một chương trình client nào đó muốn yêu cầu lấy thông tin từ
server thì nó phải tuân theo giao thức mà server đó đưa ra. Bản thân chúng ta khi

cần xây dựng một mô hình client/server cụ thể thì ta cũng có thể tự tạo ra một giao
thức riêng nhưng thường chúng ta chỉ làm được điều này ở tầng ứng dụng của
mạng. Với sự phát triển mạng như hiện này thì có rất nhiều giao thức chuẩn trên
mạng ra đời nhằm đáp ứng nhu cầu phát triển này.
Các giao thức chuẩn (ở tầng mạng và vận chuyển) được sử dụng rộng rãi nhất
hiện nay như: giao thức TCP/IP, giao thức SNA của IBM, OSI, ISDN, X.25 hoặc
giao thức LAN-to-LAN NetBIOS. Một máy tính chứa chương trình server được
coi là một máy chủ hay máy phục vụ (server) và máy chứa chương trình client
được coi là máy tớ (client). Mô hình mạng trên đó có các máy chủ và máy tớ
giao tiếp với nhau theo 1 hoặc nhiều dịch vụ được gọi là mô hình client/server.
Thực tế thì mô hình client/server là sự mở rộng tự nhiên và tiện lợi cho việc
truyền thông liên tiến trình trên các máy tính cá nhân. Mô hình này cho phép xây
dựng các chương trình client/server một cách dễ dàng và sử dụng chúng để liên tác
với nhau để đạt hiệu quả hơn.
Mô hình client/server như sau: Client/Server là mô hình tổng quát nhất, trên
thực tế thì một server có thể được nối tới nhiều server khác nhằm làm việc hiệu
quả và nhanh hơn. Khi nhận được 1 yêu cầu từ client, server này có thể gửi tiếp
yêu cầu vừa nhận được cho server khác ví dụ như database server vì bản thân nó
không thể xử lý yêu cầu này được. Máy server có thể thi hành các nhiệm vụ đơn
giản hoặc phức tạp.
9
Ví dụ như một máy chủ trả lời thời gian hiện tại trong ngày, khi một máy client
yêu cầu lấy thông tin về thời gian nó sẽ phải gửi một yêu cầu theo một tiêu chuẩn
do server định ra, nếu yêu cầu được chấp nhận thì máy server sẽ trả về thông tin
mà client yêu cầu. Có rất nhiều các dịch vụ server trên mạng nhưng nó đều hoạt
động theo nguyên lý là nhận các yêu cầu từ client sau đó xử lý và trả kết quả cho
client yêu cầu. Thông thường chương trình server và client được thi hành trên hai
máy khác nhau. Cho dù lúc nào server cũng ở trạng thái sẵn sàng chờ nhận yêu cầu
từ client nhưng trên thực tế một tiến trình liên tác qua lại (interaction) giữa client
và server lại bắt đầu ở phía client, khi mà client gửi tín hiệu yêu cầu tới server. Các

chương trình server thường đều thi hành ở mức ứng dụng (tầng ứng dụng của
mạng).
Sự thuận lợi của phương pháp này là nó có thể làm việc trên bất cứ một mạng
máy tính nào có hỗ trợ giao thức truyền thông chuẩn cụ thể ở đây là giao thức
TCP/IP. Với các giao thức chuẩn này cũng giúp cho các nhà sản xuất có thể tích
hợp nhiều sản phẩm khác nhau của họ lên mạng mà không gặp phải khó khăn gì.
Với các chuẩn này thì các chương trình server cho một dịch vụ nào đấy có thể thi
hành trên một hệ thống chia sẻ thời gian (timesharing system) với nhiều chương
trình và dịch vụ khác hoặc nó có thể chạy trên chính một máy tính các nhân bình
thường. Có thể có nhiều chương server cùng làm một dịch vụ, chúng có thể nằm
trên nhiều máy tính hoặc một máy tính.
Với mô hình trên chúng ta nhận thấy rằng mô hình client/server chỉ mang đặc
điểm của phần mềm không liên quan gì đến phần cứng mặc dù trên thực tế yêu cầu
cho một máy server là cao hơn nhiều so với máy client. Lý do là bởi vì máy server
phải quản lý rất nhiều các yêu cầu từ các clients khác nhau trên mạng. Ưu và
nhược điểm chính Có thể nói rằng với mô hình client/server thì mọi thứ dường như
đều nằm trên bàn của người sử dụng, nó có thể truy cập dữ liệu từ xa (bao gồm các
10
công việc như gửi và nhận file, tìm kiếm thông tin, ) với nhiều dịch vụ đa dạng
mà mô hình cũ không thể làm được.
Mô hình client/server cung cấp một nền tảng lý 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ý (GIS) Một trong những vấn đề nảy sinh trong mô hình này đó là tính
an toàn và bảo mật thông tin trên mạng. Do phải trao đổi dữ liệu giữa 2 máy ở 2
khu vực khác nhau cho nên dễ dàng xảy ra hiện tượng thông tin truyền trên mạng
bị lộ.
1.Client Trong mô hình client/server, người ta còn định nghĩa cụ thể cho một
máy client là một máy trạm mà chỉ được sử dụng bởi 1 người dùng với để muốn
thể hiện tính độc lập cho nó. Máy client có thể sử dụng các hệ điều hành bình
thường như Win9x, DOS, OS/2 Bản thân mỗi một client cũng đã được tích hợp

nhiều chức năng trên hệ điều hành mà nó chạy, nhưng khi được nối vào một mạng
LAN, WAN theo mô hình client/server thì nó còn có thể sử dụng thêm các chức
năng do hệ điều hành mạng (NOS) cung cấp với nhiều dịch vụ khác nhau (cụ thể là
các dịch vụ do các server trên mạng này cung cấp), ví dụ như nó có thể yêu cầu lấy
dữ liệu từ một server hay gửi dữ liệu lên server đó
Thực tế trong các ứng dụng của mô hình client/server, các chức năng hoạt động
chính là sự kết hợp giữa client và server với sự chia sẻ tài nguyên, dữ liệu trên cả 2
máy Vai trò của client Trong mô hình client/server, client được coi như là người sử
dụng các dịch vụ trên mạng do một hoặc nhiều máy chủ cung cấp và server được
coi như là người cung cấp dịch vụ để trả lời các yêu cầu của các clients. Điều quan
trọng là phải hiểu được vai trò hoạt động của nó trong một mô hình cụ thể, một
máy client trong mô hình này lại có thể là server trong một mô hình khác.
11
Ví dụ cụ thể như một máy trạm làm việc như một client bình thường trong mạng
LAN nhưng đồng thời nó có thể đóng vai trò như một máy in chủ (printer server)
cung cấp dịch vụ in ấn từ xa cho nhiều người khác (clients) sử dụng. Client được
hiểu như là bề nổi của các dịch vụ trên mạng, nếu có thông tin vào hoặc ra thì
chúng sẽ được hiển thị trên máy client.
2. Server còn được định nghĩa như là một máy tính nhiều người sử dụng
(multiuser computer). Vì một server phải quản lý nhiều yêu cầu từ các client trên
mạng cho nên nó hoạt động sẽ tốt hơn nếu hệ điều hành của nó là đa nhiệm với các
tính năng hoạt động độc lập song song với nhau như hệ điều hành UNIX,
WINDOWS Server cung cấp và điều khiển các tiến trình truy cập vào tài nguyên
của hệ thống. Các ứng dụng chạy trên server phải được tách rời nhau để một lỗi
của ứng dụng này không làm hỏng ứng dụng khác.
Tính đa nhiệm đảm bảo một tiến trình không sử dụng toàn bộ tài nguyên hệ thống.
Vai trò của server. Như chúng ta đã bàn ở trên, server như là một nhà cung cấp dịch
vụ cho các clients yêu cầu tới khi cần, các dịch vụ như cơ sở dữ liệu, in ấn, truyền
file, hệ thống Các ứng dụng server cung cấp các dịch vụ mang tính chức năng để
hỗ trợ cho các hoạt động trên các máy clients có hiệu quả hơn. Sự hỗ trợ của các

dịch vụ này có thể là toàn bộ hoặc chỉ một phần thông qua IPC.
Để đảm bảo tính an toàn trên mạng cho nên server này còn có vai trò như là
một nhà quản lý toàn bộ quyền truy cập dữ liệu của các máy clients, nói cách khác
đó là vai trò quản trị mạng. Có rất nhiều cách thức hiện nay nhằm quản trị có hiệu
quả, một trong những cách đang được sử dụng đó là dùng tên Login và mật khẩu
12
4. So sánh với các mô hình ứng dụng mạng khác (peer to peer )
Mô hình mạng ngang hàng (Peer–to–Peer Network)
Mạng peer–to–peer là một ví dụ rất đơn giản của các mạng LAN. Chúng cho
phép mọi nút mạng vừa đóng vai trò là thực thể yêu cầu các dịch vụ mạng (client),
vừa là các thực thể cung cấp các dịch vụ mạng (server). Trong môi trường này,
người dùng trên từng máy tính chịu trách nhiệm điều hành và chia sẻ tài nguyên
của máy tính mình. Mô hình này chỉ phù hợp với các tổ chức nhỏ và không quan
tâm đến vấn đề bảo mật. Phần mềm mạng peer–to–peer được thiết kế sao cho các
thực thể ngang hàng thực hiện cùng các chức năng tương tự nhau.
Các đặc điểm của mạng peer–to–peer là mạng peer–to–peer còn được biết đến
như mạng workgroup (nhóm làm việc) và được sử dụng cho các mạng có ≤ 10
người sử dụng (user) làm việc trên mạng đó; không đòi hỏi phải có người quản trị
mạng (administrtor); trong mạng peer–to–peer mỗ người sử dụng làm việc như
người quản trị cho trạm làm việc riêng của họ và chọn tài nguyên hoặc dữ liệu nào
mà họ sẽ cho phép chia sẻ trên mạng cũng như quyết định ai có thể truy xuất đến
tài nguyên và dữ liệu đó.
Ưu điểm là đơn giản cho việc cài đặt và chi phí tương đối rẻ.
Nhược điểm là Không quản trị tập trung, đặc biệt trong trường hợp có nhiều tài
khoản cho một người sử dụng (user) truy xuất vào các trạm làm việc khác nhau;
việc bảo mật mạng có thể bị vi phạm với các người sử dụng có chung tên người
dùng, mật khẩu truy xuất tới cùng tài nguyên; không thể sao chép dự phòng
(backup) dữ liệu tập trung. Dữ liệu được lưu trữ rải rác trên từng trạm
5. Vấn đề bảo mật trong mô hình client-server
Kiểu tấn công MITM có hiệu suất cao bởi vì giao thức HTTP và Data Tranfer

truyền tải dữ liệu theo chuẩn ASCII ( Hay ngay
13
cả các giao thức bảo mật như SSL hay HTTPS đều có thể bị nghe trộm. Khi bị tấn
công, cả victim và server đều không biết dữ liệu trao đổi giữa họ sẽ đi qua máy của
attacker. Do vậy attacker không chỉ đọc được cuộc trò chuyện này mà còn có thể
thay đổi được nội dung của nó.
Có các kiểu tấn công MITM:
+ ARP Poison Routing.
+ Giả danh DNS.
+ Chiếm HTTP Session.
+ Giả mạo SSL
Các công cụ (tools) hay được dùng trong kiểu tấn công này:
+ Wireshark />+ Ettercap. />+ Dsniff />+ Cain. />+ TCPDump. Có sẵn trong Linux
6. Demo
14

×