Bài Giảng Các Giao Thức Truyền Nhận Thông Tin Trên Internet

34 345 0
Bài Giảng Các Giao Thức Truyền Nhận Thông Tin Trên Internet

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CHƯƠNG CÁC NGHI THỨC TRUYỀN NHẬN χ Cơng việc phát triển hệ thống Mail (Mail System) đòi hỏi hình thành chuẩn Mail Điều giúp cho việc gởi nhận thơng điệp đảm bảo , làm cho người nơi khác trao đổi thơng tin cho Có chuẩn Mail quan trọng sử dụng nhiều từ trước đến X.400 SMTP ( Simple Mail Transfer Protocol) SMTP thường kèm với chuẩn POP3 hạn chế SMTP mà ngày người ta dùng chuẩn mở rộng ESMTP (Extended SMTP) Mục đích X.400 cho phép mail truyền nhận thơng qua loại mạng khác bất chấp cấu hình phần cứng, hệ điều hành mạng , giao thức truyền dẫn dùng Còn mục đích chuẩn SMTP miêu tả cách điều khiển thơng điệp mạng Internet Điều quan trọng chuẩn SMTP giả đònh máy nhận phải dùng giao thức SMTP gởi Mail cho Server ln ln hoạt động Sau đó, người nhận đến lấy Mail họ từ Server họ muốn dùng giao thức POP (Post Office Protocol), ngày POP cải tiến thành POP3 (Post Officce Protocol vertion 3) Các giao thức Mail thơng dụng : chuẩn X.400, chuẩn MAIP, SMTP (ESMTP), POP3 Ở trình bày chi tiết POP3 SMTP Phần Giao thức SMTP (Simple Mail transfer Protocol ) -*** Bộ phận hệ thống Internet Mail MTA ( Message Transfer Agent), MTA giữ vai trò quan trọng việc chuyển giao email Ví dụ sau người sử dụng gửi mail tới hàng đợi message, MTA lấy chuyển tới MTA khác Q trình tiếp tục tiếp diễn message đến nơi nhận Để liên lạc với MTA thơng qua kết nối TCP MTA hệ thống Internet Mail sử dụng nhiều nghi thức khác để chuyển giao thơng tin (X400,ESMTP, ), Nhưng ta xét nghi thức SMTP Đây nghi thức cho phép chuyển mail từ điểm sang điểm khác đích mạng Internet Nó cấu tạo tập câu lệnh để Client u cầu Sever thực số tác vụ tập câu trả lời để Server hồi đáp lại cho Client kết thực tác vụ Một chương trình muốn gởi mail phải biết đòa SMTP server Server có nhiệm vụ chuyển mail đến nơi cần thiết I- Giới thiệu Một đặc trưng quan trọng SMTP khả chia ca Mail qua mơi trường dòch vụ giao chuyển, dòch vụ giao chuyển cung cấp mơi trường truyền thơng liên q trình (Interprocess Communication Environment –IPCE ) Một mơi trường truyền thơng liên q trình bao gồm Network, vài Network, hay tập hợp Network Điều quan trọng cho việc thực hệ thống giao chuyển (hay IPCE) one-to-one với Network, q trình giao tiếp với q trình khác thơng qua việc nhận biết IPCE Mail ứng dụng cách dùng giao tiếp liên q trình, Mail giao tiếp q trình IPCE khác cách chia ca thơng qua q trình kết nối đến hai (hay nhiều ) IPCE Chi tiết Mail chia ca Host hệ thống giao chuyển khác Host hai hệ thống chuyển giao II- Mơ hình SMTP SMTP thiết kế dựa mơ hình giao tiếp sau: kết u cầu Mail user Sender- SMTP thiết lập kênh hai đường vận chuyển đến receiver- SMTP Receiver- SMTP đích đến cuối hay trung gian Những lệnh SMTP sinh Sender-SMTP gửi đến Receiver- SMTP Những reply SMTP gửi từ Receiver- SMTP đến Sender- SMTP đáp ứng cho lệnh Khi kênh giao chuyển thiết lập sender-SMTP gửi lệnh Mail biểu thò cho Sender mail Nếu Receiver-SMTP chấp nhận mail, trả lời với OK reply Sau Sender-SMTP gửi lệnh RCPT nhận diện Receiver mail Receiver-SMTP chấp nhận mail trả lời với OK reply khơng lời với reply bác bỏ receiver (nhưng khơng phải tồn giao dòch đó) Sender- SMTP Receiver- SMTP điều đình với vài recipient, recipient dàn xếp Sender-SMTP gửi mail data kết thúc với chuỗi đặc biệt receiver xử lý mail data thành cơng trả lời với OK reply Cuộc hội thoại cách chủ ý lock –step (oneat-a-time) User File System Sender SMTP SMTP Commands/Replies Receiver SMTP File System and Mail Sender-SMTP Receiver-SMTP Sơ đồ mơ hình cho cách dùng SMTP SMTP cung cấp chế giao chuyển Mail cách trực tiếp từ Host User gửi đến host user nhận hai host kết nối đến dòch vụ giao chuyển hay qua nhiều SMTP-Sever tiếp vận host xuất phát hay đích đến khơng kết nối đến dòch vụ chuyển giao Để cung cấp khả tiếp vận SMTPSever phải cung cấp tên host đến chẳng hạn hạn Mailhost đến Đối số lệnh mail reverse-path đặc tả mail từ đâu đến; đối số cho RCPT Forward-path đặc tả mail đến đâu Forward-path lộ trình nguồn, reverse-path lộ trình trở (nó dùng để trả message cho sender- xảy lỗi với message tiếp vận) Khi message gửi cho nhiều recipient SMTP khuyến khích chuyển giao data cho tất Receiver host đích Những command reply mail có cú pháp khắc khe Những reply có ã số Trong thí dụ theo sau xuất lệnh (commands) trả lời (replies) , danh sách lệnh reply hồn chỉnh phần Các command reply khơng phân biệt kiểu chữ hoa hay thường Lưu ý, điều khơng với tên User mailbox Cho số host tên user có phân biệt kiểu chữ, SMTP phải thi hành đầy đủ việc nhận kiểu chữ giữ gìn kiểu chữ user name chúng xuất đối số mailbox Host names khơng phân biệt kiểu chữ Các command reply ký tự tạo từ tập ký tự ASCII{1}, dòch vụ vận chuyển cung cấp kênh chuyển giao bit (octet) Mỗi ký tự bit truyền cách chuyển hệ (octet) với bit có thứ tự cao bò xóa Khi đặc tả cấu trúc thơng thường command reply, đối số (hay ký hiệu đặc biệt ) biểu thò biến meta-linguistic (hay số), ví dụ : “”, hay “” Ở dấu ngoặc nhọn đònh chúng biến meta-linguistic Tuy nhiên đối số dùng dấu ngoặc nhọn cách literal Ví dụ như, reverse-path thực bao dấu ngoặc nhọn như, “” trường hợp (dấu ngoặc nhọn giao chuyển command reply ã thực nó) III Mail 1- Khái qt : Có bước cho giao dòch SMTP mail Giao dòch bắt đầu với u cầu Mail ù mang nhận diện sender, sau chuỗi hay nhiều lệnh RCPT trao thơng tin receiver, sau lệnh DATA cho mail data.Và cuối phần đònh kết thúc mail data xác nhận giao dòch  Bước thủ tục lệnh MAIL chứa mailbox nguồn MAIL FROM : Lệnh báo cho receiver biết giao dòch mail bắt đầu để reset tất bảng trạng thái buffer bao gồm tất recipient hay mail data Nó phát reverse-path dùng để báo lỗi Nếu chấp nhận receiver-SMTP trả reply 250 OK chứa nhiều mailbox. lộ trình nguồn trở liệt kê host mailbox nguồn Host reverse-path host gữi lệnh  Bước thứ hai thủ tục lệnh RCPT RCPT To : Lệnh phát forward-path nhận diện recipient Nếu chấp nhận receiver-SMTP trả reply 250 OK Và lưu lại forward-path Nếu recipient khơng nhận biết receiver trả reply 550 Failure Bước thứ hai thủ tục lặp lại nhiều lần Forward-path chứa nhiều mailbox Forward-path lộ trình nguồn liệt kê host mailbox đích Host host nhận lệnh  Bước thứ ba thủ tục lệnh DATA DATA Nếu chấp nhận receiver-SMTP trả reply 354 coi tất dòng nối tiếp message text Khi văn cuối nhận lưu trữ receiver-SMTP gửi reply 250 OK Kể từ mail data gửi kênh chuyển giao, điểm kết thúc mail data phải đònh để hội thoại command reply bắt đầu trở lại SMTP đònh kết thúc mail data cách gửi dòng chứa dấu chấm Chú ý mail data bao gồm mục (item) memo header chẳng hạn Subject, To, Cc, From Phần đònh kết thúc mail data xác nhận giao dòch mail báo cho receiver-SMTP biết để xử lý việc lưu trữ recipient mail data lúc Nếu chấp nhận receiver-SMTP trả reply 250 OK Lệnh DATA fail giao dòch mail khơng hồn thành (ví dụ khơng có receiver) tài ngun khơng có hiệu lực Thủ tục ví dụ giao dòch mail Những lệnh dùng trật tự trình bày Ví dụ : Một minh họa cách dùng lệnh tron S: Blah blah blah S: etc etc etc S: . R: 250 OK Bây mail chấp nhận cho Jones Brown Green khơng có mailbox Beta host 2- Sự đònh hướng : Có số trường hợp thơng tin đích đến bò sai receiver-SMTP biết đích đến Trong trường hợp reply sau dùng phép sender tiếp xúc đích đến :  251 User not local ; will forward to Reply cho receiver-SMTP biết mailbox user nằm host khác đònh forward-path để sau sử dụng Lưu ý hai host hay user hay hai khác Receiver chòu trách nhiệm cho việc phân phối message  551 User not local ; please try Reply cho receiver-SMTP biết mailbox user nằm host khác đònh forward-path để sử dụng Lưu ý host user hay hai khác Receiver từ chối chấp nhận mail cho user A Sender phải đònh hướng lại cho mail tuỳ theo thơng tin cung cấp trả trả lời error cho user khởi đầu.Ví dụ sau minh hoạ cách dùng đáp ứng : S: RCPT TO:Postel@USC-ISI.ARPA R: 251 User not local; will forward to Hay S: RCPT TO: R: 551 User not local; please try Mockapetris@USC-ISIF.ARPA 3- Kiểm tra mở rộng : SMTP cung cấp thêm điểm đặc trưng, lệnh để kiểm tra user name hay mở rộng danh sách đòa làm với lệnh VRFY EXPN dùng đối số kiểu chuổi ký tự Với lệnh VRFY chuỗi user name, câu trả lời(response) bao gồm full name user phải bao gồm mailbox user Với lệnh EXPN chuổi đònh danh danh sách đòa câu trả lời có nhiều dòng chứa full name user phải chứa mailbox danh sách đòa (mailing list) Nếu host bổ sung lệnh VRFY hay EXPN mailbox cục phải thừa nhận là“user names” Nếu host chọn lựa để thừa nhận chuổi khác “user names” điều cho phép Trong số host phân biệt mailing list bí danh cho single mailbox mơ hồ Từ cấu trúc liệu phổ biến giữ hai kiểu phần tử dùng mailing list mailbox Nếu u cầu tạo để kiểm tra mailing list câu trả lời khẳng đònh cho message nhận được đònh đòa phân phát cho tất người danh sách Mặt khác lỗi báo cáo (e.g., "550 That is a mailing list, not a user") Nếu u cầu tạo để mở rộng user name câu trả lời khẳng đònh cấu hình cách trả danh sách chứa tên hay lỗi báo cáo (e.g., "550 That is a user name, not a mailing list") Trong trường hợp reply nhiều dòng (thường cho EXPN) mailbox đặc tả dòng reply cách xác Trong trường hợp u cầu nhập nhằng khó hiểu : “VRFY Smith” có hai câu trả lời Smith phải "553 User ambiguous" Ví dụ kiểm tra user name S: VRFY Smith R: 250 Fred Smith Hay S: VRFY Smith R: 251 User not local; will forward to Hay S: VRFY Jones R: 550 String does not match anything Hay S: VRFY Jones R: 551 User not local; please try Hay S: VRFY Gourzenkyinplatz R: 553 User ambiguous Trường hợp mở rộng mailbox list đòi hỏi reply nhiều dòng xem ví dụ sau: mở rộng mailing list (danh sách đòa chỉ) S: EXPN Example-People R: 250-Jon Postel R: 250-Fred Fonebone R: 250-Sam Q Smith R: 250-Quincy Smith R: 250- R: 250 Hay S: EXPN Executive-Washroom-List R: 550 Access Denied to You Những đối số chuổi ký tự lệnh VRFY EXPN khơng thể vượt qua giới hạn quyền bổ sung đa dạng user name khái niệm mailbox Trên số hệ thống dành riêng cho đối số lệnh EXPN để file name cho file chứa mailing list lại có qui ước đa dạng việc đặc tên file internet Lệnh VRFY EXPN khơng bao gồm thực thi tối thiểu (trình bày phần sau) khơng đòi hỏi để làm việc thay ca chúng thực thi 4- Sending and Mailing : Mục đích SMTP phân phối message đến mailbox user Một dòch vụ phổ biến cung cấp số host để phân phối message đến terminal user( cung cấp cho user làm việc host đó) Sự phân phát đến mail box user gọi “mailing”, phân phát đến user terminal gọi “sending” Bởi số host có thực thi sending gần giống với thực thi mailing chúng hai chức liên kết với SMTP Mặc dù lệnh sending khơng bao gồm u cầu thực thi tối thiểu( xem phần sau) Những user có khả điều khiển việc ghi message lên terminal họ Hầu hết host cho phép chấp nhận hay từ chối message Ba lệnh sau đònh nghĩa để cung cấp option cho sending Chúng dùng giao dòch mail thay cho lệnh MAIL cung cấp cho receiver-SMTP ngữ nghĩa giao dòch đặc biệt SEND FROM: Lệnh SEND đòi hỏi mail data gửi đến user terminal Nếu user khơng hoạt động (hay khơng chấp nhận terminal message) host reply 450 trả cho lệnh RCPT Giao chuyển mail thành cơng message phân phát đến terminal SOML FROM: Lệnh SEND Or MAIL đòi hỏi mail data phân phát đến terminal user user hoạt động (và chấp nhận message terminal) host Nếu user khơng hoạt động (haykhơng chấp nhận terminal message) mail data đưa vào mailbox user Giao chuyển mail thành cơng message phân phát đến terminal hay mailbox SAML FROM: Lệnh SEND And MAIL đòi hỏi mail data phân phát đến terminal user user hoạt động (và chấp nhận message terminal) host Trong tất trường hợp mail data đưa vào mailbox user Giao dòch mail thành cơng message phân phát đến mailbox Những ã reply tương tự dùng cho lệnh MAIL dùng cho lệnh 5- Opening and Closing : Ngay thời điểm mà kênh giao chuyển open có trao đổi để đảm bảo host giao tiếp với host khác Hai lệnh sau dùng việc đóng mở kênh truyền HELLO QUIT Trong lệnh HELLO host gửi nhận dạng lệnh dòch "HELLO, I am " * Ví dụ mở kết nối : Opening R : 220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready S : HELO USC-ISIF.ARPA R: 250 BBN-UNIX.ARPA * Ví dụ đóng kết nối : Closing S: QUIT R :221 BBN-UNIX.ARPA Service transmission channel 6- Chia ca (Relaying) : Forward-path lộ trình nguồn form "@ONE, @TWO:JOE@THREE" với ONE ,TWO, THREE host Form dùng để nhấn mạnh phân biệt address route Mailbox address tuyệt đối, route thơng tin việc lấy chúng Những thành phần forward-path chuyển đến reverse-path message chia ca từ server SMTP đến server-SMTP khác Reverse-path lộ trình nguồn trở (khác với lộ nguồn từ vò trí hành message đến điểm khởi đầu message đó) Khi server SMTP xóa phần nhận dạng forward-path chèn phần nhận dạng vào reverse-path, phải dùng tên mà biết tới mơi trường mà gửi vào, khơng phải mơi trường mà mail từ đến, trường hợp server-SMTP biết đến với tên khác mơi trường khác Nếu message đến SMTP thành phần forward-path khơng phải phần nhận dạng SMTP đó, thành phần khơng bò xố forward-path dùng để xác đònh SMTP kế để gửi message đến Trong trường hợp SMTP thêm phần nhận dạng vào reverse-path Dùng lộ trình nguồn receiver-SMTP nhận mail để chia ca đến server-SMTP khác Receiver-SMTP chấp nhận bác bỏ cơng việc chia ca cho mail, cách chấp nhận hay bác bỏ mail cho user cục Receiver-SMTP thay đổi đối số lệnh cách chuyển phần nhận dạng từ forward-path vào chổ mở đầu reverse-path Sau receiver-SMTP trở thành sender-SMTP, thiết lập kênh truyền đến SMTP kế forward-path,và gửi mail cho Host reverse-path host gửi lệnh SMTP host forward-path host nhận lệnh SMTP Lưu ýrằng forward-path reverse-path xuất lệnh reply SMTP, khơng cần thiết xuất message Nó khơng cần thiết cho đường dẫn cú pháp đặc biệt xuất field message header "To:" , "From:", "CC:",… Nếu server-SMTP chấp nhận cơng việc chia ca mail sau thấy forwardpath khơng hay mail khơng thể phân phát lí nào, phải xây dựng message thơng báo "undeliverable mail" (mail khơng thể phân phát) gửi đến nơi xuất phát mail khơng thể phân phát đó(được đònh reverse-path) Message thơng báo phải từ server-SMTP host Dĩ nhiên server-SMTP khơng gữi message thơng báo cố xảy cho message thơng báo Một cách ngăn chặn lặp lại việc thơng báo lỗi đặc tả null reverse-path lệnh MAIL message thơng báo Khi message thơng báo chia ca dùng để loại bỏ reverse-path null Một lệnh MAIL với null reverse-path đây: MAIL FROM:< > Thơng báo nằm trả lời cho message khởi động JOE HOSTW gửi thơng qua HOSTX đến HOSTY với thò chia ca đến HOSTZ, bước việc trả message thơng báo Ví dụ message thơng báo mail khơng thể phân phát S: MAIL FROM: R: 250 ok S: RCPT TO: R: 250 ok S: DATA R: 354 send the mail data, end with S: Date: 23 Oct 81 11:22:33 S: From: SMTP@HOSTY.ARPA S: To: JOE@HOSTW.ARPA S: Subject: Mail System Problem S: S: Sorry JOE, your message to SAM@HOSTZ.ARPA lost S: HOSTZ.ARPA said this: S: "550 No Such User" S: R: 250 ok 8-Thay đổi vai trò : Lệnh TURN dùng để đảo vai trò hai chương trình giao tiếp kênh giao chuyển Nếu chương trình A sender-SMTP hành gửi lệnh TURN nhận reply OK(250) chương trình A trở thành receiver-SMTP Nếu chương trình B hành receiver-SMTP hành gửi lệnh TURN nhận reply OK(250) chương trình B trở thành sender-SMTP Để từ chối thay đổi vai trò receiver gửi reply 502 Lưu ý lệnh khơng bắt buộc Thường khơng dùng tình trạng kênh giao chuyển TCP Tuy nhiên trò giá cho việc thiết lập kênh giao chuyển cao, lệnh có ích Ví dụ lệnh có ích việc hổ trợ trao đổi mail dùng hệ thống public switched telephone làm kênh giao chuyển, đặc biệt số host đề cử host khác cho việc trao đổi mail IV Đặc tả SMTP A Những lệnh SMTP (Commands SMTP) Ngữ nghĩa lệnh : Những lệnh SMTP đònh nghĩa truyền mail hay chức hệ thống mail u cầu user Những lệnh SMTP chuỗi ký tự kết thúc Bản thân ã lệnh ký tự chữ (alphabetic) kết thúc có tham số theo sau khác Cú pháp mailbox phải tn theo thoả hiệp phía receiver Những reply SMTP bàn đến phần B Một giao dòch mail bao gồm vài đối tượng liệu giao tiếp đối số cho lệnh khác Reverse-path đối số lệnh MAIL Forward-path đối số lệnh RCPT Và mail data đối số lệnh DATA Ba đối số đối tượng liệu trì xác nhận truyền xong đònh kết thúc mail data thật kết thúc giao dòch Mơ hình cho buffer riêng biệt cung cấp để giữ kiểu đối tượng liệu Một số lệnh đặc trưng sinh thơng tin gắn vào buffer đặc trưng, hay làm cho hay nhiều buffer bò xố  HELLO (HELO) : Lệnh dùng đònh danh sender-SMTP đến receiver-SMTP Field đối số chứa host name sender-SMTP Receiver-SMTP đònh danh đến sender-SMTP trả lời bắt tay cho việc kết nối, câu trả lời cho lệnh này.Lệnh reply OK để xác nhận hai sender-SMTP receiver-SMTP tình trạng khởi động, điều là: khơng có giao dòch mail tiến hành tất bảng trạng thái buffer xố  MAIL : Lệnh dùng khởi tạo giao dòch mail mail data phân phối đến hay nhiều mailbox Feild đối số chứa reverse-path Rever _se - path bao gồm danh sách host tuỳ ý mailbox user Khi danh sách host hồn tất lộ trình nguồn “trở về” đònh mail chia ca thơng qua host danh sách (host list host chia ca gần nhất) List dùng lộ trình nguồn để trả sender thơng báo khơng thể phân phát Tại host chia ca thêm phần đònh danh thân vào chổ bắt đầu list phải dùng tên biết IPCE nơi chia ca mail đến đó, ICPE có mail đến từ (nếu chúng khác nhau) Trong số loại message thơng báo lỗi (ví dụ thơng báo mail khơng thể phân phát) reverse-path null  RECIPIENT (RCPT) : Lệnh dùng đònh danh recipient (người nhận) mail data riêng lẻ, nhiều recipient đặc tả nhiều lệnh Forward-path bao gồm danh sách host tuỳ ý mailbox đích u cầu Khi danh sách host hồn tất Nó lộ trình nguồn đònh mail phải chia ca đến host list Nếu receiver-SMTP khơng thực thi chức chia ca dùng reply cho unknown local user (550) Khi mail chia ca, host chia ca phải chuyển phần đònh danh từ chổ bắt đầu forward-path đặt vào chổ bắt đầu reverse-path Khi mail trải tới đích cuối (forwardpath chứa mailbox đích) receiver-SMTP Insert vào mailbox đích đồng ý với thoả hiệp host mail Ví dụÏ mail nhận host chia ca A với đối số: FROM: TO: Sẽ chia ca đến host B với đối số FROM: TO: Lệnh sinh đối số forward-path gắn vào forward-path buffer  DATA(DATA) : Receiver xử lý dòng theo sau lệnh mail data từ sender đến Nó làm cho mail data từ lệnh ghi vào data buffer Mail data chứa ký tự 128 ã ACII Data mail kết thúc dòng chứa dấu chấm Đó dãy ký tự " " (xem phần 4.D.2) Và đònh kết thúc mail data Sự đònh kết thúc chuổi đòi hỏi receiver phải xử lý việc lưu trữ thơng tin giao dòch mail Q trình xử lý dùng thơng tin reverse-path buffer, forward-path buffer, mail data buffer, hồn tất lệnh buffer bò xoa ược nhận, message chia ca có nhiều dòng đánh dấu thời gian Khi receiver-SMTP tạo “final delivery” message insert vào chổ bắt đầu mail data dòng return-path Dòng return-path bảo quản thơng tin “reverse-path” từ lệnh mail Ơû deliver final có nghĩa message rời khỏi giới SMTP Thơng thường có nghĩa chuyển đến user đích số trường hợp xử lý và giao chuyển hệ thống mail khác Có thể cho mailbox return path khác biệt với mailbox thật sender, ví dụ trả lời error dùng phân phát lỗi đặc biệt điều khiển mailbox Hai đoạn trước ý nói mail data cuối bắt đầu với dòng return path theo sau hay nhiều dòng đánh dấu thời gian , sau dòng phần header body mail data [2] Sự đề cập đặc biệt cần thiết cho trả lời (response) hành động tiếp u cầu q trình xữ lý theo sau đònh kết thúc mail data thành cơng cục Điều phát sinh sau chấp nhận vài recipient data mail receiver-SMTP thấy mail data phân phát đến số recipient thành cơng lại khơng thể đến người khác (ví dụ xảy vấn đề việc đònh vò trí mailbox) Trong tình trạng câu trả lời cho lệnh DATA phải reply OK Nhưng receiver-SMTP phải soạn gửi nơi xuất xứ message message thơng báo “undelivered mail” Một thơng báo đơn liệt kê tất recipient khơng nhận message, hay message thơng báo riêng lẽ phải gửi cho recipient , tất thơng báo mail khơng thể phân phát gửi dùng lệnh MAIL (ngay kết từ q trình xử lý lệnh SEND, SOML, hay SAML ) Ví dụ cho đường dẫn trả nhận đánh dấu thời gian nhận Return-Path: Received: from GHI.ARPA by JKL.ARPA ; 27 Oct 81 15:27:39 PST Received: from DEF.ARPA by GHI.ARPA ; 27 Oct 81 15:15:13 PST Received: from ABC.ARPA by DEF.ARPA ; 27 Oct 81 15:01:59 PST Date: 27 Oct 81 15:01:01 PST From: JOE@ABC.ARPA ⇔ Sơ đồ mơ hình cho lệnh sau: HELO, MAIL, RCPT, RSET, SEND, SOML, SAML, VRFY, EXPN, HELP, NOOP, QUIT, TURN Một sơ đồ phức tạp mơ hình cho lệnh DATA : B DATA 4,5 1,3 data 1,2 W W E S 4,5 F ⇔Lưu ý: “data” chuỗi dòng gửi từ sender đến receiver khơng cần trả lời dòng cuối gửi D- Chi tiết Sự thực thi tối thiểu : Lợp lệ để làm cho SMTP làm việc, thực thi tối thiểu sau u cầu cho tất receiver COMMANDS HELO MAIL RCPT DATA RSET NOOP QUIT Tính suốt : Khơng có cung cấp cho tính suốt liệu, chuổi ký tự . kết thúc mail text khơng user gửi Thơng thường user khơng nhận biết “ngăn cản” chuổi ký tự Để cho phép tất text soạn thảo user truyền cách rõ ràng thủ tục sau sử dụng 1> Trước gửi dòng mail text sender-SMTP kiểm tra ký tự dòng Nếu dấu chấm, dấu chấm phụ thêm vào đầu dòng 2> Khi receiver-SMTP nhận dòng mail text kiểm tra dòng Nếu dòng có dấu chấm đơn kết thúc mail Nếu ký tự dấu chấm theo sau ký tự khác nằm dòng Thì ký tự bò xố Mail data chứa ký tự ã ASCII (128 ký tự) tất ký tự phân phát đến mailbox recipient bao gồm phần đònh dạng ký tự điều khiển khác Nếu kênh chuyển giao cung cấp luồng liệu bit (octet), ã ASCII bit vận chuyển điều chỉnh lại hệ bát phân với bit cao bò xố Nó cần thiết để biến đổi liệu nhận hay lưu trữ Trong số hệ thống, điều cần thiết cho host dùng tập hợp ký tự khác với tập ASCII , tập ký tự cục chúng hay liệu lưu record nhiều chuổi Nếu thay đổi cần thiết, chúng phải khơi phục lại( biến đổi hai chiều) biến đổi áp dụng cho mail chia ca Kích thước : Có vài đối tượng đòi hỏi kích thước nhỏ lớn Đó tất tất thực thi phải có để nhận đối tượng có kích thước tối thiểu, khơng bắt buộc phải gửi đối tượng lớn kích thước ĐỂ CĨ PHẠM VI LỚN NHẤT CĨ THỂ, THỰC THI KỸ THUẬT ĐÁNH LỪA KHƠNG GIỚI HẠN CHIỀU DÀI CỦA NHƯÕNG ĐỐI TƯỢNG SẼ ĐƯỢC DÙNG      user : Chiều dài tổng cộng lớn user name 64 ký tự domain : Chiều dài tổng cộng lớn domain name hay số 64 ký tự path : Chiều dài tổng cộng lớn dòng lệnh bao gồm từ lệnh 512 ký tự text line (dòng văn bản) : Chiều dài tổng cộng lớn dòng văn bao gồm 1000 ký tự (khơng tính dấu chấm đầu nhân lên cho vấn đề suốt) recipients buffer : Tổng số recipient lớn 100 recipient * Lỗi vượt q quyền giới hạn báo cáo cách dùng ã reply Ví dụ : 500 Line too long.(dòng q dài) 501 Path too long (đường dẫn q dài) 552 Too many recipients.(q nhiều recipient) 552 Too much mail data (q nhiều mail data) V- Phụ lục A Dòch vụ vận chuyển TCP Transmission Control Protocol (điều khiển giao chuyển [3]) dùng ARPA internet số mạng theo tiêu chuẩn US DoD cho protocol internetwork * Thiết lập kết nối : Một kênh giao chuyển SMTP kết nối thiết lập the sender process port U and the receiver process port L kết nối full duplex đơn giản dùng kênh kết nối protocol gán dòch vụ port 25 (31 hệ mười) L=25 * Truyền liệu : Kết nối TCP hổ trợ truyền byte bit Dữ liệu SMTP ký tự bit ã ASCII Mỗi ký tự truyền byte bit với bit cao bò xố B Dòch vụ vận chuyển NCP ARPANET Host-to-Host Protocol [4] (được cung cấp Network Control Program) dùng ARPANET * Thiết lập kết nối : Kênh giao chuyển SMTP thiết lập qua NCP sender process socket U receiver process socket L The Initial Connection Protocol [5] kết kết cặp kết nối simplex Cặp kết nối dùng kênh giao chuyển protocol gán tồn socket 25 , L=25 * Truyền liệu: Kết nối NCP data thiết lập chế độ bit SMTP data ký tự ASCII bit Mỗi ký tự truyền byte bit với bit cao bò xố C NTTS Network Independent Transport Service [6] (dòch vụ vận chuyển mạng độc lập) dùng * Thiết lập kết nối : Kênh giao chuyển SMTP thiết lập qua NTTS sender process receiver process Sender process thi hành CONNECT ban đầu chờ receiver process thực thi ACCEPT ban đầu * Truyền liệu : Kết nối NTTS hổ trợ giao chuyển byte bit SMTP data ký tự ASCII bit Mỗi ký tự truyền byte bit với bit cao bò xố D Dòch vụ vận chuyển X.25 Nó dùng X.25 service [7] cung cấp Public Data Networks cách trực tiếp , nhiên đề nghò protocol đáng tin cậy chẳng hạn TCP dùng kết nối X.25 E Ngun lý ã Reply Ba chữ số ã reply chữ có ý nghĩa đặc biệt Ký tự biểu thò response, good hay bad hay khơng hồn tất Một sender-SMTP thật xác nhận hành động (tiến hành theo kế hoạch, làm lại, cắt giảm bớt, ) cách đơn giản kiểm tra chữ số Một ssender-SMTP muốn biết cách gần kiểu lỗi xảy (như mail system error, command syntax error) kiểm tra chữ số thứ hai, để dành chữ số thứ ba cho việc kết thúc đặt tăng dần thơng tin (the finest gradation of information ) * Có năm giá trò cho chữ số ã reply:  1yz Positive Preliminary reply (reply khẳng đònh ban đầu ) : Lệnh chấp nhận hành động u cầu giữ hoãn lại, trì hoãn xác nhận thơng tin reply Sender-SMTP gữi lệnh khác đònh rõ tiếp tục hay bỏ qua hành động [ Lưu ý: SMTP khơng có lệnh thừa nhận kiểu reply này, vàdo khơng có lệnh tiếp tục hay bỏ qua]  2yz Positive Completion reply (reply khẳng đònh hồn thành) : Hành động u cầu hồn tất cách thành cơng, u cầu bắt đầu  3yz Positive Intermediate reply (reply khẳng đònh chừng) : Lệnh chấp nhận hành động u cầu giữ hoãn lại, trì hoãn nhận thơng tin thêm Sender-SMTP gữi lệnh khác đònh rõ thơng tin Reply dùng nhóm lệnh  4yz Transient Negative Completion reply (reply phủ đònh hồn thành ngắn hạn): Lệnh khơng chấp nhận hành động u cầu khơng xảy ra, nhiên trạng thái lỗi tạm thời, hành động u cầu trở lại Sender quay trở lại bắt đầu chuổi lệnh (nếu có) khó gán nghĩa “tức thời” cho hai site khác (receiver- sender- SMTPs) phải đồng ý thơng dòch Mỗi reply loại có giá trò thời gian khác sender-SMTP khuyến khích thử lại Một quy tắc lật trang để xác đònh reply đặc vào loại 4yz hay 5yz (xem bên dưới) reply 4yz chúng lặp lại mà khơng cần thay đổi cấu trúc lệnh hay thuộc tính sender hay receiver (như lệnh lặp lại cách giống receiver khơng đưa thực thi mới)  5yz Permanent Negative Completion reply (reply phủ đònh hồn thành dài hạn): Lệnh khơng chấp nhận hành động u cầu khơng xảy SenderSMTP ngăn cản việc lặp lại u cầu (trong chuổi đó) Ngay số hồn cảnh lỗi “dài hạn” hiệu chỉnh được, người sử dụng muốn hướng sender-SMTP khởi tạo lại chuổi lệnh cách đạo hành động số thời điểm tương lai(như: sau tả thay đổi, hay user thay đổi trạng thái account ) a/ Chữ số thứ hai ã hố loại trả lời(response) đặc trưng : * x0z Syntax : Những reply xem xét lỗi cú pháp, lệnh cú pháp khơng đưa vào loại chức Và khơng thực thi lệnh khơng cần thiết * x1z Information : Những reply để u cầu thơng tin, trạng thái hay giúp đơõ * x2z Connections : Những reply tham khảo đến kênh giao chuyển * x3z : Cho đến chưa đặc tả * x4z : Cho đến chưa đặc tả * x5z Mail system : Reply đònh tình trạng receiver mail system vis-a-vis u cầu truyền hay hoạt động hệ thống mail khác b/ Chữ số thứ ba mang lại mức độ ý nghĩa nhiều cho loại (category) Được đặc tả chữ số thứ hai Danh sách reply minh hoạ điều Mỗi reply text đề nghò nhiều lệnh, thay đổi tuỳ theo lệnh với kết hợp lệnh Trong kiểm sốt khác ã reply phải theo đặc tả nghiêm ngặt phần thực thi receiver khơng phát sinh ã cho tình trạng khác khơng đáng kể đặc tả Nhưng ã thích hợp đònh nghĩa sẳn Ví dụ như, lệnh NOOP chẳng hạn thực thi thành cơng khơng cần đề nghò sender-SMTP thơng tin trả reply 250 Câu trả lời 502 lệnh u cầu hành động non-site-specific khơng thực thi Một cải tiến cho điều reply 504 cho lệnh thực thi u cầu tham số khơng thực thi Reply text dài dòng đơn, trường hợp text hồn tất phải đánh dấu sender biết ngưng đọc reply Điều đòi hỏi đònh dạng để đònh reply nhiều dòng Đònh dạng cho reply nhiều dòng quy đònh tất dòng, chấp nhận chổ cuối bắt đầu ã reply, theo sau dấu gạch nối “-” (dấu trừ) theo sau text dòng cuối bắt đầu với ã reply theo sau , text Cho ví dụ: 123-First line 123-Second line 123-234 text beginning with numbers 123 The last line Trong số trường hợp sender-SMTP cần tìm ã reply theo sau đầu dòng, phớt lờ tất dòng trước Một trường hợp có liệu quan trọng cho sender reply “text” sender nhận biết trường hợp từ ngữ cảnh hành Phần Giao thức POP (Post Office Protocol version 3) -*** I Giới thiệu Nghi thức POP3 cải tiến từ nghi thức POP ( Post Office Protocol ) Trên internet loại nhỏ node thường khơng thực tế để trì hệ thống vận chuyển message (message transport system: MTS), ví dụ workstation khơng có đủ tài ngun (recycle, disk space) hợp lệ phép SMTP server hệ thống phân phát mail cục kết hợp giữ thường trú chạy cách liên tục Thường đắt (hay khơng thích hợp) để giữ personal computer nối với IP-style netwrork thời gian dài (node biết thiếu tài ngun “connectivity”) Mặc dù vậy, để quản lý mail hữu hiệu node nhỏ Và chúng thường hổ trợ user agent (UA) để giúp đơõ cơng việc điều khiển mail Để giải vấn đề node cung cấp thực thể MTS đưa maildrop service đến node cấp nhỏ Post Office Protocol - Version (POP3) dùng cho phép workstation truy xuất động đến maildrop server host Thường điều có nghĩa POP3 dùng để chấp nhận workstation gọi mail server giữ cho Khi user agent client host mong muốn đưa message vào hệ thống vận chuyển, thiết lập kết nối SMTP đến host chia ca nó( host chia ca có thể, hay khơng cần POP3 server host cho client host đó) II Thao tác Ban đầu server host bắt đầu POP3 service cách lắng nghe TCP port 110 Khi client host mong muốn dùng POP3 service, thiết lập kết nối TCP với server host Khi kết nối thiết lập, POP3 server gửi chào hỏi Client server POP3 sau trao đổi lệnh trả lời kết nối đóng hay loại bỏ Lệnh POP3 bao gồm keyword (từ khố) theo sau hay nhiều đối số tất lệnh kết thúc cặp CRLF Các từ khố đối số tách riêng ký tự trắng đơn , từ khố dài hay ký tự Mỗi đối số lên đến chiều dài 40 ký tự Các trả lời POP3 bao gồm phần đònh trạng thái từ khố theo sau thơng tin thêm vào Tất trả lời kết thúc cặp CRLF Chỉ có hai loại trả lời là: đònh trạng thái khẳng đònh (“+OK”) phủ đònh (“-ERR”) Trả lời cho lệnh trả lờinhiều dòng Trong trường hợp này, cho phép đònh cách rõ ràng, sau gửi dòng câu trả lời CRLF, số dòng thêm vào gửi đi, dòng kết thúc cặp CRLF Khi tất dòng trả lời gửi bao gồm số kết thúc hệ bát phân (termination octe) (ã 046 hệ mười, “.” ) cặp CRLF Nếu dòng trả lời nhiều dòng bắt đầu với termination octet dòng "byte-stuffed" cách (pre-pending) treotermina_ tion octe dòng trả lời Kể từ trả lời nhiều dòng kết thúc với năm octet "CRLF.CRLF" Khi xem xét trả lời nhiều dòng client kiểm tra xem dòng bắt đầu với termintion octet Nếu octet theo sau khác với CRLF, octet dòng (termination octet) bỏ Nếu ký tự kết thúc theo sau nó, trả lời từ POP3 server kết thúc với dòng chứa “.CRLF” khơng coi phần trả lời nhiều dòng Một POP3 session tiến hành qua số trạng thái thời gian sống Khi kết nối TCP mở POP3 server gửi chào hỏi Hội nghò vào trạng thái AUTHORIZATION (xác nhận) Trong trạng thái client phải đònh danh đến POP3 server Khi client đònh danh thành cơng, server thu tài ngun kết hợp với client’s maildrop, hội nghò vào trạng thái TRANSACTION (giao dòch) Trong trạng thái client u cầu hành động vai trò POP3 server client phát lệnh QUIT, hội nghò vào trạng thái UPDATE Trong trạng thái giải phóng tài ngun thu nhận trạng thái TRANSACTION say goodbye Sau kết nối TCP đóng lại Một POP3 server có timer tự động logout khơng chủ động Một timer phải tồn khoảng thời gian 10 phút Trong khoản thời gian nhận lệnh từ client đủ để reset timer tự động logout Khi timer hết hiệu lực, hội nghò khơng vào trạng thái UPDATE, server đóng kết nối TCP mà khơng remove hay gửi message cho client III Trạng thái xác nhận (authorization state) Khi kết nối TCP mở cleint POP3 server xuất dòng chào hỏi chuổi kết thúc CRLF Ví dụ : S: +OK POP3 server ready Chào hỏi POP3 reply POP3 server truyền trả lời khẳng đònh chào hỏi POP3 session nằm trạng thái AUTHORIZATION Client phải đònh danh xác nhận với POP3 server Có hai chế thích hợp để thực Sự kết hợp lệnh USER PASS , lệnh APOP Để xác nhận dùng kết hợp lệnh USER PASS Đầu tiên client phải phát lệnh USER, POP3 server trả lời với thò trạng thái khẳng đònh (“+OK”), client phát lệnh PASS để hồn tất xác nhận hay lệnh QUIT để kết thúc POP3 session Nếu POP3 server trả lời với thò trạng thái phủ nhận (“-ERR”) cho lệnh USER, client phát lệnh xác nhận hay phát lệnh QUIT Khi client phát lệnh PASS, POP3 server dùng cặp đối số từ lệnh USER PASS để xác đònh client cho truy xuất đến maildrop thích hợp Khi POP3 server xác đònh lệnh xác nhận, cho client truy xuất đến mailbox thích hợp, sau POP3 server thu khố truy xuất loại trừ maildrop, cần thiết để ngăn chặn message bò sửa đổi hay bò loại bỏ trước hội nghò vào trạng thái UPDATE Nếu thu nhận khố thành cơng POP3 server trả lời với đònh trạng thái khẳng đònh Và lúc hội nghò vào trạng thái TRANSACTION mà khơng có message bò đánh dấu để xố Nếu maildrop khơng mở số lí đó(ví dụ : khố khơng thể nhận được, phía client bò từ chối truy cập tới maldrop thích hợp đó, hay maildrop khơng phân tích cú pháp ), POP3 server trả lời với đònh trạng thái phủ đònh (nếu khố thu nhận POP3 server dự đònh trả lời với đònh trạng thái phủ đònh, POP3 server phải giải phóng khố trước loại bỏ lệnh ) Sau trả đònh trạng thái phủ đònh server phải đóng kết nối, server khơng đóng kết nối client phát lệnh xác nhận bắt đầu trở lại, client phát lệnh QUIT Sau POP3 server mở maildrop gán message-number cho message biểu thò kích thước message hệ tám (octet), message maildrop gán message-number “1”, message thứ hai “2” … Trong lệnh trả lời POP3 tất message-number kích thước message trình bày dựa hệ 10 (decimal)  Đây tóm tắt cho ba lệnh POP3 bàn luận : • USER name - Đối số: Một chuổi đònh danh mailbox (được u cầu), có ý nghĩa với server - Giới hạn : Chỉ cho trạng thái AUTHORIZATION sau POP3 chào hỏi hay sau lệnh USER PASS khơng thành cơng - Câu trả lời : +OK tên mailbox có hiệu lực -ERR khơng chấp nhận tên mailbox Ví dụ Ï: C: USER mrose S: +OK mrose is a real hoopy frood C: USER frated S: -ERR sorry, no mailbox for frated here • PASS string - Đối số: Một password cho mailbox hay server (được u cầu) a server/mailbox-specific password (required) - Giới hạn : Chỉ dược cho trạng thái AUTHORIZATION sau lệnh user thành cơng - Discussion: (thảo luận) : Kể từ lệnh PASS có đối số, POP3 server xử lý khoảng trống đối số phần password, thay để tách đối số - Câu trả lời có thể: +OK khố maildrop sẳn sàng -ERR password khơng hiệu lực -ERR khơng phép khố maildrop Ví dụ : C: USER mrose S: +OK mrose is a real hoopy frood C: PASS secret S: +OK mrose's maildrop has messages (320 octets) C: USER mrose S: +OK mrose is a real hoopy frood C: PASS secret S: -ERR maildrop already locked • QUIT - Đối số: khơng - Giới hạn: khơng - Câu trả lời có thể: +OK IV Trạng thái giao dòch (transaction) Khi client đònh danh đến POP3 server thành cơng POP3 server khố mở maildrop thích hợp, POP3 session trạng thái TRANSACTION ø client phát nhiều lần lệnh POP3 sau Sau lệnh POP3 server phát câu trả lời Cuối client phát lệnh QUIT POP3 session vào trạng thái UPDATE Đây lệnh POP3 có hiệu lực trạng thái TRANSACTION: • STAT - Đối số: khơng - Giới hạn : Chỉ cho trạng thái TRANSACTION - Discussion: (thảo luận) : POP3 server phát trả lời khẳng đònh với dòng chứa thơng tin maildrop Dòng gọi "drop listing" cho maildrop Thích hợp để phân tích cú pháp cách đơn giản, tất POP3 server u cầu dùng đònh dạng cho drop listings Câu trả lời khẳng đònh gồm có “+OK” theo sau khoảng trắng đơn, kích thước maildrop hệ tám Khơng u cầu theo sau maildrop size Lưu ý: Việc ngăn cản cách mạnh mẽ thực thi thơng tin phụ cung cấp drop listing Mặt khác điều kiện bàn luận sau, cho phép client phân tích cú pháp message maildrop Chú y :ù Những message đánh dấu xố khơng đếm tổng số - Câu trả lời có thể: +OK nn mm Ví dụ : C: STAT S: +OK 320 • LIST [msg] - Đối số : Một message-number (tuỳ ý) khơng tham khảo đến message đánh dấu xố - Giới hạn : Chỉ cho trạng thái transaction - Discussion: Nếu đối số cho POP3 server phát trả lời khẳng đònh với dòng chứa thơng tin cho message đó, dòng gọi “scan listing” cho message Nếu khơng có đối số trao cho POP3 server phát trả lời khẳng đònh trả lời cho multi-line Sau khởi tạo +OK , cho message maildrop, POP3 server trả lời với dòng chứa thơng tin cho message Dòng gọi “scan listing” cho message Phù hợp để đơn giản hố việc phân tích cú pháp, tất POP3 server u cầu dùng đònh dạng cho scan listing Một scan listing bao gồm message number message đó, theo sau khoảng trắng đơn kích thước xác message hệ tám, khơng u cầu theo sau message size scan listing Lưu ý: Ởû ngăn cản cách mạnh mẽ thực thi thơng tin phụ cung cấp scan listing Mặt khác, điều kiện bàn luận sau , cho phép client phân tích cú pháp message maildrop Những message đánh dấu xố khơng liệt kê - Câu trả lời có thể: +OK scan listing follows -ERR no such message Ví dụ : C: LIST S: +OK messages (320 octets) S: 120 S: 200 S: C: LIST S: +OK 200 C: LIST S: -ERR no such message, only messages in maildrop • RETR msg - Đối số : Một message-number (được u cầu) khơng tham khảo đến message đánh dấu xóa - Giới hạn : Chỉ cho trạng thái TRASACTION - Discussion : Nếu POP3 server phát trả lời khẳng đònh, trả lời trao multi-line Sau khởi tạo +OK , POP3 server gửi message tương ứng với message-number cho, cách cẩn thận để byte-stuff ký tự cuối (như với trả lời multi-line) - Câu trả lời có thể: +OK message follows -ERR no such message Ví dụ : C: RETR S: +OK 120 octets S: S: • DELE msg - Đối số : Một message-number (được u cầu) khơng tham khảo đến message đánh dấu xố - Giới hạn : Chỉ cho trạng thái TRANSACTION - Discussion : POP3 server đánh dấu xố message Những tham khảo sau đến message-number kết hợp với message lệnh POP3 sinh lỗi POP3 server khơng thật xố message POP3 session vào trạng thái UPDATE - Câu trả lời có thể: +OK message deleted -ERR no such message Ví dụ : C: DELE S: +OK message deleted C: DELE S: -ERR message already deleted • NOOP - Đối số: khơng - Giới hạn : Chỉ cho trạng thái TRANSACTION - Discussion : POP3 server khơng làm hết , hồi âm với trả lời khẳng đònh - Câu trả lời có thể: +OK Ví dụ: C: NOOP S: +OK • RSET - Đối số: khơng - Giới hạn : Chỉ cho trạng thái TRANSACTION - Discussion : Nếu message đánh dấu xố POP3 server, chúng bỏ đánh dấu xố(unmark ) Sau POP3 server hồi âm với trả lời khẳng đònh - Câu trả lời có thể: +OK Ví dụ : C: RSET S: +OK maildrop has messages (320 octets) V Trạng thái cập nhật (update) Khi client phát lệnh QUIT từ trạng thái TRANSACTION, POP3 session vào trạng thái UPDATE (lưu ý client phát lệnh QUIT từ trạng thái AUTHORIZATION, POP3 session kết thúc khơng vào trạng thái UPDATE) Nếu POP3 session kết thúc lí khác sau lệnh QUIT phát từ client, POP3 session khơng vào trạng thái UPDATE PHẢI khơng remove message từ maildrop • QUIT - Đối số: khơng - Giới hạn: khơng - Discussion : POP3 server loại bỏ tất mesasage đánh dấu xóa từ maildrop Sau giải phóng khóa truy cập loại trừ (exclusive-access lock) maildrop reply phần tình trạng thao tác Sau kết nối TCP đóng lại - Câu trả lời có thể: +OK 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) VI Các lệnh POP chọn lựa (optional POP3 commands) Những lệnh POP3 nói đến phải hổ trợ thực thi tối thiểu POP3 server Các lệnh POP3 lựa chọn mơ tả sau cho phép POP3 client tự việc điều khiển message, vẩn giữ thực thi POP3 server đơn giản Lưu ý: Sổ ghi chép khuyến khích thự thi nhằm hổ trợ cho lệnh thay cho việc phát triển tăng thêm drop scan listings Thu gọn, triết lý sổ ghi nhớ nhằm đặt thơng minh vai trò client POP3 khơng cho server POP3 • TOP msg n - Đối số: Một message-number (được u cầu) khơng tham khảo đến message đánh dấu xóa, non-negative number (được u cầu) - Giới hạn : Chỉ cho trạng thái TRANSACTION - Discussion : Nếu POP3 server phát trả lời khẳng đònh, trả lời trao multi-line Sau khởi tạo +OK , POP3 server gửi header message đó, dòng trống tách header khỏi body, sau số dòng đònh phần body message, nên cẩn thận để byte-stuff ký tự cuối (như với tất trả lời muti-line) Chú ý : Nếu số dòng u cầu POP3 client lớn số dòng body POP3 server gửi tồn message - Câu trả lời có thể: +OK top of message follows -ERR no such message Ví dụ : C: TOP 10 S: +OK S: < POP3 server gửi phần headers message, dòng trống, 10 dòng phần body message đó> S: C: TOP 100 S: -ERR no such message • UIDL [msg] - Đối số: Một message-number (tuỳ ý) message number cho, khơng tham khảo đến message đánh dấu xố - Giới hạn : Chỉ cho trạng thái TRANSACTION - Discussion : Nếu đối số cho POP3 server phát trả lời khẳng đònh với dòng chứa thơng tin cho message Dòng gọi “unique-id listing” cho message Nếu khơng có đối số cho POP3 server phát trả lời khẳng đònh câu trả lời trao multi-line Sau khởi tạo –OK cho message maildrop, POP3 server trả lời với dòng chứa thơng tin cho message Dòng gọi “unique-id listing” cho message Hợp lệ để đơn giản hố việc phân tích cú pháp Tất server u cầu dùng đònh dạng cho unique-id-listing Một unique-id-listing bao gồm message number message theo sau khoảng trắng unique-id message Khơng có thơng tin khác theo sau unique-id unique-id-listing Unique-id message chuổi xác đònh server tuỳ ý, bao gồm ký tự phạm vi 0x21 đến 0x7E, đònh danh message bên maildrop giữ thời gian hội nghò Server khơng dùng lại unique-id maildrop cho Những message đánh dấu xố khơng liệt kê - Câu trả lời +OK unique-id listing follows -ERR no such message Ví dụ : C: UIDL S: +OK S: whqtswO00WBw418f9t5JxYwZ S: QhdPYR:00WBw1Ph7x7 S: C: UIDL S: +OK QhdPYR:00WBw1Ph7x7 C: UIDL S: -ERR no such message, only messages in maildrop • APOP name digest - Đối số : Một chuổi đònh danh mailbox chuổi MD5 digest ( u cầu hai) - Giới hạn : Chỉ cho trạng thái AUTHORIZATION sau POP3 chào hỏi - Discussion : Thường thì, POP3 session bắt đầu với trao đổi USER/PASS, dẫn đến password đặc tả server/user-id gửi lên mạng Những thực thi POP3 client kết nối đến POP3 server theo quy tắc để kiểm tra mail Hơn khoảng thời gian khởi tạo POP3 session theo quy tắc năm phút Lúc khả bò đánh cắp password lớn Đòi hỏi phải có thay đổi phương thức xác nhận cung cấp xác nhận xem lại bảo vệ, khơng bao gồm việc gửi passsword khơng ã hố lên mạng Lệnh APOP cung cấp chức Một POP3 server thực thi lệnh APOP đưa dòng đánh dấu thời gian vào banner greeting POP3 client ghi nhớ dòng đánh dấu thời gian sau phát lệnh APOP Tham số ‘name’ giống tham số ‘name’ lệnh USER tham số digest đượcb tình tốn cách áp dụng giải thuật MD5 [RFC1321] cho chuổi chứa mốc thời gian (nằm dấu ngoặc tròn) theo sau share secret Share secret chuổi để nhận biết client server Tham số ‘digest’ giá trò 16-octet gưỉ theo format hệ hex Khi server POP3 nhận lệnh APOP, kiểm tra digest Nếu digest đúng, POP3 server phát trả lời khẳng đònh POP3 session vào trạng thái TRANSACTION Ngược lại phát trả lời phủ đònh POP3 session giữ trạng thái AUTHORIZATION - Câu trả lời có thể: +OK maildrop locked and ready -ERR permission denied Ví dụ : S: +OK POP3 server ready C: APOP mrose c4c9334bac560ecc979e58001b3e22fb S: +OK maildrop has message (369 octets) Trong ví dụ share secret chuổi `tan-staaf' Giải thuật MD5 áp dụng cho chuổi tanstaaf sinh giá trò digest c4c9334bac560ecc979e58001b3e22fb VI Tóm tắc lệnh POP3 A Các lệnh cần phải có : USER name có hiệu lực trạng thái AUTHORIZATION PASS string QUIT STAT LIST [msg] RETR msg DELE msg NOOP RSET QUIT có hiệu lực trạng thái TRANSACTION có hiệu lực trạng thái UPDATE * Các lệnh POP3 chọn lựa: APOP name digest TOP msg n UIDL [msg} có hiệu lực trạng thái AUTHORIZATION có hiệu lực trạng thái TRANSACTION * Các reply POP3 : +OK -ERR LƯU Y :Ù Với chấp nhận lệnh STAT, LIST, UIDL , reply mà POP3 server gửi cho lệnh mang ý nghĩa "+OK" "-ERR" Những text xuất sau trply client phớt lờ B Các chuẩn truyền khác : Ngồi hai chuẩn truyền trên, Mail có chuẩn truyền khác : - MAIP : Chuẩn MAPI dựa tảng mơ hình COM Chuẩn có nhiều chi tiết, nhiều đề mục, hàm, interface, Object Trong chuẩn MAPI, tất thành phần phận xem đối tượng, muốn thao tác với phận đó, phải theo cách thức truy nhập vào Object, sau sử dụng method Interface mà Objectt tương ứng hỗ trợ Ví dụ thơng điệp xem đối tượng, Message Object - ESMTP (Extender SMTP) - Nghi thức mở rộng SMTP SMTP có hạn chế gây khó khăn lớn việc truyền nhận mail giới hạn tối đa kích thước nội dung mail 128KB.Ngày nội dung mail khơng dạng văn đơn mà bao gồm hình ảnh, âm nhiều loại liệu khác nữa, giới hạn 128KB trở nên q nhỏ Do người ta cải tiến chuẩn SMTP thành chuẩn mở rộng gọi ESMTP Chuẩn cho phép tăng kích thước mail, đưa thêm từ khóa SIZE=nnnnnnn sau lệnh khởi động giao dòch, nhờ ta tăng giới hạn kích thước mail lên 1MB, đủ để chứa thêm vào âm thanh, hình ảnh… Để biết xem Server MTA có theo chuẩn ESMTP hay khơng, thay dùng lệnh HELLO đầu giao dòch, Client MTA dùng lệnh EHLO, Server MTA có trang bò, trả ã thành cơng 250 Hiện chuẩn ESMTP thay chuẩn SMTP đa số hệ thống - X.400 : Chuẩn X.400 phận chuẩn Open Systems Interconnection ( OSI ) truyền dẫn thơng điệp điện tử ( electronic Messaging Handling System MHS ) phát triển tổ chức Điện thoại Truyền thơng quốc tế ( Comite Consultatif International de Telegraphique et Telephonique - CCITT ), xây dựng việc tham khảo mơ hình lớp OSI protocol đònh nghĩa Tổ chức tiêu chuẩn quốc tế ( International Organization for Standardization - ISO ) * Thơng điệp theo chuẩn X.400 : Một thơng điệp X.400 có thành phần : Phần phong bì chứa thơng tin cần thiết để phân phối thơng điệp phần nội dung chứa thơng tin cần truyền Phần phong bì dùng MTA phần Nội dung dùng UA Phần Nội dung thơng tin tổ chức theo dạng IPM ( Interpersonal Message : Dạng thư tín cá nhân riêng tư ) bao gồm phần cách biệt : Heading Body Heading bao gồm thơng tin đòa nơi đến, cho biết loại thư u cầu phản hồi….Body chứa nội dung cần gởi Các tài liệu X.400 đời năm 1984, gọi " red book " ( chúng có bìa màu đỏ ) Được tu chỉnh in lần hai vào năm 1988 gọi " blue book " ( chúng có bìa xanh ) [...]... TRANSACTION * Các reply POP3 : +OK -ERR LƯU Y :Ù Với sự chấp nhận các lệnh STAT, LIST, và UIDL , reply mà POP3 server gửi cho các lệnh chỉ mang ý nghĩa "+OK" và "-ERR" Những text xuất hiện sau trply này sẽ được client phớt lờ B Các chuẩn truyền khác : Ngồi hai chuẩn truyền trên, Mail còn có các chuẩn truyền khác như : - MAIP : Chuẩn MAPI dựa trên nền tảng mơ hình COM Chuẩn này có rất nhiều chi tiết,... một cuộc giao dòch Các lệnh MAIL, SEND, SOML, và SAML bắt đầu một giao dòch mail Khi bắt đầu một giao dòch mail bao gồm một lệnh khởi tạo giao dòch , một hay nhiều lệnh RCPT, và một lệnh DATA đó là một trật tự một giao dòch mail có thể được bỏ qua bởi một lệnh RSET có thể có hay khơng có nhiều giao dòch trong một cuộc trao đổi (session) Nếu đối số của lệnh khởi động giao dòch khơng thể chấp nhận một... reply theo sau là ở đầu dòng, và phớt lờ tất cả các dòng trước Một ít trường hợp có dữ liệu quan trọng cho sender trong reply “text” sender sẽ nhận biết trường hợp này từ ngữ cảnh hiện hành Phần 2 Giao thức POP 3 (Post Office Protocol version 3) -*** I Giới thiệu Nghi thức POP3 được cải tiến từ nghi thức POP ( Post Office Protocol ) Trên internet một loại nào đó nhỏ hơn node thường khơng thực... phân tích cú pháp, tất cả các POP3 server u cầu dùng một đònh dạng cho scan listing Một scan listing bao gồm message number của message đó, theo sau là một khoảng trắng đơn và kích thước chính xác của message đó bằng hệ tám, khơng u cầu những gì theo sau message size trong scan listing Lưu ý: Ởû đây ngăn cản một cách mạnh mẽ sự thực thi các thơng tin phụ cung cấp trong scan listing Mặt khác, điều kiện... đó đóng kênh giao dòch Receiver sẽ khơng đóng kênh giao dòch cho đến khi nó nhận và trả lời cho lệnh QUIT (ngay cả nếu có một lỗi xãy ra) Sender sẽ khơng đóng kênh giao dòch cho đến khi nó gửi một lệnh QUIT và nhận reply đó (ngay cả nếu có một lỗi trả lời cho lệnh trước đó) Nếu kết nối bò đóng trước thời gian mong muốn receiver sẽ làm việc như vừa nhận được một lệnh RSET (bỏ tất cả các giao dòch đang... thơng tin của maildrop Dòng này được gọi là một "drop listing" cho maildrop đó Thích hợp để phân tích cú pháp một cách đơn giản, tất cả các POP3 server u cầu dùng một đònh dạng cho drop listings Câu trả lời khẳng đònh gồm có “+OK” theo sau là một khoảng trắng đơn, và kích thước của maildrop trong hệ tám Khơng u cầu cái gì theo sau maildrop size Lưu ý: Việc ngăn cản một cách mạnh mẽ sự thực thi các thơng... theo cách thức truy nhập vào một Object, sau đó mới có thể sử dụng các method của Interface mà Objectt tương ứng hỗ trợ Ví dụ như ngay cả thơng điệp cũng được xem là một đối tượng, đó là Message Object - ESMTP (Extender SMTP) - Nghi thức mở rộng SMTP SMTP có một hạn chế gây khó khăn lớn trong việc truyền nhận mail là giới hạn tối đa kích thước nội dung một bức mail chỉ là 128KB.Ngày nay nội dung các. .. thành phần : Phần phong bì chứa thơng tin cần thiết để phân phối một thơng điệp và phần nội dung chứa thơng tin cần truyền Phần phong bì được dùng bởi MTA và phần Nội dung được dùng bởi UA Phần Nội dung thơng tin tổ chức theo dạng IPM ( Interpersonal Message : Dạng thư tín cá nhân riêng tư ) bao gồm 2 phần cách biệt nhau : Heading và Body Heading bao gồm các thơng tin như đòa chỉ nơi đi và đến, cho biết... “unique-id listing” cho message đó Hợp lệ để đơn giản hố việc phân tích cú pháp Tất cả các server được u cầu dùng một đònh dạng cho các unique-id-listing Một unique-id-listing bao gồm message number của message theo sau là một khoảng trắng và unique-id của message Khơng có thơng tin khác theo sau unique-id trong unique-id-listing Unique-id của một message là một chuổi xác đònh server tuỳ ý, bao gồm những... forward-path buffer và mail data buffer và chèn thơng tin reverse-path từ lệnh này vào trong reverse-path buffer ????????  RESET (RSET) : Lệnh này đònh rõ giao dòch mail hiện hành bò huỷ bỏ Các sender, recipient, mail data đã lưu sẽ bò huỷ bỏ và tất cả các bảng trạng thái, các buffer bò xố Receiver phải gửi một reply OK  VERIFY (VRFY) : Lệnh này u cầu receiver xác nhận đối số đònh danh một user Nếu nó là một

Ngày đăng: 28/10/2015, 18:03

Từ khóa liên quan

Mục lục

  • Công việc phát triển các hệ thống Mail (Mail System) đòi hỏi hình thành các chuẩn về Mail. Điều này giúp cho việc gởi nhận các thông điệp được đảm bảo , làm cho những người ở các nơi khác nhau có thể trao đổi thông tin cho nhau.

  • Có 2 chuẩn về Mail quan trọng nhất và được sử dụng nhiều nhất từ trước đến nay là X.400 và SMTP ( Simple Mail Transfer Protocol). SMTP thường đi kèm với chuẩn POP3 và do hạn chế của SMTP mà ngày nay người ta dùng chuẩn mở rộng của nó là ESMTP (Extended SMTP). Mục đích chính của X.400 là cho phép các mail có thể được truyền nhận thông qua các loại mạng khác nhau bất chấp cấu hình phần cứng, hệ điều hành mạng , giao thức truyền daãn được dùng. Còn mục đích của chuẩn SMTP miêu tả cách điều khiển các thông điệp trên mạng Internet. Điều quan trọng của chuẩn SMTP là giả đònh máy nhận phải dùng giao thức SMTP gởi Mail cho 1 Server luôn luôn hoạt động. Sau đó, người nhận seõ đến lấy Mail của họ từ Server khi nào họ muốn dùng giao thức POP (Post Office Protocol), ngày nay POP được cải tiến thành POP3 (Post Officce Protocol vertion 3). Các giao thức Mail thông dụng : chuẩn X.400, chuẩn MAIP, SMTP (ESMTP), POP3 . Ở đây chỉ trình bày chi tiết về POP3 và SMTP .

  • Phần 1

  • Giao thức SMTP (Simple Mail transfer Protocol )

    • I . Giới thiệu

    • APOP name digest có hiệu lực trong trạng thái AUTHORIZATION

Trích đoạn

Tài liệu cùng người dùng

Tài liệu liên quan