Tải bản đầy đủ (.docx) (23 trang)

Mạng máy tính | Giao thức POP3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (196.54 KB, 23 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
---------------o0o---------------

BÁO CÁO MÔN:
MẠNG MÁY TÍNH
Đề tài : Tìm hiểu giao thức POP3
Danh sách nhóm:
Nguyễn Trương Định

20150938

Vũ Quang Huy

20173170

Đỗ Văn Phong

20143417

Vũ Ngọc Sơn

20163580

Nguyễn Trí Sơn

20166683

Giảng viên: PGS.TS Ngô Quỳnh Thu
HÀ NỘI, 12 - 2018



MỤC LỤC

2


MỞ ĐẦU
Ngày nay, sự bùng nổ của Internet mang đến cho người dùng rất nhiều dịch vụ
tiện ích trong đó có dịch vụ thư điện tử Email. Rất nhiều giao thức mạng đã được
phát triển để phục vụ cho việc truyền, nhận, xử lí, lưu trữ email như SMTP, IMAP,
POP3… Mỗi giao thức lại có những chức năng cũng như ưu nhược điểm riêng.
Trong số các giao thức trên, POP3 được sử dụng phổ rộng rãi trong việc tạo
liên kết tới máy chủ email và tải email xuống máy tính cá nhân thông qua các phần
mềm như Outlook, Thunderbird, Windows Mail, Mac Mail,…
Trong phạm vi đề tài nghiêm cứu, nhóm hi vọng có thể cung cấp cho người
đọc cái nhìn tổng quan về hoạt động của giao thức POP3 trong hệ thống mail. Trong
quá trình tìm hiệu và soạn thảo có thể có những sai sót, chúng tôi rất mong nhận
được ý kiến đóng góp của đọc giả để hoàn thiện đề tài tốt hơn.
Xin cảm ơn.
Hà Nội, ngày 24 tháng 12 năm 2018

3


GIỚI THIỆU CHUNG
POP3 là giao thức cung cấp cơ chế truy cập và lưu trữ hộp thư
cho người dùng. Trong một số nút trung gian nhỏ trên mạng
Internet, việc duy trì cả một hệ thống vận chuyển tin nhắn (MTS message transport system) là rất khó khăn. Ví dụ như, máy có thể
không có đủ tài nguyên (chu kì, dung lượn ổ đĩa,...) để tham gia
vào một máy chủ SMTP và liên kết với hệ thống chuyển phát thư

cục bộ để được giữ lại và tiếp tục hoạt động. Tương tự, có thể rất
đắt đỏ (thậm chí không thể) giữ một máy tính cá nhân duy trì kết
nối với mạng kiểu IP trong thời gian dài.
Mặc dù vậy, việc quản lí thư trên các nút này lại tiện lới hơn
nhiều. Người ta thường cung cấp một người dùng đại diện (UA-user
agent) để hỗ trợ việc quản lí thư và một nút có thể hỗ trợ một
phần tử của MTP cung cấp dịch vụ thư tín cho những nút không
được ưu tiên. Giao thức Post Office Protocol – Version 3 (POP3) ra
đời nhằm mục đích cho phép một máy trạm dễ dàng truy cập một
cách linh động hộp thư trên máy chủ lưu trữ. Điều đó có nghĩa là
giao thức POP3 được sử dụng để cho phép máy trạm truy xuất
những thư mà máy chủ đang giữ.
POP3 không cung cấp nhiều những thao tác với thư trên máy
chủ, thông thường chỉ có thao tác tải và xóa thư. Một lưu ý là dù
thực hiện nhiều chức năng giống nhau nhưng câu lênh của POP3
và POP2 (POP phiên bản 2) là không tương đồng.

4


NỘI DUNG
I.

Hoạt động cơ bản của giao thức:

Nguồn:
Ban đầu, máy chủ khởi động dịch vụ POP3 bằng cách lắng
nghe trên cổng TCP 110. Khi một máy khách muốn sử dụng dịch
vụ, nó sẽ thiết lập kết nối với máy chủ. Khi kết nối đã được thiết
lập, máy chủ POP3 sẽ gửi thông báo tới máy khách. Sau đó, máy

khách và máy chủ POP3 sẽ trao đổi các lệnh và phản hồi tương
ứng qua lại cho tới khi kết nối đóng lại hoặc bị hủy bỏ.
Các lệnh trong POP3 bao gồm từ khóa không phân biệt hoa
thường, có thể theo sau bởi một hay nhiêu tham số. Từ khóa và
tham số bao gốm các kí tự không phải kí tự điều khiển trong bộ mã
ASCII, chúng được phân cách bởi kí tự khoảng trắng. Từ khóa có độ
dài 3 hoặc 4 kí tự, tham số có độ dài tối đa 40 kí tự.

5


Phản hồi trong POP3 bao gồm dòng thông báo trạng thái và từ
khóa, từ khóa có thể được theo sau bởi thống tin bổ sung. Hiện có
hai chỉ số trạng thái là: (“+ OK”) và thất bại (“- ERR”). Máy chủ
phải gửi hai trạng thái “+OK” và :”-ERR” bằng chữ cái in hoa. Mỗi
một câu lệnh hay một phản hồi sẽ được đặt trong một cặp CRLF
(được hiểu như một dấu ngắt dòng).
Một phiên POP3 tiến triển thông qua một số trạng thái trong
suốt vòng đời của nó. Một khi kết nối TCP đã được mở và máy chủ
POP3 đã gửi thống báo tới máy khách, phiên sẽ chuyển sang trạng
thái AUTHORIZATION (ủy quyền). Ở trạng thái này, máy khách
phải tự xác định máy chủ POP3 của mình. Khi máy khách đã thực
hiện thành công việc này, máy chủ sẽ nhận được tài nguyên liên
kết với với hộp thư của máy khách và phiên sẽ chuyển sang trạng
thái TRANSACTION (giao dịch). Trong trạng thái này, máy khách
yêu cầu các hành động trên 1 phần của máy chủ POP3. Khi máy
khách thực thi lệnh QUIT, phiên sẽ chuyển sang trạng thái UPDATE
(cập nhật). Ở trạng thái này, máy chủ POP3 giải phòng mọi tài
nguyên nhận được trong trạng thái TRANSACTION và ngắt kết nôi.
Sau đó, kết nối TCP sẽ được đóng lại.

Máy chủ PHẢI phản hồi những lệnh không được nhận dạng,
không được thực hiện và lỗi về mặt cú pháp bằng cách trả lời bằng
chỉ số trạng thái thất bại(“-ERR”). Máy chủ PHẢI trả lời những lệnh
được ban hành khi phiên ở trạng thái không hợp lệ bằng chỉ số
trạng thái thất bại(“-ERR”). Không có phương pháp chung nào để
máy khách phân biệt giữa máy chủ không thực hiện lệnh tùy chọn
và máy chủ không sẵn sàng hoặc không thể thực thi lệnh.
Máy chủ POP3 có thể có bộ đếm thời gian đăng xuất tự động
nếu không hoạt động. Bộ đếm thời gian phải có thời lượng ít nhất
6


10 phút, việc nhận bất kì lệnh nào từ máy khách trong khoảng thời
gian đó sẽ đặt lại bộ đếm thời gian đăng xuất tự động. Khi hết giờ,
phiên không rơi vào trạng thái UPDATE – máy chủ sẽ đóng kết nối
TCP mà không xóa bất kì tin nhắn nào hoặc gửi bất kỳ phản hồi
nào cho máy khách.
II.

Các trạng thái làm việc:
1. Trạng thái ủy quyền – AUTHORIZATION:
Khi một kết nối TCP được mở bởi client POP3, máy chủ POP3 phát hành một
dòng lời chào. Lời chào này có thể là một phản hồi tích cực.
Ví dụ:
S: +OK POP3 server ready
Phiên POP3 sau đó sẽ ở trạng thái ủy quyền (AUTHORIZATION). Bây giờ
khách hàng phải xác định và xác thực chính nó với máy chủ POP3 . Hai cơ chế có
thể để thực hiện việc là tổ hợp lệnh USER và PASS và lệnh APOP. Mặc dù không
có cơ chế xác thực duy nhất được yêu cầu cho tất cả các máy chủ POP3, nhưng máy
chủ POP3 phải hỗ trợ ít nhất một trong hai cơ chế xác thực.

Khi máy chủ POP3 đã xác nhận, máy khách sẽ được cấp quyền truy cập vào
hộp thư thích hợp. Máy chủ cũng sẽ yêu cầu khóa truy cập độc quyền trên hộp thư
để ngăn chặn thư bị sửa đổi hoặc xóa trước phiên vào trạng thái cập nhật
(UPDATE). Nếu khóa được yêu cầu thành công, máy chủ POP3 sẽ phản hồi bằng
cách báo trạng thái tích cực và phiên POP3 chuyển sang trạng thái GIAO DỊCH
(TRANSACTION) mà không có thông báo nào được đánh dấu là đã xóa.
Nếu vì lý do nào đó không thể mở được hộp thư (ví dụ: không thể lấy được
khóa, khách hàng sẽ bị từ chối truy cập vào hộp thư hoặc không thể phân tích cú
pháp thư), máy chủ POP3 phản hồi bằng cách báo trạng thái tiêu cực. Nếu khóa
được lấy nhưng máy chủ POP3 dự định phản hồi bằng cách báo trạng thái tiêu cực,
máy chủ POP3 phải giải phóng khóa trước khi từ chối lệnh.
7


Sau khi trả về một thông báo trạng thái tiêu cực, máy chủ có thể đóng kết
nối. Nếu máy chủ không đóng kết nối, máy khách có thể ra lệnh xác thực mới và bắt
đầu lại hoặc máy khách có thể phát lệnh QUIT.
Sau khi máy chủ POP3 đã mở hộp thư, nó sẽ gán số cho mỗi tin nhắn và ghi
chú kích thước của mỗi tin nhắn trong các octet (là đơn vị lưu trữ thông tin trong
điện toán gồm 8 bits). Tin nhắn đầu tiên trong hộp thư được gán số là "1", lần thứ
hai được gán "2", v.v., tin nhắn thứ n trong một hộp thư được gán số là "n". Trong
các lệnh và phản hồi POP3, tất cả các số tin nhắn và kích thước tin nhắn được thể
hiện bằng cơ số 10 (tức là số thập phân).
Lệnh

QUIT

khi

được


sử

dụng

trong

Trạng

thái

ỦY

QUYỀN(AUTHORIZATION):
QUIT
Tham số: không
Hạn chế : không
Phản hổi có thể gặp :

+OK

Ví dụ:
Client: QUIT
Server: +OK dewey POP3 server signing off
2. Trạng thái giao dịch – TRANSACTION:
Khi Client được POP3 server xác nhận thành công thì POP3
server sẽ khóa và tạo ra 1 maildrop tương ứng. Phiên làm việc sẽ
nằm trong lệnh TRANSACTION. Client có thể đưa ra bất kỳ lệnh nào
lặp đi lặp lại nhiều lần. Sau mỗi lệnh, POP3 trả về 1 kết quả. Cuối
cùng client đưa ra yêu cầu QUIT thì phiên làm việc sẽ cập nhật

trạng thái.
Dưới đây là những lệnh trong TRANSACTION
8


STAT
- Chức năng: Hiển thị thông điệp chưa được đọc tính bắng
bytes.
- Tham số: trống
- Phạm vi: chỉ trong TRANSACTION
- Quá trình:
POP3 trả về 1 câu trả lơi chứa thông tin cho maildrop được
gọi là “drop listing”. Để đơn giản hóa công việc, POP3 server sẽ
phải sử dụng 1 hình thức mẫu cho drop listing. Câu trả lời chứa
“+OK” theo sau 1 khoảng trắng, số lượng thông điệp trong
maildrop và kích thước của maildrop. Đoạn thông điệp này không
yêu cầu kích thước của maildrop theo cùng. Việc thực thi được kết
thúc khi cuối thông điệp có đoạn mã CRLF. Để có thể thực hiện
những việc khác thì đoạn mã sẽ phải có thêm những đoạn mã
khác
- Phản hồi có thể nhận được:
+OK nn mm
- Ví dụ:
C: STAT
S: +OK 2 320
LIST [msg]
- Chức năng: hiển thị kích thước thông điệp
- Phạm vi: chỉ trong các lệnh của TRANSACTION
- Quá trình:
Nếu 1 lệnh được đưa tới và POP 3 server trả về 1 câu trả

lời có chưa thông tin cho message thì đó được gọi là “scan listing”
cho message. Nếu không có lệnh nào được đưa tới, thì POP3 server
cũng vẫn đưa ra 1 câu trả lời, chứa nhiều dòng. Sau khi tạo “+OK”
cho mỗi thông điệp trong maildrop, POP3 sẽ đưa ra những thông
9


điệp chứa thông tin của từng thông điệp và vẫn được gọi là “scan
listing”. Trường hợp nếu không có thông điệp nào trong maildrop
thì câu trả lời của POP3 server sẽ không có “scan listing”. Nó đưa
ra câu trả lời chứa những lệnh octet và CRLF.
Toàn bộ POP3 server đều sử dụng chung 1 form cho scan
listing. Scan listing chứa những thông điệp số, phía sau chứa thông
tin về kích thước của thông điệp trong octets. Cách thức tính kích
thước thông điệp được đưa ra trong phần “message format” bên
dưới. Đoạn thông điệp này không tạo ra yêu cầu phần đính kèm
kích thước của scan listing. Việc thực thi kết thúc khi cuối câu trả
lời chứa CRLF. Những thực thi khác sẽ có thể cần thêm những
thông tin khác.
- Phản hồi có thể nhận được:
+OK scan listing follows
-ERR no such message
- Ví dụ:
C: LIST
S: +OK 2 messages (320 octets)
S: 1 120
S: 2 200
S: .

C: LIST 2

S: +OK 2 200

C: LIST 3
S: -ER no such message, oly 2 messages in maildrop
RETR msg
- Chức năng: Nhận thông điệp.
- Phạm vi: chỉ sử dụng trong các lệnh TRANSACTION.
10


- Quá trình:
Nếu POP3 server trả về một phản hồi tích cực gồm nhiều
dòng thì sau khi gửi từ khóa +OK, server còn gửi về dòng tin nhắn
chứa số dòng của message.
- Phản hồi có thể nhận được:
+OK message follows
-ERR no such message
- Ví dụ:
C: RETR 1
S: +OK 120 octets
S: <the POP3 server gửi toàn bộ message ở đây>
S: .
DELE msg
- Chức năng: Xóa message
- Phạm vi: chỉ sử dụng trong các lệnh TRANSACTION
- Quá trình:
POP3 server đánh dấu những message như là đã bị xóa.
Bất kỳ tham chiếu nào tới những message này sẽ tạo ra lỗi. POP3
server không thực sự bị xóa cho tới khi phiên làm việc thực hiện
UPDATE.

- Phản hồi có thể nhận được:
+OK message deleted
-ERR no such message
- Ví dụ:
C: DELE 1
S: +OK message 1 deleted

C: DELE 2
S: -ERR message 2 already deleted
11


NOOP
- Chức năng: POP3 server không làm gì, nó chỉ đơn thuần trả
lời bằng 1 câu trả lời chính xác.
- Phản hồi có thể nhận được :
+OK
- Ví dụ:
C: NOOP
S: +OK
RSET
- Chức năng: Nếu bất kỳ message được đánh dấu như là đã bị
xóa bởi POP3 server, thì sẽ bị bỏ đánh dấu. POP3 server sau đó trả
lời như NOOP.
- Câu trả lời cho phép:
+OK
- Ví dụ:
C: RSET
S: +OK maildrop has 2 messages (320 octets)
3. Trạng thái cập nhật – UPDATE:

Khi máy khách phát lệnh QUIT từ trạng thái GIAO DỊCH (TRANSACTION),
POP3 sẽ chuyển sang trạng thái UPDATE.
Lưu ý rằng nếu máy khách phát lệnh QUIT từ trạng thái AUTHORIZATION,
phiên POP3 sẽ chấm dứt chứ không vào trạng thái UPDATE.
Nếu phiên kết thúc vì một số lý do khác với lệnh QUIT do khách hàng cấp,
phiên POP3 không vào được trạng thái CẬP NHẬT và không phải xóa bất kỳ thư
nào khỏi hộp thư.
QUIT
- Tham số: không
- Giới hạn: không
12


- Mô tả:
Máy chủ POP3 xóa tất cả các tin nhắn được đánh dấu là đã xóa từ hộp
thư và trả lời trạng thái của thao tác này. Nếu có lỗi chẳng hạn như thiếu tài
nguyên, gặp phải trong khi xóa thư thì kết quả trả về sẽ là không còn thư được đánh
dấu deleted trong hòm thư. Trong mọi trường hợp, máy chủ không thể xóa bất kỳ
tin nhắn nào mà không có đánh dấu là deleted.
Dù việc xóa thành công hay không, máy chủ sau đó sẽ trả toàn bộ khóa
truy cập cho hộp thư và đóng kết nối TCP.
- Phản hồi có thể có:
+OK
-ERR some deleted messages not removed
- Ví dụ :
C: QUIT
S: +OK dewey POP3 server signing off (maildrop empty)

C: QUIT
S: +OK dewey POP3 server signing off (2 messages left)

...
III.

Các câu lệnh bổ sung:
Các lệnh POP3 đề cập bên trên phải được hỗ trợ bởi tất cả các

máy chủ POP3.Các lệnh bổ sung dưới đây cho phép các máy client
xử lý các thông điệp dễ dàng hơn, trong khi vẫn giữ được sự đơn
giản của POP3.
TOP msg n
- Chức năng: in ra các header và dòng thứ n của thông điêp.
- Tham số:
+ msg: Số thứ tự của bức thư, bức thư này PHẢI chưa
được đánh dấu là đã xóa.
+ n: số dòng.
13


- Mô tả: Nếu máy chủ POP3 gửi lại thông điệp tích cực, đó sẽ là
thông điệp nhiều lần. Sau thông điệp +OK, máy chủ POP3 gửi lại
headers của bức thư, một dòng trắng phân biệt header và body, và
n dòng trong body của bức thư.Chú ý rằng nếu n > số dòng trong
body bức thư, máy chủ POP3 gửi lại toàn bộ body của bức thư.
- Hạn chế: Chỉ có thể sử dụng trong trạng thái GIAO DỊCH
(TRANSACTION state)
UIDL [msg]
- Tham số:
+ msg (optional): Số thứ tự của bức thư, bức thư này
PHẢI chưa được đánh dấu là đã xóa.
- Mô tả:

Nếu có tham số [msg] và máy chủ POP3 gửi lại thông điệp
tích cực với một dòng thông tin chứa thông tin bức thư. Dòng đó
được gọi là chỉ số duy nhất theo danh sách(unique-id listing) của
bức thư.
Nếu không có tham số và máy chủ POP3 gửi lại thông điệp
tích cực, thông điệp đó sẽ bao gồm nhiều dòng. Sau thông điệp
+OK, với mỗi bức thư trong hòm thư (maildrop), máy chủ POP3 sẽ
gửi lại một dòng chứa thông tin bức thư đó. Dòng đó được gọi là
chỉ số duy nhất theo danh sách (unique-id listing) của bức thư.
Để dễ dàng hơn trong việc chuyển đổi, tất cả máy chủ
POP3 được quy định sử dụng duy nhất một khuôn dạng chỉ số theo
danh sách. Mỗi chỉ số theo danh sách bao gồm số thứ tự bức thư,
một ký tự space và chỉ số của bức thư.
Chỉ số của bức thư là một chuỗi do máy chủ tùy ý xác
định, bao gồm 1 đến 70 ký tự trong khoảng 0x21 đến 0x7E, là
chuỗi duy nhất để xác định bức thư trong hòm thư, và vẫn tồn tại
kể cả khi kết thúc phiên làm việc và không đi vào trạng thái
14


UPDATE. Máy chủ sẽ không bao giờ sử dụng lại chỉ số này trong
hòm thư, cho đến khi bức thư không còn tồn tại.
Lưu ý bức thư bị đánh dấu đã xóa không được liệt kê.
Trong khi việc để máy chủ lưu giữ chỉ số các bức thư trong
hòm thư là phù hợp hơn, kỹ thuật này cho phép các chỉ số được
tạo ra bởi hàm băm cho mỗi bức thư. Máy khách nên có khả năng
xử lý tình huống khi 2 bức thư trong hòm thư có chỉ số là giống
nhau.
- Hạn chế: chỉ thực hiện khi hệ thống ở trạng thái
TRANSACTION.

USER name
- Chức năng: cho biết thông tin về user cần nhận mail.
- Tham số: một chuỗi xác định hộp thư , có ý nghĩa CHỈ đối với
máy chủ.
- Mô tả: Để có thể xác thực người dùng sử dụng câu lệnh USER
và PASS, đầu tiên máy khách phải gửi lệnh USER.
Nếu máy chủ POP3 trả lại thông điệp tích cực (+OK),
máy khách có thể tiếp tục gửi lệnh PASS để hoàn thành xác thực
hoặc QUIT để hủy phiên làm việc.
Nếu máy chủ POP3 trả lại thông điệp lỗi (-ERR), máy
khách có thể gửi lệnh xác thực mới hoặc lệnh QUIT.
Máy chủ vẫn có thể gửi lại thông điệp tích cực nếu
không có hòm mail nào tồn tại, hoặc thông điệp lỗi nếu hòm mail
tồn tại, nhưng không cho phép xác thực bằng mật khẩu thô (mật
khẩu nguyên gốc).
- Hạn chế: Chỉ

sử

dụng

trong

trạng

thái

ỦY

QUYỀN


(AUTHORIZATION) sau khi máy chủ POP3 đưa ra lời chào hoặc sau
khi các câu lệnh USER hoặc PASS không thành công.
PASS string
15


- Chức năng: passwords của user cần nhần mail.
- Tham số: string(required): mật khẩu riêng cho máy chủ/hộp
thư.
- Mô tả:
Khi máy khách gửi lệnh PASS, máy chủ POP3 sử dụng cặp
tham số từ lệnh USER và PASS để xác định máy khách có thể truy
cập hòm mail thích hợp hay không.
Lệnh PASS có duy nhất một tham số, vì vậy máy chủ POP3
coi mỗi dấu cách trong tham số là một ký tự của mật khẩu.
- Hạn chế: chỉ sử dụng trong trạng thái ỦY QUYỀN
(AUTHORIZATION) ngay sau khi câu lệnh USER thành công.
APOP name digest
- Tham số:
+ name(required): dòng string xác định hộp thư
+ digest(required): mã MD5 ngắn gọn
- Mô tả:
Thông thường, mỗi phiên làm việc của POP3 bắt đầu bằng
việc trao đổi lệnh USER/PASS . Điều này dẫn đến mật khẩu bị trao
đổi qua mạng. Với cách sử dụng gián đoạn của POP3, việc này
không gây ra rủi ro lớn. Tuy nhiên, rất nhiều máy khách kết nối đến
máy chủ POP3 thường xuyên để kiểm tra thư mới. Vì vậy, nguy cơ
mất mật khẩu là rất lớn.
Một cách khác để xác thực là yêu cầu cả xác thực nguồn

gốc (origin) và bảo vệ phát lại (replay protection), nhưng không
gửi mật khẩu qua lại trên mạng. Lệnh APOP hỗ trợ chức năng này.
Máy chủ POP3 thực thi lệnh APOP sẽ gửi gộp chuỗi string
thời gian (timestamp) vào lời chào máy khách (greeting). Cú pháp
của chuỗi thời gian timestamp sẽ mang cú pháp như trường ‘msgid’ trong [RFC822 ] và phải khác nhau mỗi lần máy chủ POP3 gửi
lời chào. Ví dụ một dạng của timestamp:
16



Hostname là tên miền máy chủ POP3 đang chạy trên đó,
process-ID là giá trị thập phân của tiến trình PID, clock là giá trị
thập phân của hệ thống thời gian.
Máy khách POP3 sẽ chú ý timestamp, và gửi lệnh APOP
APOP name digest
Tham số name giống name trong lệnh USER. Tham số
digest được tính toán bởi thuật toán MD5 cho chuỗi chứa
timestamp ( chuỗi bao gồm cả dấu đóng mở <>) theo sau là một
chuỗi bí mật chung. Chuỗi bí mật này chỉ có máy chủ và máy
khách biết.
Khi máy chủ POP3 nhận lệnh APOP. Nó kiểm tra tham số
digest. Nếu chính xác máy chủ POP3 gửi lại thông điệp tích cực,
phiên làm việc chuyển sang trạng thái TRANSACTION. Nếu sai,
máy chủ gửi lại thông điệp lỗi và phiên làm việc vẫn ở trạng thái
ủy quyền (AUTHORIZATION)
- Hạn chế: Chỉ sử dụng trong trạng thái ỦY QUYỀN
(AUTHORIZATION) sau khi máy chủ POP3 đưa ra lời chào hoặc sau
khi các câu lệnh USER hoặc PASS không thành công.
IV.


Vận hành và mở rộng hệ thống:
Kể từ khi các tính năng bổ sung được thêm vào POP3, những

bài học kinh nghiệm đã được tính lũy từ nhiều người dùng ở nhiều
hệ thống bưu điện quy mô lớn nới mà họ đã phần là không hề liên
quan đến nhau. Ở một vài trường hợp, người sử dụng POP3 đã tìm
ra cách kết hợp việc sử dụng lệnh UIDL (xem mô tả ở phần trên )
và việc không đưa ra câu lênh DELE để tạo ra một hệ thống gần
giống như một “hòm thư phụ” có thể liên kết một các bình thường
với IMAP. Tất nhiên không phải toàn bộ các tính năng của IMAP có
thể được thể hiện trong POP3.
17


Khi nhưng người dùng thông thường dần tìm ra những mẹo
như thế này, họ bắt đầu có xu hướng để các thư đã đọc trên server
một các không kiểm soát. Đứng trên phương diện của việc điều
hành server, điều này trở thành một vấn đề vô cùng lớn. Với khả
năng hạn chế, POP3 trở nên không hiệu quả khi quản lí một hệ
thống với hàng trăng nghìn tin nhắn.
Trước những hạn chế đó, người ta đã đưa ra những đề xuất khi
xây dựng một hệ thống mail nhiều người dùng và cần có khả năng
mở rộng lớn đặc biệt là khi người dùng chỉ có thể truy cập hòm thư
thông qua giao thức POP3:
 Khởi tạo một hòm thư với dung lượng cố định hoặc gần giống
nhau cho mỗi người dùng.
Điểm hạn chế của phương pháp này là người dùng sẽ
không nhận được tin nhắn mới khi hòm thư cấp phát bị đầy. Do đó
cần xây dưng cơ chế phát hiện và cảnh báo cho người dùng về tình
trạng của hòm thư (ví dụ như gửi thư cảnh báo khi dung lượng hòm

thư sắp hết).
 Đặt ra nhưng chính sách, quy tắc trong việc duy trì các messages
trên máy chủ.
Ví dụ như việc sẽ xóa những mail không đọc sau 60
ngày, xóa những mail đã đọc sau 7 ngày. Những tin nhắn sau khi
xóa sẽ không thể truy cập qua giao thức POP3. Những chính sách
này nên được thông báo cẩn thận cho người dùng mõi khi người
dùng tham gia vào hệ thống.

18


TỔNG KẾT
POP3 hiện nay là một trong các giao thức dùng để lấy, nhận email thông dụng
nhất hiện nay. Nó hoạt động ở tầng ứng dụng trong mô hình mạng TCP/IP và tham
chiếu đến giao thức TCP ở tầng giao vận. Với POP3, bạn có thể tải mail từ server
xuống máy tính cá nhân và thao tác với những mail đã tải về mà không cần kết nối
Internet. Dưới đây tổng kết lại những câu lệnh POP3 quan trọng mà chúng ta đã nêu
ra trong các phần trên kèm theo ví dụ về một phiên làm việc hoàn chỉnh của nó.
1 Các câu lệnh trong giao thức POP3 :
a Cậu lệnh POP3 thường dùng:
USER name
PASS string
QUIT

dùng khi ở trạng thái AUTHORIZATION

STAT
LIST [msg]
RETR msg

DELE msg
NOOP
RSET
QUIT

dùng khi ở trạng thái TRANSACTION

b Câu lệnh POP3 bổ sung :
APOP name digest dùng khi ở trạng thái AUTHORIZATION
TOP msg n
TRANSACTION
UIDL [msg]

dùng

khi



trạng

thái

c Các dòng phản hồi :
+OK
-ERR

19



2

Ví dụ một phiên làm việc :
S: <wait for connection on TCP port 110>
C: <open connection>
S:

+OK

POP3

server

ready

<>
C:

APOP mrose c4c9334bac560ecc979e58001b3e22fb

S:

+OK mrose's maildrop has 2 messages (320 octets)

C:

STAT

S:


+OK 2 320

C:

LIST

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>

S:

.

C:

DELE 1

S:

+OK message 1 deleted

C:

RETR 2

S:

+OK 200 octets

S:

<the POP3 server sends message 2>

S:


.

C:

DELE 2

S:

+OK message 2 deleted

C:

QUIT

S:

+OK dewey POP3 server signing off (maildrop empty)
20


C: <close connection>
S: <wait for next connection>

PHỤ LỤC
MTS - message transport system
IMAP - internet message access protocol

hệ thống truyền thư
là một giao thức truy nhập thư


giống như POP. Sự khác biệt của IMAP so với POP là người dùng có thể “đọc”
email mà không cần tải xuống máy tính, thích hợp với nhu cầu truy cập email từ
nhiều thiết bị khác nhau ở nhiều thời điểm khác nhau. Cùng với POP, IMAP là
những giao thức thông dụng cho việc gửi hay nhận mail giữa client và server.
SMTP - simple mail tranfer pritocol

giao thức truyền

thư đơn giản được định nghĩa trong bản RFC 2821. Giao thức này
thường được sử dụng giữa các server mail với nhau.
MUA – mail user agent

người dùng đại diện

cho hòm thư, có chức năng là lấy thư từ máy chủ hoặc tải thư lên
máy chủ. MUA trong thực tế là các phần mềm quản lí mail cá nhân
như Outlook, Thunderbird,…

21


Hệ thống mail đơn giản, nguồn: />
22


TÀI LIỆU THAM KHẢO
[1] Bài giảng môn Mạng máy tính, Đại học Bách Khoa Hà Nội
[2] Bài giảng môn Lập trình mạng, Đại học Bách Khoa Hà Nội
[3] Documents on: truy cập cuối cùng ngày
24/12/2018


23



×