第二章应用层ApplicationLayer.ppt

上传人:本田雅阁 文档编号:2559126 上传时间:2019-04-07 格式:PPT 页数:80 大小:768.01KB
返回 下载 相关 举报
第二章应用层ApplicationLayer.ppt_第1页
第1页 / 共80页
第二章应用层ApplicationLayer.ppt_第2页
第2页 / 共80页
第二章应用层ApplicationLayer.ppt_第3页
第3页 / 共80页
亲,该文档总共80页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第二章应用层ApplicationLayer.ppt》由会员分享,可在线阅读,更多相关《第二章应用层ApplicationLayer.ppt(80页珍藏版)》请在三一文库上搜索。

1、Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,1,第二章 應用層 (Application Layer),Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,2,應用層-簡介,本章主要介紹在應用層所常用的協定 HTTP (section 2.2) FTP (section 2.3) E-mail (section 2.4) DNS (section 2.5) 並介紹用戶端(client)和伺服器

2、端(server)的關係 Service model Socket programming (section 2.6),Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,3,用戶端(client)和伺服器端(server),用戶端和伺服器端是一種互相依持的關係 (一個用戶端,一個伺服器端)或 (一個用戶端,數個伺服器端)或 (數個用戶端,一個伺服器端)或 (數個用戶端,數個伺服器端) 在執行一般的網路應用程式情況下,一台機器 是用戶端亦是伺服器端,Ch.2 Application-Layer,(

3、C) All rights reserved by Professor Wen-Tsuen Chen,4,用戶端(client)和伺服器端(server (cont.),用戶端 通常為送出要求(request)的一方或 最初建立連線(connection)要求的一方 向伺服器端要求提供服務(service)的一方 例如:使用者端的瀏覽器(browser) 伺服器端 通常為送出回應(reply)的一方 提供服務的一方 例如:網頁伺服器(web server),Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen

4、 Chen,5,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,6,用戶端(client)和伺服器端(server (cont.),Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,7,應用層(Application Layer),應用層是位於OSI七層中的最上層 為什麼我們需要應用層呢? 因為應用層提供了一個平台,可以讓許多的網路應用程式在應用層執行 這一些應用程式都是在對等的應用層做溝通,C

5、h.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,8,應用程式(applications),這裡泛指網路應用程式(Network Application) 應用程式分別於使用者的機器上執行 兩個或兩個(multicast application)以上應用程式透過網路溝通 由於上述的交換動作,所以應用層得以存在 例如: 電子郵件(E-mail) 檔案交換(FTP) 網頁瀏覽(Web browsing),Ch.2 Application-Layer,(C) All rights reserved by

6、 Professor Wen-Tsuen Chen,9,應用層協定(Application-layer Protocol),屬於應用程式的一部份 協定(protocol)中定義 使用此應用程式所需要的流程 所交換的訊息格式 訊息所表示的意義 與下層協定溝通的方法 例如: 我們瀏覽網頁需要HTTP協定,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,10,應用層協定(Application-layer Protocol) (cont.),Q:網路應用程式跟應用層的協定有什麼關係? 應用層的協定只

7、是網路應用程式的一部份而已 例如:HTTP和網頁應用程式的關係,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,11,應用層協定(Application-layer Protocol) (cont.),應用程式介面(API, Application Programmers Interface) API就像是進出應用程式的一扇門 應用程式透過API與下層協定溝通 在這裡網路程式所指的API就是常見的Socket Socket在後面有專節介紹 定址(Addressing) IP (ch. 4)或是

8、主機名稱(需搭配DNS) 指定應用程式(Socket port) Socket port就像是門的鑰匙,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,12,應用程式所需要的條件,資料流失(data loss) 在資料傳輸的過程難免會有資料流失,我們要注意應用程式所能夠接受的範圍,並加以改善 網路頻寬(Network Bandwidth) 我們需要考慮每一個應用程式所需要的頻寬需求 時間的影響(Time delay) 我們需要考慮時間對於應用程式的影響 例如:播放影片或是聲音,就不允許資料延遲

9、過久,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,13,應用程式所需要的條件(cont.),Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,14,網路傳輸層(Transport layer) - overview,傳輸層屬於OSI第四層 在應用層的下層傳輸層(ch. 3)提供了兩種不同的服務協定 TCP (Transmission Control Protocol ) UDP (User

10、Datagram Protocol) 在應用層所執行的網路應用程式都是透過這兩種協定來與網路溝通,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,15,網路傳輸層(Transport layer) overview (cont.),TCP service 連結導向(connection-oriented) 要透過TCP溝通需要先建立連線(three way handshake) 提供可靠的傳輸(reliable transport) 提供流量控制(flow control) 提供壅塞控制(co

11、ngestion control) UDP service 非連結導向(connectionless) 要透過UDP溝通不需要先建立連線 提供盡力的傳送(best effort transport),Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,16,TCPThree way handshake,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,17,常見的網路應用程式所使用的service,

12、Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,18,World Wide Web (WWW) Elements,URL: Uniform resource locator HTTP: Hypertext Transfer Protocol HTML: Hypertext Markup Language Java Language,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,19,URL:

13、 Uniform Resource Locator,RFC編號:1738, 1808. A URL is compact representation of the location and access method for a resource available via the Internet. 一個resource 是一個可以透過網路存取的任何物件, 包括檔案目錄、檔案、文件聲音和影像等 URL的一般表示法 :,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,20,RFC 1738為

14、了下列存取機制所定義之URL formats,ftp File Transfer Protocol http Hypertext Transfer Protocol gopher The Gopher Protocol mailto Electronic mail address news USNET news nntp USNET news using NNTP access telnet Reference to interactive sessions wais Wide-Area Information Servers file Host-specific file names pro

15、spero Prospero Directory Service,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,21,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,22,URI: Universal Resource Identifier (URI),RFC編號1630. 是一種將用在網際網路中的物件的名稱和位址的表示一致的語法 URL是URI的一種。 Decouple resource的

16、名稱從它所在的位置或是從它所存取的方法,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,23,HTTP,HTTP: Hyper Text Transfer Protocol Web的應用層協定 採用用戶端和伺服器端的服務架構 用戶端:要求、接收並顯示所接收的web pages 伺服器端:接受要求並回應所要求的web pages,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,24,HTTP,W

17、eb page所包含的原件有 Objects HTML file, jpeg image, java applet Base HTML file HTML是用來描述web page的一種語言 URL:是用來表示一個page或是object www.nthu.edu.tw/index-c.html (hostname + path name) 目前HTTP有兩種標準 http 1.0 (RFC 1945) http 1.1 (RFC 2068)目前所使用,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen C

18、hen,25,HTML: Hypertext Markup Language,使一種用來描述網頁的文件要如何定義的語言 Embedding markup commands with each HTML files so that a browser can reformat the files. HTML的標準化 由 WWW組織所制訂 ex: W3C,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,26,HTTP,HTTP下層協定使用TCP傳送服務 由用戶端初始化連線(setup TCP co

19、nnection),使用socket port 80與伺服器端溝通 伺服器端回應後,兩端開始交換訊息直到結束(TCP connection close) HTTP是一個stateless的協定 Stateless意指伺服器端不需要保有任何有關過去用戶端的要求訊息(request message) 通常協定要保有過去的state,就會變的很複雜,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,27,Non-persistent和persistent連線的不同,Non-persistent HTT

20、P/1.0 每一個TCP連線都會在server送完物件後結束 所以每一個連線都只會有一個request和一個respond Respond time = 2 RTTs + Ttrans 每一個所傳送的物件,都會受到slow start影響,Persistent Default for HTTP/1.1 在同一個用戶端會一直使用同一個TCP連線,直到time out才關掉 有較少的RTT和slow start 有分成pipeline和non-pipeline,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen

21、 Chen,28,HTTP的訊息格式- request,訊息是使用ASCII text所寫(易於閱讀) Http的要求訊息格式,GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr (extra carriage return, line feed),request line (GET, POST, HEAD commands),header lines,Carriage return, line feed indica

22、tes end of message,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,29,HTTP的要求訊息格式- 一般式,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,30,HTTP的訊息格式- response,status line (protocol status code status phrase),HTTP/1.0 200 OK Date: Thu, 06 Aug 1998

23、12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 . Content-Length: 6821 Content-Type: text/html data data data data data .,data, e.g., requested html file,header lines,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,31,常見的回應訊息,200 OK 要求成功, 所要求的物件會夾帶

24、在接下來的訊息 301 Moved Permanently 所要求的物件已經一到別處,新的位置將會出現在下一個訊息中 (Location:) 400 Bad Request 所要求的訊息,伺服器無法判讀 404 Not Found 所要求的物件並不存在伺服器裡 505 HTTP Version Not Supported 所要求使用的協定,伺服器端並不支援,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,32,Java Language (爪窪語言),在1995年,由昇揚公司(Sun Micr

25、osystems Inc.)所制訂 For waiting interactive web pages. A small Java program, called an applet, is associated with a web page and downloaded to the client machine to interpret the web page.,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,33,Java Language (cont.),Ch.2 Applicat

26、ion-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,34,認證(Authentication),目的:為了要控制存取伺服器資料的權力 因為是stateless所以用戶端每一次request都要認證一次 認證通常使用name和password 為避免需要重覆輸入認證資料,瀏覽器會自行讀取catch的資料 認證步驟如右,server,usual http request msg,401: authorization req. WWW authenticate:,client,Ch.2 Application-Layer,(C)

27、 All rights reserved by Professor Wen-Tsuen Chen,35,cookies,設定cookie是為了方便在下一次存取網站時,可以不需要再輸入一些重複性的資料 Cookie是由伺服器端要求用戶端建立,並且存在用戶端的機器上 Cookie大多用來 認證 使用者的訊息 建立步驟如右,client,server,usual http request msg,usual http response + Set-cookie: #,cookie- spectific action,cookie- spectific action,Ch.2 Application-

28、Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,36,Web快取(proxy伺服器),目的:為了可以使用戶端送出的request不用直接到原來的伺服器,如此一來便可以加速網頁的取得及瀏覽 所以大部分的用戶端都會透過proxy server來存取網路資源,而proxy server會保有一些web的快取資料,以利存取 如果現在的網頁資料不是最新的,則proxy會去原始的網站去更新目前保有的資料,client,Proxy server,client,http request,http request,http response,h

29、ttp response,http request,http response,http request,http response,origin server,origin server,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,37,為什麼使用web catching,因為proxy一般會離用戶端較近,會使的存取的速度較快 可以減少一些較長距離的traffic 同一筆資料可以統一由proxy來維持更新 右圖為示意圖 1.5 Mbps access link是一個bottleneck,

30、origin servers,public Internet,institutional network,10 Mbps LAN,1.5 Mbps access link,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,38,FTP: File Transfer Protocol,FTP是現在較普遍也較常用的一個檔案傳輸的協定 採用用戶端與伺服器端模式溝通 RFC編號:959 所使用的port:21,file transfer,remote file system,user at host,C

31、h.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,39,FTP: File Transfer Protocol (cont.),FTP使用TCP作為傳輸層所使用的協定 在FTP的連結中有分為兩種 Control:在client和server之間交換commands和response,屬於”out of band control” Data:在client和server之間的data交換 FTP和HTTP不同,他會maintain state 目前所在目錄 登錄所做的認證,Ch.2 Applicat

32、ion-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,40,FTP: File Transfer Protocol (cont.),Commands Open:連接FTP server User: 使用者帳號 Pass: 密碼 RETR filename: 取得檔案 STOR filename: 上傳檔案 Bye: 結束連線,回應訊息 331 帳號 OK,需要密碼 125 data connection 已經開啟; 傳送開始 425 無法開啟 data connection 452 檔案寫入錯誤,如何連結上FTP serve

33、r? ftp xxx.xxx.xxx.xxx port get file.xxx (取得檔案) put file.xxx (上傳檔案),Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,41,Electronic-mail (E-mail, 電子郵件),包含三個部分 使用者代理人 (user agent) 郵件伺服器 (mail server) SMTP協定,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen

34、 Chen,42,E-mail user agent,有時亦稱為郵件讀取者(mail reader) 它可以讓user讀取、回復、轉發、儲存和建構訊息(message, mail) 使用者需要讀取信息時,user agent會去跟郵件伺服器溝通,取回信息,或是送出信息 User agent常見的有: Microsoft Outlook or Outlook Express Netscape Messenger,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,43,E-mail Mail ser

35、ver,每一個user都會有一個信箱(mail box)來存放尚未讀取的信件 尚未傳送出去的信件會暫時存在message queue SMTP扮演了兩種角色 Client:當作傳送信件的server Server:當作接收信件的server Client和server這兩種服務都會執行在每一台郵件伺服器上,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,44,E-mail SMTP,SMTP: Simple Mail Transfer Protocol RFC編號: 821 使用TCP作為下層

36、溝通的協定 Port: 25 傳送三部曲 Handshaking Transfer of messages closure 所有信息資訊必須是7-bit ASCII,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,45,SMTP和HTTP的比較,相同處 使用TCP為傳輸層協定 Client and server model 使用persistent connections 不同處 http是pull protocol而SMTP是push protocol SMTP的message限定在7 bi

37、t ASCII 文件組成方式不同,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,46,SMTP溝通範例,S: 220 cs.nthu.edu.tw C: HELO oz.nthu.edu.tw S: 250 Hello oz.nthu.edu.tw, pleased to meet you C: MAIL FROM: S: 250 aliceoz.nthu.edu.tw. Sender ok C: RCPT TO: S: 250 bobcs.nthu.edu.tw . Recipient o

38、k C: DATA S: 354 Enter mail, end with “.“ on a line by itself C: Do you like ketchup? C: How about pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 cs.nthu.edu.tw closing connection,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,47,信息格式,RFC 822為text messa

39、ge exchange標準 Header lines To: From: Subject: Body The message, ASCII character only,header,body,blank line,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,48,信息格式 (cont.),Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,49,信息格式 (cont.),Ch.2 Appli

40、cation-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,50,MIME extension for Non-ASCII data,MIME: multimedia mail extension RFC 2045, 2056 目的:為了要能夠支援非ASCII的data 在標頭檔定義MIME的格式,多媒體資料的種類 及副檔名(type, subtype),壓縮資料的方法 (encode data),MIME version(版本),壓縮的資料 (encoded data),Ch.2 Application-Layer,(C)

41、 All rights reserved by Professor Wen-Tsuen Chen,51,MIME (cont.),RFC 822 MIME所增加的標頭檔(headers),Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,52,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,53,Ch.2 Application-Layer,(C) All rights reserved by

42、Professor Wen-Tsuen Chen,54,MIME 的種類(types) Content-Type: 種類/副檔名; 參數 (type/subtype; parameters),文字(Text) 例如:副檔名為 plain, html 圖片(Image) 例如:副檔名為 jpeg, gif 聲音(Audio) 例如:副檔名為 basic (8-bit mu-law encoded), 32kadpcm (32 kbps coding),影像(Video) 例如:副檔名為 mpeg, quicktime 應用程式(Application) other data that must

43、be processed by reader before “viewable” 例如:副檔名為 msword, octet-stream,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,55,郵件存取協定(mail access protocol),SMTP負責接收端server的傳送及儲存信息 Mail access protocol:從server取回信件 POP: Post Office Protocol RFC 1939 提供認證及下載服務 IMAP RFC 2060 可以遠端操作信

44、件,不需下載信件至機器上 HTTP (web mail) Hot mail, mail2000, yahoo,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,56,POP3協定,authorization phase client commands: user: declare username pass: password server responses +OK -ERR transaction phase, client: list: list message numbers retr:

45、 retrieve message by number dele: delete quit,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,S: +OK POP3 server ready C: user alice S: +OK C: pass hungry S: +OK user successfully logged on,Ch.2 Application-Layer,(C) All r

46、ights reserved by Professor Wen-Tsuen Chen,57,Email Security (電子郵件的安全性),PGP: Pretty Good Privacy, by Phil Zimmermaun in 1995. Support text compression, secrecy and digital signatures.,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,58,PGP message format(訊息格式),Ch.2 Applicat

47、ion-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,59,PEM: Privacy Enhanced Mail,An official Internet standard described in RFC 1421-1424. Support privacy and authentication for RFC 822 based email systems. The message together with its message digest is encrypted using DES with a one-tim

48、e key that is enclosed along with the message. The key can be protected with RSA and certified by certification authorities.,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,60,PGP和PEM的比較,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,61,DNS (Dom

49、ain Name System) - Overview,名稱我們可以拿來做什麼? 確認、識別一個物件(object) 幫助我們放置(allocate)一個物件 定義在一個團體中的關係 明確定義一個角色(role) 傳送一個機密訊息 Name space(名稱空間) 定義一組可用的名稱 由一組名稱與數值的配對所組成,Ch.2 Application-Layer,(C) All rights reserved by Professor Wen-Tsuen Chen,62,DNS (Domain Name System) (cont.),為什麼我們要使用DNS? 可以幫助我們對應IP位址和主機名字(hostname) 無須記憶IP位址,只需記憶名字 DNS是一個分散式的資料庫 將許多name servers變成階層式架構 DNS是屬於應用層的協定 Host, routers, name server透過溝通來達成解析名稱的目的(address/name translation),Ch.2 Application-Layer

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1