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 hệ Mail Server
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Đồ án tốt nghiệp MỤC LỤC PHẦN : CƠ SỞ LÝ THUYẾT CHƯƠNG : 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 VEÀ INTERNET 1.2 HỌ GIAO THỨC TCP/IP 1.3 GIAO THỨC LIÊN MẠNG IP 1.4 GIAO THỨC ĐIỀU KHIỂN TRUYỀN TCP 12 CHƯƠNG : CƠ SỞ VỀ LẬP TRÌNH MẠNG TRÊN MÔ HÌNH CLIENT/SERVER 14 2.1 LẬP TRÌNH GIAO TIẾP MẠNG VỚI WINDOWS SOCKETS 14 2.2 MỘT SỐ KHÁI NIỆM CƠ BẢN 14 2.2.1.Địa chæ Internet 14 2.2.2 Khái niệm socket port 14 2.3 CAÙCH CÀI ĐẶT ỨNG DỤNG CLIENT/SERVER TCP 15 2.3.1 Cách cài đặt server TCP 15 2.3.2 Cách cài ñaët client TCP 15 CHƯƠNG : MỘT SỐ KHÁI NIỆM LIÊN QUAN ĐẾN THƯ ĐIỆN TỬ 18 1.1 MAILSERVER 18 1.2 GIAO THỨC GỬI MAIL (MAIL TRANSPORT PROTOCOL) 18 1.3.GIỚI THIỆU KIẾN TRÚC DỊCH VỤ THƯ ĐIỆN TỬ 18 1.3.1 Kiến trúc dÞch vơ 18 1.3.2 Tác nhân ngời sử dụng (The User Agent) 21 1.3.2.1.Gửi thư (Sending Email) 21 1.3.2.2 Đọc thư (Reading Email) 21 1.3.2.3.Định dạng thông điệp (Message Formats) 22 1.3.2.4.Chuaån RFC 822 22 1.4.PHÂN TÍCH CẤU TRÚC THƯ ĐIỆN TỬ, CÁC GIAO THỨC SMTP VÀ POP3 24 1.4.1.Phân tích cấu trúc thư điện tử (RFC 822) 24 1.4.1.1 Giíi thiƯu 24 1.4.1.2 Mô tả cấu trúc thư 25 1.4.2 Định nghĩa trờng Header 26 1.4.3 Các trờng header điển hình 26 Sinh viên thực Nguyễn Xuân Thanh Trang Đồ án tốt nghiệp THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN 1.4.4 VÝ dơ vỊ cÊu tróc th− 27 1.5 PHÂN TÍCH GIAO THỨC SMTP (RFC 821) 27 1.5.1 Giíi thiƯu chung 27 1.5.2 Mô hình hoạt động phiên giao dịch 28 1.5.3 Thđ tơc Mail 29 1.5.4 Thđ tơc Forwarding 31 1.5.5 C¸c thđ tơc Mailing vµ Sending 32 1.5.6 Các thủ tục Opening Closing 32 1.5.7 M· tr¶ lêi câu lệnh SMTP 33 1.6 PHÂN TÍCH GIAO THỨC POP3 (RFC 1081,1082) 34 1.6.1 Giíi thiƯu 34 1.6.2 Mô hình hoạt động phiên giao dịch 34 1.6.3 Trạng thái AUTHORIZATION 35 1.6.4 Trạng thái TRANSACTION 37 1.6.5 Trạng thái UPDATE 40 1.6.6 VÝ dơ vỊ phiên giao dịch POP3 41 1.7 MIME (MULTIPURPOSE INTERNET MAIL EXTENSIONS) 41 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) 43 1.9.MAIL CLIENT, WEB MAIL 43 CHƯƠNG : GIỚI THIỆU VỀ CÁC CÔNG NGHỆ LIÊN QUAN 43 2.1.GIỚI THIỆU VỀ JRUN WEBSERVER 3.1 43 2.2.GIỚI THIỆU VỀ SQL SERVER 7.0 44 2.2.1 Lyù thuyết hệ quản trị sở liệu sql server 7.0 Cấu trúc sở liệu sql server 7.0 44 2.2.2 Cấu trúc sở liệu vật lyù: 45 2.2.2.1 Trang (page): 45 2.2.2.2 Extent: 46 2.2.2.3 Những loại file CSDL:SQL Server có loại file: 46 2.3 LÝ THUYẾT MÔ HÌNH QUAN HỆ 46 3.1 Caùc khái niệm 46 2.3.2 Khái Niệm phụ thuộc liệu dạng chuẩn 47 2.3.3 Khái niệm dẫn khóa dẫn 47 2.4.GIỚI THIỆU VỀ JAVA SERVLET 47 2.4.1.Khaùi niệm JAVA SERVLET 47 2.4.2.Những ứng dụng thực tế JAVA SERVLET kiến trúc JAVA SERVLET 48 2.5.GIỚI THIỆU VỀ JAVA SERVER PAGES(JSP) 48 2.5.1.Khái niệm JSP 48 Sinh viên thực Nguyễn Xuân Thanh Trang Đồ án tốt nghiệp THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN 2.5.2.Quan hệ Servlet JSP 48 2.5.2.1.Cách trình chủ biên dịch trang JSP thành servlet 48 2.5.2.2 So sánh Servlet JSP 49 2.6 GIỚI THIỆU VỀ JAVABEANS 50 2.6.1.Khái niệm JAVABEANS 50 2.6.2.Các thẻ chuẩn JAVABEANS trang JSP 50 2.6.2.1. 50 2.6.2.2. 51 2.6.2.3 51 2.6.3.Thêm JAVABEANS vào JSP 51 PHAÀN : XÂY DỰNG ỨNG DỤNG 52 CHƯƠNG PHÂN TÍCH BÀI TOÁN 52 1.1.TÊN ĐỀ TÀI 52 1.2.DỀ CƯƠNG CHI TIẾT 53 1.2.1.Khảo sát 53 1.2.2.Yêu cầu toán 53 1.2.3.Dữ liệu vào, liệu chức xử lý hệ thống 53 1.2.4 Chức hệ thống thông tin quản lý 54 1.3 LÝ DO CHỌN ĐỀ TÀI 54 CHƯƠNG : THIẾT KẾ VÀ CÀI ĐẶT ỨNG DỤNG 54 2.1.PHÂN TÍCH VÀ THẾT KẾ CƠ SỞ DỮ LIỆU 54 2.1.1.Phân tích 55 2.1.2 Giải thích chức hệ thống 56 2.1.3.biểu đồ luồng lieäu( DFD – Data flow Diagram) 56 2.1.4 THIẾT KẾ HỆ THỐNG 57 2.1.4.1 Các bảng liệu 57 2.2 CÀI ĐẶT MAILSERVER 58 2.2.1.Phương án tổ chức lưu trữ mail Server 58 2.2.2.Các đơn thể mailserver 59 2.2.2.1 Xây dựng SMTP Server 59 2.2.2.2 Xaây dựng POP3 Server 72 2.3.CÀI ĐẶT MAILCLIENT 86 Một số giao diện 90 Sinh viên thực Nguyễn Xuân Thanh Trang THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Đồ án tốt nghiệp LỜI CẢM ƠN Trước hết xin chân thành cảm ơn thầy cô giáo khoa Đại học Đại Cương trường Đại học Thuỷ Sản Nha Trang khoa Công Nghệ Thông Tin trường Đại học Bách Khoa Hà Nội trang bị cho kiến thức cần thiết năm học vừa qua để thực tốt đồ án Em xin chân thành cảm ơn thầy Văn Thế Minh tận tình giúp đỡ hướng dẫn em hoàn tất đồ án Ngoài xin cảm ơn tất bạn bè giúp đỡ suốt trình thực đồ án Mặc dù cố gắng, khoảng thời gian cho phép hạn chế kiến thức nên đồ án tránh khỏi thiếu sót Chính vậy, mong nhận góp ý thầy cô giáo bạn bè gần xa cá nhân hay tổ chức có quan tâm đến lónh vực trình bày đồ án Hà Nội, tháng năm 2003 Nguyễn Xuân Thanh Sinh viên thực Nguyễn Xuân Thanh Trang THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Đồ án tốt nghiệp LỜI NÓI ĐẦU Ngày với phát triển mạnh mẽ tin học công nghệ Internet, người thấy rõ lợi ích mà dịch vụ mạng Internet mang lại Dịch vụ thư điện tử gọi tắt Email dịch vụ sử dụng nhiều Internet Dịch vụ cho phép cá nhân hay tổ chức trao đổi thư với thông qua mạng Internet Nhiều người sử dụng Internet để dùng dịch vụ Thông thường, sử dụng dịch vụ thư tín điện tử, người sử dụng thường quan tâm xem hệ thống bên thực Vì vậy, họ ( người sử dụng) thấy nửa ứng dụng dịch vụ Email phần ứng dụng gọi Mail Client, sử dụng dịch vụ thư tín máy trạm Nhằm mục đích hiểu rõ hoạt động bên ứng dụng Email phần cung cấp dịch vụ mà thường gọi Mail Server, đồ án xin trình bày cách hệ thống phục vụ việc truyền thư tín điện tử sở tìm hiểu mô hình truyền thông thư tín, giao thức truyền thông chuẩn, hoạt động hệ Mail Server Vì thời gian có hạn có nhiều vấn đề có liên quan, đồ án trình bày vấn đề dịch vụ thư tín điện tử cài đặt chương trình mang tính thử nghiệm dịch vụ thư tín điện tử mà Sinh viên thực Nguyễn Xuân Thanh Trang THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Đồ án tốt nghiệp PHẦN : CƠ SỞ LÝ THUYẾT CHƯƠNG : 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 tập hợp gồm hàng vạn hệ mạng khắp 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 số lợng ngời truy cập vào mạng Internet toàn giới ngày tăng lên nhanh chóng, đặc biệt từ năm 1993 trở Mạng Internet không cho phép chuyển tải thông tin nhanh chóng mà giúp cung cấp thông tin, diễn đàn th viện toàn cầu Mạng Internet có xuất xứ năm 1969 từ mạng máy tính toàn cục ARPANET quan quản lý dự án nghiên cứu 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 DARPA) tài trợ Từ 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 thông tin vệ tinh Năm 1980, DARPA thử nghiệm dùng giao thức TCP/IP đà đợ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 hệ phát triển mạnh với nhiều công cụ hỗ trợ đảm bảo phần mềm ứng dụng chuyển qua lại họ máy khác (máy mini, máy tính lớn máy vi tính) Bên cạnh hệ điều hành UNIX BSD cung cấp nhiều thủ tục Internet bản, đa khái niệm Socket cho phép chơng trình ứng dụng thâm nhập vào Internet cách dễ dàng Cấu trúc mạng Internet gåm cã: ♦ 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ý: môi trờng truyền tin khác 1.2 HOẽ GIAO THệC TCP/IP TCP/IP họ giao thức đợc sử dụng cho việc truyền thông máy tính Các chữ đợc viết tắt từ (Transmission Control Protocol/Internet Protocol), hai giao thức có cách biĨu diƠn kh¸c nhau, ng−êi ta Ýt sư dơng với tên đầy đủ hai giao thức Thờng giao thức đợc nhóm lại thành họ (đôi Sinh vieõn thửùc hieọn Nguyeón Xuaõn Thanh Trang THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Đồ án tốt nghieọp đợc gọi suites hay stacks) Các giao thức đợc nhóm lại với thờng đợc xác định cài đặt giao thøc Hä giao thøc TCP/IP bao gåm c¸c giao thøc nh− lµ IP (Internet Protocol) , ARP (Address Resolution Protocol), ICMP (Internet Control Message Protocol), UDP (User Datagram Protocol), TCP (Transport Control Protocol), RIP (Routing Information Protocol), Telnet, SMTP (Simple Mail Transfer Protocol), DNS (Domain Name System) vµ mét sè giao thức khác Hình bên dới mô tả kiến trúc mạng TCP/IP có so sánh với mô hình tham chiếu OSI để hình dung đợc tơng ứng chức tầng OSI Model Layers Application Layer Presentation Layer Session Layer Transport Layer TCP/IP Protocol Architecture Layers Application Layer Telnet Host-to-Host Transport Layer Network Layer Internet Layer Data Link Layer Network Interface Layer Physical Layer TCP/IP Protocol Suite FTP SMTP DNS TCP SNMP UDP IP ARP Ethernet RIP Token Ring IGMP ICMP Frame Relay ATM So sánh kiến trúc ISO TCP/IP TCP/IP thùc chÊt lµ mét hä giao thøc cïng lµm viƯc với để cung cấp phơng tiện truyền thông liên mạng Trong phần xem xét giao thøc IP, giao thøc TCP vµ mét sè øng dơng tầng nh Telnet, FTP, DNS, SMTP 1.3 GIAO THỨC LIÊN MẠNG IP Mơc ®Ých chÝnh cđa IP cung cấp khả kết nối mạng thành liên mạng để truyền liệu Vai trò IP tơng tự vai trò giao thức tầng mạng mô hình OSI IP giao thức kiểu không liên kết (connectionless) có nghĩa không cần có giai đoạn thiết lập liên kết trớc truyền liệu Đơn vị liệu dùng IP đợc gọi datagram, có khuôn dạng hình bên dới ý nghĩa tham số nh sau: Sinh viên thực Nguyễn Xuân Thanh Trang THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Đồ án tốt nghiệp • VER (4 bits): version hành IP đợc cài đặt ã IHL (4 bits): độ dài phần đầu (Internet Header Length) datagram, tính theo đơn vị từ (word = 32 bits) Độ dài tối thiểu tõ (20 bytes) 34 78 VE R 15 16 IH L Type of Service Total Length Indentification Time to live Header 31 Fla gs Protocol Fragment offset Header Checksum Source Address Destination Address Options + Padding Data (max: 65.535 bytes) Khuôn dạng IP datagram ã Type of service (8 bits): đặc tả tham số dịch vơ, cã d¹ng thĨ nh− sau: Preceden ce D T R Reser ved đó: Precedence (3 bits): thị quyền u tiên gửi datagram, cụ thể là: 111 - Network Control (cao nhÊt) 011 - Flash 110 - Internetwork Control 010 - Immediate 101 - CRITIC/ECP 001 - Priority 100 - Flas Override 000 - Routine (thÊp nhÊt) D (Delay) (1 bit): độ trễ yêu cầu D = độ trễ bình thờng D = độ trễ thấp T (Throughput) (1 bit): thông lợng yêu cầu T = thông lợng bình thờng T = thông lợng cao R (Reliability) (1 bit): độ tin cậy yêu cầu R = độ tin cậy bình th−êng R = ®é tin cËy cao Sinh viên thực Nguyễn Xuân Thanh Trang THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Đồ án tốt nghiệp • Total Length (16 bits): độ dài toàn datagram, kể phần header (tính theo đơn vị bytes) ã Indentification (16 bits): cïng víi c¸c tham sè kh¸c (nh− Source Address Destination Address) tham số dùng để định danh nhÊt cho mét datagram kho¶ng thêi gian nã liên mạng ã Flags (3 bits): liên quan đến phân đoạn (fragment) datagram, cụ thể lµ: D F M F Bit 0: reserved - cha sử dụng , lấy giá trÞ Bit (DF) = (May Fragment) = (Don’t Fragment) Bit (MF) = (Last Fragment) = (More Fragment) • Fragment Offset (13 bits): chØ vị trí đoạn (fragment) datagram, tính theo đơn vị 64 bits, có nghĩa đoạn (trừ đoạn cuối cùng) phải chứa vùng liệu có độ dài bội số 64 bits ã Time to live (8 bits): qui định thời gian tồn (tính giây) datagram liên mạng để tránh tình trạng datagram bị quẩn liên mạng Thời gian đợc cho trạm gửi đợc giảm (thờng qui ớc đơn vị) datagram qua router liên mạng ã Protocol (8 bits): giao thức tầng nhận vùng liệu trạm đích (hiện thờng TCP UDP đợc cài đặt IP) ã Header Checksum (16 bits): mà kiểm soát lỗi 16 bits theo phơng pháp CRC, cho vùng header ã Source Address (32 bits): địa trạm nguồn ã Destination Address (32 bits): địa trạm đích ã Options (độ dài thay đổi): khai báo options ngời gửi yêu cầu ã Padding (độ dài thay đổi): vùng đệm, đợc dùng để đảm bảo cho phần header kết thúc mốc 32 bits ã Data (độ dài thay đổi): vùng liệu, có độ dài bội số bits, tối đa 65535 bytes Sơ đồ địa hoá để định danh trạm (host) liên mạng đợc gọi địa IP 32 bits (32- bit- IP address) Mỗi địa IP có độ dài 32 bits đợc tách thành vùng (mỗi vùng byte), đợc biểu thị dới dạng thập phân, bát phân, thập lục phân nhị phân Cách viết phổ biến dùng ký pháp thập phân có dấu chấm (dotted decimal notation) để tách vùng Mục đích địa IP để định danh cho host liên mạng Do tổ chức độ lớn mạng (subnet) liên mạng khác nhau, ngời ta chia địa IP thành lớp, ký hiƯu lµ A, B, C, D vµ E, víi cấu trúc đợc hình bên dới Sinh viên thực Nguyễn Xuân Thanh Trang THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Đồ án tốt nghiệp 15 16 netid Líp A 23 24 hostid netid Líp B 31 Hostid netid Líp C hostid Multicast address Líp D Reserved for future use Líp E CÊu trúc lớp địa IP ã Lớp A cho phép định danh tới 126 mạng, với tối đa 16 triệu host mạng Lớp đợc dùng cho mạng có số trạm cực lớn ã Lớp B cho phép định danh tới 16384 mạng, với tối đa 65534 host mạng ã Lớp C cho phép định danh tới triệu mạng, với tối đa 254 host mạng Lớp đợc dùng cho mạng có trạm ã Lớp D dùng để gửi IP datagram tới nhóm host mạng ã Lớp E dự phòng để dùng tơng lai VÝ dô: 00001 010 00000 000 00000 000 00000 000 = 10.0.0.0 (Líp A) netid = 10 10000 000 00000 011 00000 010 00000 011 = 128.3.2.3 (Líp B) netid = 128.3 hostid = 2.3 11000 000 00000 000 00000 001 11111 111 = 192.0.1.255 (Líp C) netid = 192.0.1 hostid = 255 hớng đến tất host Một địa có hostid (host identifier) đợc dùng để hớng tới mạng định danh vùng netid (network identifier) Ngợc lại, địa có vùng hostid gồm toàn số đợc dùng để hớng tới tất host nối vào mạng netid, vùng netid gồm toàn số hớng tới tất host liên mạng Trong nhiều trờng hợp, mạng đợc chia thành nhiều mạng (subnet), lúc đa thêm vùng subnetid để định danh mạng Vùng subnet đợc lÊy tõ hostid, thĨ ®èi víi líp A, B, C nh sau (hình bên dới) Sinh vieõn thửùc Nguyễn Xuân Thanh 10 Trang ... Email phần cung cấp dịch vụ mà thư? ??ng gọi Mail Server, đồ án xin trình bày cách hệ thống phục vụ việc truyền thư tín điện tử sở tìm hiểu mô hình truyền thông thư tín, giao thức truyền thông chuẩn,. .. chủ mail server Địa thư? ??ng gọi mail host Về khái niệm socket địa IP trình bày phần sau 1.2 GIAO THỨC GỬI MAIL (MAIL TRANSPORT PROTOCOL) Để gửi mail đến máy chủ, trình khách phải sử dụng giao thức. .. chuyện với mail server Tương tự trình duyệt dùng giao thức HTTP để trò chuyện với trình chủ Web server Các trình khách muốn bắt tay với trình chủ mail server gửi mail lên máy chủ sử dụng giao thức