You are on page 1of 39

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA


KHOA CÔNG NGHỆ THÔNG TIN
----------

BÁO CÁO ĐỒ ÁN
CƠ SỞ NGÀNH MẠNG

Phần Nguyên lý hệ điều hành:


Xây dựng chương trình truy xuất thông tin đĩa cứng
Phần Lập trình mạng:
Tìm hiểu giao thức SMTP , POP3, IMAP4 và xây dựng
chương trình My Mail System.

GVHD : Th.S Nguyễn Thế Xuân Ly


SVTH : Nguyễn Đình Long
MSSV : 102160149
LỚP : 16T3

Đà 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

SVTH: Nguyễn Đình Long Trang 1


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

DANH MỤC HÌNH ẢNH


Hình 1. Cấu trúc ổ đĩa cứng …………………………………………………………………04
Hình 2. Cấu trúc của đĩa từ. …………………………………………………………………05
Hình 3. Cấu trúc Master Boot Record. ……….……………………………………………07
Hình 4. Cấu trúc của Partition table. ………………………………………………………08
Hình 5. Bản ghi MFT cho một tệp hoặc thư mục nhỏ………..…………………..…….…09
Hình 6. Một số thuộc tính của S.M.A.R.T . ………….…………………..…………………09
Hình 7. Sơ đồ hệ thống . ………….…………………………..………………………...……13
Hình 8. Giao diện chương trình thực thi . ………….………………….…………..………14
Hình 9. Giao diện chương trình thực thi .………….………………………..……..………15
Hình 10. Giao diện chương trình thực thi . ………….…………...………………..……...16
Hình 11. Giao diện chương trình thực thi . ………….……………...……………..……...17
Hình 12. Mô hình client – server . ………….………………………………..……..………20
Hình 13. Socket trong Java . ………….……………………………………………..………21
Hình 14. Mô hình TCP Socket Client – Server.………………………….………..………22
Hình 15. Cấu trúc thư điện tử. ………….…………………………………………..………24
Hình 16. Header của thư điện tử. ………….………………………..……………..………25
Hình 17. Hoạt động của SMTP. ………….…………………………….…………..………26
Hình 18. Một phiên giao dịch của SMTP . ………….……………………………..…..…28
Hình 19. Một phiên giao dịch của POP3. ………….……………………………...……..30
Hình 20. Sơ đồ hệ thống mail system. ………….………………………………….…...…32
Hình 21. Tổ chức lưu trữ email. ………….…………………………..……………………33
Hình 22. Sơ đồ hệ thống webmail. ………….………………………..………………..….34
Hình 23. Đăng nhập vào hệ thống.…………….………………………………………….34
Hình 24. Soạn email để gửi. …………………………………………………………….…35
Hình 25. Nhận toàn bộ hộp thư inbox. ………………………..…………………………36
Hình 26. Chương trình SMTP Server. ………….……………………………………..…37
Hình 27. Chương trình POP3 Server……………………………………………………38

SVTH: Nguyễn Đình Long Trang 2


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

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

SVTH: Nguyễn Đình Long Trang 3


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

PHẦN I: NGUYÊN LÝ HỆ ĐIỀU HÀNH


CHƯƠNG I: CƠ SỞ LÝ THUYẾT
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 :
1.1.1. Cấu tạo vật lý của đĩa cứng :
Ổ đĩa cứng là thiết bị dùng để lưu trữ dữ liệu trên bề mặt các tấm đĩa hình
tròn phủ vật liệu từ tính. Ổ đĩa cứng là loại bộ nhớ "không thay đổi" (non-
volatile), có nghĩa là chúng không bị mất dữ liệu khi ngừng cung cấp nguồn điện
cho chúng.

Ổ đĩ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:

Hình 1. Cấu trúc ổ đĩa cứng .

a. Cụm đĩa : Bao gồm toàn bộ các đĩa, trục quay và động cơ :

SVTH: Nguyễn Đình Long Trang 4


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Hình 2. Cấu trúc của đĩa từ.

Đĩ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.

SVTH: Nguyễn Đình Long Trang 5


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

b. Cụm đầu đọc :


Đầu đọc/ghi dữ liệu trong đĩa cứng (head) có công dụng đọc dữ liệu dưới dạng từ
hoá trên bề mặt đĩa từ hoặc từ hoá lên các mặt đĩa khi ghi dữ liệu.
Cần di chuyển đầu đọc/ghi (head arm hoặc actuator arm) là các thiết bị mà đầu
đọc/ghi gắn vào nó. Cần có nhiệm vụ di chuyển theo phương song song với các đĩa từ
ở một khoảng cách nhất định, dịch chuyển và định vị chính xác đầu đọc tại các vị trí từ
mép đĩa đến vùng phía trong của đĩa (phía trục quay).

c. Cụm mạch điện:


Mạch điều khiển: có nhiệm vụ điều khiển động cơ đồng trục, điều khiển sự di
chuyển của cần di chuyển đầu đọc để đảm bảo đến đúng vị trí trên bề mặt đĩa.
Mạch xử lý dữ liệu: dùng để xử lý những dữ liệu đọc/ghi của ổ đĩa cứng.
Bộ nhớ đệm (cache hoặc buffer): là nơi tạm lưu dữ liệu trong quá trình đọc/ghi dữ
liệu. Dữ liệu trên bộ nhớ đệm sẽ mất đi khi ổ đĩa cứng ngừng được cấp điện.
Đầu cắm nguồn cung cấp điện cho ổ đĩa cứng.
Đầu kết nối giao tiếp với máy tính.
Các cầu đấu thiết đặt (jumper) thiết đặt chế độ làm việc của ổ đĩa cứng: Lựa chọn
chế độ làm việc của ổ đĩa cứng (SATA 150 hoặc SATA 300) hay thứ tự trên các kênh
trên giao tiếp IDE (master hay slave hoặc tự lựa chọn), lựa chọn các thông số làm việc
khác…

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.

SVTH: Nguyễn Đình Long Trang 6


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

1.1.1. Cấu trúc logic của Đĩa cứng ( Hệ thống FAT32 ) :

1.1.1.1. Cấu trúc Master Boot Record (MBR) :


MBR là một chuẩn quản lý phân vùng trên ổ cứng, và nó vẫn được sử dụng một
cách rộng rãi. Master Boot Record (MBR) là sector đầu tiên của một ổ đĩa cứng và
chứa các thông tin tổ chức các phân vùng trên thiết bị lưu trữ. Ngoài ra, MBR còn
chứa mã thực thi nó có thể quét các phân vùng active chứa hệ điều hành và tải lên
trong quá trình khởi động.
Trên một ổ đĩa MBR, chúng ta chỉ có thể chia thành 4 phân vùng primary. Để tạo
ra nhiều phân vùng hơn, bạn phải thiết lập phân vùng thứ 4 thành dạng extended bạn
sẽ chia phân vùng này thành nhiều sub-patitions hay còn (gọi là các logical driver) bên
trong nó. MBR dùng 32 bit để ghi nhận phân vùng, mỗi phân vùng vì thế chỉ có thể
mở rộng tối đa là 2 TB dung lượng.

Hình 3. Cấu trúc Master Boot Record .

1.1.1.2. Cấu trúc một Partition table :


Partition table là bảng thông số được duy trì bởi hệ điều hành với mục đích miêu tả
các phân vùng trên disk .
SVTH: Nguyễn Đình Long Trang 7
Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Nếu disk partition table bị mất, user không thể đọc, ghi data lên ổ đĩa.

Hình 4. Cấu trúc của Partition table.

1.1.2. Cấu trúc logic của Đĩa cứng ( Hệ thống NTFS ) :

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.

SVTH: Nguyễn Đình Long Trang 8


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Master File Table (MFT) :

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.

1.2. Công nghệ S.M.A.R.T của ổ cứng :

Đ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ờ,…

ID Tên thuộc tính Mô Tả

194 (0xC2) Temperature Chỉ ra nhiệt độ của ổ cứng.

09 (0x09) Power-On-Hours Số giờ làm việc của ổ cứng.

12 (0x0C) Power Cycle Count Số lần khởi động của ổ cứng.

Hình 6. Một số thuộc tính của S.M.A.R.T .

SVTH: Nguyễn Đình Long Trang 9


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

1.3. Tìm hiểu hệ thống File của hệ điều hành Windows

1.3.1. Khái niệm:

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ị .

1.3.2. Phân loại :

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.

1.3.3. Hệ thống file trong Windows:

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

SVTH: Nguyễn Đình Long Trang 10


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Để 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 .

SVTH: Nguyễn Đình Long Trang 11


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

CHƯƠNG II: THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH

2.1. Phân tích yêu cầu :

- Bài toán đặt ra : Xây dựng chương trình truy xuất thông tin ổ cứng.

2.2. Phân tích các chức nă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 :

 Thông tin của Hard Disk (ổ đĩa) :

+ Status: Trạng thái hoạt động của Hard Disk.

+ Temperature: Nhiệt độ của Hard Disk.

+ Power On Counts: Số lần khởi động của Hard Disk.

+ Power On Hours : Số giờ hoạt động của Hard Disk.

+ Model : Model của Hard Disk.

+ Capacity : Dung lượng của Hard Disk.

+ Serial : Số SERI của Hard Disk.

+ Partition : Số phân vùng của Hard Disk.

+ Interface : Giao diện kết nối của Hard Disk.

+ Cylinder : Số cylinder của Hard Disk.

+ Sectors : Số Sector của Hard Disk.

+ 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.

+ Heads : Số Mặt của Hard Disk.

+ Tracks : Số Track của Hard Disk.

+ Tracks Per Cylinder : Số Track trên mỗi Cylinder.

 Thông tin của Partition (phân vùng ) :

SVTH: Nguyễn Đình Long Trang 12


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

+ Name: Tên phân vùng.

+ Volume Label: Nhãn phân vùng.

+ Fomat : Định dạng của phân vùng.

+ Capacity : Tổng dung lượng của phân vùng.

+ Used Space : Dung lượng đã sử dụng.

+ Free Space : Dung lượng chưa sử dụng.

2.3. Môi trường xây dựng chương trình

- Chương trình được xây dựng dựa trên ngôn ngữ : C#.

- IDE sử dụng : Visual Studio.

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

2.5. Một số hình ảnh chương trình

Hình 8. Giao diện chương trình thực thi .

SVTH: Nguyễn Đình Long Trang 14


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Hình 9. Giao diện chương trình thực thi .

SVTH: Nguyễn Đình Long Trang 15


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Hình 10. Giao diện chương trình thực thi .

SVTH: Nguyễn Đình Long Trang 16


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Hình 11. Giao diện chương trình thực thi .

SVTH: Nguyễn Đình Long Trang 17


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

CHƯƠNG III: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN


3.1. Kết quả đạt được :

Đồ á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.

3.2. Hướng phát triển :

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.

SVTH: Nguyễn Đình Long Trang 18


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

PHẦN II: LẬP TRÌNH MẠNG


CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1. Giao thức TCP/IP :
1.1.1. TCP/IP là gì ?
TCP/IP là viết tắt của cụm từ Transmission Control Protocol/Internet Protocol.
TCP/IP là tập hợp các giao thức (protocol) điều khiển truyền thông giữa tất cả các máy
trên Internet.Cụ thể hơn , TCP/IP chỉ rõ cách thức đóng gói thông tin (hay còn gọi là
gói tin), được gửi và nhận các máy tính có kết nối với nhau. TCP/IP được phát triển
năm 1978 bởi Bob Kahn và Vint Ceft.
Ngày nay TCP/IP được sử dụng rộng rãi trong mạng cục bộ cũng như mạng toàn
cầu. TCP/IP được xem như giản lược của mô hình tham chiếu OSI với 4 tầng ứng
dụng như sau:
 Tầng liên kết (Datalink Layer)
 Tầng mạng (Internet Layer)
 Tầng giao vận (Transport Layer)
 Tầng ứng dụng (Application Layer)
1.1.2. Giao thức TCP :
TCP (Transmission Control Protocol - "Giao thức điều khiển truyền vận") là một
trong các giao thức cốt lõi của bộ giao thức TCP/IP. Sử dụng TCP, các ứng dụng trên
các máy chủ được nối mạng có thể tạo các "kết nối" với nhau, mà qua đó chúng có thể
trao đổi dữ liệu hoặc các gói tin.
TCP đòi hỏi thiết lập kết nối trước khi bắt đầu gửi dữ liệu và kết thúc kết nối khi
việc gửi dữ liệu hoàn tất. Cụ thể :
 Thiết lập kết nối
 Truyền dữ liệu
 Kết thúc kết nối
1.2. Mô hình Client – Server :
1.2.1. Khái niệm :

SVTH: Nguyễn Đình Long Trang 19


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Hình 12. Mô hình client – server .

Ý 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.

SVTH: Nguyễn Đình Long Trang 20


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Hình 13. Socket trong Java .

Mô hình Client-Server sử dụng Socket ở chế độ có nối kết (TCP) :

SVTH: Nguyễn Đình Long Trang 21


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Hình 14. Mô hình TCP Socket Client – Server.

Có thể phân thành 3 bước như sau:


 Bước 1 : Thiết lập kết nối :
 Server tạo ra 1 ServerSocket, gán số hiệu cổng và lắng nghe yêu cầu nối kết.
 Server yêu cầu tạo một socket để có thể sử dụng các dịch vụ của tầng vận
chuyển.

SVTH: Nguyễn Đình Long Trang 22


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

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

1.3.2.1. Cấu trúc địa chỉ email :


Địa chỉ Email (Email-address) là một định danh trên Internet, cho phép người sử
dụng Internet nhận biết được chính xác người cần liên hệ, giao dịch, trao đổi thông tin
và ra lệnh gửi các thông điệp, tài liệu, tài liệu (Email-message) tới định danh khác.
Địa chỉ Email bao giờ cũng bao gồm 2 phần ngăn cách nhau bằng ký tự @:
+ Phần thứ nhất là phần tên miền quản lý địa chỉ Email.
+ Phần thứ hai là phần tên chính của địa chỉ Email để phân biệt với
các địa chỉ Email khác do có cùng một tên miền quản lý.
1.3.2.2. Phân tích cấu trúc thư điện tử (RFC 822) :
Để có thể chuyển giao thư giữa các máy tính trên mạng, thư cần phải được cấu trúc
theo một chuẩn nào đó. Thông thường, một bức thư được cấu tạo bởi hai phần là
phong bì (envelope) và nội dung (body). Khái niệm này hoàn toàn giống như trong hệ
thống bưu chính thông thường.

Hình 15. Cấu trúc thư điện tử.

SVTH: Nguyễn Đình Long Trang 24


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.

Hình 16. Header của thư điện tử.

1.3.3. Giao thức SMTP :


1.3.3.1. Giới thiệu chung :
SMTP (Simple Mail Transfer Protocol) là giao thức truyền tải email đơn giản. Mục
đích của giao thức SMTP là để truyền thư đáng tin cậy và có hiệu quả.

SVTH: Nguyễn Đình Long Trang 25


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

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.

Hình 17. Hoạt động của SMTP.

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.

SVTH: Nguyễn Đình Long Trang 26


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

 Để 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.

SVTH: Nguyễn Đình Long Trang 27


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Hình 18. Một phiên giao dịch của SMTP .

1.3.4. Giao thức POP :


1.3.4.1. Giới thiệu chung :
POP viết tắt của từ Post Office Protocol là một giao thức tầng ứng dụng, dùng để
lấy thư điện tử từ server mail, thông qua kết nối TCP. POP đã được phát triển qua
nhiều phiên bản .POP3 và IMAP4 (Internet Message Access Protocol) là 2 chuẩn giao
thức Internet thông dụng nhất dùng để lấy nhận email. Hầu như các máy tính hiện nay
đều hỗ trợ cả 2 giao thức và đa số người dùng sử dụng POP3.
POP tuân theo một ý tưởng đơn giản là chỉ một máy khách (Client) yêu cầu truy
cập email trên Server và việc lưu trữ email cục bộ (lưu tại Client) là tốt nhất. Điều này
dẫn việc POP có những đặc điểm sau:
+ Mail được lưu tại client, nên luôn có thể truy cập email cũ ngay cả khi không có kết
nối Internet.
+ Tiết kiệm không gian lưu trữ trên Server do khi bạn hoàn thành việc tải email về
máy tính thì những email đó cũng được xóa khỏi Server.

SVTH: Nguyễn Đình Long Trang 28


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

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.

SVTH: Nguyễn Đình Long Trang 29


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

 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.

Hình 19. Một phiên giao dịch của POP3.

1.3.5. Giao thức IMAP :


1.3.5.1. Khái niệm :

SVTH: Nguyễn Đình Long Trang 30


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

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.

CHƯƠNG II: THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH


2.1. Phân tích yêu cầu :
Xây dựng Mail Server : Thực hiện chức năng tiếp nhận mail do trình khách
(mail client ) gửi lên SMTP server, lưu trữ trong hộp mail server, cho phép mail
client sử dụng giao thức POP3 lấy mail trên POP3 server.
Xây đựng Mail Client : Thực hiện các chức năng cơ bản của mail client như
việc gửi mail, nhận mail và hiển thị thông tin mail qua trình duyệt web với giao
thức HTTP.
2.2. Phân tích chức năng :
- Phía Client : Xây dựng ứng dụng webmail :
+ Chức năng Đăng Nhập : Cho phép người dùng đăng nhập bằng mail user hợp lệ
với hệ thống.
+ Chức năng Gửi Mail và Nhận Mail : Cho phép người dùng gửi một thông điệp
đến một mail user khác trong hệ thống thông qua giao thức SMTP và nhận về tất
cả các thông điệp trong mailbox của user.
- Phía Server : Xây dựng ứng dụng POP3 Server và SMTP Server .

SVTH: Nguyễn Đình Long Trang 31


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

+ 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 :

Hình 20. Sơ đồ hệ thống mail system.

2.3.1 Tổ chức lưu trữ mail trên mail server :


Để lưu trữ mail gửi đến trên server, hệ thống sẽ lưu thông điệp mail dưới dạng
tập tin trên đĩa cục bộ . Ta cần tổ chức thư mục để SMTP Server có thể lưu trữ mail
vào hộp thư của mỗi user như sau :

SVTH: Nguyễn Đình Long Trang 32


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Hình 21. Tổ chức lưu trữ email.

Ở đây mailserver ta sẽ thiết lập domain mail là bkdn.com và được tổ chức ở


trong một thư mục, một địa chỉ email hợp lệ được gửi đến SMTP SERVER phải
có dạng username@bkdn.com.
Trong thư mục C:\email\data\bkdn.com chứa các thư mục con đại diện cho
từng tài khoản (như dinhlongit, admin,nguyendinhlong,…) chứa hộp thư của tài
khoản và thông tin đăng nhập sẽ được lưu trong một file User.txt.

2.3.2. Các thành phần xử lý của Mail Server :


- Trình Mail Server bao gồm:
+ Thành phần SMTP Server: xử lý các tập lệnh SMTP trả lại mã lỗi do người dùng
gửi lên không hợp lệ.
Nhiệm vụ của SMTP Server là tiếp nhận các thông điệp mail do người dùng gửi
lên và lưu vào thư mục hộp thư mail nhất định để POP3 Server có thể truy xuất.
SMTP Server sẽ mở cổng 25 để lắng nghe trình khách và khi nhận được kết nối thì
sẽ mở một thread để phục vụ client cũng như phân tích các lệnh SMTP mà client
gửi lên.
+ Thành phần POP3 Server: xử lý các tập lệnh POP3.
POP3 Server sẽ mở cổng 110 để lắng nghe trình khách và khi nhận được kết nối thì
sẽ mở một thread để phục vụ client cũng như phân tích các lệnh POP3 mà client
gửi lên sau đó gửi mailbox về cho client.
2.3.3. Xây dựng mail client :

SVTH: Nguyễn Đình Long Trang 33


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

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.

Hình 22. Sơ đồ hệ thống webmail.

2.4 Một số hình ảnh :

Hình 23. Đăng nhập vào hệ thống.


SVTH: Nguyễn Đình Long Trang 34
Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Hình 24. Soạn email để gửi.

Hình 25. Nhận toàn bộ hộp thư inbox.

SVTH: Nguyễn Đình Long Trang 35


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Hình 26. Chương trình SMTP Server.

SVTH: Nguyễn Đình Long Trang 36


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

Hình 27. Chương trình POP3 Server.

CHƯƠNG III: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN


3.1. Kết quả đạt được :

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 :

SVTH: Nguyễn Đình Long Trang 37


Báo cáo Đồ án Cơ sở ngành mạng GVHD: Nguyễn Thế Xuân Ly

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.

TÀI LIỆU THAM KHẢO

SVTH: Nguyễn Đình Long Trang 38

You might also like