MỞ ĐẦU Ngày nay hệ thống thư điện tử vẫn đang giữ vị thế là một phương tiện trao đổi thông tin hữu ích hàng đầu trên mạng Internet và là một dịch vụ cơ bản của các ISP(Internet Service Provider). Trong môi trường Internet đang phát triển rất nhanh dẫn đến sự bùng nổ thuê bao cùng các hiệu ứng spam, lây nhiễm virus …, đòi hỏi của khách hàng đối với các nhà cung cấp dịch vụ ngày càng cao kéo theo các khó khăn không ngừng gia tăng đối với các hệ thống thư điện tử quy mô lớn về hiệu năng, độ tin cậy, chịu đựng quá tải, khả năng chống spam, virus, … Chúng ta đã biết khá nhiều các phần mềm hệ thống thư điện tử, phần mềm lọc thư, các phương thức chia sẻ tải, các phương thức cài đặt cụm…, nhưng thiết kế như thế nào để tích hợp được một hệ thống thư điện tử với quy mô của nhà khai thác chuyên nghiệp lại là một vấn đề khó khăn, vì những thiết kế của các nhà khai thác lớn như Yahoo, Google, China.com … thường không được tiết lộ. Trong khuôn khổ của đề tài, ngoài việc trình bày các kiến thức nền tảng để có thể xây dựng hệ thống thư điện tử quy mô lớn, học viên đưa ra đề xuất về các yêu cầu kỹ thuật đối với hệ thống thư điện tử cho các nhà cung cấp dịch vụ nhằm đáp ứng được các yêu cầu khắt khe của người sử dụng. Phần cuối của đề tài trình bày giải pháp xây dựng hệ thống thư điện tử cho mạng VNN với thiết kế đảm bảo cung cấp dịch vụ với 500 nghìn hộp thư, có kiến trúc mở rộng được đến 2,5 triệu hộp thư, đáp ứng được các yêu cầu kỹ thuật đã đặt ra.
Giải pháp này có thể sử dụng để tham khảo như một một ví dụ. Mặc dù đã có nhiều cố gắng, nhưng đề tài không thể tránh khỏi các thiếu sót, rất mong nhận được sự chỉ bảo góp ý của các thầy cô giáo, các đồng nghiệp để đề tài được hoàn thiện hơn. TIEU LUAN MOI download : skknchat@gmail.com 11 CHƢƠNG 1: CÁC KIẾN THỨC CƠ BẢN VỀ HỆ THỐNG THƢ ĐIỆN TỬ Những thành phần cơ bản của một hệ thống thư điện tử, bao gồm MTA, MSS, LDAP, POP, IMAP, HTTP có thể thấy qua hình vẽ dưới đây. Hình 1: Thành phần cơ bản của hệ thống thư điện tử 1.
Thành phần POP3 [2,3] Trên Internet, các trạm có nhu cầu duy trì một cơ chế chuyển đổi thông điệp, nhưng thường không có không đủ nguồn tài nguyên(năng lực xử lý, bộ nhớ trong và ngoài) để cài đặt một máy phục vụ SMTP giúp duy trì hệ thống phân phối thư cục bộ thường trú. TIEU LUAN MOI download : skknchat@gmail.com 12 Tuy nhiên, nhu cầu quản lý thư điện tử trên các trạm làm việc là bức thiết, nên người ta thường sử dụng một trình duyệt để thực hiện các tác vụ về thư điện tử. Một trạm làm việc hoặc một máy phục vụ có thể hỗ trợ chức năng thư điện tử để cung cấp dịch vụ cho các máy trạm khác. Giao thức POP3(Post Ofice Protocol Version 3) được cung cấp để cho phép các máy trạm tự động truy nhập thư điện tử trên máy phục vụ.
Điều này đồng nghĩa với việc giao thức POP3 được sử dụng để cho phép các máy trạm lấy thư về từ máy phục vụ đang lưu giữ thư. POP3 không được thiết kế để phục vụ các tác vụ về thư điện tử ngay trên máy phục vụ, thông thường thì thư bị xóa ngay sau khi tải về máy trạm. Nhu cầu lưu thư và giao dịch ngay trên máy phục vụ sẽ được giải quyết với các giao thức có tính năng cao cấp hơn như IMAP4. Giao thức POP3: Để khởi tạo, máy phục vụ sẽ khởi động dịch vụ POP3(POP3 Service) trên cổng TCP 110.
Khi một máy trạm có nhu cầu sử dụng dịch vụ, nó sẽ thiết lập một kết nối TCP đến máy phục vụ. Sau khi thiết lập xong kết nối, máy phục vụ POP3 sẽ gửi một lời chào mừng đến máy trạm. Máy trạm và máy phục vụ POP3 sẽ trao đổi các lệnh và phản hồi với nhau cho đến khi kết nối đóng lại hoặc mất kết nối. Sau đây là một ví dụ về phiên làm việc POP3: S: <wait for connection on TCP port 110> // Chờ đợi kết nối tại cổng 110 C: <open connection> // Mở kết nối S: +OK POP3 server ready 1896.us C: APOP mrose c4c9334bac560ecc979e58001b3e22fb // Sử dụng hàm băm MD5 để tóm lược chuỗi bí mật được chia sẻ trong phiên làm việc để xác thực đối tượng làm việc.
S: +OK mrose's maildrop has 2 messages (320 octets): // Hộp thư có 2 thư điện tử C: STAT // Bắt đầu giao dịch S: +OK 2 320 // Trạng thái chờ lệnh C: LIST // Liệt kê số lượng thư S: +OK 2 messages (320 octets) S: 1 120 S: 2 200 S:. C: RETR 1 S: +OK 120 octets S: <the POP3 server sends message 1> Gửi thư thứ nhất đi S:. C: DELE 1 // Xóa thư thứ nhất S: +OK thư điện tử 1 deleted // Đã xóa xong C: RETR 2 S: +OK 200 octets S: <the POP3 server sends message 2> Gửi thư thư hai đi S:. C: DELE 2 // Xóa thư số 2 S: +OK message 2 deleted // Xóa xong C: QUIT S: +OK dewey POP3 server signing off (maildrop empty) C: <close connection> // Đóng kết nối S: <wait for next connection> // Chờ đợi kết nối tiếp theo TIEU LUAN MOI download : skknchat@gmail.com 13 Hình 2: Giao thức POP3 TIEU LUAN MOI download : skknchat@gmail.
Thành phần chuyển thƣ(MTA) [2,3] Để phục vụ việc chia thư cho các kênh xử lý, MTA tra cứu thông tin người dùng và tên miền trực tiếp từ máy phục vụ chỉ mục(LDAP server), máy phục vụ chỉ mục trở thành kết nối quan trọng trong quá trình chuyển nhận thư điện tử. Kết quả của các truy vấn LDAP được lưu trữ bộ nhớ đệm(cached) trong quá trình khai thác, với kích thước và thời gian có thể định hình được, do vậy có thể điều chỉnh được hiệu suất. Thành phần MTA chịu trách nhiệm định tuyến, chuyển và phân phối thư. Các luồng thư đi qua các kênh giao tiếp khác nhau, được trình bày qua hình vẽ dưới đây(sở dĩ có các kênh khác nhau vì mỗi thư có thể có một đích đến khác nhau, và có các đặc điểm khác nhau đòi hỏi phải phân loại và chia ra các kênh xử lý khác nhau).
Người quản trị có thể cấu hình để thư được chuyển thẳng đến các kênh giao tiếp khác nhau dựa vào địa chỉ của thư. Hình 3: Kiến trúc kênn Kiến trúc kênh: Có thể lập cấu hình cho các kênh từ tập tin cấu hình dạng văn bản. Qua thông tin cấu hình kênh, quản trị viên có thể thiết lập các thông số kiểm soát, xử lý thư điện tử. Phương pháp xử lý bao gồm chỉnh hiệu suất, báo cáo hiện trạng hệ thống.
Ví dụ, các kênh có thể được xem là lưu lượng phân đoạn theo nhóm hoặc đơn vị, theo kích thước thư điện tử, giới hạn có thể xem là lưu lượng giới hạn, và các luật thông báo hiện trạng chuyển giao(delivery status notification rules) có thể được lập ra theo yêu cầu của quản trị hệ thống. Các thuộc tính chẩn đoán có thể được lập cấu hình theo cơ sở từng kênh. Con số thông số lập theo kênh có thể rất lớn. Mỗi kênh sẽ chứa từ 1 đến 2 chương trình gọi là slave, có trách nhiệm xử lý thư điện tử vào các kênh, và một chương trình gọi là master, sẽ có trách nhiệm đưa thư điện tử ra khỏi kênh.
Ở đây sẽ tồn tại một hàng đợi thư ra để lưu tạm thư chờ chuyển thư ra ngoài. Các chương trình sẽ có các chức năng khác nhau như: Chƣơng trình Slave: 1. Chấp nhận thư vào từ các giao diện khác 2. Đưa chúng vào hàng đợi 3.
Hoặc từ chối thư nếu không được phép đưa vào hệ thống. TIEU LUAN MOI download : skknchat@gmail.com 15 Chƣơng trình Master: 1. Xử lý các thư trong hàng đợi. Lưu thư nếu các thư cần được xử lý thêm bởi các kênh khác 3.
Chuyển vận thư đến các giao diện khác, xóa đi sau khi chuyển xong 4. Phân phối thư đến các hệ thống đích, ví dụ như các hệ thống lưu trữ thư. Máy phục vụ thƣ điện tử cung cấp các kênh mặc định nhƣ sau: Kênh SMTP: Cho phép các thư điện tử trên mạng IP được phân phối hoặc nhận. Cả hai kênh master và slaver đều được cung cấp.
Kênh LMTP: Cho phép thư định hướng thẳng từ MTA đến thành phần lưu trữ thư điện tử. Kênh này không thông qua SMTP mà kết nối thằng với MSS(Messaging Store System). Kênh Pipe: Sử dụng cho các chương trình chia thư luân phiên. Cho phép chia thư tới các thành phần lưu trữ thư chứ không đưa thẳng vào hộp thư.
Kênh Local: Chia thư tới /var/mail, tương thích với các Unix mail client dạng cũ. Kênh xử lý lại(Reprocessing): Dùng cho các thư điện tử được chấp nhận lại Kênh Defracmentation: Tập hợp lại các thành phần vào 1 thư điện tử nguyên gốc để hỗ trợ thư điện tử dạng MIME. Kênh hoán chuyển(Conversion): Thực hiện hoán chuyển các phần của thư điện tử, hữu ích cho các việc thay lại địa chỉ hoặc tái định dạng lại kiểu nội dung. Hình 4: Kênh hoán chuyển Thư điện tử được định tuyến đến một kênh tùy thuộc theo kết quả ghi lại các địa chỉ đến theo các luật ghi lại tên miền(domain rewriting rules).
Các luật ghi lại này chuyển địa chỉ thành địa chỉ tên miền thật, và xác định các kênh tương ứng của chúng. Các địa chỉ xuất hiện trong lớp chuyển vận và đầu mục thư điện tử được ghi lại theo các luật này. Lớp chuyển vận là phong bì của thư điện tử, có chứa thông tin định tuyến và người dùng không thấy được. Đây thực sự là cơ chế chuyển giao thư điện tử đến người nhận tương ứng.
TIEU LUAN MOI download : skknchat@gmail.com 16 Các luật viết lại địa chỉ và bảng kênh kết hợp với nhau để xác định cách sắp xếp của từng địa chỉ. Kết quả của quá trình ghi lại là các địa chỉ và hệ thống định tuyến, vốn là hệ thống thư điện tử được gửi đến. Tùy theo sơ đồ mạng, hệ thống định tuyến có thể là bước đầu tiên để đến nơi cần đến, hoặc có thể là điểm đến sau cùng. Sau khi hoàn tất quá trình ghi lại, hệ thống định tuyến sẽ được kiểm tra các phần kênh của tập tin cấu hình.
Mỗi kênh có một hoặc nhiều tên host đi kèm với nhó. Tên hệ thống định tuyến được so sánh với từng cái tên để xác định sẽ xếp thư điện tử vào kênh nào. Chẳng hạn luật ghi lại đơn giản là thor.