Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 145 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
145
Dung lượng
889,48 KB
Nội dung
Đồ án tốt nghiệp
Sinh viên thực hiện Nguyễn Xuân Thanh Trang 1
Đề tài:
“Xây dựngứngdụngWebmail”
Đồ án tốt nghiệp
Sinh viên thực hiện Nguyễn Xuân Thanh Trang 2
MỤC LỤC
PHẦN 1 : CƠ SỞ LÝ THUYẾT 9
CHƯƠNG 1 : GIỚI THIỆU CHUNG VỀ INTERNET VÀ
MỘT SỐ GIAO THỨC TRUYỀN THÔNG TRÊN INTERNET
10
1.1. GIỚI THIỆU CHUNG VỀ INTERNET 10
1.2. HỌ GIAO THỨC TCP/IP 11
1.3. GIAO THỨC LIÊN MẠNG IP 12
1.4. GIAO THỨC ĐIỀU KHIỂN TRUYỀN TCP 19
CHƯƠNG 2 : CƠ SỞ VỀ LẬP TRÌNH MẠNG TRÊN MÔ
HÌNH CLIENT/SERVER 21
2.1. LẬP TRÌNH GIAO TIẾP MẠNG VỚI WINDOWS SOCKETS 21
2.2. MỘT SỐ KHÁI NIỆM CƠ BẢN 22
2.2.1.Địa chỉ Internet 22
2.2.2. Khái niệm socket và port 22
2.3. CÁCH CÀI ĐẶT ỨNGDỤNG CLIENT/SERVER TCP 23
2.3.1. Cách cài đặt server TCP 24
2.3.2. Cách cài đặt client TCP 24
CHƯƠNG 3 : MỘT SỐ KHÁI NIỆM LIÊN QUAN ĐẾN THƯ
ĐIỆN TỬ 26
1.1. MAILSERVER 26
1.2. GIAO THỨC GỬI MAIL (MAIL TRANSPORT PROTOCOL) 26
Đồ án tốt nghiệp
Sinh viên thực hiện Nguyễn Xuân Thanh Trang 3
1.3.GIỚI THIỆU KIẾN TRÚC DỊCH VỤ THƯ ĐIỆN TỬ 27
1.3.1. Kiến trúc và các dịch vụ 27
1.3.2. Tác nhân người sử dụng (The User Agent) 30
1.3.2.1.Gửi thư (Sending Email) 30
1.3.2.2. Đọc thư (Reading Email) 31
1.3.2.3.Định dạng thông điệp (Message Formats) 32
1.3.2.4.Chuẩn RFC 822 33
1.4.PHÂN TÍCH CẤU TRÚC THƯ ĐIỆN TỬ, CÁC GIAO THỨC SMTP VÀ
POP3 36
1.4.1.Phân tích cấu trúc thư điện tử (RFC 822) 36
1.4.1.1. Giới thiệu 36
1.4.1.2. Mô tả về cấu trúc thư 37
1.4.2. Định nghĩa về các trường Header 39
1.4.3. Các trường header điển hình 39
1.4.4. Ví dụ về cấu trúc thư 41
1.5. PHÂN TÍCH GIAO THỨC SMTP (RFC 821) 42
1.5.1. Giới thiệu chung 42
1.5.2. Mô hình hoạt động phiên giao dịch 43
1.5.3. Thủ tục Mail 45
1.5.4. Thủ tục Forwarding 48
1.5.5. Các thủ tục Mailing và Sending 49
1.5.6. Các thủ tục Opening và Closing 51
1.5.7. Mã trả lời của các câu lệnh SMTP 52
1.6. PHÂN TÍCH GIAO THỨC POP3 (RFC 1081,1082) 53
1.6.1. Giới thiệu 54
1.6.2. Mô hình hoạt động phiên giao dịch 54
Đồ án tốt nghiệp
Sinh viên thực hiện Nguyễn Xuân Thanh Trang 4
1.6.3. Trạng thái AUTHORIZATION 56
1.6.4. Trạng thái TRANSACTION 59
1.6.5. Trạng thái UPDATE 64
1.6.6. Ví dụ về một phiên giao dịch POP3 65
1.7. MIME (MULTIPURPOSE INTERNET MAIL EXTENSIONS) 67
1.8.POP BEFORE SMTP(CHỨNG THỰC QUYỀN TRUY CẬP THEO GIAO
THỨC POP TRƯỚC KHI SỬ DỤNG SMTP) 69
1.9.MAIL CLIENT, WEB MAIL 70
CHƯƠNG 4 : GIỚI THIỆU VỀ CÁC CÔNG NGHỆ LIÊN
QUAN 70
2.1.GIỚI THIỆU VỀ JRUN WEBSERVER 3.1 70
2.2.GIỚI THIỆU VỀ SQL SERVER 7.0 71
2.2.1. Lý thuyết hệ quản trị cơ sở dữ liệu sql server 7.0 và Cấu trúc cơ sở
dữ liệu của sql server 7.0 71
2.2.2. Cấu trúc cơ sở dữ liệu vật lý: 72
2.2.2.1. Trang (page): 72
2.2.2.2 .Extent: 73
2.2.2.3 Những loại file trong CSDL:SQL Server có 3 loại file: 73
2.3. LÝ THUYẾT MÔ HÌNH QUAN HỆ 74
2. 3.1. Các khái niệm cơ bản 74
2.3.2. Khái Niệm phụ thuộc dữ liệu và các dạng chuẩn 74
2.3.3 Khái niệm chỉ dẫn và khóa chỉ dẫn 75
2.4.GIỚI THIỆU VỀ JAVA SERVLET 75
2.4.1.Khái niệm về JAVA SERVLET 75
2.4.2.Những ứngdụng thực tế của JAVA SERVLET và kiến trúc của
JAVA SERVLET 76
Đồ án tốt nghiệp
Sinh viên thực hiện Nguyễn Xuân Thanh Trang 5
2.5.GIỚI THIỆU VỀ JAVA SERVER PAGES(JSP) 76
2.5.1.Khái niệm về JSP 76
2.5.2.Quan hệ giữa Servlet và JSP 77
2.5.2.1.Cách trình chủ biên dịch trang JSP thành servlet 77
2.5.2.2. So sánh giữa Servlet và JSP 77
2.6. GIỚI THIỆU VỀ JAVABEANS 78
2.6.1.Khái niệm về JAVABEANS 78
2.6.2.Các thẻ chuẩn của JAVABEANS trong trang JSP 79
2.6.2.1.<jsp:useBean> 79
2.6.2.2.<jsp:setProperty> 80
2.6.2.3. <jsp:getProperty> 81
2.6.3.Thêm JAVABEANS vào JSP 81
PHẦN 2 : XÂY DỰNGỨNGDỤNG 83
CHƯƠNG 1 PHÂN TÍCH BÀI TOÁN 83
1.1.TÊN ĐỀTÀI 83
1.2.DỀ CƯƠNG CHI TIẾT 83
1.2.1.Khảo sát 83
1.2.2.Yêu cầu của bài toán 83
1.2.3.Dữ liệu vào, dữ liệu ra và các chức năng xử lý của hệ thống 84
1.2.4. Chức năng của hệ thống thông tin quản lý 85
1.3. LÝ DO CHỌN ĐỀTÀI 85
CHƯƠNG 2 : THIẾT KẾ VÀ CÀI ĐẶT ỨNGDỤNG 86
2.1.PHÂN TÍCH VÀ THẾT KẾ CƠ SỞ DỮ LIỆU 86
2.1.1.Phân tích 86
2.1.2. Giải thích các chức năng của hệ thống 88
Đồ án tốt nghiệp
Sinh viên thực hiện Nguyễn Xuân Thanh Trang 6
2.1.3.biểu đồ luồng dữ liệu( DFD – Data flow Diagram) 89
2.1.4. THIẾT KẾ HỆ THỐNG 89
2.1.4.1. Các bảng dữ liệu chính 89
2.2. CÀI ĐẶT MAILSERVER 91
2.2.1.Phương án tổ chức lưu trữ mail trên Server 91
2.2.2.Các đơn thể của mailserver 92
2.2.2.1. Xây dựng SMTP Server 93
2.2.2.2. Xây dựng POP3 Server 114
2.3.CÀI ĐẶT MAILCLIENT 136
Một số giao diện chính 142
LỜI CẢM ƠN
Trước hết tôi xin chân thành cảm ơn các thầy cô giáo khoa Đại học
Đại Cương của trường Đại học Thuỷ Sản Nha Trang và khoa Công Nghệ
Thông Tin trường Đại học Bách Khoa Hà Nội đã trang bị cho tôi những
kiến thức cơ bản cần thiết trong những năm học vừa qua để tôi có thể thực
hiện tốt cuốn đồ án này.
Đồ án tốt nghiệp
Sinh viên thực hiện Nguyễn Xuân Thanh Trang 7
Em xin chân thành cảm ơn thầy Văn Thế Minh đã tận tình giúp đỡ và
hướng dẫn em hoàn tất cuốn đồ án này. Ngoài ra tôi cũng xin cảm ơn tất cả
bạn bè đã giúp đỡ tôi trong suốt quá trình thực hiện đồ án.
Mặc dù đã rất cố gắng, nhưng trong khoảng thời gian cho phép cũng
như những hạn chế về kiến thức nên cuốn đồ án này của tôi không thể
tránh khỏi những thiếu sót. Chính vì vậy, tôi rất mong nhận được sự góp ý
của các thầy cô giáo cũng như bạn bè gần xa và những cá nhân hay tổ chức
có quan tâm đến lĩnh vực được trình bày trong cuốn đồ án này.
Hà Nội, tháng 5 năm
2003
Nguyễn Xuân Thanh
Đồ án tốt nghiệp
Sinh viên thực hiện Nguyễn Xuân Thanh Trang 8
LỜI NÓI ĐẦU
Ngày nay với sự phát triển mạnh mẽ của tin học và công nghệ
Internet, hầu như mọi người đều thấy rõ lợi ích mà các dịch vụ do mạng
Internet mang lại.
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.
Thông thường, khi sử dụng dịch vụ thư tín điện tử, người sử dụng
thường ít khi quan tâm xem hệ thống bên trong đã thực hiện như thế nào.
Vì vậy, họ ( người sử dụng) mới chỉ thấy được một nửa của ứngdụng dịch
vụ Email và phần ứngdụng đó được gọi là Mail Client, hay là sử dụng dịch
vụ thư tín máy trạm.
Đồ án tốt nghiệp
Sinh viên thực hiện Nguyễn Xuân Thanh Trang 9
Nhằm mục đích hiểu rõ hơn về hoạt động bên trong của ứngdụng
Email ở phần cung cấp dịch vụ mà thường được gọi là Mail Server, trong
cuốn đồ án này tôi xin trình bày một cách cơ bản hệ thống phục vụ việc
truyền thư tín điện tử trên cơ sở tìm hiểu về các mô hình truyền thông thư
tín, các giao thức truyền thông chuẩn, các hoạt động của một hệ Mail
Server.
Vì thời gian có hạn và có rất nhiều các vấn đề có liên quan, do đó đồ
án này chỉ trình bày những vấn đề cơ bản nhất về dịch vụ thư tín điện tử và
cài đặt một chương trình mang tính thử nghiệm do dịch vụ thư tín điện tử
mà thôi.
PHẦN 1 : CƠ SỞ LÝ THUYẾT
Đồ án tốt nghiệp
Sinh viên thực hiện Nguyễn Xuân Thanh Trang 10
CHƯƠNG 1 : GIỚI THIỆU CHUNG VỀ INTERNET VÀ
MỘT SỐ GIAO THỨC TRUYỀN THÔNG TRÊN
INTERNET
1.1. GIỚI THIỆU CHUNG VỀ INTERNET
Mạng Internet là một tập hợp gồm hàng vạn hệ mạng trên khắp thế giới, được
phát triển vào thập kỷ bảy mươi. Số lượng máy tính nối mạng và số lượng người truy
cập vào mạng Internet trên toàn thế giới đang ngày càng tăng lên nhanh chóng, đặc
biệt từ năm 1993 trở đi. Mạng Internet không chỉ cho phép chuyển tải thông tin nhanh
chóng mà còn giúp cung cấp thông tin, nó cũng là diễn đàn và là thư viện toàn cầu đầu
tiên.
Mạng Internet có xuất xứ năm 1969 từ mạng máy tính toàn cục ARPANET do
cơ quan quản lý các dự án nghiên cứu các công trình nghiên cứu khoa học tiên tiến
thuộc Bộ Quốc phòng Mỹ (US Defense’s Advance Research Projects Agency - gọi tắt
là DARPA) tài trợ. Từ giữa năm 1970, trung tâm DARPA hướng tới mạng Internet với
kỹ thuật chuyển mạch gói qua mạng vô tuyến và thông tin vệ tinh. Năm 1980, DARPA
thử nghiệm dùng giao thức TCP/IP và đã được các trường đại học ở Mỹ ghép nối với
hệ điều hành UNIX BSD (Berkely Software Distribution).
Hệ điều hành UNIX là hệ phát triển mạnh với rất nhiều công cụ hỗ trợ và đảm
bảo các phần mềm ứngdụng có thể chuyển qua lại trên các họ máy khác nhau (máy
mini, máy tính lớn và hiện nay là máy vi tính). Bên cạnh đó hệ điều hành UNIX BSD
còn cung cấp nhiều thủ tục Internet cơ bản, đưa ra khái niệm Socket và cho phép
chương trình ứngdụng thâm nhập vào Internet một cách dễ dàng.
Cấu trúc mạng Internet gồm có:
[...]... các hàm gửi hay nhận dữ liệuđể trao đổi thông tin với server, ví dụ như các hàm send, recv 4 Sau khi đã hoàn tất quá trình trao đổi dữ liệu, ứngdụng client gọi hàm closesocket để đóng socket đã tạo Hình minh họa các bước cần thiết để các ứngdụng client và server giao tiếp với nhau như sau: Sinh viên thực hiện Nguyễn Xuân Thanh Trang 24 Đồ án tốt nghiệp ứngdụng Server ứngdụng Client Tạo một socket... một client nối vào thì hàm listen trả điều khiển về, ứngdụng server gọi hàm accept để xác nhận mối nối của client 5 Gọi các hàm gửi hay nhận dữ liệuđể trao đổi thông tin với client, ví dụ như hàm send, recv Sau khi đã hoàn tất quá trình trao đổi dữ liệu, ứngdụng server gọi hàm closesocket để đóng socket đã tạo 2.3.2 Cách cài đặt client TCP ứngdụng client thực hiện các bước sau: 1 Gọi hàm socket... thống mạng Các socket và port trong mối nối TCP 2.3 CÁCH CÀI ĐẶT ỨNGDỤNG CLIENT/SERVER TCP Sinh viên thực hiện Nguyễn Xuân Thanh Trang 23 Đồ án tốt nghiệp 2.3.1 Cách cài đặt server TCP ứngdụng server làm việc theo qui trình sau đây: 1 Gọi hàm socket để tạo một socket 2 Gọi hàm bind để kết buộc socket với một port, đối với mỗi giao thức ứng chuẩn thì sẽ có một hằng số được định nghĩa sẵn trong Winsock... số ứngdụng ở tầng trên như Telnet, FTP, DNS, SMTP 1.3 GIAO THỨC LIÊN MẠNG IP Mục đích chính của IP là cung cấp khả năng kết nối các mạng con thành liên mạng để truyền dữ liệu Vai trò của IP tương tự vai trò của giao thức tầng mạng trong mô hình OSI IP là một giao thức kiểu ”không liên kết” (connectionless) có nghĩa là không cần có giai đoạn thiết lập liên kết trước khi truyền dữ liệu Đơn vị dữ liệu. .. lệnh dùng giao thức TCP/IP đã được viết sẵn như: ftp, telnet, finger , Windows NT cho phép người lập trình phát triển các ứngdụng khai thác kỹ thuật TCP/IP thông qua một thư viện tên là Windows Sockets Có ba lý do chính để người lập trình sử dụng kỹ thuật TCP/IP: Có thể viết các ứngdụng trên Windows NT để nối vào mạng UNIX và khai thác các dịch vụ có sẵn trên đó Tạo ra các dịch vụ trên máy Windows... tính và các thao tác đọc/ghi chính là sự trao đổi dữ liệu giữa các ứngdụng trên nhiều máy khác nhau Trong giao thức truyền thông TCP, mỗi mối nối giữa hai máy tính được xác định bởi một port, khái niệm port ở đây không phải là một cổng giao tiếp trên thiết bị vật lý mà chỉ là một khái niệm logic trong cách nhìn của người lập trình, mỗi port được tương ứng với một số nguyên dương Hình bên dưới minh họa... TCP là một giao thức kiểu ”có liên kết” (connection - oriented), nghĩa là cần phải thiết lập liên kết (logic) giữa một cặp thực thể TCP trước khi chúng trao đổi dữ liệu với nhau Đơn vị dữ liệu sử dụng trong TCP được gọi là segment (đoạn dữ liệu) , có khuôn dạng mô tả trong hình bên dưới Các tham số trong khuôn dạng trên có ý nghĩa như sau: Sinh viên thực hiện Nguyễn Xuân Thanh Trang 19 Đồ án tốt nghiệp... dấu hai chấm, và cho hầu hết các trường đều có một giá trị RFC 822 là một chuẩn cũ và giữa các trường header của phong bì (envelope) không phân biệt rõ ràng như một chuẩn mới khác Khi sử dụng, thông thường UA xây dựng một thông điệp và đưa nó qua bộ phận tác nhân truyền thông điệp (message transfer agents - MTA), ở đây nó dùng một số các trường header để xây dựng một envelope thực sự, thông điệp được...Đồ án tốt nghiệp Tầng ứng dụng: TELNET, FTP, SMTP; Tầng giao vận: TCP, UDP; Tầng Internet: Internet Protocol; Tầng mạng: X.25, Ethernet, FDDI .; Tầng vật lý: là các môi trường truyền tin khác nhau 1.2 HỌ GIAO THỨC TCP/IP TCP/IP là họ của các giao thức được sử dụng cho việc truyền thông máy tính Các chữ cái được viết tắt bởi các từ (Transmission... dữ liệu (cơ chế cửa sổ) Đây chính là số lượng các byte dữ liệu, bắt đầu từ byte được chỉ ra trong vùng ACK number, mà trạm nguồn đã sẵn sàng để nhận Checksum (16 bits): mã kiểm soát lỗi (theo phương pháp CRC) cho toàn bộ segment (header + data) Sinh viên thực hiện Nguyễn Xuân Thanh Trang 20 Đồ án tốt nghiệp Urgent Pointer (16 bits): con trỏ này trỏ tới số hiệu tuần tự của byte đi theo sau dữ liệu . nghiệp
Sinh viên thực hiện Nguyễn Xuân Thanh Trang 1
Đề tài:
“Xây dựng ứng dụng Webmail”
Đồ án tốt nghiệp
Sinh viên thực hiện Nguyễn Xuân. vậy, họ ( người sử dụng) mới chỉ thấy được một nửa của ứng dụng dịch
vụ Email và phần ứng dụng đó được gọi là Mail Client, hay là sử dụng dịch
vụ thư