Các giải pháp Internet Mail cho ISP

Một phần của tài liệu nghiên cứu các vấn đề về kỹ thuật, công nghệ của isp (Trang 60 - 65)

1- Tính năng chung của các giải pháp Internet Mail cho ISP

Có rất nhiều các giải pháp phần mềm mail server hiện nay, tuy nhiên chỉ có một số ít đợc sử dụng rộng rãi ở các ISP; việc lựa chọn sản phẩm nào phụ thuộc vào kích thớc của ISP và các yêu cầu cho việc mở rộng tới một lợng khách hàng nào đó. Các ISP phải lựa chọn các Mail server software cẩn thận do khả năng mở rộng để phục vụ một lợng khách hàng lớn trong tơng lai rất khác nhau giữa các sản phẩm.

Để có thể hỗ trợ tới hàng trăm ngàn khách hàng, các ISP phải tự customize các sản phẩm e- mail hoặc sử dụng các sản phẩm thơng mại. Các sản phẩm có thể tham khảo gồm có InterMail của Openware, iPlanet Messaging Server của liên minh Sun-Netscape, Communigate Pro của Stalker, Mirapoint, InScribe Messaging Server của CriticalPath... InterMail là sản phẩm dẫn đầu (market leader) dành cho các ISP cần hỗ trợ tới hơn 500,000 users, thực tế nó có thị trờng chiếm khoảng 50 triệu mailboxe, và chiếm trên 65% thị trờng các ISP e-mail. Tuy nhiên, rõ ràng có thể thấy các hãng nh HotMail và AOL hỗ trợ một môi trờng đơn lớn hơn bất kỳ một hệ thống Openware nào, cả 2 hãng này đều sử dụng phần mềm riêng, không dùng các bản thơng mại.

Dới đây là các yêu cầu chung của hệ thống mail chuyên nghiệp:

* Kiến trúc

+ Tính khả mở – Scalability: Hệ thống cần đáp ứng tốt việc mở rộng cả theo chiều dọc và chiều ngang, dễ dàng bổ sung các thành phần để tăng năng lực phục vụ. Việc mở rộng hệ thống phải trong suốt đối với ngời sử dụng.

+ Các giải pháp nói chung hoạt động theo hớng cân bằng tải các thành phần nh SMTP, POP/IMAP Server...

+ Chọn phần mềm MAIL hỗ trợ cho việc authenticate và định vị mailbox với cơ sở dữ liệu ng- ời dùng bên ngoài nh LDAP, DATABASE.

* Năng lực

+ Hệ thống hỗ trợ kiến trúc lu trữ messge đơn (single-copy architecture), đảm bảo khi một message gửi cho nhiều account trên cùng 1 messages-store thì chỉ đợc lu 1 bản .

- Multi-process, multi-thread: nâng cao khả năng xử lý, tốc độ và số kết nối đồng thời - Multi-procesors: hỗ trợ kiến trúc phần cứng nhiều CPU

- Multi-server cluster: hỗ trợ khả năng mở rộng nhiều server theo cả chiều dọc và chiều ngang - Message store: lu trữ message theo mô hình phân cấp, có chỉ mục hỗ trợ việc truy xuất, tìm kiếm nhanh chóng, dễ dàng mở rộng, nâng cao dung lợng.

- Directory service: hỗ trợ quản lý user tập trung dựa trên LDAP an toàn, chính xác, đồng bộ và dễ mở rộng. Có cơ chế cache cho phép nâng cao hiệu suất và tốc độ truy xuất đến các thông tin trên LDAP server.

* Độ tin cậy

+ Messages store: lu trữ message đảm bảo an toàn cao trong các tác vụ gửi-nhận-xử lý, hỗ trợ NFS với hệ thống file lớn

+ Queue management: đảm bảo việc gửi-nhận-xử lý các message đúng, không bị thất lạc + Message access: không bị mất message khi quá trình nhận bị gián đoạn, hoặc bị treo.

* Tính sẵn sàng cao

- Online mangement: các thao tác quản trị đợc thực hiện online, không ảnh hởng đến hệ thống đang vận hành, không cần ngừng hệ thống

- Monitoring and failure detect: hỗ trợ việc theo dõi và phát hiện sự cố gây ngừng trệ hệ thống, các h hỏng về phần cứng cũng nh phần mềm, sử dụng server backup đảm bảo hoạt động liên tục của hệ thống

- Backup and recovery: hỗ trợ việc backup và phục hồi hệ thống khi có sự cố xảy ra cũng nh quá trình bảo trì, nâng cấp.

- Maibox Migration: Dễ dàng di chuyển mailbox giữa các Server với nhau.

* Hỗ trợ các chuẩn Internet

+Message format: hỗ trợ đầy đủ các format chuẩn theo RFC 822, 1123, MIME format theo RFC 2017, 2045-9.

+ Message routing & access: hỗ trợ các giao thức SMTP, ESMTP, APOP, POP3, IMAP4, Web + Universal Maibox Storage: Hỗ trợ nhiều loại e-mail, Voice mail, Fax.. trong cùng một mailbox storage.

+ Hỗ trợ nhiều loại mail client

* An toàn (Security)

- SSL support: hỗ trợ kết nối an toàn cho các giao thức SMTP, POP, IMAP qua SSL.

- SMTP authentication: cho phép hạn chế sự lạm dụng SMTP server bằng cơ chế gửi có kiểm tra password

- Anti-Spam, Anti-Spoof và DoS: hỗ trợ ngăn chặn các địa chỉ spam, kiểm tra địa chỉ nguồn và đích, hạn chế relay, giới hạn số kết nối đồng thời từ một địa chỉ...

* Độ linh hoạt (Flexibility)

- Message routing and addressing: phân phối message theo một không gian địa chỉ duy nhất dựa trên LDAP, cho phép can thiệp sửa đổi (rewrite) địa chỉ cũng nh các header

- Multi domain, virtual domain, List Support: nhận mail cho nhiều domain, hỗ trợ domain ảo, định hớng cho tất cả message thuộc domain cho trớc vào một mailbox duy nhất.

- Component Architecture: hỗ trợ kiến trúc module cho phép tạo sự linh hoạt, độc lập dễ liên kết trong vận hành.

* Quản trị tập trung - đơn giản (Simplicity Management)

- Central management: hỗ trợ quản trị tập trung tài nguyên và thông tin về domain, user, thông qua LDAP

- SNMP management.

- Remote administration: hỗ trợ quản trị từ xa thông qua giao diện

- Server configuration: cấu hình đơn giản, rõ ràng, hỗ trợ mạnh các yêu cầu về quản trị - Quota management: tối u việc quản lý quota giới hạn cho user.

- Policy-base Management: Hỗ trợ đặt trớc các luật về chính sách với từng loại user.

- Các chức năng quản trị của ngời sử dụng: ngời sử dụng có thể tự thực hiện một số chức năng về mailbox của mình mà không cần phải nhờ tới quản trị mạng. Đó là các chức năng nh đổi mật khẩu POP/IMAP, định nghĩa một số bộ lọc, reply message...

2- Kiến trúc hệ thống

Dịch vụ Internet Mail là dịch vụ rất quan trọng của nhà cung cấp dịch vụ, với một số lợng khách hàng, số lợng domain rất lớn và mức độ tăng trởng nhanh, do vậy hầu hết các giải pháp hiện có trên thị trờng đều tổ chức thành nhiều lớp (n-tier) để dễ dàng mở rộng, có tính chịu lỗi cao, có tính khả mở cao.

Nhiều nhà sản xuất sử dụng thuật ngữ Cluster đơn giản chỉ cho cấu hình fail-over hay hot stand-by, tuy nhiên các cấu hình nh vậy không đợc xem nh là cấu hình Cluster.

a) Kiến trúc Failover Hot-Standby

Kiến trúc Cluster Failover là một giải pháp có tính sẵn có cao, đảm bảo thời gian hoạt động liên tục của dịch vụ E-Mail. Chúng ta sẽ xem xét kiến trúc Failover của Mirapoint: Hệ thống Cluster chạy trên các node là các Messaging Server, bao gồm 2 node hoạt động dùng chung ổ đĩa (shared storage) và kết nối mạng. Tính năng Redundancy đạt đợc nhờ Message Router và Message Switch layers.

Hệ thống Cluster Failover chạy trên cặp Active/standby. Bình thờng, Node Active điều khiển l- u lợng email trong khi Node dự phòng nóng sẵn sàng nhận tải trong trờng hợp node active có sự cố. Nếu Node Active gặp sự cố, node standby sẽ tự động phát hiện và giành lấy địa chỉ IP mạng, tiếp quản hệ thống mail store, và khởi động lại ứng dụng messaging.

Hệ thống cluster đợc cấu hình có độ dự phòng đầy đủ các thành phần. Mỗi node đều có một kết nối mạng và chúng đều đợc kết nối tới hệ thống đĩa RAID. Bản thân mỗi node cũng có các tính chống lỗi nh sử dụng 2 nguồn nuôi, dự phòng quạt, và ECC memory. Nh vậy, một node active có thể tiếp tục hoạt động ngay cả khi bị hỏng một ổ đĩa, nguồn nuôi, quạt.... Trờng hợp các lỗi nghiêm trọng, server dự phòng nóng sẽ tiếp quản hoạt động. Hệ thống chống lỗi Cluster failover chạy với một node hoạt động (active) và một node dự phòng nóng (hot standby). Trong khi cả 2 node đang chạy, chúng sẽ giám sát trạng thái hoạt động của nhau sử dụng một cơ chế là

disk heartbeat. Cả 2 node cũng giám sát trạng thái của card mạng chính của chúng.

Khi các node trong hệ thống cluster khởi động, mỗi node đều chạy một giao thức kết hợp để xác định xem node nào là node active. Nếu đã có một node active, node đang khởi động sẽ trở thành node standby. Nếu không có node active nào, node khởi động sẽ tìm cách trở thành active node thông qua shared disk block. Nếu cả 2 node đều thực hiện đồng thời thì chỉ có một node đ- ợc trở thành active.

b) Kiến trúc Clustering

Các hệ thống Mail đợc tổ chức thành các lớp Frontend và Backend; Frontend server nhận các kết nối TCP cho giao thức mail tới và liên lạc với Backend server là nơi lu và xử lý mail. Sử dụng cân bằng tải cho truy nhập và bảo vệ các backend server khỏi mọi sự tấn công. Các Backend server lu trữ các mail account, message, th mục... và chúng quản lý các dịch vụ mail filtering, directory service.... Các Frontend server tập trung chính thông lợng mạng, trong khi các backend chủ yếu là xử lý mail.

Việc tách biệt các chức năng cho phép dễ dàng tinh chỉnh thành cấu hình cluster cho các hệ thống mail server dung lợng lớn. Có thể lập cấu hình cluster cho một số mail servers nh là một domain duy nhất, hoặc trên backend để cho failover, hoặc trên frontend để cân tải.

Có 2 loại cấu hình Cluster chính là: Static and Dynamic. Cả 2 loại đều hỗ trợ các tính năng và giao thức nh POP3, IMAP, SMTP, POP password administration, WebUser...:

+ Static cluster: Mỗi server lu giữ tập hợp các thông tin về các account, khi một mail user kết nối tới hệ thống cluster sẽ đợc định hớng tới node server chứa mailbox của account đó, ngay cả khi user cố kết nối tới một node khác. Kiến trúc này cho phép sử dụng các đĩa cứng cục bộ của các server làm MessageStore. Static clusters dễ xây dựng và rẻ tiền hơn dynamic cluster. Tuy

nhiên, do các account phụ thuộc vào các node cụ thể nên nếu có một node bị lỗi, tất cả các users trên node đó sẽ không thể truy cập đợc.

+ Dynamic cluster: Các Server chia sẻ chung một hệ thống lu trữ nh Storage Area Network. User có thể kết nối tới bất kỳ server server nào để truy cập mail của họ. Kiến trúc này cho tính sẵn có cao nhất (tất cả các account đều có thể truy cập vào mailbox khi có ít nhất một server đang hoạt động).

Cấu hình đầy đủ Frontend-Backend Static Cluster sử dụng Load Balancer

Nhiều hệ thống mail server sử dụng các file server để lu trữ account. Các server này nói chung thờng là các máy chủ đa xử lý chạy UNIX, chúng dùng cùng một phơng pháp đồng bộ trong cả hai môi trờng đơn server và multi-serverlà cơ chế file locks thực hiện trên mức Hệ điều hành/Hệ thống File. Phơng pháp này có các vấn đề tồn tại nh sau:

Mỗi hoạt động với dữ liệu của account/mailbox đều đợc thực hiện quanh hoạt động khoá/mở khoá file, và hệ thống file truyền thống cần đảm bảo đợc tính toàn vẹn (consistency) của dữ liệu. Nh vậy, số lợng hoạt động của File System tăng lên từ 3-5 lần, và hiệu năng của hệ thống giảm rất nhiều. Khi 1 server bị trục trặc có thể làm toàn bộ hệ thống bị treo (do deadlock), và thực hiện khôi phục lỗi khá vất vả. Các truy nhập đồng thời tới cùng một account/mailbox từ một vài ngời dùng có thể không thực hiện đợc hoặc không đáng tin cậy.

Để làm giảm các ảnh hởng không tốt của cơ chế file-locking, một số mail server chỉ hỗ trợ định dạng MailDir mailbox (lu mỗi message một file), và chúng không dựa vào cơ chế file-level lock. Về mặt lý thuyết điều này có thể giải quyết một số vấn đề trên (thực tế triển khai rất khó), nhng kết quả làm hệ thống đĩa bị phân mảnh, d thừa nhiều: Nhiều file server cao cấp sử dụng các block 64Kbyte cho file, trong khi các mail message trung bình có kích thớc khoảng 4Kb, lu trữ mỗi message trong một file riêng biệt làm khoảng 90% đĩa cứng của file server không sử dụng, và làm quá tải bảng cấp phát file. Hiệu năng của File Servers giảm xuống khi một ứng dụng dùng nhiều file nhỏ thay vì sử dụng 1 file lớn hơn.

Cấu hình đầy đủ Frontend-Backend Dynamic Cluster sử dụng Load Balancer

Để giải quyết vấn đề này, một số hãng (nh CommuniGate Pro) sử dụng cấu hình Dynamic Cluster không dùng cơ chế file-lock để đồng bộ các hoạt động truy cập. Giống nh Static cluster, chỉ một server trong Dynamic Cluster đợc truy cập tới một Account tại một thời điểm. Kiến trúc này cho thời gian hoạt động cao nhất: nếu một Backend Server lỗi, mọi account đều có thể truy cập tới các backend server khác mà không bị gián đoạn.

Một Backend server trong Dynamic Cluster hoạt động nh Cluster Controller. Nó đồng bộ mọi Server khác trong Cluster và thực hiện các nhiệm vụ khác, cung cấp chức năng cho phép không chỉ ngời dùng mà cả ngời quản trị có thể kết nối tới bất kỳ server nào trong hệ thống Dynamic Cluster và thực hiện các thao tác với account, mọi thay đổi sẽ đợc cập nhật tự động tới các server khác trong Cluster Servers.

Khi Dynamic Cluster có ít nhất 2 Backend Servers, Cluster Controller gán trách nhiệm Controller Backup cho một backend Server. Mọi thành viên khác trong Cluster duy trì kết nối tới Backup Controller. Nếu Backup Controller lỗi, một Backend Server khác đợc chọn làm Backup Controller. Nếu Controller chính bị lỗi, Backup Controller sẽ hoạt động nh Cluster Controller.

c- Kiến trúc cân bằng tải (Static Cluster)

Một số sản phẩm nh iPlanet Messaging Multiplexor (MMP) hoạt động nh một điểm kết nối tới nhiều Messaging server, sử dụng MMP có thể phân tán các mailbox POP và IMAP trên nhiều Server để tăng dung lợng và hiệu năng của hệ thống. Mọi user kết nối tới MMP đợc chuyển hớng các kết nối tới các messaging server tơng ứng. MMP có lợi ích nh:

+ Quản lý user đơn giản: Có thể sử dụng nhiều Multiplexhoặc server và quản lý các kết nối tới chúng thông qua DNS round robin hoặc sử dụng các chơng trình load-balancing nh Cisco LocalDirector. Vì MMP sử dụng thông tin trong LDAP directory để xác định Messaging Server của mỗi user, nên di chuyển một user tới một server mới rất đơn giản và trong suốt với ngời dùng. Vì vậy có thể di chuyển một mailbox từ một Messaging Server tới server khác, sau đó chỉ cần cập nhật trong LDAP directory, địa chỉ mail address, mailbox access, và các thuộc tính khác của ngời dùng vẫn giữ nguyên nh cũ.

+ Tăng hiệu năng: Việc lu giữ các hộp th của user ở nhiều message store server và sử dụng MMP để cân bằng tải sẽ làm tăng hiệu năng của toàn bộ hệ thống.

+ Giảm chi phí: Vì có thể quản lý nhiều Messaging Servers với MMP nên có thể giảm chi phí do việc mua một vài Server nhỏ sẽ rẻ hơn mua một server rất lớn.

+ Tính khả mở tốt hơn.: Có thể mở rộng cấu hình rất dễ dàng nếu sử dụng MMP bằng cách tăng thêm các server và ổ đĩa khi cần mà không ảnh hởng đến thiết bị ban đầu.

+ Giảm thời gian chết: Sử dụng MMP để chia nhỏ các mailbox sang các máy chủ nhỏ hơn, khi một server bị lỗi, chỉ có các mailbox tại server đó bị ảnh hởng.

+ Tăng độ bảo mật: Có thể sử dụng máy chủ MMP nh là firewall; bằng cách định tuyến các kết nối thông qua server này, có thể giới hạn đợc các truy nhập vào messagestore server

Chơng V Dịch vụ th mục ldap

Trong môi trờng mạng ngày nay, khả năng thêm các server mới và chia nhỏ các máy chủ tạo cho mạng có tính khả mở cao; tuy nhiên việc quản trị hàng chục ngàn khách hàng và nhiều máy chủ là một vấn đề lớn. Hầu hết các ứng dụng Client/Server đều có các kế hoạch quản lý truy nhập, các chính sách bảo mật riêng của riêng chúng; vì vậy, việc hình thành một hệ thống lu trữ tập trung CSDL về khách hàng là một yêu cầu tất yếu.

Các ứng dụng mạng nh RADIUS server, Mail Server... có thể xác thực dựa vào các dữ liệu trên các file cấu hình của chúng, trong 1 CSDL, trong file /etc/passwd của UNIX, thông qua gọi tới

Một phần của tài liệu nghiên cứu các vấn đề về kỹ thuật, công nghệ của isp (Trang 60 - 65)

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

(102 trang)
w