Tiêu chuẩn kỹ thuật về ƯDCNTT trong CQNN: Tiêu chuẩn IMAP - Giao thức truy cập thông điệp Internet (7) 

 Tổng quan về IMAP

Tiêu chuẩn Internet Message Access Protocol (IMAP) – Giao thức truy cập thông điệp Internet là một giao thức Internet ở tầng ứng dụng, cho phép máy khách truy cập thư điện tử trên một máy chủ thư từ xa. IMAP cùng với Giao thức truy cập hộp thư (POP - Post Office Protocol) là một trong hai giao thức tiêu chuẩn Internet phổ biến nhất về lấy thư điện tử. Trên thực tế, tất cả các máy khách và máy chủ thư điện tử hiện đại đều hỗ trợ cả hai giao thức này để truyền tải thông điệp điện tử từ một máy chủ.

Như chúng ta đã biết trong bài giới thiệu về Giao thức truy cập hộp thư (POP), POP rất phổ biến với người dùng do tính đơn giản và có lịch sử phát triển lâu dài. Tuy nhiên, POP có rất ít tính năng và thường chỉ chú trọng hỗ trợ phương thức truy cập thư ngoại tuyến (offline). Do đó, Giao thức truy cập thông điệp Internet ra đời với mục đích cụ thể là cung cấp tính linh hoạt trong cách truy cập, cách lấy và cách làm việc với thông điệp điện tử của người dùng. Trong thực tế, IMAP có thể hoạt động theo cả ba chế độ: trực tuyến (online), ngoại tuyến và không kết nối (disconnected – chế độ lai giữa online và offline, người dùng thao tác với bản sao tạm thời của các thông điệp trên máy chủ), trong đó, chế độ trực tuyến và không kết nối nhận được quan tâm của rất nhiều người dùng, còn chế độ ngoại tuyến thì ít hơn do giống với POP. Hiện tại, IMAP do Nhóm chuyên trách kỹ thuật Internet - Internet Engineering Task Force (IETF) phát hành dưới dạng RFC (Request for Comments, là những tài liệu kỹ thuật và tổ chức về Internet, bao gồm những tài liệu đặc tả kỹ thuật và chính sách được tổ chức IETF phát hành).

IMAP có lịch sử phát triển khá thú vị, cụ thể như sau:

- Phiên bản đầu tiên gọi là Giao thức truy cập hộp thư tạm thời (Interim Mail Access Protocol - IMAP), được thiết kế bởi Mark Crispin năm 1986. Giao thức tạm thời thiếu liên kết yêu cầu/trả lời và do đó cú pháp của nó không tương thích với tất cả các phiên bản sau này. Hiện tại, không còn tồn tại một tài liệu đặc tả hay một phần mềm nào sử dụng giao thức truy cập hộp thư tạm thời này nữa.

- Phiên bản thứ hai gọi là Giao thức truy cập hộp thư tương tác (Interactive Mail Access Protocol – IMAP2), được phát triển tại Đại học Stanford – Mỹ từ giữa những năm 1980, sau đó được chuẩn hóa và định nghĩa trong RFC 1064 vào tháng 7 năm 1988 và được cập nhật vào tháng 8 năm 1990 tại RFC 1176. IMAP2 có một số yêu cầu/trả lời giống với IMAP phiên bản đầu tiên nhưng đã đưa ra được liên kết yêu cầu/trả lời và IMAP2 cũng là phiên bản được công bố công khai đầu tiên.

- Phiên bản thứ ba gọi là Giao thức truy cập hộp thư tương tác (Interactive Mail Access Protocol – IMAP3 ), được xác lập tại RFC 1203 vào tháng 2 năm 1991, đưa ra một số khuyến nghị trái ngược với RFC 1176 của phiên bản IMAP2 nhưng IMAP3 không chấp thuận bởi cộng đồng, do đó phiên bản IMAP2 vẫn được sử dụng trong khoảng thời gian này.

- Phiên bản thứ tư gọi là Giao thức truy cập hộp thư tương tác IMAP2bis (Interactive Mail Access Protocol – IMAP2bis), được xem là giao thức mở rộng của IMAP2 với việc hỗ trợ cấu trúc nội dung kiểu giao thức mở rộng thư Internet đa chức năng (Multipurpose Internet Mail Extensions - MIME) và thêm nhiều tính năng hộp thư như tạo, xóa, đổi tên, tải thông điệp lên nhưng IMAP2bis không được công bố dưới dạng RFC. Sau đó vào tháng 12 năm 1994, phiên bản IMAP2bis đã được nhóm IETF IMAP đổi tên thành giao thức truy cập thông điệp Internet (Internet Message Access Protocol  - IMAP4) để tránh nhầm lẫn với phiên bản IMAP3 và được công bố tại RFC 1730 (RFC mô tả giao thức chính) và RFC 1731 (RFC mô tả cơ chế xác thực của IMAP4). Tiếp đó, IETF đã sửa đổi, bổ sung IMAP4 thành IMAP4rev1 vào tháng 12 năm 1996 tại RFC 2060 và cập nhật IMAP4rev1 vào tháng 3 năm 2003 tại RFC 3501.

Hoạt động cơ bản

IMAP4rev1 là giao thức theo mô hình máy khách/máy chủ. Khi một máy khách (client) muốn sử dụng dịch vụ, nó phải thiết lập một kết nối TCP (Transmission Control Protocol) trên cổng 143 đến máy chủ (server). Máy chủ gửi lời chào, sau đó máy khách và máy chủ IMAP4rev1 sẽ tương tác với nhau cho đến khi kết nối được đóng lại hoặc hủy bỏ.

Tất cả các tương tác giữa máy khách và máy chủ được biểu diễn dưới dạng các lệnh (command) và trả lời (response), đây là các chuỗi ký tự ASCII (American Standard Code for Information Interchange - Tiêu chuẩn mã hóa trao đổi thông tin của Hoa Kỳ) và được kết thúc bằng một cặp mã CR-LF (CR: mã ASCII là 0Dh cho phép quay về đầu dòng, LF: mã ASCII là 0Ah cho phép xuống dòng mới). Lệnh của máy khách là yêu cầu thực hiện thao tác, bắt đầu bằng một mã định danh (thường là một chuỗi ngắn bắt đầu bằng ký tự chữ in kèm theo các ký tự số, ví dụ: A0001, A0002,…) được gọi là “tag” (thẻ liên kết), mỗi tag được sinh ra chỉ dành cho một lệnh.

Thành phần nhận của máy chủ đọc lệnh từ máy khách, phân tích lệnh và các đối số của lệnh, sau đó truyền dữ liệu của máy chủ và cuối cùng gửi trả lời.

Trả lời của máy chủ gắn với thẻ tương ứng với lệnh của máy khách. Do đó, nếu có nhiều hơn một lệnh trong quá trình tương tác, thẻ liên kết trong trả lời của máy chủ sẽ nhận dạng lệnh của trả lời đó. Có ba dạng kết quả chính của trả lời từ máy chủ: OK (trạng thái thành công), NO (trạng thái không thành công), và BAD (trang thái lỗi chẳng hạn như lệnh không được nhận dạng hay lệnh bị lỗi cú pháp). Ngoài ra, còn có hai dạng kết quả khác xảy ra trong một số trường hợp nhất định: PREAUTH (gửi thông điệp không liên kết ngay từ lúc bắt đầu phiên làm việc để chỉ ra không có yêu cầu xác thực; phiên làm việc chuyển trực tiếp đến trạng thái đã được xác thực) và BYE (được gửi khi máy chủ sắp đóng kết nối, trả lời lệnh LOGOUT hoặc kết nối bị đóng vì các lý do khác).

Bộ phận nhận của máy khách đọc dòng trả lời từ máy chủ. Sau đó, máy khách thực hiện hành động dựa trên token (ký hiệu) của trả lời có thể là “*” (trả lời của máy chủ nhưng chưa kết thúc lệnh) hoặc “+” (trả lời của máy chủ yêu cầu máy khách tiếp tục thực hiện lệnh).

Trạng thái và biểu đồ luồng

Một phiên làm việc của IMAP4rev1 diễn ra thông qua các trạng thái như trong hình 1, baogồm: NOT AUTHENTICATED (không được xác thực), AUTHENTICATED (được xác thực), SELECTED (trạng thái lựa chọn) và LOGOUT (trạng thái đăng xuất).

 

(1) Kết nối mà không được xác thực trước (OK)

(2) Kết nối được xác thực trước (PREAUTH)

(3) Kết nối bị từ chối (BYE)

(4) Lệnh LOGIN hay AUTHENTICATE thành công

(5) Lệnh SELECT hay EXAMINE thành công

(6) Lệnh CLOSE, hoặc lệnh SELECT hay EXAMINE không thành công

(7) Lệnh LOGOUT, tắt máy chủ hay kết nối bị đóng

Thông thường phiên làm việc bắt đầu ở trạng thái NOT AUTHENTICATED sau khi kết nối TCP được thiết lập (trừ trường hợp sử dụng tính năng xác thực trước PREAUTHENTICATE). Ở trạng thái này, máy khách chỉ có thể cung cấp thông tin xác thực để chuyển sang trạng thái tiếp theo. Khi AUTHENTICATED (đã được xác thực), máy khách được phép thực hiện các thao tác trên toàn bộ hộp thư, nó phải chuyển sang trạng thái SELECTED để lựa chọn một hộp thư để truy cập và thực hiện thao tác trên các thông điệp. Ở trạng thái SELECTED, máy khách có thể đóng hộp thư và quay trở lại trạng thái AUTHENTICATED để lựa chọn và thực hiện thao tác trên hộp thư khác hoặc có thể chuyển sang trạng thái LOGOUT để đóng kết nối và kết thúc phiên làm việc. Trạng thái LOGOUT là kết quả khi máy khách yêu cầu bằng lệnh LOGOUT hoặc khi có yêu cầu đóng kết nối đơn phương từ máy khách hoặc máy chủ. Khi máy khách yêu cầu trạng thái LOGOUT, máy chủ phải gửi trả lời BYE hoặc trả lời OK trước khi máy chủ đóng kết nối. Máy khách không nên đóng kết nối đơn phương mà trước đó nên gửi lệnh LOGOUT. Nếu máy chủ phát hiện máy khách đóng kết nối đơn phương, máy chủ có thể không trả lời BYE và đóng kết nối đó lại.

 

Ứng dụng

 

IMAP4rev1 được cài đặt trong các phần mềm máy chủ, máy khách thư điện tử để phục vụ truy cập và thao tác (tạo, xóa, đổi tên hộp thư, kiểm tra thông điệp mới, di chuyển, phân tích, tìm kiếm thông điệp,…) trên các thư điện tử. Trong Thông tư số 01/2011/TT-BTTTT ngày 04/01/2011 của Bộ Thông tin và Truyền thông Công bố Danh mục tiêu chuẩn kỹ thuật về ứng dụng công nghệ thông tin trong cơ quan nhà nước quy định Bắt buộc áp dụng tiêu chuẩn IMAP4rev1 và được xếp vào nhóm Tiêu chuẩn về kết nối

630 Go top

Ý kiến về Trang thông tin điện tử Cục Tin học hóa?



THÔNG KÊ TRUY CẬP
  • Người trực tuyến Người trực tuyến
    • Khách Khách 6
    • Thành viên Thành viên 0
    • Tổng Tổng 6
    • Tổng lượt truy cập: Tổng lượt truy cập: 10117148