Mạng máy tính - Chương 2 (tiếp): Giao thức tầng ứng dụng (application layer)

Web programming with ASP.

Visual Basic programming.

Object oriented programming.

Event driven programming.

Component driven programming.

TCP Socket programming.

Simple web server.

 

ppt46 trang | Chia sẻ: Mr Hưng | Lượt xem: 876 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Mạng máy tính - Chương 2 (tiếp): Giao thức tầng ứng dụng (application layer), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 2 (tiếp). Giao thức tầng ứng dụng (application layer)Đoàn Thị Thu Hà1-6/20051Chapter 2. The Application LayerDiscussionWeb programming with ASP.Visual Basic programming.Object oriented programming.Event driven programming.Component driven programming.TCP Socket programming.Simple web server.1-6/20052Chapter 2. The Application LayerCh2. The Application Layer2.1. Một số khái niệm và nguyên tắc.2.2. Web & Hyper Text Transfer Protocol.2.3. Web design and HTTP, Web programming.2.4. File Transfer Protocol.2.5. Electronic Mail Protocols.2.6. Domain Name System.1-6/20053Chapter 2. The Application Layer2.4. FTP - File Transfer ProtocolTruyền/tải tệp (to/from remote host).Client/server modelClient: đưa ra yêu cầu truyền tải.Server = remote host.FTP: RFC 959file transferFTPserverFTPuserinterfaceFTPclientlocal filesystemremote filesystemuser at host1-6/20054Chapter 2. The Application LayerFTP: control & data connectionsFTP sử dụng TCP.FTP sử dụng đồng thời 2 liên kết TCP tại 2 cổng:TCP control connection, port 21: trao đổi các thông điệp điều khiển (commands, responses).TCP data connection, port 20: truyền tải tệp.FTP lưu giữ trạng thái client trong phiên làm việc (state vs. HTTP is stateless).FTPclientFTPserverTCP control connectionport 21TCP data connectionport 201-6/20055Chapter 2. The Application LayerFTP: Quá trình trao đổi/truyền tảiFTP server nghe tại cổng 21.FTP client yêu cầu kết nối với FTP server qua TCP tại cổng 21. Gửi user & password để đăng nhập.FTP server chấp nhận, liên kết điều khiển (control connection) được thiết lập. Quá trình trao đổi có thể bắt đầu.Khi server nhận được lệnh truyền tệp, nó mở liên kết dữ liệu (data connection) tới client, tệp được truyền qua liên kết này.Sau khi truyền xong một tệp, server ngắt liên kết dữ liệu (mỗi liên kết chỉ sử dụng để truyền một tệp).clientserverTCP control connectionport 21TCP data connectionport 201-6/20056Chapter 2. The Application LayerFTP commands, responsesSample commands:sent as ASCII text over control channelUSER usernamePASS passwordLIST return list of file in current directoryRETR filename retrieves (gets) fileSTOR filename stores (puts) file onto remote hostSample return codesstatus code and phrase (as in HTTP)331 Username OK, password required125 data connection already open; transfer starting425 Can’t open data connection452 Error writing fileLệnh (commands), phúc đáp (responses) được truyền dạng ASCII1-6/20057Chapter 2. The Application LayerFTP clients & serversCommand-based client:Windows FTP command.Linux FTP command.GUI clientsWindows Commander.CuteFTP, WS_FTPMicrosoft FTP Servicefile transferFTPserverFTPuserinterfaceFTPclientlocal filesystemremote filesystemuser at host1-6/20058Chapter 2. The Application LayerCuteFTP1-6/20059Chapter 2. The Application LayerCh2. The Application Layer2.1. Một số khái niệm và nguyên tắc.2.2. Web & Hyper Text Transfer Protocol.2.3. Web design and HTTP, Web programming.2.4. File Transfer Protocol.2.5. Electronic Mail Protocols.2.6. Domain Name System.1-6/200510Chapter 2. The Application Layer2.5. Electronic MailBa thành phần chính:User agents (mail clients)Soạn, đọc thư (messages).Vd: Outlook, Eudora, Netscape Messenger...Mail serversLưu trữ, xử lý thư.Vd: Exchange, MDeamonProtocolsSimple Mail Transfer Protocol (SMTP).Post Office Protocol (POP).Internet Mail Access Protocol (IMAP).HTTP.user mailboxoutgoing message queuemailserveruseragentuseragentuseragentmailserveruseragentuseragentmailserveruseragentSMTPSMTPSMTP1-6/200511Chapter 2. The Application LayerAlice  Bob 1) Alice sử dụng UA soạn thư, đ/c gửi tới “to”: bob@yahoo.com.2) Alice’s UA gửi thư đến mail server của Alice, bức thư được xếp vào hàng đợi (message queue).3) Mail server của Alice mở liên kết TCP tới mail server của Bob.4) Mail server của Alice gửi thư qua liên kết TCP.5) Mail server của Bob cất thư nhận được vào hòm thư của Bob.6) Bob dùng UA để lấy thư từ server về rồi đọc thư.useragentmailservermailserveruseragent123456hua.edu.vnyahoo.comOutlookYahoo! Mail1-6/200512Chapter 2. The Application LayerSMTP (Simple Mail Transfer Protocol)Sử dụng liên kết TCP (port 25) để gửi mails:Từ sender’s mail client tới sender’s mail server.Từ sender’s mail server tới receiver’s mail server.Ba pha:Bắt tay (handshaking/greeting).Trao đổi messages.Kết thúc.Command/response:commands: ASCII.responses: status code & phrase.1-6/200513Chapter 2. The Application LayerSMTP: sample interaction (C: client; S: server) S: 220 yahoo.com C: HELO hau.edu.vn S: 250 Hello hau.edu.vn, pleased to meet you C: MAIL FROM: S: 250 alice@hau.edu.vn... Sender ok C: RCPT TO: S: 250 bob@yahoo.com ... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Hi Bob! C: Would you like to play tennis this evening? C: . S: 250 Message accepted for delivery C: QUIT S: 221 yahoo.com closing connection1-6/200514Chapter 2. The Application LayerSMTP: moreSMTP sử dụng persistent connection: một liên kết, nhiều thông điệp.Thông điệp (kể cả nội dung thư) phải được mã hoá dạng ASCII 7 bit (US-ASCII).Đánh dấu kết thúc msg bởi CRLF.CRLFMột số dữ liệu nhị phân (vd: picture) có thể chứa CRLF.CRLF  cần mã hoá để đảm bảo không có dữ liệu nào trùng với ký hiệu kết thúc message (vd: base64).So sánh với HTTP:HTTP: pull protocol SMTP: push protocol.Cùng sử dụng ASCII (command/req/resp/status code).HTTP: mỗi obj chứa trong một msg SMTP: cho phép nhiều obj (text, picture) trong một msg (multipart msg).1-6/200515Chapter 2. The Application LayerMail message formatSMTP: giao thức trao đổi email msg (exchange msgs).RFC 822: standard for text message format:Header lines, vd:To:From:Subject: Khác với smtp commands (MAIL FROM, RCPT TO,)!BodyThe “message”.ASCIIheaderbodyblankline1-6/200516Chapter 2. The Application LayerMIME (Multipurpose Internet Mail Extension)RFC 822: text msg, gặp khó khăn với multimedia.MIME: RFC 2045, RFC 2056.So với RFC 822, MIME thêm vào các header lines để mô tả nội dung của email msg.From: alice@hau1.edu.vnTo: bob@yahoo.comSubject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data multimedia datatype, subtype, parameter declarationmethod usedto encode dataMIME versionencoded data1-6/200517Chapter 2. The Application LayerMIME: Content typesContent-type: type/subtype; parameters1-6/200518Chapter 2. The Application LayerMIME: Encoding typesContent-Transfer-Encoding: Encoding type1-6/200519Chapter 2. The Application LayerFrom: alice@hau.edu.vnTo: bob@yahoo.comSubject: Picture of yummy crepe. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=StartOfNextPart --StartOfNextPartContent-Transfer-Encoding: quoted-printableContent-Type: text/plainDear Bob, Please find a picture of a crepe.--StartOfNextPartContent-Transfer-Encoding: base64Content-Type: image/jpegbase64 encoded data ..... ......................... ......base64 encoded data --StartOfNextPartMIME: Multiple objects mail message1-6/200520Chapter 2. The Application LayerThe received mail messageServer thêm vào dòng header mỗi khi nhận thư:Received: Return-path:Mail có thể được chuyển qua nhiều server khác nhau (forward).Received: from hamburger.edu by sushi.jp; 12 Oct 98 15:30:01 GMT Received: from crepes.fr by hamburger.edu; 12 Oct 98 15:27:39 GMT From: alice@crepes.frTo: bob@hamburger.eduSubject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ....... ........................................ .......base64 encoded data 1-6/200521Chapter 2. The Application LayerHiển thị full headers với Y! Mail1.Mail Options2.General Preference3.Messages: Show all1-6/200522Chapter 2. The Application LayerMail access protocolSMTP: giao thức gửi mail tới server.Mail access protocol: giao thức nhận mail từ server.POP (Post Office Protocol): RFC 1939. TCP Port 110.IMAP (Internet Mail Access Protocol): RFC 1730. TCP port 143.HTTP: Hotmail, Yahoo!...useragentsender’s mail serveruseragentSMTPSMTPaccessprotocolreceiver’s mail server1-6/200523Chapter 2. The Application LayerPOP3 protocol[1] Authorization phaseclient commands: user: declare usernamepass: passwordserver responses+OK-ERR[2] Transaction phase, client:list: list message numbersretr: retrieve message by numberdele: delete[3] Update phase:Quitnhững thay đổi (dele) được cập nhậtS: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on C: list S: 1 498 S: 2 912 S: . C: retr 1 S: S: . C: dele 1 C: retr 2 S: S: . C: dele 2 C: quit S: +OK POP3 server signing off[1][2][3]1-6/200524Chapter 2. The Application LayerPOP3 (more) and IMAPMore about POP3Chế độ “download and delete” (xem vd trước):Msg bị xoá khi thoát.Không thể nhận msg lần nữa.“Download-and-keep”:Msg được giữ lại server.Có thể nhận msg nhiều lần từ nhiều client.Không lưu trạng thái giữa các phiên làm việc (stateless).IMAP4Lưu trữ toàn bộ msg tại server.Cho phép người dùng tổ chức lưu trữ trên server (tạo thư mục, di chuyển msg)Lưu trạng thái giữa các phiên (state):Thư mục tự tạo.Các msgs đã di chuyển.1-6/200525Chapter 2. The Application LayerCh2. The Application Layer2.1. Một số khái niệm và nguyên tắc.2.2. Web & Hyper Text Transfer Protocol.2.3. Web design and HTTP, Web programming.2.4. File Transfer Protocol.2.5. Electronic Mail Protocols.2.6. Domain Name System.1-6/200526Chapter 2. The Application Layer2.6. DNS (Domain Name System)Địa chỉ IP (32 bit) được sử dụng để xác định một nút trong mạng TCP/IP: 203.162.8.82  khó nhớ!  Sử dụng tên (host name) song song với IP address.DNS (RFC 1034, RFC 1035, RFC 2136):Chuyển host name  IP address.From: Đ.V.Bình To: Phòng ĐTPhòng ĐT=> H.101HTTP (Internet Explorer)www.hau.edu.vn=> 203.162.8.82DNS clientwww.hau.edu.vn203.162.8.82DNS serversMr BinhMs Nam1-6/200527Chapter 2. The Application Layer2.6. DNS (Domain Name System)1-6/200528Chapter 2. The Application LayerDNS services DNS không tương tác trực tiếp với users mà cung cấp các dịch vụ cho các chương trình khác (HTTP, FTP) thuộc tầng ứng dụng:Host name  IP (hostname to IP resolve).Host aliasing.Một máy tính có tên chính thức và có thể có bí danh (alias).Mail server aliasing.@hau1.edu.vn  mail server address = ?Load distribution (phân tán tải)Một dịch vụ web (cnn.com, yahoo.com) có thể được cung cấp tại nhiều server có IP khác nhau để phân tán tải do lượng người sử dụng cao.1-6/200529Chapter 2. The Application LayerDomain name serversVd: client muốn biết IP của www.amazon.com thì:Tìm địa chỉ của com DNS servers  hỏi Root DNS servers.amazon.com  com DNS servers.www.amazon.com  amazon.com DNS servers.Root DNS Serverscom DNS serversorg DNS serversedu DNS serverspoly.eduDNS serversumass.eduDNS serversyahoo.comDNS serversamazon.comDNS serverspbs.orgDNS servers1-6/200530Chapter 2. The Application LayerInternet domain name spaceDomain name (tên miền):Miền = tập hợp các nút mạng có cùng một nút cha trong sơ đồ trên.Vd: hau1.edu.vn; yahoo.com; yale.edu.Sub-domain: cs.yale.edu;Host name: www.hau1.edu.vn; mail.hau1.edu.vn vn: Vietnam.edu: education.hau: Hanoi Agricultural University.www: máy chủ world wide web.mail: máy chủ mail.vn1-6/200531Chapter 2. The Application LayerInternet domain name space1-6/200532Chapter 2. The Application LayerInternet domain name space1-6/200533Chapter 2. The Application LayerInternet domain name space 1-6/200534Chapter 2. The Application LayerInternet domain name space1-6/200535Chapter 2. The Application LayerDNS: Root name servers 13 root name servers worldwideb USC-ISI Marina del Rey, CAl ICANN Los Angeles, CAe NASA Mt View, CAf Internet Software C. Palo Alto, CA (and 17 other locations)i Autonomica, Stockholm (plus 3 other locations)k RIPE London (also Amsterdam, Frankfurt)m WIDE Tokyoa Verisign, Dulles, VAc Cogent, Herndon, VA (also Los Angeles)d U Maryland College Park, MDg US DoD Vienna, VAh ARL Aberdeen, MDj Verisign, ( 11 locations)Khi local name server không thể chuyển host name  IP, gửi yêu cầu tới root srv.root name server:Liên lạc với authoritative name server nếu chưa thể ánh xạ đ/c ngay.Lấy kết quả ánh xạ gửi về từ authoritative name server.Trả kết quả về cho local name server.1-6/200536Chapter 2. The Application LayerTLD and Authoritative ServersTop-level domain (TLD) servers: chịu trách nhiệm về các miền com, org, net, edu và uk, fr, ca, jpNetwork Solutions: quản lý com TLD servers.Educause: quản lý edu TLD servers.Authoritative DNS servers: Mỗi host trong mạng muốn được biết đến phải được khai báo với một authoritiative DNS server.DNS servers của các tổ chức ánh xạ hostname  IP cho các hosts của tổ chức đó (vd: web, mail).Có thể được quản lý bởi các tổ chức hay nhà cung cấp dịch vụ.1-6/200537Chapter 2. The Application LayerLocal name serverThuộc quản lý của ISP (ISP, company, university).Khi một host muốn biết IP của một host nào đó, trước tiên, nó “hỏi” local name server.Không nhất thiết phải nằm trong kiến trúc DNS servers (độc lập).“Gần” máy tính của người sử dụng nhất nên thường được “hỏi thăm” đầu tiên mỗi khi có truy vấn DNS.Xem Windows Local DNS: ipconfig1-6/200538Chapter 2. The Application LayerDNS example1-6/200539Chapter 2. The Application LayerDNS example 1 Tình huống: host surf.eurecom.fr cần đ/c IP của gaia.cs.umass.edu1. Liên lạc với local DNS server: dns.eurecom.fr2. dns.eurecom.fr liên lạc với root name server (nếu cần)3. root name server liên lạc với authoritative name server: dns.umass.edu (nếu cần)requesting hostsurf.eurecom.frgaia.cs.umass.eduroot name serverAuthorititivename serverdns.umass.edulocal name serverdns.eurecom.fr1234561-6/200540Chapter 2. The Application LayerDNS example 2Root name server có thể:Không biết authoritative name server (ans).Biết intermediate name server (ins)Từ ins có thể tìm ra ansrequesting hostsurf.eurecom.frgaia.cs.umass.eduroot name serverlocal name serverdns.eurecom.fr123456authoritative name serverdns.cs.umass.eduintermediate name serverdns.umass.edu781-6/200541Chapter 2. The Application LayerDNS example 3recursive query:A hỏi B, B hỏi C, C hỏi D, rồi trả lời ngược lại.Server được hỏi chịu tải nặng gấp đôi?iterative query:DNS server được hỏi gợi ý hỏi một server khác.“I don’t know this name, but ask this server”requesting hostsurf.eurecom.frgaia.cs.umass.eduroot name serverlocal name serverdns.eurecom.fr123456authoritative name serverdns.cs.umass.eduintermediate name serverdns.umass.edu78iterated query1-6/200542Chapter 2. The Application LayerDNS: caching & updatingMỗi khi DNS server nhận được yêu cầu tra cứu IP, IP mà nó tìm được sẽ được lưu lại phục vụ cho những lần tra cứu tiếp theo.Timeout: thời gian hết hạn (sau một khoảng thời gian, bản ghi cache tương ứng bị xoá).TLD servers thường được cache tại local name servers.Cơ chế cập nhật/thông báo được đưa ra bởi IETF:RFC 2136 1-6/200543Chapter 2. The Application LayerDNS recordsType=Aname = hostnamevalue = IP addressType=NSname = domain namevalue = IP address của authoritative name server cho domain nàyType=CNAMEname = “bí danh” (alias). www.ibm.comvalue = tên thật. servereast.backup2.ibm.comType=MXname = domain namevalue = tên của mail serverDNS: distributed db storing resource records (RR)RR format: (name, value, type, ttl)1-6/200544Chapter 2. The Application LayerDNS protocol, messagesMsg header (12 bytes)Identification: số 16 bit reply msg sử dụng cùng id với req msg.Flags: nhiều bit, mỗi bit có một ý nghĩa:Query (0) hay reply (1)Authoritative DNS.recursion desired: client mong muốn DNS server tra cứu đệ quy.recursion available: server hỗ trợ tra cứu đệ quy.DNS Protocol: Query/reply messages có cùng format.1-6/200545Chapter 2. The Application LayerDNS messagesName, type fields for a queryRRs in reponseto queryrecords forauthoritative serversadditional “helpful”info that may be used1-6/200546Chapter 2. The Application Layer

Các file đính kèm theo tài liệu này:

  • pptchapter2b_3552.ppt
Tài liệu liên quan