CHƯƠNG 1 – TỔNG QUAN VỀ THƯ ĐIỆN TỬ VÀ XÁC ĐỊNH THỨ TỰ ƯU TIÊN CỦA THƯ ĐIỆN TỬ Chương này trình bày những vấn đề tổng quan về xác định thứ tự ưu tiên của thư điện tử, sự cấp thiết của vấn đề nghiên cứu, các phương pháp và tập dữ liệu đã được sử dụng. Trước tiên, những khái niệm cơ bản về thư điện tử được đề cập. Tiếp theo, các bài toán về xác định thứ tự ưu tiên của thư điện tử được định nghĩa cụ thể. Sau đó, luận án tổng hợp các nghiên cứu về các bài toán nói trên, những thành tựu đã đạt được cùng với những vấn đề còn tồn tại.
Cuối cùng, một số vấn đề quan trọng mà luận án sẽ tập trung giải quyết sẽ được trình bày trong phần kết luận chương. HỆ THỐNG THƯ ĐIỆN TỬ 1. Sơ lược về thư điện tử Thư điện tử là phương tiện liên lạc được ra đời sớm nhất trên mạng máy tính và đã được sử dụng từ trước khi mạng Internet xuất hiện cho đến ngày nay. Không có một tác giả cụ thể nào phát minh ra thư điện tử [16] mà chuẩn thư điện tử đồ sộ hiện giờ đã được phát triển dần từ những thông điệp có cấu trúc rất đơn giản.
Những bức thư điện tử đầu tiên có dạng tệp văn bản và được gửi đi giữa những người dùng trên cùng máy tính. Hình thức này được áp dụng từ năm 1965 tại học viện MIT và được đặt tên là MAILBOX. Khi mạng ARPANET, tiền thân của Internet, ra đời thì nhu cầu gửi thư điện tử qua mạng nhanh chóng xuất hiện. Cần có hệ thống thư điện tử phức tạp hơn có thể làm điều đó.
Ray Tomlinson là người đã xây dựng chuẩn thư điện tử đầu tiên vào năm 1972. Ông nổi tiếng với quy tắc sử dụng cấu trúc ten_nguoi_dung@ten_may_tinh để thể hiện địa chỉ hòm thư của người gửi và người nhận. Thư điện tử là ứng dụng chủ yếu duy trì sự tồn tại của ARPANET với khoảng vài trăm người dùng trong quân đội Hoa Kỳ vào năm 1974. Trong cùng khoảng thời gian từ 1974 tới 1975, Larry Roberts áp dụng việc chia hòm thư thành các thư mục.
Sau đó, các tính năng của thư điện tử được phát triển thêm bởi nhiều cá nhân, hình thành một hệ thống tiêu chuẩn phức tạp. Hệ thống thư điện tử được sử dụng hiện nay là sự kết hợp giữa các giao thức SMTP, POP3 và IMAP. Những giao thức này được phát minh từ những năm 80 của thế kỷ 20 bởi nhiều tác giả và được liên tục duy trì, cập nhật cho đến ngày nay. 8 Thư điện tử phát triển nhanh chóng, thúc đẩy sự ra đời của mạng Internet toàn cầu.
Một trong những phần mềm thương mại ra đời đầu tiên là Eudora (1988). Không lâu sau, hệ thống Pegasus Mail xuất hiện (1990). Sự phổ biến của mạng Internet toàn cầu đã dẫn đến sự ra đời của các dịch vụ cung cấp thư điện tử lớn và miễn phí như AOL Mail (1993), Hotmail (1996) và Yahoo (1997). Dịch vụ thư điện tử miễn phí lớn nhất ngày nay, Gmail, xuất hiện khá lâu về sau, vào năm 2004.
Mặc dù mạng toàn cầu phát triển mạnh và có khả năng phục vụ việc trao đổi thông tin thông qua giao thức HTTP, thư điện tử vẫn là ứng dụng quan trọng và được sử dụng nhiều nhất của Internet. Năm 2004 có hơn 600 triệu người sử dụng thư điện tử trên toàn thế giới [16]. Cho đến năm 2019, số người dùng đã tăng lên con số khổng lồ 3,93 tỷ người và dự tính vẫn tiếp tục tăng6 trung bình 2.7% mỗi năm cho tới năm 2024. Theo thống kê của Radicati7, lượng thư được gửi đi mỗi ngày vào năm 2019 là 293,6 tỷ và dự đoán tới năm 2024 sẽ lên tới 361,6 tỷ, tốc độ tăng trung bình 4,3% mỗi năm.
Cấu trúc của một bức thư điện tử Tiêu chuẩn mới nhất về cấu trúc của thư điện tử được định nghĩa trong RFC 5322 [38]. Thư điện tử là một tập tin văn bản thuần túy. Một bức thư bao gồm các trường header (gộp chung thành “phần header” của bức thư). Theo sau phần header là phần nội dung thư, phần này có thể có nội dung hoặc để trống.
Các trường header là những dòng bắt đầu bằng tên trường, theo sau bởi một dấu hai chấm (“:”), tiếp đến là giá trị của header. Sau đây là một số trường header phổ biến: – Message-ID: chuỗi định danh duy nhất của bức thư. – From: địa chỉ hòm thư của (những) người soạn ra nội dung thông điệp. – Sender: địa chỉ hòm thư của người thực hiện việc gửi thư (nếu người gửi thư không phải là người soạn thư).
– Reply-To: địa chỉ (những) hòm thư mà bức thư cần được phản hồi tới. – In-Reply-To: Message-ID của bức được trả lời.com/statistics/255080/number-of-e-mail-users-worldwide/ 7 https://www.com/statistics/456500/daily-number-of-e-mails-worldwide/ 9 – References: một tập hợp Message-ID của những bức thư liên quan, thường là những bức thư trong cùng chuỗi thư trao đổi qua lại (thread). – To: địa chỉ hòm thư của (những) người mà nội dung bức thư hướng tới. – Cc: địa chỉ hòm thư của (những) người nhận bản sao của bức thư.
– Bcc: địa chỉ hòm thư của (những) người nhận bản sao của bức thư nhưng danh tính của họ không được công bố cho những người cùng nhận thư. – Subject: Tiêu đề bức thư. – Date: thời gian bức thư được hoàn thành và sẵn sàng để gửi đi. Các trường Message-ID, In-Reply-To và References được sử dụng để xác định chuỗi thư trao đổi (trả lời, chuyển tiếp).
Phần nội dung thư là tập hợp của nhiều dòng ký tự, với những quy định sau: – Ký tự CR (giá trị 13) và ký tự LF (giá trị 10) phải xuất hiện cùng nhau để tạo thành ký tự xuống dòng (CRLF), không được xuất hiện riêng lẻ. – Một dòng trong phần nội dung không được dài quá 998 ký tự và nên được hạn chế trong vòng 78 ký tự, không tính CRLF. Nội dung thư ngày nay được chia thành nhiều phần (multipart) trong đó thường có một phần là nội dung thư ở dạng văn bản thuần túy (Content-Type: text/plain) và một phần là nội dung thư định dạng HTML (Content-Type: text/html). Các phần khác của bức thư thường là các tệp đính kèm với kiểu dữ liệu MIME cụ thể (ví dụ: image/jpeg, application/zip).
Tuy nhiên, sự linh hoạt trong tiêu chuẩn về thư điện tử cũng cho phép một bức thư có cấu tạo đơn giản gồm một phần (singlepart). Có thể thấy rõ, thư điện tử có những đặc trưng không tồn tại trong văn bản thông thường như các trường header, người gửi, người nhận… Thư điện tử cũng khác biệt với văn bản thông thường vì nội dung thư thường bao gồm những ký tự trang trí, ký hiệu, ký tự đặc biệt… Ngoài ra, ngôn ngữ sử dụng trong thư điện tử cũng có thể không tuân thủ nghiêm ngặt các quy tắc về đánh vần và ngữ pháp. Đối với trường hợp thư rác, kẻ phát tán thường cố tình soạn nội dung bức thư nhằm mục đích đánh lừa các bộ lọc, điều này không xảy ra đối với việc soạn thảo các văn bản thông thường. Mô hình xử lý thư điện tử Hình 1.1: Mô hình xử lý thư điện tử tổng quát Có 3 khâu chính trong hệ thống xử lý thư điện tử (Hình 1.1) là truyền tải, tiếp nhận và quản lý.
Trong mỗi khâu lại có nhiều giao thức được xây dựng để quy định việc định dạng văn bản và giao tiếp qua mạng… Tất cả các vấn đề về thư điện tử đều xảy ra ở một hoặc một số bước của cả tiến trình này. Tác vụ lọc thư rác thường được thực hiện ở bước truyền tải và tiếp nhận bởi số lượng thư rác rất lớn, cần phải được loại bỏ trước khi thư rác được truyền đến hòm thư của người sử dụng. Việc lọc thư rác thực hiện càng sớm thì càng tiết kiệm được nhiều tài nguyên tính toán và tài nguyên mạng. Tác vụ dự đoán hành động và xếp hạng thư điện tử thường được thực hiện ở bước quản lý thư điện tử vì mục tiêu của hai bài toán này là sắp xếp, bố trí lại hòm thư của người dùng.
Cả ba bài toán lọc thư rác, dự đoán hành động người dùng và xếp hạng thư điện tử đều nằm trong bài toán tổng quát là bài toán xác định thứ tự ưu tiên của thư điện tử.2: Mô hình gửi và nhận thư phổ biến (nguồn: jscape.com) Giao thức truyền tải thư điện tử qua mạng là SMTP. Giao thức này được sử dụng bởi đơn vị truyền tải thư điện tử (MTA), một hệ thống có nhiệm vụ chuyển các bức thư từ máy chủ của người gửi đến máy chủ của người nhận. Giao thức SMTP có hai thành 11 phần là phần server (bên gửi) và phần client (bên nhận). Hệ thống MTA tích hợp phần server của giao thức SMTP.
MUA là phần mềm giúp người dùng gửi và nhận thư điện tử. Trong MUA có tích hợp phần client của giao thức SMTP dùng để gửi thư từ máy tính cá nhân lên máy chủ gửi thư MTA. SMTP là giao thức duy trì kết nối và là giao thức dựa trên văn bản, khác với các giao thức dùng dữ liệu nhị phân. Trong quá trình trao đổi thông điệp, MTA và MUA giao tiếp với nhau bằng chuỗi lệnh SMTP.
Ví dụ về các thông điệp khi gửi một bức thư được mô tả trong Hình 1. Ở bất kỳ bước nào trong giao dịch đó, server có thể gửi trả client một thông báo từ chối và giao dịch sẽ kết thúc. Điều này có ứng dụng thực tế để chặn thư rác sớm từ ngay khi vừa phát hiện, tránh làm hao tốn tài nguyên của máy chủ. Các phương pháp lọc thư rác dựa vào địa chỉ IP có thể chặn ngay từ bước bắt đầu kết nối bởi vì ở thông điệp này ta đã biết địa chỉ hòm thư của người gửi.
Một phương pháp lọc thư rác dựa theo địa chỉ của người gửi phải chờ đến thông điệp MAIL FROM để có thể quyết định có chặn bức thư hay không.3: Các thông điệp khi sử dụng giao thức SMTP để gửi một bức thư (nguồn: smtp2go.com) Trong khi SMTP có thể được hiểu là chiếc xe đưa thư đảm nhận việc vận chuyển thư từ bưu cục này đến bưu cục khác thì MDA có thể được hiểu là người đưa thư từ bưu điện địa phương tới hòm thư của người nhận. Nhiệm vụ chính của MDA là nhận thư từ MTA và lưu trữ nó vào đúng hòm thư của người nhận. Vai trò của MDA được miêu tả trong Hình 1.2 và MDA giao tiếp với MUA thông qua một trong hai giao thức là POP 12 và IMAP. Một phương pháp lọc thư rác có thể được tích hợp vào MDA để chặn những bức thư không mong muốn trước khi chúng kịp vào tới hòm thư của người dùng.