Professional Documents
Culture Documents
BÁO CÁO ĐỒ ÁN
CƠ SỞ NGÀNH MẠNG
Đà Nẵng, 11/2019
Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly
MỤC LỤC
DANH MỤC HÌNH ẢNH ................................................................................................. 2
LỜI MỞ ĐẦU .................................................................................................................... 3
PHẦN I: NGUYÊN LÝ HỆ ĐIỀU HÀNH ...................................................................... 4
CHƯƠNG I: CƠ SỞ LÝ THUYẾT ..........................................................................................……4
1.1. Tìm hiểu cấu tạo phần cứng và cấu trúc logic của đĩa cứng : .................................................. 4
1.2. Công nghệ S.M.A.R.T của ổ cứng : ............................................................................................ 9
1.3. Tìm hiểu hệ thống File của hệ điều hành Windows ................................................................ 10
CHƯƠNG II: THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH .................................................12
2.1. Phân tích yêu cầu : ..................................................................................................................... 12
2.2. Phân tích các chức năng ............................................................................................................ 12
2.3. Môi trường xây dựng chương trình .......................................................................................... 13
2.4. Sơ đồ hệ thống : .......................................................................................................................... 13
2.5. Một số hình ảnh chương trình................................................................................................... 14
CHƯƠNG III: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................18
3.1. Kết quả đạt được : ...................................................................................................................... 18
3.2. Hướng phát triển :...................................................................................................................... 18
PHẦN II: LẬP TRÌNH MẠNG...................................................................................... 19
CHƯƠNG I: CƠ SỞ LÝ THUYẾT ................................................................................................19
1.1. Giao thức TCP/IP :................................................................................................................ 19
1.2. Mô hình Client – Server : ..................................................................................................... 19
1.3. Một số khái niệm về thư điện tử: ......................................................................................... 23
CHƯƠNG II: THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH .................................................31
2.1. Phân tích yêu cầu : .................................................................................................................... 31
2.2. Phân tích chức năng :................................................................................................................ 31
2.3. Thiết kế hệ thống :..................................................................................................................... 32
2.4 Một số hình ảnh :......................................................................................................................... 34
CHƯƠNG III: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................37
3.1. Kết quả đạt được : ...................................................................................................................... 37
3.2. Hướng phát triển :...................................................................................................................... 37
TÀI LIỆU THAM KHẢO ..................................................................................................................38
LỜI MỞ ĐẦU
Ngày nay, nhu cầu lưu trữ dữ liệu trên các thiết bị vật lý ngày càng cao, vì vậy việc
sử dụng ổ đĩa cứng và nắm bắt kiến thức về cấu tạo, thông số, cách thức hoạt động của
ổ đĩa là vô cùng quan trọng. Vì vậy trong đề tài này em sẽ tìm hiểu cũng như xây
dựng nên một chương trình để theo dõi tình trạng của ổ cứng, cũng như các thông tin
quan trọng giúp người dùng có một cái nhìn tổng quan về ổ cứng của mình.
Dịch vụ thư điện tử gọi tắt là Email là một trong nhưng dịch vụ được
sử dụng nhiều nhất trên Internet hiện nay. Dịch vụ này cho phép các cá
nhân hay tổ chức trao đổi thư với nhau thông qua mạng Internet. Nhiều
người sử dụng Internet chỉ để dùng dịch vụ này.
Nhằm mục đích tìm hiểu rõ hơn về cách thức hoạt động của thư điện tử và
các giao thức truyền thông chuẩn như SMTP, POP, IMAP cũng như các hoạt
động của một hệ thống Mail Server và Mail Client. Do đó, đồ án sẽ xây dựng
một hệ thống email mô phỏng quá trình nhận và gửi email gồm : Mail Server và
Mail Client.
Em xin chân thành cảm ơn sự hướng dẫn tận tình của thầy Nguyễn Thế Xuân Ly,
cảm ơn sự trao đổi, góp ý của các bạn trong lớp đã giúp em hoàn thành đề tài này.
Sinh viên
Nguyễn Đình Long
Ổ đĩa cứng gồm các thành phần, bộ phận có thể liệt kê cơ bản và giải thích
sơ bộ như sau:
a. Cụm đĩa : Bao gồm toàn bộ các đĩa, trục quay và động cơ :
Đĩa từ (platter) : thường cấu tạo bằng nhôm hoặc thuỷ tinh, trên bề mặt được phủ
một lớp vật liệu từ tính là nơi chứa dữ liệu. Mỗi đĩa từ có thể sử dụng hai mặt, đĩa
cứng có thể có nhiều đĩa từ, chúng gắn song song, quay đồng trục, cùng tốc độ với
nhau khi hoạt động.
Track: Trên một mặt làm việc của đĩa từ chia ra nhiều vòng tròn đồng tâm
thành các track .
Sector: Trên track chia thành những phần nhỏ bằng các đoạn hướng tâm
thành các sector. Các sector là phần nhỏ cuối cùng được chia ra để chứa
dữ liệu.
Cylinder: Tập hợp các track cùng bán kính (cùng số hiệu trên) ở các mặt đĩa
khác nhau thành các cylinder .
Trục quay: Trục quay là trục để gắn các đĩa từ lên nó, chúng được nối trực
tiếp với động cơ quay đĩa cứng. Trục quay có nhiệm vụ truyền chuyển động
quay từ động cơ đến các đĩa từ.
Động cơ: Được gắn đồng trục với trục quay và các đĩa.
d. Vỏ đĩa cứng :
Vỏ ổ đĩa cứng có chức năng chính nhằm định vị các linh kiện và đảm bảo độ kín
khít để không cho phép bụi được lọt vào bên trong của ổ đĩa cứng.
Nếu disk partition table bị mất, user không thể đọc, ghi data lên ổ đĩa.
NTFS (New Technology File System) được giới thiệu cùng với phiên bản
Windows NT đầu tiên (phiên bản này cũng hỗ trợ FAT32). Với không gian địa chỉ 64
bit, khả năng thay đổi kích thước của cluster độc lập với dung lượng đĩa cứng, NTFS
hầu như đã loại trừ được những hạn chế về số cluster, kích thước tối đa của tập tin trên
một phân vùng đĩa cứng.
Boot Sector chứa mã khởi động và thông tin xác định Master File Table
(MFT), đây là điều tuyệt vời của NTFS. Nếu như trong hệ thống file FAT thì
bảng FAT1 và FAT2 cực kì quan trọng giúp định vị và truy xuất file, nếu nó bị
hỏng thì toàn bộ dữ liệu cũng bị hỏng nhưng với NTFS vùng tương đương là
MFT có thể di động ở vị trí bất kì nếu sector đó bị BAD.
Hình 5. Bản ghi MFT cho một tệp hoặc thư mục nhỏ .
NTFS sử dụng bảng quản lý tập tin MFT thay cho bảng FAT quen thuộc nhằm
tăng cường khả năng lưu trữ, tính bảo mật cho tập tin và thư mục, khả năng mã hóa dữ
liệu đến từng tập tin.
Ngoài ra, NTFS có khả năng chịu lỗi cao, cho phép người dùng đóng một ứng
dụng “chết” (not responding) mà không làm ảnh hưởng đến những ứng dụng khác.
Tuy nhiên, NTFS lại không thích hợp với những ổ đĩa có dung lượng thấp (dưới 400
MB) và không sử dụng được trên đĩa mềm.
Đa số ổ cứng truyền thống dùng cho máy tính (HDD) hiện nay đều hỗ trợ chức
năng S.M.A.R.T (Self Monitoring, Analysis and Reporting Technology) giúp tự động
theo dõi, chẩn đoán và báo cáo tình trạng hiện tại của bộ lưu trữ. Thông thường, ổ
cứng sử dụng dữ liệu S.M.A.R.T. để xác định có lỗi gì xuất hiện bên trong hay không.
Mỗi nhà sản xuất sẽ xác định một tập các thuộc tính của ổ cứng như nhiệt độ, số
lần khởi động, hoạt động bao nhiêu giờ,…
Tập tin là dữ liệu máy tính được lưu trữ trên các thiết bị nhớ ngoài nhớ: băng từ,
đĩa từ, đĩa quang...và được tập hợp một cách có tổ chức theo đơn vị lưu trữ gọi là file.
Nhờ vậy, file là đơn vị logic để hệ điều hành quản lý thông tin trên đĩa. File có thể là
một chương trình của người sử dụng, một chƣơng trình của hệ thống hoặc một tập hợp
dữ liệu của người sử dụng.
Hệ thống tệp tin : là một phương tiện để tổ chức các dữ liệu dự kiến sẽ được giữ lại
sau khi một chương trình chấm dứt bằng cách cung cấp các thủ tục để lưu trữ, truy
xuất và cập nhật dữ liệu cũng nhờ quản lý không gian có sẵn trên thiết bị có chứa nó.
Chúng ta cần phải truy xuất vào S.M.A.R.T lấy các thuộc tính cần thiết để theo dõi
tình trạng của ổ cứng thông qua ID của thuộc tính, tên thuộc tính và giá trị .
Các loại hệ thống tập tin của window: Windows cho phép làm việc với hệ thống
tập tin FAT(FAT, FAT12, FAT16, FAT32), NTFS. FAT,FAT12,FAT16 được hỗ trợ ở
mọi phiên bản của Windows. NTFS được hỗ trợ bời mọi phiên bản của Windows NT.
Tuy nhiên các hệ thống tập tin khác chỉ được hộ trợ ở những phiên bản nhất định.
FAT16
Với hệ điều hành MS-DOS, hệ thống tập tin FAT (FAT16 – để phân biệt với
FAT32) được công bố vào năm 1981 đưa ra một cách thức mới về việc tổ chức và
quản lý tập tin trên đĩa cứng, đĩa mềm. Tuy nhiên, khi dung lượng đĩa cứng ngày càng
tăng nhanh, FAT16 đã bộc lộ nhiều hạn chế. Với không gian địa chỉ 16 bit, FAT16 chỉ
hỗ trợ đến 65.536 liên cung (cluster) trên một partition, gây ra sự lãng phí dung lượng
đáng kể (đến 50% dung lượng đối với những ổ đĩa cứng trên 2 GB).
FAT12 và FAT16 hệ thống tập tin có một giới hạn về số lượng các mục trong thư
mục gốc của hệ thống tập tin và có hạn chế về kích thước tối đa của đĩa hoặc phân
vùng định dạng FAT.
FAT32
Để giải quyết những hạn chế trong FAT12 và FAT16, ngoại trừ giới hạn kích
thước tập tin gần 4 GB, nhưng nó vẫn còn hạn chế so với NTFS. Được giới thiệu trong
phiên bản Windows 95 Service Pack 2 (OSR 2), được xem là phiên bản mở rộng của
FAT16. Do sử dụng không gian địa chỉ 32 bit nên FAT32 hỗ trợ nhiều cluster trên một
partition hơn, do vậy không gian đĩa cứng được tận dụng nhiều hơn. Ngoài ra với khả
năng hỗ trợ kích thước của phân vùng từ 2GB lên 2000GB và chiều dài tối đa của tên
tập tin được mở rộng đến 255 ký tự đã làm cho FAT16 nhanh chóng bị lãng quên. Tuy
nhiên, nhược điểm của FAT32 là tính bảo mật và khả năng chịu lỗi (Fault Tolerance)
không cao.
FAT12, FAT16 và FAT32 cũng có một giới hạn của tám ký tự cho tên tập tin, và
ba ký tự cho phần mở rộng (như exe) Thường được gọi là tên tập tin 8,3 giới hạn.
NTFS
NTFS (New Technology File System: Hệ thống tập tin công nghệ mới) là hệ thống
tập tin tiêu chuẩn của Windows NT, bao gồm cả các phiên bản sau này của Windows
nhƣ Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008,
Windows Vista, và Windows 7.
NTFS thay thế hệ thống tập tin FAT vốn là hệ thống tập tin ƣa thích cho các hệ
điều hành Windows của Microsoft. NTFS có nhiều cải tiến hơn FAT và HPFS (High
Performance File System - Hệ thống tập tin hiệu năng cao) nhƣ hỗ trợ cải tiến cho các
siêu dữ liệu và sử dụng các cấu trúc dữ liệu tiên tiến để cải thiện hiệu suất, độ tin cậy,
và sử dụng không gian ổ đĩa, cộng thêm phần mở rộng nhƣ các danh sách kiểm soát
truy cập bảo mật (access control list-ACL) và bản ghi hệ thống tập tin .
- Bài toán đặt ra : Xây dựng chương trình truy xuất thông tin ổ cứng.
Ta sẽ sử dụng giao diện truy vấn WMI thực thi qua thư viện
Window.Management của C# để truy cập vào S.M.A.R.T của ổ cứng lấy ra các thông
tin bao gồm :
+ Sectors Per Track: Số Sector trên mỗi Track của Hard Disk.
+ Bytes Per Sector :Số Byte trên mỗi Sector của Hard Disk.
- Chương trình được xây dựng dựa trên ngôn ngữ : C#.
2.4. Sơ đồ hệ thống :
Hình 7. Sơ đồ hệ thống .
SVTH: Nguyễn Đình Long Trang 13
Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly
Đồ án đã tìm hiểu được cấu trúc cũng như cách hoạt động của ổ cứng, tìm hiểu về
các công nghệ mới như S.M.A.R.T giúp cho việc kiểm soát lỗi, tra cứu thông số của ổ
cứng trên máy tính đảm bảo quá trình hoạt động trơn tru và tránh mất mát dữ liệu của
người dùng.
Từ đó, xây dựng nên một chương trình giúp người dùng có thể dễ dàng, thuận tiện
trong việc theo dõi ổ cứng cá nhân của mình, kiểm tra tình trạng sức khỏe của ổ cứng
để kịp thời khắc phục, đồng bộ dữ liệu quan trọng.
Chương trình có thể tích hợp xem báo cáo định kỳ tình trạng ổ cứng được tự động
gửi về SMS hay email của người dùng từ đó dễ dàng hơn trong việc quản lý ổ cứng từ
xa.
Ý tưởng của mô hình này như sau : Client (máy khách) gửi yêu cầu (request) đến
Server (máy chủ, cung ứng dịch vụ cho các máy khách). Server xử lý dữ liệu và gửi
kết quả về cho Client.
Ví dụ : Mail Server : Ở phía Client, người dùng soạn thảo Email và gửi đến Mail
Server, phía Mail Server tiếp nhận và lưu trữ tới hộp mail thích hợp, tìm kiếm địa chỉ
mail được gửi đến và gửi đi.
1.2.2. Socket trong Java :
Socket là một điểm cuối (end-point) của liên kết truyền thông hai chiều (two-way
communication) giữa hai chương trình chạy trên mạng. Các lớp Socket được sử dụng
để biểu diễn kết nối giữa client và server, được ràng buộc với một cổng port (thể hiện
là một con số cụ thể) để các tầng TCP (TCP Layer) có thể định danh ứng dụng mà dữ
liệu sẽ được gửi tới.
Socket cung cấp kỹ thuật giao tiếp giữa hai máy tính sử dụng TCP.
Tại Client : Các Client biết tên máy của máy tính mà trên đó chương trình server
đang chạy và số cổng (PORT) mà server lắng nghe. Một chương trình client tạo một
socket trên đầu cuối của giao tiếp và tiến hành kết nối socket đó tới server.
Tại Server : Chương trình Server chấp nhận kết nối của Client. Khi chấp nhận thì
Server tạo ra Socket mới ràng buộc vào cổng. Nó đã tạo ra một socket mới để chăm
sóc Client vừa được chấp nhận kết nối.
bind(): Server yêu cầu gán số hiệu cổng (port) cho socket.
listen(): Server lắng nghe các yêu cầu nối kết từ các client trên cổng đã được gán.
Client tạo ra một socket, yêu cầu thiết lập một kết nối tới Server.
socket() : Client sẽ tạo ra một socket để sử dụng các dịch vụ tầng vận chuyển.
connect() : Client gửi yêu cầu kết nối tới Server có địa chỉ và port xác định.
accept() : Server chấp nhận nối kết của client, khi đó một kênh giao tiếp được hình
thành, Client và server có thể trao đổi thông tin với nhau thông qua kênh này.
Bước 2 : Truyền dữ liệu :
Sau khi chấp nhận yêu cầu nối kết, Server sẽ thực hiện lệnh read() khi có thông
điệp yêu cầu (Request Message) từ client gởi đến.
Server phân tích và thực thi yêu cầu. Kết quả sẽ được gởi về client bằng lệnh
write().
Sau khi gởi yêu cầu bằng lệnh write(), client chờ nhận thông điệp kết quả
(ReplyMessage) từ server bằng lệnh read().
Bước 3 : Kết thúc phiên làm việc :
Server hoặc Client đóng socket bằng lệnh close().
1.3. Một số khái niệm về thư điện tử:
1.3.1. Thư điện tử là gì ?
Email - Electronic mail (e-mail, email, E-Mail...) hay còn gọi là thư điện tử là cách
gọi phổ thông của cách thức giao tiếp, liên lạc của hệ thống xây dựng dựa trên những
chiếc máy tính. Tại 1 thời điểm cách đây khá lâu, thuật ngữ máy tính được dùng để ám
chỉ những cỗ máy làm việc với kích thước khổng lồ, người dùng phải áp dụng phương
pháp dial-up để truy cập, và mỗi chiếc máy tính đều được trang bị bộ nhớ và thiết bị
lưu trữ dành cho nhiều tài khoản. Sau đó không lâu, những nhà phát minh đã tìm cách
để các bộ máy này “giao tiếp” với nhau. Ứng dụng đầu tiên ra đời, nhưng họ chỉ gửi
được tin nhắn đến các người sử dụng khác trong cùng 1 hệ thống cho tới tận năm
1971. Và thời gian qua đi, công nghệ đã được phát triển lên 1 tầm cao mới khi Ray
Tomlinson trở thành người đầu tiên trên toàn thế giới gửi được bức thư điện tử tới
người khác sử dụng ký hiệu @. Và đó là nền tảng đầu tiên của khái niệm Email –
chúng ta đang đề cập tới.
Tại thời điểm đó, những email đã tương đương với tin nhắn dưới dạng text ngày
nay. Với sự phát triển không ngừng của công nghệ, email đã “tiến hóa” với những
thông tin đi kèm như chi tiết về người gửi, người nhận, tiêu đề, nội dung, file đính
kèm...
1.3.2. Cấu trúc thư điện tử :
SVTH: Nguyễn Đình Long Trang 23
Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly
Một bức thư bao gồm các trường header và phần body. Phần body là các dòng
văn bản kí tự theo bảng mã ASCII. Nó được phân cách với phần header bởi một
dòng trống.
Một số trường header điển hình :
Trường DATE : Trường này chứa đựng thông tin về ngày, giờ gửi thư.
Trường FROM : Trường thông tin này chứa đựng thông tin về người gửi thư
(sender).
Trường TO : Trường này chứa đựng thông tin về người nhận thư .
Trường CC : Trường này chứa đựng thông tin về người nhận thư thứ hai, có
nghĩa đồng gửi (carbon copy-cc).
Trường BCC : Trường này chứa đựng thông tin thêm về người nhận thư (blind
carbon copybcc). Nội dung của trường này không chứa đựng trong bản sao thư
gửi cho người nhận thứ đầu tiên và người nhận thư hai.
Trường MESSAGE-ID : Trường này chứa đựng thông tin định danh duy nhất
về bức thư được gửi đi.
Trường SUBJECT : Trường này chứa đựng thông tin về tiêu đề thư cần gửi.
Giao thức SMTP định nghĩa cách để chuyển giao thư tín trực tiếp giữa các máy
tính trên mạng. Nó có hai vai trò là gửi (sender-SMTP) và nhận (receiver-SMTP) thư.
Thông thường, bên gửi thiết lập một liên kết TCP với bên nhận, và bên nhận sử dụng
cổng truyền thông số 25 để cung cấp dịch vụ thư tín điện tử.
Trong một phiên giao dịch thư tín, bên gửi và bên nhận trao đổi tuần tự các lệnh và
các thông tin phản hồi .
SMTP dùng cổng 25 của giao thức TCP. Để xác định trình chủ SMTP của một tên
miền nào đấy (domain name), người ta dùng một mẫu tin MX (Mail eXchange – Trao
đổi thư) của DNS (Domain Name System – Hệ thống tên miền).
SMTP định nghĩa tất cả những gì đã làm với email. Nó xác định cấu trúc của các
địa chỉ, yêu cầu tên miền và bất cứ điều gì liên quan đến email.
1.3.3.2. Hoạt động của phiên giao dịch SMTP :
SMTP được thiết kế dựa trên mô hình truyền thông sau: khi người sử dụng (user)
gửi một yêu cầu dịch vụ thư tín, trước tiên Sender-SMTP thành lập một kênh truyền
thông hai chiều tới Receiver-SMTP thông qua việc thiết lập kết nối TCP cổng 25 .
Receiver-SMTP có thể là đích cuối cùng hoặc là một trạm trung gian. Sau đó, các lệnh
của SMTP được sinh ra từ phía SenderSMTP và gửi tới Receiver-SMTP. Receiver-
SMTP sẽ thao tác trên các lệnh đó và gửi trả kết quả về phía Sender-SMTP.
SMTP cung cấp cơ chế chuyển thư trực tiếp từ máy chủ của người gửi đến máy
chủ của người nhận khi hai máy chủ được kết nối trên cùng một dịch vụ truyền thông
hoặc qua một hoặc nhiều Server-SMTP chuyển tiếp khi các máy chủ nguồn và máy
chủ đích không cùng được kết nối tới cùng một dịch vụ truyền thông.
SMTP cung cấp một tập các lệnh cho phép các máy tính trên mạng có thể trao đổi
thực tiếp các thông tin theo một chuẩn qui định. Nhờ vào tập lệnh này, các hệ thống
thư tín khác nhau có thể trao đổi dữ liệu thư được với nhau. Mỗi lệnh đều có cùng
chiều dài bốn kí tự, hầu hết đều có tham số kèm theo.
Để bắt đầu một phiên giao dịch thư tín thì cần phải thực hiện thủ tục sau :
Lệnh HELO : Lệnh này dùng để xác nhận domain máy chủ SMTP Sender.
Ví dụ : SMTP SERVER : 220 bkdn.com Simple Mail Transfer Service Ready
SMTP CLIENT : HELO bkdn.com
SMTP SERVER : 250 bkdn.com
Lệnh MAIL: được gửi đi kèm theo là tham số về địa chỉ người gửi thư.
Ví dụ : SMTP CLIENT : MAIL FROM : <nguyendinhlong@bkdn.com>
SMTP SERVER : 250 OK
Lệnh RCPT được gửi đi kèm theo là tham số về địa chỉ người nhận thư. Có thể
thực hiện nhiều lần lệnh này trong trường hợp muốn gửi thư cho nhiều người.
Ví dụ : SMTP CLIENT : RCPT TO : <admin@bkdn.com>
SMTP SERVER : 250 OK
SMTP CLIENT : RCPT TO : <dinhlongit@bkdn.com>
SMTP SERVER : 250 OK
Lệnh DATA được gửi đi để xác nhận bắt đầu gửi dữ liệu của thư.
Ví dụ : SMTP CLIENT : DATA
SMTP SERVER : 354 Start mail input; end with <CRLF>.<CRLF>
SMTP CLIENT : message content here .
SMTP CLIENT : .
SMTP SERVER : 250 OK
Lệnh QUIT : Lệnh này dùng để kết thúc phiên giao dịch SMTP.
Ví dụ : SMTP CLIENT : QUIT
SMTP SERVER : 221 goodbye bkdn.com.
Client Mail sẽ sử dụng POP kết nối tới Server , nhận toàn bộ mail tiến hành lưu
mail cục bộ và xóa mail trên Server rồi ngắt kết nối.
1.3.4.2. Hoạt động của phiên giao dịch POP :
Server bắt đầu dịch vụ POP3 bằng cách ”lắng nghe” trên cổng TCP 110 xử lý và
gửi trả kết quả cho tiến trình yêu cầu dịch vụ phía Client.
Khi một tiến trình client muốn sử dụng dịch vụ, nó thiết lập một kết nối TCP lên
Server. Khi kết nối được thiết lập, POP SERVER sẽ gửi một trạng thái sẵn sàng phục
vụ. Khi đó client và server có thể trao đổi các lệnh cũng như thông điệp hồi đáp theo
chuẩn RFC 1081 cho đến khi kết thúc quá trình.
Các lệnh trong POP3 bao gồm từ khóa, có thể theo sau là một hoặc nhiều tham số.
Tất cả các lệnh đều được kết thúc bởi cặp ký tự CRLF.
Thông tin phản hồi của POP3 bao gồm một thông báo trạng thái và một từ khóa có
thể theo sau một số thông tin thêm.
Một phiên làm việc của POP3 phải trải qua ba trạng thái: trạng thái
AUTHORIZATION, trạng thái TRANSACTION và trạng thái UPDATE.
Trạng thái AUTHORIZATION : Phía client xác thực thông tin người nhận dựa
vào các lệnh .
Lệnh USER <param> : dùng để định danh user.
Lệnh PASS <param> : dùng để xác thực mật khẩu.
Ví dụ : POP SERVER : + OK POP3 bkdn.com
POP CLIENT : USER dinhlongit
POP CLIENT : + OK use PASS command to send password
POP CLIENT : PASS 123456
POP SERVER : + OK mailbox open, 6 messages
Trạng thái TRANSACTION : Phía Client có thể sử dụng bất cứ một lệnh POP3
nào để thực hiện giao dịch với POP3 Server. Các lệnh này có thể lặp lại mà không
bị hạn chế gì cả. Sau mỗi lệnh, phía POP3 Server sẽ gửi trả một thông tin phản hồi
và kết quả thực hiện.
Lệnh STAT : Lệnh này dùng để lấy thông tin về số thư trong mailbox và kích
thước của mailbox.
Lệnh LIST <param> : Lệnh này dùng để liệt kê danh sách các thư có trong
mailbox và kích thước tương ứng hoặc lấy thông tin về một thư cụ thể nào đó.
Lệnh RETR <param> : Lệnh này dùng để hiện thị nội dung thư tương ứng với số
hiệu đưa vào.
Lệnh DELE <msg> : Lệnh này dùng để xoá một thư tương ứng với số hiệu đưa
vào.
Lệnh NOOP: Lệnh này dùng để xác nhận kết nối với POP3 Server.
Lệnh RSET : Lệnh này dùng để khôi phục lại những thư đã bị đánh dấu xóa.
Trạng thái UPDATE:
Lệnh QUIT : Lệnh này dùng để kết thúc phiên giao dịch một cách hợp lệ. POP3
Server sẽ xóa vật lý tất cả thư đã bị đánh dấu xóa trong mailbox.
Là giao thức dùng để nhận thư điện từ từ Server . IMAP đặt sự kiểm soát email
trên mail server trong khi nhiệm vụ của POP là tải toàn bộ thông điệp email về client
server yêu cầu.
1.3.5.2. Đặc điểm của IMAP:
IMAP cung cấp truy cập email theo ba chế độ khác nhau: offline (ngoại tuyến),
online (trực tuyến) .
Truy cập chế độ offline IMAP giống như POP, các thông điệp email được truyền
đến máy client server, xóa khỏi mail server và mối liên kết bị ngắt.
Truy cập chế độ online là chế độ IMAP truy cập mà người dùng đọc và làm việc
với thông điệp email trong khi vẫn giữ đang kết nối với mail server (kết nối mở). Các
thông điệp này vẫn nằm ở mail server cho đến khi nào người dùng quyết định xóa nó
đi. Chúng đều được gắn nhãn hiệu cho biết loại để "đọc" hay "trả lời".
1.3.5.3. Cơ chế hoạt động của IMAP:
Kết nối đến server.
Lấy nội dung được yêu cầu từ người dùng và lưu đệm cục bộ
Xử lý các biên tập từ người dùng.
Ngắt kết nối.
+ SMTP Server : Xử lý yêu cầu chuyển mail của các user trong hệ thống vào
mailbox thích hợp thông qua các lệnh SMTP chuẩn RFC 821 sau khi client và
server đã thiết lập kết nối TCP cổng 25.
+ POP3 Server : Xử lý yêu cầu nhận mail của user thông qua các lệnh POP chuẩn
RFC 1081 sau khi client và server đã thiết lập kết nối TCP cổng 110.
2.3. Thiết kế hệ thống :
Phần mail client được thiết kế dưới dạng webmail đơn giản dùng Jsp – Servlet.
Sau khi mail user login có thể thao tác xem hộp thư đến, thực hiện gửi mail cho
user khác trong hệ thống.
Qua đồ án hiểu được về cơ chế gửi và nhận một email qua các giao thức
thông dụng như SMTP, POP3 và từ đó đã xây dựng nên một hệ thống email với
chương trình Mail Client và Mail Server hỗ trợ mô phỏng quá trình gửi và nhận
email giữa các tài khoản trên cùng mạng .
3.2. Hướng phát triển :
Cần tích hợp thêm nhiều chức năng hơn nữa như việc nhận và gửi email sang
SMTP Server khác, cho phép gửi các tin nhắn đa phương tiện, quản lý thông tin
của các email một cách linh hoạt hơn.