Chương 1. Tổng quan về hệ phân tán 1. Hệ phân tán là gì? Có nhiều định nghĩa cho 1 hệ phân tán. Tuy nhiên, ta có thể định nghĩa hệ phân tán là một tập hợp bao gồm các máy tính tự trị được liên kết với nhau qua một mạng máy tính, và được cài đặt phần mềm hệ phân tán.
Phần mềm hệ phân tán cho phép máy tính có thể phối hợp các hoạt động của nó và chia sẻ tài nguyên của hệ thống như phần cứng, phần mềm và dữ liệu. Một số tính chất quan trọng của một hệ phân tán: Thứ nhất chúng cho phép chúng ta chạy những ứng dụng khác nhau trên nhiều máy khác nhau thành một hệ thống duy nhất. Một ưu điểm khác của hệ phân tán đó là khi một hệ thống được thiết kế đúng cách, một hệ phân tán có thể có khả năng thay đổi tuỳ theo quy mô của hệ thống rất tốt. Tuy nhiên, bên cạnh những ưu điểm nói trên thì phát sinh các vấn đề về bảo mật và tính riêng tư.
Những ứng dụng của hệ phân tán: Cung cấp những thuận lợi cho việc tính toán đa mục đích đến những nhóm người dùng, tự động hoá công việc ngân hàng và hệ thống truyền thông đa phương tiện, ngoài ra chúng còn bao quát toàn bộ những ứng dụng thương mại và kĩ thuật. Hệ phân tán đã trở thành tiêu chuẩn để tổ chức về mặt tính toán. Nó có thể được sử dụng cho việc thực hiện tương tác hệ thống tính toán đa mục đích trong UNIX và hỗ trợ cho phạm vi rộng của thương mại và ứng dụng công nghiệp của những máy tính… 1. Các đặc trưng cơ bản của hệ phân tán 1.
Kết nối người sử dụng với tài nguyên Chia sẻ nguồn tài nguyên là một đặc tính cơ bản của hệ thống phân tán, nó là cơ sở cho những đặc tính khác và nó ảnh hưởng đến những kiến trúc phần mềm có sẵn trong các hệ phân tán. Các nguồn tài nguyên có thể là mục dữ liệu, phần cứng và các thành phần của phần cứng. Các nguồn tài 11/71 Luận văn thạc sĩ - X ử llýý tth h ô n g ttii n vvà à ttrr u y ề n tth hông nguyên được phân biệt từ một dữ liệu được quản lý với những quá trình xử lý đơn bởi nhu cầu của vài quá trình xử lý để chia sẻ chúng 1. Tính trong suốt (transparency) Một hệ phân tán được gọi là trong suốt nếu nó có khả năng che dấu tính rời rạc và những nhược điểm có thể của nó đối với người sử dụng cuối và người lập trình ứng dụng.
Có 8 dạng trong suốt : Trong suốt truy cập: che dấu cách biểu diễn dữ liệu và cách thức truy cập tài nguyên. Trong suốt vị trí: che dấu vị trí thực của tài nguyên. Trong suốt di trú: che dấu khả năng di trú (di chuyển từ nơi này sang nơi khác) của tài nguyên. Trong suốt định vị lại: che dấu khả năng tài nguyên có thể di chuyển từ nơi này đến nơi khác ngay cả khi đang được sử dụng.
Trong suốt bản sao: che dấu các bản sao được nhân ra. Trong suốt về tương tranh. Trong suốt về lỗi. Trong suốt truy cập nhanh.
Tính mở (openess) Một hệ phân tán được gọi là có tính mở nếu nó có khả năng bổ sung thêm các dịch vụ mới mà không làm ảnh hưởng xấu đến các dịch vụ đã có. Tính co dãn (scalability) Một hệ phân tán được gọi là có tính co dãn nếu nó có thể thích nghi được với những sự thay đổi qui mô của hệ thống. Tính co dãn thể hiện trên 3 khía cạnh. Dễ dàng bổ sung thêm tài nguyên và người sử dụng.
Hệ thống thay đổi qui mô về mặt địa lý. Hệ thống thay đổi qui mô về quản trị. 12/71 Luận văn thạc sĩ - X ử llýý tth h ô n g ttii n vvà à ttrr u y ề n tth hông 1. Tính chịu lỗi (Fault tolerance) Xử lý được những lỗi xảy ra trong quá trình làm việc.
Bên cạnh tính chịu lỗi luôn đi kèm theo là khắc phục lỗi. Tính an toàn an ninh (security) Bảo mật trong hệ thống máy tính, chống lại những sự đe dọa từ bên ngoai và bên trong hệ thống. Hệ thống thư điện tử là một dịch vụ phân tán. Hệ thống thư điện tử là một hệ thống phân tán do nó thỏa mãn rất nhiều các điều kiện của một hệ phân tán điển hình.
Thỏa mãn định nghĩa một hệ phân tán Với các hệ thống thư điện tử trung bình và lớn (từ hàng chục nghìn đến hàng triệu tài khoản) các hệ thống này thường được đặt trên hàng trăm, nghìn máy chủ khác nhau và được đặt ở rất nhiều vị trí địa lý khác nhau, ví dụ như các hệ thống hotmail, yahoo mail…. Kết nối như nhau ở khắp mọi nơi (kết nối giữa người sử dụng và tài nguyên hệ thống): Ở các hệ thống thư điện tử lớn với lượng người sử dụng khổng lồ, phân bổ rộng rãi ở các vùng miền khác nhau thì việc đảm bảo cho việc kết nối người sử dụng với tài nguyên hệ thống sao cho là như nhau ở mọi nơi là một trong những yêu cầu bắt buộc phải có. Hầu hết các hãng cung cấp dịch vụ thư điện tử này đều làm rất tốt điều này, chúng ta có thể truy cập Gmail, Hotmail, Yahoo Mail ở tất cả mọi nơi trên thế giới là như nhau. 13/71 Luận văn thạc sĩ - X ử llýý tth h ô n g ttii n vvà à ttrr u y ề n tth hông 1.
Thỏa mãn tính trong suốt: Các hãng cung cấp thư điện tử lớn đã làm rất tốt điều này, và một trong những cách đơn giản nhất mà Google áp dụng cho hệ thống Gmail của mình là xây dựng các hệ thống máy chủ phân tán trên các vị trí địa lý khác nhau rồi kết nối chúng bằng công nghệ VPN (Virtual Private Network). Như vậy các máy chủ này coi như đang “ở cùng” trong một mạng nội bộ và các truy cập của người sử dụng nhanh chóng được đưa đến máy chủ tương ứng mặc dù các máy này ở cách xa nhau hàng nghìn cây số. Thiết kế mở (Thỏa mãn tính mở): Thư điện tử là một hệ thống mở, được thiết kế để có thể tích hợp rất nhiều dịch vụ vào nó, đồng thời nó cũng được thiết kế dưới dạng các module tính năng riêng biệt nên dễ dàng được tích hợp vào các hệ thống khác. Ví dụ như các hệ thống thư điện tử của Yahoo được tích hợp với hệ thống quét virus của Norton, hệ thống thư điện tử của trường Đại học Bách khoa Hà Nội được tích hợp chương trình lọc thư rác ASSP… 1.
Sẵn sàng cho việc mở rộng hệ thống (tính co giãn): Các hệ thống thư điện tử là điển hình của các hệ thống phân tán có tính co giãn cao nhất. Ví dụ như Gmail, Yahoo Mail… số lượng người sử dụng càng nhiều, thì hệ thống càng được nâng cấp và xây dựng thêm ở các vùng khác nhau trên thế giới, với Gmail, người sử dụng càng nhiều thì dung lượng hòm thư càng tăng… 1. Đảm bảo khả năng chịu lỗi của hệ thống: đây dường như là một yêu cầu bắt buộc đối với các hệ thống thư điện tử, việc kết nối giữa các hệ thống là thông qua mạng Internet nên việc hệ thống phải thường xuyên chịu các lỗi như: đường truyền bị gián đoạn, hệ thống đối tác không kết nối được, bị tấn công từ chối dịch vụ…. Nếu không có khả năng giải quyết các bài toán này thì không thể cung cấp dịch vụ được, 14/71 Luận văn thạc sĩ - X ử llýý tth h ô n g ttii n vvà à ttrr u y ề n tth hông 1.
Tích hợp hệ thống an toàn an ninh thông tin Hệ thống thư điện tử là hệ thống có tính riêng tư rất cao, việc bị lộ các thống tin của người sử dụng thường đem lại những hậu quả rất nặng nề nên các nhà cung cấp dịch vụ rất coi trọng nhiệm vụ này. Với các hệ thống thư điện tử ngày nay hệ thống không chỉ đảm bảo tính an toàn cho người sử dụng mà còn phải thỏa mãn được khả năng xác thực được chính xác định danh của người dùng tránh các trường hợp giả mạo. Vì thế đi kèm với các hệ thống để đảm bảo an toàn cho hòm thư của người sử dụng tránh bị mất thông tin, lộ mật khẩu như: “câu hỏi bí mật” (Yahoo Mail, Hotmail), xác thực bằng private key, tạo con dấu đăng nhập (YahooMail), truy cập thông qua https (HUTMail)… các hệ thống này còn cung cấp các dịch vụ xác thực độ chính xác của thông tin gửi đi bằng các dịch vụ như: “chữ ký số”…. 15/71 Luận văn thạc sĩ - X ử llýý tth h ô n g ttii n vvà à ttrr u y ề n tth hông Chương 2.
Cơ chế hoạt động của hệ thống thư điện tử 2. Mô hình hệ thống.1 Các thành phần của hệ thống thư điện rử cơ bản Hình trên mô tả mô hình cơ bản của một hệ thống thư điện tử. Một hệ thống thư điện tử cơ bản sẽ gồm các thành phần sau [9, 12, 16]: + Thành phần giao tiếp với các hệ thống thư điện tử khác thường được gọi là MTA (Mail Tranfer Agent) + Thành phần phân phối thư điện tử nhận được đến từng hòm thư của người sử dụng được gọi là MDA (Mail Delivery Agent:). + Thành phần giao tiếp với người sử dụng thường được gọi là MUA (Mail User Agent) 16/71 Luận văn thạc sĩ - X ử llýý tth h ô n g ttii n vvà à ttrr u y ề n tth hông + Thành phần quản lý truy cập của người sử dụng thông qua các giao thức truy cập từ xa như POP3/IMAP thường được gọi là MAA (Mail Access Agent) + Và các thành phần tiện ích khác được tích hợp tùy theo yêu cầu của từng hệ thống cụ thể.
Giao thức SMTP (Simple Mail Tranfer Protocol). Ý tưởng đằng sau SMTP tương đối đơn giản. Một hệ thông dùng Giao thức SMTP thường gồm có: + MUA - Mail User Agent (Outlook Express, Mozzilla Thunderbird): là chương trình thư điện tử triển khai bên phía người dùng, có chức năng nhận và gửi thư điện tử từ máy tính của người dùng thông qua kết nối đến MTA. + MTA - Mail Tranfer Agent (Qmail, Sendmail, Postfix.): là chương trình chạy trên máy chủ thư điện tử, có chức năng thực hiện các giao thức SMTP làm nhiệm vụ gửi và nhận thư giữa các máy chủ thư điện tử, cho phép các chương trình MUA kết nối đến gửi và nhận mail.
+ MDA – Mail Delivery Agent: là chương trình chạy trên máy chủ thư điện tử.