2013-05-29 31 views
24

SMTP có dựa trên TCP hoặc UDP không? Tôi thực sự không thể xác nhận nó. Theo tôi, SMTP nên dựa trên UDP, nhưng ai đó đã nói với tôi rằng đó phải là TCP.Có phải SMTP dựa trên TCP hoặc UDP không?

+1

http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol 'SMTP sử dụng cổng TCP 25' – Kyslik

Trả lời

25

Về lý thuyết SMTP có thể được xử lý bằng TCP, UDP hoặc giao thức bên thứ ba.

Theo quy định tại RFC 821, RFC 2821, và RFC 5321:

SMTP không phụ thuộc vào hệ thống phụ truyền nói riêng và chỉ đòi hỏi một đáng tin cậy ra lệnh dữ liệu kênh dòng.

Ngoài ra, Cơ quan quản lý số điện thoại Internet đã cấp phát port 25 cho cả TCP và UDP để sử dụng bởi SMTP.

Tuy nhiên, trong thực tế, hầu hết nếu không phải tất cả các tổ chức và ứng dụng chỉ chọn triển khai giao thức TCP. Ví dụ, trong Microsoft's port listing cổng 25 chỉ được liệt kê cho TCP chứ không phải UDP.


Sự khác biệt lớn giữa TCP và UDP mà làm cho TCP lý tưởng ở đây là TCP kiểm tra để chắc chắn rằng tất cả các gói tin được nhận và tái gửi họ nếu họ không phải là trong khi UDP sẽ chỉ đơn giản là gửi các gói tin và không kiểm tra biên lai. Điều này làm cho UDP lý tưởng cho những thứ như streaming video mà mỗi gói đơn không quan trọng bằng việc giữ một luồng liên tục các gói dữ liệu từ máy chủ đến máy khách.

Xem xét SMTP, điều đó có ý nghĩa hơn khi sử dụng TCP trên UDP. SMTP là một giao thức truyền tải thư, và trong thư mỗi gói đơn là quan trọng. Nếu bạn mất vài gói ở giữa thư, người nhận có thể thậm chí không nhận được thư và nếu họ có thể thiếu thông tin quan trọng. Điều này làm cho TCP thích hợp hơn vì nó đảm bảo rằng mọi gói tin được gửi đi.

Các vấn đề liên quan