Giao thức truyền thông trên Internet: Từ cơ bản đến ứng dụng

MỤC LỤC

GIAO THỨC ĐIỀU KHIỂN TRUYỀN TCP

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. Cũng giống nh ở các giao thức khác, các thực thể ở tầng trên sử dụng TCP thông qua các hàm dịch vụ nguyên thuỷ (service primitives), hay còn gọi là các lời gọi hàm (function calls).

CƠ SỞ VỀ LẬP TRÌNH MẠNG TRÊN MOÂ HÌNH CLIENT/SERVER

LẬP TRÌNH GIAO TIẾP MẠNG VỚI WINDOWS SOCKETS Windows NT là một hệ điều hành mạnh, cho phép tận dụng tối đa khả năng của

Trớc khi truyền dữ liệu giữa hai trạm cần phải thiết lập một liên kết TCP giữa chúng và khi không còn nhu cầu truyền dữ liệu thì liên kết đó sẽ đợc giải phóng. Giao thức truyền thông TCP/IP đã đợc dùng bởi hệ điều hành UNIX và mạng Internet, để các máy trên mạng NT có thể giao tiếp với các máy trên mạng khác, Windows NT cũng cung cấp giao thức này.

MỘT SỐ KHÁI NIỆM CƠ BẢN

• Có thể viết các ứng dụ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 NT để các máy UNIX có thể khai thác những dịch vụ này.

Khái niệm socket và port

  • CÁCH CÀI ĐẶT ỨNG DỤNG CLIENT/SERVER TCP

    Khi có một client nối vào thì hàm listen trả điều khiển về, ứng dụng server gọi hàm accept để xác nhận mối nối của client. Sau khi đã hoàn tất quá trình trao đổi dữ liệu, ứng dụng client gọi hàm closesocket để đóng socket đã tạo.

    MỘT SỐ KHÁI NIỆM LIÊN QUAN ĐẾN THƯ ĐIỆN TỬ

    GIỚI THIỆU KIẾN TRÚC DỊCH VỤ THƯ ĐIỆN TỬ

      Cho phép bất cứ trình soạn thảo nào có thể đợc sử dụng cho phần thân của thông điệp, các hệ thống có thể tự nó đảm trách việc đánh địa chỉ và chỉ số các trờng tiêu đề (header fields) đợc kèm theo cùng với mỗi thông điệp. Ví dụ nh, khi trả lời một thông điệp , hệ thống th điện tử có thể tách địa chỉ của ngời gửi từ các th đợc gửi đến và tự động chèn nó vào các trờng thích hợp trong phần hồi âm (reply).

      Reporting: Buộc phải thực hiện để báo cho ngời gửi những gì xảy ra đối với thông điệp vừa gửi là ở tình huấn đã gửi đến đích cha? hoặc việc gửi đã bị

      Các MTAs là các trình tiện ích hoạt động ở chế độ nền (background) thực hiện các nhiệm vụ cần thiết nh tiếp nhận th điện tử và chuyển th qua các hệ thống. Trong phần này, việc chuyển các thông điệp yêu cầu phải thiết lập một kết nối đến đích (ngời nhận) hay một số thao tác của thiết bị nh xuất thông.

      Displaying: Những thông điệp gửi đến đợc yêu cầu làm sao để mọi ngời có thể đọc đợc th của họ. Đôi khi ngời ta yêu cầu quá trình chuyển đổi hay một

      Transfer: Làm nhiệm vụ chuyển các thông điệp từ ngời gửi đến nơi ngời nhận. Reporting: Buộc phải thực hiện để báo cho ngời gửi những gì xảy ra đối với.

      Disposition: Là bớc cuối cùng liên quan đến những gì ngời nhận thực hiện

      • PHÂN TÍCH CẤU TRÚC THƯ ĐIỆN TỬ, CÁC GIAO THỨC SMTP VÀ POP3
        • PHÂN TÍCH GIAO THỨC SMTP (RFC 821)

          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 thay đổi bởi cái cũ đi một chút cùng với envelope. 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.

          DATA

            Trong một số trờng hợp địa chỉ trong tham số <forward-path> bị sai, nhng SMTP Receiver lại biết chính xác địa chỉ đích thì các thông tin phản hồi có thể đợc sử dụng. • Chi tiết: Lệnh này (viết tắt của chữ Send Or MaiL) yêu cầu dữ liệu của th đợc phân phát tới terminal của ngời sử dụng trong trờng hợp ngời sử dụng kích hoạt (và chấp nhận kiểu giao dịch này). • Chi tiết: Lệnh này (viết tắt của chữ Send And MaiL) yêu cầu dữ liệu của th đợc phân phát tới terminal của ngời sử dụng trong trờng hợp ngời sử dụng kích hoạt (và chấp nhận kiểu giao dịch này).

            QUIT

            • PHÂN TÍCH GIAO THỨC POP3 (RFC 1081,1082)

              Thuật ngữ ”lắng nghe” ở đây đợc hiểu theo nghĩa là tiến trình phía Server luôn luôn tiếp nhận các thông tin đến ở cổng dịch vụ mà nó cung cấp - trong trờng hợp này là cổng dịch vụ 110 - xử lý và gửi kết quả về cho tiến trình yêu cầu dịch vụ phía Client. Nếu thông tin phản hồi từ phía POP3 Server bắt đầu bằng dấu ”+” (+OK) thì phía Client có thể gửi tiếp lệnh PASS với tham số là mật khẩu của ngời nhận để kết thúc việc định danh hoặc cũng có thể gửi lệnh QUIT để kết thúc phiên giao dịch. Trong trờng hợp ngợc lại, nếu nh vì một lý do nào đó không thể khoá đợc mailbox (ví dụ nh không đợc quyền truy nhập hoặc mailbox đã bị khoá,.v.v) thì POP3 Server sẽ gửi một thông tin phản hồi ”-ERR” và kết thúc luôn phiên giao dịch.

              QUIT

              Mỗi lần phía Client thực hiện thành công việc định danh với POP3 Server, mailbox tơng ứng sẽ đợc khoá và phiên làm việc bây giờ sẽ ở trạng thái TRANSACTION. • Chi tiết: Lệnh này dùng để lấy thông tin về số th trong mailbox và kích thớc của mailbox tơng ứng với ngời sử dụng. Cấu trúc của dòng thông tin phản hồi này là: “+OK”, tiếp theo là một dấu cách trống, số lợng th trong mailbox và kích thớc của mailbox tơng ứng với ngời dùng đã xác định.

              LIST

              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. 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. Cuối cùng, phía Client thực hiện lệnh QUIT để chuyển phiên giao dịch sang trạng thái UPDATE.

              RSET

                MIME (MULTIPURPOSE INTERNET MAIL EXTENSIONS) Là các quy định về định kiểu và cấu trúc dữ liệu do nội dung mail để nó có thể chứa được các loại tài liệu phức hợp khác nhau như: hình ảnh, âm thanh, file nhũ phaừn…MIME coứn ủửụực bieỏt ủeỏn nhử một giao thức Internet mới mẻ đợc phỏt triển. Mixed Independent parts in the specified order Alternative Same message in different formats Parallel Parts must be viewed simultaneously Digest Each part is a complete RFC 822 message Các kiểu chính và kiểu phụ đợc định nghĩa trong RFC 1521. Để tránh tình trạng các máy chủ mail server bị lạm dụng gửi mail ồ ạt hay còn gọi là “bom thư”, cơ chế POP before SMTP yêu cầu máy khách muốn sử dụng dịch vụ mai của máy chủ trước hết phải đăng nhập vào tài khoản(account) theo giao thức POP.

                GIỚI THIỆU VỀ CÁC CÔNG NGHỆ LIEÂN QUAN

                • GIỚI THIỆU VỀ SQL SERVER 7.0
                  • GIỚI THIỆU VỀ JAVA SERVLET
                    • GIỚI THIỆU VỀ JAVA SERVER PAGES(JSP)
                      • GIỚI THIỆU VỀ JAVABEANS

                        Những chương trình ứng dụng thuộc dạng mail client có rất nhiều ví dụ như :Outlook Express, Netscap Communicator…nếu chương trình mail client được viết dưới dạng giao diện Web sẽ được gọi là Web mail. Cấu trúc trang dữ liệu: Các hàng dữ liệu (data row) được đưa vào tuần tự ngay sau page header, row offset được bắt đầu từ cuối trang, chỉ đến data row và cho biết byte bắt đầu của data row, kích thước hàng tối đa là 8060 byte. Mô hình kết hợp tốt nhất giữa servlet và JSP thường được gọi là MCV (Model – View – Controler) trong đó servlet đóng vai trò trung tâm điều khiển (controler) đưa ra quyết định xử lý, JSP đóng vai trò thể hiện giao diện hay hiển thị dữ liệu đã xử lý (View).

                        Bảng tạm và những stored procedure của user khi nối kết vào hệ thống được lưu  trong temdb database
                        Bảng tạm và những stored procedure của user khi nối kết vào hệ thống được lưu trong temdb database

                        XÂY DỰNG ỨNG DỤNG CHƯƠNG 1 PHÂN TÍCH BÀI TOÁN

                        TÊN ĐỀ TÀI

                          + Thư mục tương ứng với tên tài khoản, thông tin về user name và password để dùng cho việc POP3 Server chứng thực quyền truy cập của người dùng khi cần đọc mail. * Quản lý toàn bộ thông tin liên quan đến user như: họ, tên, ngày tháng năm sinh, nghề nghiệp, giới tính, quốc gia, thành phố…. Xuất phát từ mong muốn tìm hiểu một cách tường tận hơn hệ thống thư điện tử nhìn từ khía cạnh nhà thiết kế nên tôi đã quyết định chọn đề tài xây dựng ứng dụng thư điện tử theo mô hình Client Server.

                          THIẾT KẾ VÀ CÀI ĐẶT ỨNG DỤNG

                          CÀI ĐẶT MAILSERVER

                            Mỗi mailserver có thể có nhiều tên domain cho địa chỉ mail, các tên domain này được tổ chức trong 1 thư mục, ở đây ta chọn vietmail.com là tên domain mail. Trong thư mục email\data\vietmail.com chứa danh sách các thư mục con đại diện cho từng tài khoản (như thanhboeing, xuanthu…). //Phân tích các lệnh SMTP của trình khách – thực hiện việc tiếp nhận mail SMTPConnection connection = new SMTPConnection(s, this);.

                            Trình POP3 Server gồm hai phần, phần POPServer chịu trách nhiệm mở socket và lắng nghe kết nối từ trình khách gởi lên theo cổng 110 (cổng mặc định của giao thức POP3). Khi nhận được kết nối, POPServer yêu cầu lớp PÔPCnnection phân tích các lệnh của giao thức POP3 và gởi mail về cho trình khách.

                            Hình : Tổ chức thư mục lưu trữ mail
                            Hình : Tổ chức thư mục lưu trữ mail

                            CÀI ĐẶT MAILCLIENT Caáu truùc cuûa Website

                            Lần đầu tiên sử dụng CT để gửi nhận mail, chúng ta phải đăng ký một account mới cho riờng mỡnh, nghĩa là chỳng ta phải cú một username vaứ password. Khi gửi thư, ngưòi gửi thường ghi một nội dung ngắn vào vùng subject để người nhận biết được mục đích tổng quát của lá thư trước khi quyết định có đọc thư hay không. Cần chú ý rằng việc attach một tập tin vào mail cần phải được thực hiện đồng bộ giữa người gửi , người nhận và đường truyền thư.Nếu không có sự đồng bộ, nội dung của tập tin được attach có người nhận không đọc được.