Lưu đồ mô phỏng tiến trình của các giao thức

Một phần của tài liệu TỔNG QUAN VỀ MẠNG VÀ CÁC DỊCH VỤ THÔNG DỤNGTRÊN INTERNET.doc (Trang 98 - 105)

1. Tiến trình giao dịch SMTP

- Tiến trình giao dịch SMTP là khá phức tạp. Nó phải thực hiện chức năng như một bộ dịch và xử lý lệnh theo chuẩn giao thức SMTP. Tất cả các lệnh gửi tới đều phải trải qua quá trình phân tích để xác định chính xác yêu cầu của người sử dụng. Hệ thống sử dụng một từ điển các lệnh của SMTP để làm công việc này.

- Sau khi lệnh đã được xác định là hợp lệ, nó sẽ được thực hiện tuỳ theo yêu cầu của người sử dụng.

N Y N N

Y

Y

N Y

Y

N N

N

N N

Y Nhận lệnh từ

Client

HELO

N từ điển

lệnh SMTP Y

Định danh Sender

kiểm tra lệnh

nhận được tên Domain từ Client

MAIL Y Y

Báo lỗi Ghi lại địa chỉ

người gởi

Định danh Recipient

N RCPT Y

người nhận là cục bộ

Y Ghi lại địa chỉ

người nhận

Inbox

DATA Nhận dữ

liệu từ client

<CRLF>

.

<CRLF>

Ghi lại nội dung thư

chuyển thư đến Server người nhận

RSET huỷ bỏ các lệnh trước đó Y

N

NOOP kiểm tra lại kết nối

QUIT kết thúc kết nối

Tiến trình giao dịch SMTP

- Trong toàn bộ phiên giao dịch SMTP, hệ thống sử dụng chủ yếu năm lệnh là: HELO, MAIL FROM, RCPT TO, DATA và QUIT. Các lệnh này luôn phải thực hiện theo một trình tự quy định như sau:

⇒ HELO

⇒ MAIL FROM

⇒ RCPT TO (lệnh này có thể được lập lại nhiều lần - sử dụng trong trường hợp cho nhiều người nhận).

⇒ .. .

⇒ DATA

⇒ .. . (phần dữ liệu thư)

⇒ <CRLF>.<CRLF>

⇒ QUIT

- Bên trên chỉ là mô phỏng một phiên làm việc cơ bản của giao thức SMTP, ngoài ra nó còn một số lệnh khác tuỳ vào người sử dụng ở client gởi đến nhìn chung qui tắc hoạt động của tiến trình vẫn đảm bảo theo lược đồ trên cho dù lệnh SMTP có thêm vào hay bớt đi.

- Trong quá trình nhận thư từ phía Client, hệ thống sẽ phân tích địa chỉ người nhận để xác định là người nhận cục bộ hoặc người nhận thuộc một hệ thống Mail Server khác. Đây là phần phức tạp nhất trong phiên giao dịch SMTP:

1. Nếu người nhận là cục bộ, hệ thống chỉ cần ghi nội dung thư vào hộp thư tương ứng của người sử dụng.

2. Nếu người nhận không thuộc mạng cục bộ, hệ thống sẽ chuyển thư cho modul SMTP Sender. Phần chức năng này sẽ chịu trách nhiệm kết nối với hệ thống Mail Server ở xa. Nếu kết nối thành công, thư sẽ được chuyển đến Mail Server ở xa đó. Trong trường hợp ngược lại, hệ thống sẽ gửi trả các thông tin phản hồi cho người sử dụng.

- Vì hệ thống được thiết kế để cung cấp dịch vụ đồng thời cho nhiều Client nên để đảm bảo an toàn và tính đồng bộ trong các thao tác xử lý, mỗi lần hệ thống ghi nội dung thư vào hộp thư, nó đều thực hiện việc khoá tạm thời hộp thư để tránh tình trạng mất mát và sai xót.

- Phiên giao dịch sẽ kết thúc khi có yêu cầu ngừng phiên giao dịch từ phía Client. Tất nhiên, nếu hệ thống phía máy chủ kết thúc thì tất cả các phiên giao dịch cũng sẽ kết thúc và mọi thao tác sẽ bị huỷ bỏ.

2. Tiến trình giao dịch POP3

SVTH : Trương Minh Tuyến Trang 102

AUTHORIZATION +

nhận lệnh từ Client nhận lệnh từ

Client

USER

-

-

từ điển lệnh pop3

+

kết thúc phiên

giao dịch POP3 kết thúc phiên

giao dịch POP3

TRANSACTION

-

- Báo lỗi kết thúc phiên giao dịch POP3 kết thúc phiên giao dịch POP3

+ liệt kê số thư và kích thước

+ Tham số ? -

Liệt kê số thư và kích thước

-

+ hiện thị thư theo tham số

Báo lỗi

- Kiểm tra lệnh

- PASS - QUIT

+

USER+PASS

+

Ghi lại

account Ghi lại password

- +

+

STAT LIST

+

kiểm tra tham số

+ -

NOOP + kiểm tra lại kết

nối

+ Tham số ? -

-

+ hiển thị thư theo tham số

-

RETR

+

kiểm tra tham số

-

+ Tham số ? -

+ Gán thư với cờ xoá

-

DELE

+

kiểm tra tham số

-

RSET + chuyển về trạng

thái ban đầu QUIT + chuyển sang

UPDATE

-

Xoá những thư

đã đánh dấu kết thúc kết nối POP3 kết thúc kết nối

POP3

-

Chuyển sang trạng thái TRANSACTION

+

Báo lỗi

Báo lỗi

Báo lỗi

Báo lỗi

- Cũng giống như tiến trình giao dịch SMTP, tiến trình giao dịch POP3 cũng khá phức tạp. Nó phải thực hiện chức năng như một bộ dịch và xử lý lệnh theo chuẩn giao thức POP3. Tất cả các lệnh gửi tới đều phải trải qua quá trình phân tích để xác định chính xác yêu cầu của người sử dụng. Hệ thống sử dụng một từ điển các lệnh của POP3 để làm công việc này.

- Sau khi lệnh đã được xác định là hợp lệ, nó sẽ được thực hiện tuỳ theo yêu cầu của người sử dụng.

- Trong toàn bộ phiên giao dịch POP3, hệ thống sử dụng chủ yếu là các lệnh:

USER, PASS, STAT, LIST, RETR, DELE và QUIT. Các lệnh còn lại có thể sử dụng hoặc không. Thứ tự của các lệnh là:

⇒ USER

⇒ PASS

⇒ STAT, LIST, RETR, DELE, NOOP,..., (các lệnh này không cần theo thứ tự)

⇒ QUIT

- Mỗi lần bắt đầu phiên giao dịch, hệ thống sẽ kiểm tra các tham số người sử dụng đưa vào trong hai lệnh USER và PASS để xác định người nhận thư. Nếu việc định danh thành công thì hộp thư sẽ được mở cho người sử dụng này.

Đồng thời, hệ thống sẽ cấm không cho bất kỳ ai thay đổi thậm chí sử dụng hộp thư đã bị khoá. Trong trường hợp hộp thư đã khoá, nếu có một người sử dụng nào khác cũng định mở hộp thư sẽ bị hệ thống từ chối và kết thúc luôn phiên giao dịch.

- Trong quá trình khoá hộp thư, hệ thống vẫn cho phép hộp thư của người sử dụng này nhận thư gửi đến từ phía các Client khác. Tuy nhiên, các thư mới sẽ không được sử dụng ngay trong phiên giao dịch hiện thời. Chỉ sau khi phiên giao dịch kết thúc thì toàn bộ thư mới được cập nhật vào hộp của người sử dụng.

- Trong phiên giao dịch có thao tác xoá thư. Tuy nhiên chức năng này chỉ thực hiện việc đánh dấu xoá tạm thời. Trong trường hợp người sử dụng muốn khôi phục lại thì hệ thống vẫn cho phép bằng cách sử dụng lệnh RSET và đồng thời hệ tiến trình chuyển về trạng thái ban đầu (trước khi vào trạng thái AUTHORIZATION). Trong trường hợp ngược lại, khi hệ thống đã chuyển sang trạng thái UPDATE thì mọi thư đã đánh dấu sẽ bị xoá hẳn.

- Phiên giao dịch sẽ kết thúc khi có yêu cầu ngừng phiên giao dịch từ phía Client. Hoặc trong trường hợp có lỗi như đã nêu trên. Tất nhiên, nếu hệ thống phía máy chủ kết thúc thì tất cả các phiên giao dịch cũng sẽ kết thúc và mọi thao tác sẽ bị huỷ bỏ.

3.Tiến trình giao dịch imap4

- Tiến trình của IMAP4 phức tạp hơn nhiều so với POP3 vì thư viện lệnh nhiều hơn và tất cả điều được xử lý trên Server, dưới đây là một số tiến trình cơ bản mà khi kết nối với IMAP4 mà mọi người dùng điều phải đi qua.

- Trước tiên, kiểm tra xem phiên bản imap đang dùng trên Server có phải là phiên bản 4.0 không, nếu đúng thì tiếp tục tiến trình kiểm tra lệnh login khi login

thành công thì tuỳ theo những lệnh tiếp theo mà client yêu cầu còn không kể như tiến trình đã kết thúc mà sự chủ động kết thúc tiến trình này là từ Client.

Hay lệnh này sẽ được thực hiện tuần từ như hình vẽ.

- Lệnh IMAP cụ thể như sau C: 0001 CAPABILITY

S: * CAPABILITY IMAP4rev1 // IMAP4rev1 là phiên bản 4.0 S:0001 OK CAPABILITY completed

C:0002 LOGIN tuyentm01 kimphung S: 0002 OK LOGIN completed

Sau khi kiểm tra phiên bản Imap và login thành công tiếp theo tuỳ từng người sử dụng mà có những phiên làm việc tiếp theo như là kiểm tra mail và thiết lập lại trạng thái mail hay kiểm tra thư mục(hòm thư) bao gồm tạo hòm thư mới, đổi tên hay xoá một hòm thư. Nhìn chung nó có 2 hướng cụ thể là kiểm tra mail từng hòm thư hay kiểm tra hòm thư và xử lý.

SVTH : Trương Minh Tuyến Trang

No

No

No Yes

Nhận lệnh từ Client

Kiểm tra lệnh

CAPABILITY

Không đúng phiên bản thì client chủ động đóng

kết nối

Login

Ghi lại thông tin và tiếp Tục

No

LIST

SUBSCRIBE

UNSUBSCRIBE

104

Sau khi login thành công thì tiến trình tiếp tục như sau a. kiểm tra mail(Các lệnh thực hiện tuần tự)

SVTH : Trương Minh Tuyến Trang

No Nhận lệnh

từ Client

Kiểm tra lệnh

SELEC T EXAMIN

E Lệnh này, chỉ

để kiểm tra thư, không cho phép thực hiện các lệnh khác lênh

quan Lệnh này cho phép

xử lý tất cả các lệnh liên quan

FETC

H FETC

H

COPY Close

Logout

Kết thúc, đóng kết nối

Các lệnh tiếp theo không nhất thiết theo tuần tự

STATU S

STOR E

EXPUNG E

SEARC H

Các lệnh khác liên quan

Close

Logout Kết thúc,

đóng kết nối Logout

LIST

SUBSCRIBE

UNSUBSCRIBE

105

b.tiến trình xử lý hộp thư (Các lệnh không nhất thiết tuần tự)

- Những mô hình trên chỉ là mô hình miêu tả một dạng xử lý tiến trình cơ bản của IMAP, tuỳ vào từng chương trình mail client mà những mô hình trên có thể thêm lệnh hay loại bỏ bớt lệnh. Các lệnh trong giao thức Imap có phụ thuộc lẫn

No Nhận lệnh

từ Client

Kiểm tra lệnh

LIST

LOGOU Kết thúc, T

đóng kết nối Trả về Client tấc cả các Thư

mục hiện có cũng tuỳ vào thông số phía

sau

SUBSCRIBE Thết lập trạng

thái Active

UNSUBSCRIBE loại bỏ Trạng

thái Active

LUSB

RENAME Trả về các

thư mục mail Active Trả về tên thư mục đã

được đổi

DELET E

CREATE Trả về tênthư

mục mail đã xoá Trả về tên

thư mục mới được

tạo

nhau như để truy xuất mail từ thư mục mail thì trước tiên là phải gọi lệnh select hay examine trước rồi mới tới các lệnh tiếp theo mới có hiệu lực,….

Một phần của tài liệu TỔNG QUAN VỀ MẠNG VÀ CÁC DỊCH VỤ THÔNG DỤNGTRÊN INTERNET.doc (Trang 98 - 105)

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

(120 trang)
w