1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn học internet & giao thức Đề tài tìm hiểu giao thức smtp

20 7 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Tiểu Luận Môn Học Internet & Giao Thức Đề Tài: Tìm Hiểu Giao Thức SMTP
Tác giả Trần Nguyễn Tuấn Khanh, Trần Phước Khang, Hồ Đăng Khoa, Phạm Đức Khải, Ngô Duy Khánh
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Viễn Thông
Thể loại Tiểu luận
Năm xuất bản 2024
Thành phố Hồ Chí Minh
Định dạng
Số trang 20
Dung lượng 2,07 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CHỮ VIẾT TẮT TIẾNG ANH1 SMTP Simple Mail Transfer Protocol Giao thức chuẩn dùng để gửi thư điện tử qua mạng Internet T Advanced Research Projects Agency Network Mạng lưới cơ quan với cá

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA VIỄN THÔNG 2

-TIỂU LUẬN MÔN HỌC INTERNET & GIAO THỨC

ĐỀ TÀI:

TÌM HIỂU GIAO THỨC SMTP

Sinh viên thực hiện: Trần Nguyễn Tuấn Khanh – N21DCVT044

Trần Phước Khang

Hồ Đăng Khoa Phạm Đức Khải Ngô Duy Khánh

TP Ho Chi Minh-10/2024

Trang 2

Mục lục

CHỮ VIẾT TẮT TIẾNG ANH 1

MỤC LỤC HÌNH ẢNH 2

Chương 1: Giới thiệu về SMTP 3

1 Khái niệm SMTP 3

2 Lịch sử và sự phát triển của SMTP 4

Chương 2: Tổng quan hệ thống thư điện tử 5

1 Cấu trúc một hệ thống thư điện tử 5

2 Cấu trúc một thư điện tử 6

3 Giao thức SMTP 6

3.1 Giới thiệu cơ bản về SMTP 6

3.2 Mô hình giao thức SMTP 8

3.3 Hệ thống chuyển tiếp thư theo giao thức SMTP 8

Chương 3: Phương thức hoạt động của SMTP 10

1 Qúa trình gửi email qua SMTP 10

2 Qúa trình giao tiếp trong giao thức SMTP 10

3 Phương thức hoạt động của SMTP 13

Chương 4: Kết luận 16

1 Tương lai của SMTP 16

2 Các cải tiến tiềm năng 16

Trang 3

CHỮ VIẾT TẮT TIẾNG ANH

1 SMTP Simple Mail Transfer Protocol Giao thức chuẩn dùng để gửi thư điện tử

qua mạng Internet

T

Advanced Research Projects

Agency Network

Mạng lưới cơ quan với các đề án nghiên cứu tân tiến

Giao thức tầng ứng dụng dùng để kết nối

và tải email từ máy chủ email về máy tính

cá nhân

4 IMAP Internet Message Access

Protocol

Giao thức được sử dụng để truy cập và quản lý email trên máy chủ email từ xa

5 TCP/IP Transmission Control

Protocol/Internet Protocol

Giao thức chịu trách nhiệm về việc điều khiển và truyền nhận dữ liệu trong mạng lưới Internet

Hệ thống phân giải tên miền cho phép thiết lập tương ứng giữa địa chỉ IP và tên miền trên internet

Một phương thức xác thực email giúp xác định các máy chủ thư được phép gửi email cho một miền nhất định

8 DKIM DomainKeys Identified Mail Phương thức giúp xác nhận Email thông

qua chữ ký số giúp tránh email giả mạo

Domain-based Message

Authentication, Reporting &

Conformance

Cung cấp cho chủ sở hữu miền email khả năng bảo vệ miền của họ khỏi việc sử dụng trái phép, thường được gọi là giả mạo email

Trang 4

MỤC LỤC HÌNH ẢNH

Hình 2.4: Hoạt động của giao thức SMTP trong hệ thống thư điện tử 7

Trang 5

Chương 1: Giới thiệu về SMTP

1 Khái niệm SMTP

SMTP (Simple Mail Transfer Protocol) là một giao thức chuẩn dùng để gửi thư điện tử

qua mạng Internet Nó hoạt động theo mô hình client-server, trong đó một máy khách (client) gửi email, và máy chủ (server) xử lý, lưu trữ hoặc chuyển tiếp thư điện tử đến máy chủ của người nhận

SMTP là giao thức lớp ứng dụng chủ yếu của thư điện tử Internet Nó sử dụng dịch vụ truyền dữ liệu tin cậy của TCP để gửi thư từ máy chủ thư người gửi đến máy chủ thư người nhận Như hầu hết các giao thức ứng dụng khác, SMTP có hai phía: phía khách – thực hiện trên máy chủ thư người gửi, và phía chủ - thực hiện trên máy chủ thư người nhận Cả hai bên khách

và chủ chạy SMTP trên mỗi máy chủ thư Khi một máy chủ thư gửi thư tới các máy chủ thư khác thì nó hoạt động như máy khách SMTP Khi một máy chủ thư nhận thư từ máy chủ thư khác thì nó hoạt động như máy chủ SMTP [1]

● user agents (đại lý người sử dụng)

● mail servers (máy chủ thư)

● simple mail transfer protocol: SMTP (giao thức truyền thư đơn giản)

Hình 1.1: Tổng quan về hệ thống thư điện tử Internet

Trang 6

2 Lịch sử và sự phát triển của SMTP

Giao thức SMTP được phát triển vào những năm đầu của internet, chủ yếu vào cuối thập

kỷ 1970 và đầu thập kỷ 1980 Được mô tả chi tiết lần đầu trong tài liệu “RFC 821 – Simple Mail Transfer Protocol” vào năm 1982 bởi Jonathan B Postel và đồng nghiệp tại DARPA (Defense Advanced Research Projects Agency)

Nguồn gốc của SMTP bắt đầu vào năm 1980, dựa trên các khái niệm được triển khai trên ARPANET từ năm 1971 Nó đã được cập nhật, sửa đổi và mở rộng nhiều lần Phiên bản giao thức được sử dụng phổ biến hiện nay có cấu trúc có thể mở rộng với nhiều phần mở rộng khác nhau để xác thực, mã hóa, truyền dữ liệu nhị phân và địa chỉ email quốc tế

Kể từ đó, SMTP đã trải qua nhiều phiên bản và cải tiến thông qua các RFC khác nhau để cung cấp tính linh hoạt và bảo mật cao hơn Các phiên bản sau này bao gồm RFC 2821, RFC

5321 và các phiên bản khác Sau này, trở thành một tiêu chuẩn ngành công nghiệp cho việc gửi email Nó không chỉ được sử dụng trong môi trường doanh nghiệp mà còn trở thành một phần quan trọng của giao thức truyền thông trên internet

Giao thức SMTP ban đầu chỉ hỗ trợ truyền thông văn bản ASCII 7 bit chưa xác thực, chưa

mã hóa, dễ bị tấn công trung gian, giả mạo và gửi thư rác, và yêu cầu bất kỳ dữ liệu nhị phân nào cũng phải được mã hóa thành văn bản có thể đọc được trước khi truyền

Trang 7

Chương 2: Tổng quan hệ thống thư điện tử

1 Cấu trúc một hệ thống thư điện tử

Hình 2.1: Mô hình một hệ thống thư điện tử

Để thực hiện việc trao đổi thư với người dùng, giữa máy chủ (mail server) và các máy khách (mail client) thống nhất sử dụng chung một bộ giao thức gửi và nhận thư, trong đó có quy định cụ thể về cổng làm việc, quy trình thao tác, các câu lệnh trao đổi, cấu trúc của điện tử… Hình 2.1 trình bày mô hình một hệ thống thư tín điện tử với giao thức gửi thư SMTP và giao thức nhận thư POP hoặc IMAP [2]

Hệ thống này bao gồm bốn phần tử chính: MUA (Mail User Agent), MTA (Mail Transfer Agent), MDA (Mail Delivery Agent), MRA (Mail Retrieval Agent)

- Mail User Agent (MUA): là chương trình phần mềm của máy client được người dùng sử dụng để gửi, nhận, soạn thảo, xử lý thư điện tử

- Mail Tranfer Agent (MTA): là một chương trình thư của máy chủ, cho phép truyền tải thư điện tử từ máy này sang máy khác

Trang 8

- Mail Delivery Agent (MDA): là chương trình mà MTA sử dụng để chuyển thư vào hộp thư của người dùng hoặc để truyền tải thư tới một MTA khác Mỗi MTA sử dụng một hoặc nhiều MDA, mỗi MDA được sử dụng cho một loại yêu cầu phân phát thư riêng

- Mail Retrieval Agent (MRA): là một chương trình hoặc một dịch vụ có chức năng lấy thư điện tử về từ một hộp thư trên một máy chủ ở xa và đưa chúng tới MUA Các MRA truy vấn các thư và các phần header từ những hộp thư ở xa và phân phát chúng tới các MUA trên máy của người dùng

2 Cấu trúc một thư điện tử

Thư điện tử thường có hai phần chính: phần đầu (Header) và phần thân (Body) là văn bản chứa nội dung của thư Khi gửi đi, toàn bộ thư điện tử được gói trong nội dung (content) Ngoài

ra, hệ thống thư còn tạo thêm một phần nữa được gọi là bì thư (envelope), phần này chứa các thông tin cần thiết cho việc chuyển thư đến nơi nhận [2]

Hình 2.2: Cấu trúc của một thư điện tử

3 Giao thức SMTP

3.1 Giới thiệu cơ bản về SMTP

SMTP (Simple Mail Transfer Protocol) là giao thức quy định việc truyền thư chủ yếu trên Internet, được sử dụng như một cơ chế chung cho việc chuyển tải dữ liệu thư điện tử giữa các máy tính với nhau trong giao thức TCP/IP Khi một tiến trình SMTP thực hiện, SMTP client

mở một kết nối TCP tới một tiến trình SMTP server nằm trên một máy chủ ở xa và cố gắng để gửi mail thông qua kết nối SMTP server lắng nghe một kết nối TCP trên một cổng 25 [2]

Trang 9

Hình 2.3: Mô hình truyền thư sử dụng giao thức SMTP

Khi SMTP client có một thông điệp được truyền đi, nó thiết lập một kênh truyền hai chiều tới một SMTP server Trách nhiệm của SMTP client là chuyển giao những thông điệp thư cho một hoặc nhiều SMTP server (hoặc báo những lỗi sai khi thực hiện)

Hoạt động của giao thức SMTP trong hệ thống thư điện tử:

Hình 2.4: Hoạt động của giao thức SMTP trong hệ thống thư điện tử

Client liên quan đến thư đi, Server liên quan đến nhận thư Hệ thống thư cục bộ chứa hộp thư (mailbox) của mỗi user Mailbox có 2 phần: Phần cục bộ và phần toàn cục

Sau khi tháo bức thư trong khuôn dạng chuẩn, hệ thống thư cục bộ xác định tên người nhận ở hộp thư cục bộ hay phải gửi ra ngoài Để bức thư được gửi đi, Client SMTP phải biết địa chỉ IP của nơi nhận thông qua DNS và gửi qua cổng địa chỉ SMTP (25) để bắt đầu thiết lập kết nối server SMTP nơi nhận Khi mối nối đã được thiết lập, Client bắt đầu chuyển thư đến Server bởi các lệnh của SMTP

Trang 10

3.2 Mô hình giao thức SMTP

Mô hình SMTP hỗ trợ cả hai phương pháp truyền phát thư end-to-end (không có các MTA trung gian) và store-and-forward. Phương pháp end-to-end được sử dụng giữa các mạng nội bộ của các tổ chức và phương pháp store-and-forward được lựa chọn cho các hệ điều hành giữa các tổ chức có mạng sử dụng giao thức TCP/IP và SMTP cơ sở [2]

Một tiến trình SMTP cơ bản có thể truyền tải thư viện điện tử tới một tiến trình khác trên cùng một mạng hoặc tới một mạng khác thông qua một tiến trình truyền tiếp hoặc qua cổng nối

có thể tới được cả hai mạng

Hình 2.5: Mô hình giao thức SMTP

3.3 Hệ thống chuyển tiếp thư theo giao thức SMTP

Người dùng làm việc với UA (User Agent) Việc trao đổi thư sử dụng giao thức TCP được thực hiện nhờ một MTA MTA gửi truyền thư qua mạng tới cổng 25 của giao thức TCP của MTA nhận Việc truyền thông tin giữa máy chủ gửi và máy chủ nhận ở mạng ngoài thì việc chuyển tiếp có thể phức tạp Việc thêm một MTA vào phía người gửi và một MTA vào phía người nhận, các MTA khác thực hiện như máy chủ và máy khách, có thể chuyển tiếp thư điện

tử qua mạng [2]

Trang 11

Hình 2.6: Mô hình SMTP với các MTA chuyển tiếp

Trang 12

Chương 3: Phương thức hoạt động của SMTP

1 Qúa trình gửi email qua SMTP

Trong mô hình Giao thức Truyền tải Thư tin Đơn giản hóa (SMTP), máy khách email hoặc máy chủ của người gửi hoạt động như máy khách SMTP và máy chủ email của người gửi hoạt động như máy chủ SMTP Máy khách này khởi tạo kết nối đến máy chủ và truyền email, hoàn thành bằng các chi tiết người nhận, chủ đề và nội dung Máy chủ xử lý email này và xác định máy chủ tiếp theo phù hợp dựa trên địa chỉ của người nhận Máy chủ tiếp theo này có thể là một máy chủ SMTP khác trong tuyến đường truyền hoặc đích cuối cùng, tức là máy chủ email của người nhận Khi tin nhắn đến máy chủ của người nhận, nó sẽ được gửi đến hộp thư đến của người nhận bằng một giao thức khác, ví dụ như POP hoặc IMAP [3]

Máy chủ SMTP gửi email bằng cách làm theo lần lượt các bước Đầu tiên, máy khách email hoặc máy chủ của người gửi thiết lập kết nối với máy chủ SMTP của người nhận và cung cấp thông tin cần thiết, ví dụ như địa chỉ email của người nhận Sau đó, máy chủ SMTP xử lý thông tin này và xác minh địa chỉ của người nhận để quyết định có chấp nhận email hay không Nếu địa chỉ của người nhận hợp lệ, email sẽ được xếp hàng để gửi Sau đó, máy chủ của người nhận sẽ cố gắng gửi email đến hộp thư đến của người nhận hoặc một thư mục được chỉ định

Hình 3.1: Qúa trình gửi email qua SMTP

2 Qúa trình giao tiếp trong giao thức SMTP

Quá trình giao tiếp giữa máy khách và máy chủ SMTP tuân theo một loạt các bước tuần

tự Dưới đây là các bước chi tiết:

Trang 13

Hình 3.2: SMTP hoạt động

Bắt đầu kết nối:

SMTP hoạt động dựa trên kết nối TCP (Transmission Control Protocol), và cổng mặc định được sử dụng là cổng 25 Khi một email cần được gửi, máy khách SMTP (ví dụ: ứng dụng email) khởi tạo một kết nối TCP đến máy chủ SMTP của người nhận Nếu kết nối không thành công (do máy chủ không khả dụng hoặc các vấn đề mạng), máy khách SMTP sẽ cố gắng lại sau một khoảng thời gian định sẵn

Sau khi kết nối TCP thành công, một thông báo chào mừng từ máy chủ SMTP sẽ được gửi đến máy khách, xác nhận rằng máy chủ sẵn sàng tiếp nhận các lệnh

Lệnh HELO/EHLO:

Sau khi nhận được thông báo chào mừng từ máy chủ, máy khách SMTP gửi lệnh HELO hoặc EHLO để giới thiệu danh tính của nó

Lệnh HELO là lệnh ban đầu trong phiên bản SMTP cơ bản, gửi kèm tên miền hoặc địa chỉ IP của máy khách

Lệnh EHLO (Extended HELO) là một phần của SMTP mở rộng (ESMTP), cho phép sử dụng các tính năng nâng cao như xác thực và mã hóa Khi máy khách gửi lệnh EHLO, máy chủ

sẽ phản hồi bằng danh sách các lệnh mở rộng mà nó hỗ trợ

Xác định người gửi:

Trang 14

Máy khách SMTP sau đó sẽ cung cấp địa chỉ email của người gửi bằng cách gửi lệnh MAIL FROM Đây là địa chỉ email mà người nhận sẽ thấy trong mục "From" của email nhận được Địa chỉ này cũng được máy chủ dùng để xử lý các phản hồi hoặc lỗi nếu có Máy chủ SMTP phản hồi lại bằng mã trạng thái để xác nhận rằng địa chỉ người gửi hợp lệ và quá trình tiếp tục

Xác định người nhận:

Sau khi thông tin về người gửi được chấp nhận, máy khách SMTP gửi lệnh RCPT TO để chỉ định địa chỉ email của người nhận Máy chủ SMTP sẽ xác minh xem địa chỉ email này có tồn tại không và có thể tiếp nhận thư không Nếu địa chỉ người nhận không hợp lệ (ví dụ: không tồn tại hoặc bị sai), máy chủ sẽ gửi lại thông báo lỗi và quá trình sẽ dừng lại Nếu hợp lệ, máy chủ tiếp tục quy trình

Truyền nội dung email:

Sau khi thông tin về người gửi và người nhận đã được xác nhận, máy khách SMTP sử dụng lệnh DATA để bắt đầu truyền nội dung email Lệnh DATA bao gồm cả tiêu đề và phần thân của email Phần tiêu đề bao gồm các trường như “Subject” (Tiêu đề), “To” (Người nhận),

và “From” (Người gửi), trong khi phần thân là nội dung chính của email

Máy chủ SMTP sẽ lưu lại toàn bộ nội dung này và kiểm tra tính hợp lệ của nó Quá trình truyền nội dung email kết thúc bằng dấu hiệu kết thúc dòng dữ liệu với dấu chấm đơn (.) ở một dòng riêng biệt Sau khi nhận được toàn bộ dữ liệu, máy chủ phản hồi lại bằng mã trạng thái để xác nhận rằng email đã được nhận thành công

Xử lý mã hóa (nếu có):

Nếu sử dụng lệnh EHLO, các tính năng nâng cao của ESMTP cho phép bảo mật quá trình truyền bằng mã hóa TLS (Transport Layer Security) Sau khi máy khách SMTP gửi lệnh STARTTLS, máy chủ sẽ bắt đầu mã hóa kết nối Điều này giúp bảo vệ email khỏi các cuộc tấn công hoặc đánh cắp dữ liệu trong quá trình truyền tải

Gửi thêm nhiều người nhận (nếu có):

Nếu email có nhiều người nhận, lệnh RCPT TO sẽ được lặp lại cho mỗi địa chỉ người nhận bổ sung Điều này cho phép gửi một email đến nhiều địa chỉ trong cùng một kết nối SMTP mà không cần thiết lập lại kết nối nhiều lần

Trang 15

Xử lý lỗi (nếu có):

Nếu trong quá trình gửi email xảy ra lỗi (ví dụ: người nhận không tồn tại hoặc máy chủ không khả dụng), mã lỗi tương ứng sẽ được trả về từ máy chủ SMTP Các mã lỗi này giúp thông báo cho người gửi về vấn đề đã xảy ra Một số mã lỗi phổ biến bao gồm:

550: Địa chỉ email không tồn tại

421: Dịch vụ không sẵn sàng (máy chủ bận hoặc bị quá tải)

451: Lỗi tạm thời trên máy chủ

Kết thúc phiên:

Khi việc truyền email hoàn tất, máy khách SMTP gửi lệnh QUIT để thông báo kết thúc phiên làm việc và yêu cầu đóng kết nối TCP Máy chủ SMTP phản hồi lại bằng một thông điệp xác nhận rằng kết nối đã được đóng Kết nối TCP sau đó sẽ được giải phóng, và quá trình gửi email kết thúc

Lưu trữ và xếp hàng email:

Sau khi email được chấp nhận, máy chủ SMTP có thể gửi nó ngay lập tức nếu đích đến sẵn sàng Tuy nhiên, nếu đích đến chưa khả dụng (ví dụ: máy chủ người nhận tạm thời không kết nối), email sẽ được lưu trữ trong hàng đợi (message queue) Máy chủ sẽ cố gắng gửi lại email này sau một khoảng thời gian nhất định cho đến khi thành công hoặc khi email quá hạn

và bị trả lại cho người gửi

3 Phương thức hoạt động của SMTP

SMTP sử dụng các mã phản hồi (status codes) để báo hiệu kết quả của các lệnh và tình trạng của quá trình truyền tải email Dưới đây là một số mã phản hồi phổ biến cùng cách xử lý:

Mã 2xx (Thành công):

Những mã phản hồi bắt đầu với số 2 báo hiệu rằng thao tác đã thành công Ví dụ:

●250: Yêu cầu được hoàn thành thành công Đây là mã phản hồi phổ biến sau khi một lệnh như MAIL FROM, RCPT TO, hoặc DATA được thực hiện mà không gặp lỗi

●220: Máy chủ SMTP sẵn sàng, thông báo khi kết nối TCP được mở thành công

Ngày đăng: 16/02/2025, 15:09

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Tổng quan về hệ thống thư điện tử Internet - Tiểu luận môn học internet & giao thức Đề tài  tìm hiểu giao thức smtp
Hình 1.1 Tổng quan về hệ thống thư điện tử Internet (Trang 5)
Hình 2.1: Mô hình một hệ thống thư điện tử - Tiểu luận môn học internet & giao thức Đề tài  tìm hiểu giao thức smtp
Hình 2.1 Mô hình một hệ thống thư điện tử (Trang 7)
Hình 2.2: Cấu trúc của một thư điện tử - Tiểu luận môn học internet & giao thức Đề tài  tìm hiểu giao thức smtp
Hình 2.2 Cấu trúc của một thư điện tử (Trang 8)
Hình 2.3: Mô hình truyền thư sử dụng giao thức SMTP - Tiểu luận môn học internet & giao thức Đề tài  tìm hiểu giao thức smtp
Hình 2.3 Mô hình truyền thư sử dụng giao thức SMTP (Trang 9)
Hình 2.4: Hoạt động của giao thức SMTP trong hệ thống thư điện tử - Tiểu luận môn học internet & giao thức Đề tài  tìm hiểu giao thức smtp
Hình 2.4 Hoạt động của giao thức SMTP trong hệ thống thư điện tử (Trang 9)
Hình 2.5: Mô hình giao thức SMTP - Tiểu luận môn học internet & giao thức Đề tài  tìm hiểu giao thức smtp
Hình 2.5 Mô hình giao thức SMTP (Trang 10)
Hình 2.6: Mô hình SMTP với các MTA chuyển tiếp - Tiểu luận môn học internet & giao thức Đề tài  tìm hiểu giao thức smtp
Hình 2.6 Mô hình SMTP với các MTA chuyển tiếp (Trang 11)
Hình 3.1: Qúa trình gửi email qua SMTP - Tiểu luận môn học internet & giao thức Đề tài  tìm hiểu giao thức smtp
Hình 3.1 Qúa trình gửi email qua SMTP (Trang 12)
Hình 3.2: SMTP hoạt động - Tiểu luận môn học internet & giao thức Đề tài  tìm hiểu giao thức smtp
Hình 3.2 SMTP hoạt động (Trang 13)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm