二章节应用层ApplicationLayer.ppt

上传人:豆**** 文档编号:59578614 上传时间:2022-11-11 格式:PPT 页数:80 大小:701KB
返回 下载 相关 举报
二章节应用层ApplicationLayer.ppt_第1页
第1页 / 共80页
二章节应用层ApplicationLayer.ppt_第2页
第2页 / 共80页
点击查看更多>>
资源描述

《二章节应用层ApplicationLayer.ppt》由会员分享,可在线阅读,更多相关《二章节应用层ApplicationLayer.ppt(80页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、二章节应用层ApplicationLayer Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望應用層-簡介n本章主要介紹在應用層所常用的協定qHTTP(section2.2)qFTP(section2.3)qE-mail(section2.4)qDNS(section2.5)n並介紹用戶端(client)和伺服器端(server)的關係qServicemodelqSocketprogramming(section2.6)Ch.2 Application-Layer2

2、(C)All rights reserved by Professor Wen-Tsuen Chen用戶端(client)和伺服器端(server)n用戶端和伺服器端是一種互相依持的關係q(一個用戶端,一個伺服器端)或q(一個用戶端,數個伺服器端)或q(數個用戶端,一個伺服器端)或q(數個用戶端,數個伺服器端)n在執行一般的網路應用程式情況下,一台機器是用戶端亦是伺服器端Ch.2 Application-Layer3(C)All rights reserved by Professor Wen-Tsuen Chen用戶端(client)和伺服器端(server(cont.)n用戶端q通常為送出

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

4、rver(cont.)Ch.2 Application-Layer6(C)All rights reserved by Professor Wen-Tsuen Chen應用層(Application Layer)n應用層是位於OSI七層中的最上層n為什麼我們需要應用層呢?q因為應用層提供了一個平台,可以讓許多的網路應用程式在應用層執行q這一些應用程式都是在對等的應用層做溝通Ch.2 Application-Layer7(C)All rights reserved by Professor Wen-Tsuen Chen應用程式(applications)n這裡泛指網路應用程式(Network A

5、pplication)n應用程式分別於使用者的機器上執行n兩個或兩個(multicast application)以上應用程式透過網路溝通n由於上述的交換動作,所以應用層得以存在n例如:q電子郵件(E-mail)q檔案交換(FTP)q網頁瀏覽(Web browsing)Ch.2 Application-Layer8(C)All rights reserved by Professor Wen-Tsuen Chen應用層協定(Application-layer Protocol)n屬於應用程式的一部份n協定(protocol)中定義q使用此應用程式所需要的流程q所交換的訊息格式q訊息所表示的意義

6、q與下層協定溝通的方法qn例如:q我們瀏覽網頁需要HTTP協定Ch.2 Application-Layer9(C)All rights reserved by Professor Wen-Tsuen Chen應用層協定(Application-layer Protocol)(cont.)nQ:網路應用程式跟應用層的協定有什麼關係?q應用層的協定只是網路應用程式的一部份而已q例如:HTTP和網頁應用程式的關係Ch.2 Application-Layer10(C)All rights reserved by Professor Wen-Tsuen Chen應用層協定(Application-lay

7、er Protocol)(cont.)n應用程式介面(API,ApplicationProgrammersInterface)qAPI就像是進出應用程式的一扇門q應用程式透過API與下層協定溝通q在這裡網路程式所指的API就是常見的SocketqSocket在後面有專節介紹n定址(Addressing)qIP(ch.4)或是主機名稱(需搭配DNS)q指定應用程式(Socketport)qSocketport就像是門的鑰匙Ch.2 Application-Layer11(C)All rights reserved by Professor Wen-Tsuen Chen應用程式所需要的條件n資料流

8、失(dataloss)q在資料傳輸的過程難免會有資料流失,我們要注意應用程式所能夠接受的範圍,並加以改善n網路頻寬(NetworkBandwidth)q我們需要考慮每一個應用程式所需要的頻寬需求n時間的影響(Timedelay)q我們需要考慮時間對於應用程式的影響q例如:播放影片或是聲音,就不允許資料延遲過久Ch.2 Application-Layer12(C)All rights reserved by Professor Wen-Tsuen Chen應用程式所需要的條件(cont.)ApplicationData lossBandwidthTime SensitiveFiletransfe

9、rNolosselasticNoE-mailNolosselasticNoWebdocumentsLoss-tolerantelasticNoReal-timeaudio/videoLoss-tolerantAudio:5kb-1MbVideo:10kb-5MbYes,100smsecStoredaudio/videoLoss-tolerantSameasaboveYes,fewsecsInteractivegamesLoss-tolerantFewKbpsupYes,100smsecFinancialappsNolosselasticYesandnoCh.2 Application-Laye

10、r13(C)All rights reserved by Professor Wen-Tsuen Chen網路傳輸層(Transport layer)-overviewn傳輸層屬於OSI第四層n在應用層的下層傳輸層(ch.3)提供了兩種不同的服務協定qTCP(TransmissionControlProtocol)qUDP(UserDatagramProtocol)n在應用層所執行的網路應用程式都是透過這兩種協定來與網路溝通Ch.2 Application-Layer14(C)All rights reserved by Professor Wen-Tsuen Chen網路傳輸層(Transp

11、ort layer)overview(cont.)nTCPserviceq連結導向(connection-oriented)n要透過TCP溝通需要先建立連線(threewayhandshake)q提供可靠的傳輸(reliabletransport)q提供流量控制(flowcontrol)q提供壅塞控制(congestioncontrol)nUDPserviceq非連結導向(connectionless)n要透過UDP溝通不需要先建立連線q提供盡力的傳送(bestefforttransport)Ch.2 Application-Layer15(C)All rights reserved by P

12、rofessor Wen-Tsuen ChenTCPThree way handshakeCh.2 Application-Layer16(C)All rights reserved by Professor Wen-Tsuen Chen常見的網路應用程式所使用的service應用程式應用程式應用層協定應用層協定傳輸層協定傳輸層協定電子郵件SmtpRFC821TCP遠端裝置存取telnetRFC854TCP網頁httpRFC2068TCP檔案傳輸ftpRFC959TCP多媒體串流(stream)ProprietaryTCPorUDP遠端檔案伺服器NSFTCPorUDP網路電話Proprieta

13、ryTypicallyUDPCh.2 Application-Layer17(C)All rights reserved by Professor Wen-Tsuen ChenWorld Wide Web(WWW)ElementsnURL:UniformresourcelocatornHTTP:HypertextTransferProtocolnHTML:HypertextMarkupLanguagenJavaLanguageCh.2 Application-Layer18(C)All rights reserved by Professor Wen-Tsuen ChenURL:Uniform

14、 Resource LocatornRFC編號:1738,1808.nAURLiscompactrepresentationofthelocationandaccessmethodforaresourceavailableviatheInternet.n一個resource是一個可以透過網路存取的任何物件,包括檔案目錄、檔案、文件聲音和影像等nURL的一般表示法:Ch.2 Application-Layer19(C)All rights reserved by Professor Wen-Tsuen ChenRFC 1738為了下列存取機制所定義之URL formatsn nftpFileTr

15、ansferProtocolftpFileTransferProtocoln nhttpHypertextTransferProtocolhttpHypertextTransferProtocoln ngopherTheGopherProtocolgopherTheGopherProtocoln nmailtoElectronicmailaddressmailtoElectronicmailaddressn nnewsUSNETnewsnewsUSNETnewsn nnntpUSNETnewsusingNNTPaccessnntpUSNETnewsusingNNTPaccessn ntelne

16、tReferencetointeractivesessionstelnetReferencetointeractivesessionsn nwaisWide-AreaInformationServerswaisWide-AreaInformationServersn nfileHost-specificfilenamesfileHost-specificfilenamesn nprosperoProsperoDirectoryServiceprosperoProsperoDirectoryServiceCh.2 Application-Layer20(C)All rights reserved

17、 by Professor Wen-Tsuen ChenCh.2 Application-Layer21(C)All rights reserved by Professor Wen-Tsuen ChenURI:Universal Resource Identifier(URI)nRFC編號1630.n是一種將用在網際網路中的物件的名稱和位址的表示一致的語法nURL是URI的一種。nDecoupleresource的名稱從它所在的位置或是從它所存取的方法Ch.2 Application-Layer22(C)All rights reserved by Professor Wen-Tsuen C

18、henHTTPnHTTP:HyperTextTransferProtocolnWeb的應用層協定n採用用戶端和伺服器端的服務架構q用戶端:要求、接收並顯示所接收的webpagesq伺服器端:接受要求並回應所要求的webpagesCh.2 Application-Layer23(C)All rights reserved by Professor Wen-Tsuen ChenHTTPnWebpage所包含的原件有qObjectsnHTMLfile,jpegimage,javaappletqBaseHTMLfilenHTML是用來描述webpage的一種語言qURL:是用來表示一個page或是ob

19、jectnwww.nthu.edu.tw/index-c.html(hostname+pathname)n目前HTTP有兩種標準qhttp1.0(RFC1945)qhttp1.1(RFC2068)目前所使用Ch.2 Application-Layer24(C)All rights reserved by Professor Wen-Tsuen ChenHTML:Hypertext Markup Languagen使一種用來描述網頁的文件要如何定義的語言nEmbeddingmarkupcommandswitheachHTMLfilessothatabrowsercanreformatthefil

20、es.nHTML的標準化由WWW組織所制訂qex:W3CCh.2 Application-Layer25(C)All rights reserved by Professor Wen-Tsuen ChenHTTPnHTTP下層協定使用TCP傳送服務q由用戶端初始化連線(setupTCPconnection),使用socketport80與伺服器端溝通q伺服器端回應後,兩端開始交換訊息直到結束(TCPconnectionclose)nHTTP是一個stateless的協定qStateless意指伺服器端不需要保有任何有關過去用戶端的要求訊息(requestmessage)q通常協定要保有過去的s

21、tate,就會變的很複雜Ch.2 Application-Layer26(C)All rights reserved by Professor Wen-Tsuen ChenNon-persistent和persistent連線的不同Non-persistentnHTTP/1.0n每一個TCP連線都會在server送完物件後結束n所以每一個連線都只會有一個request和一個respondnRespondtime=2RTTs+Ttransn每一個所傳送的物件,都會受到slowstart影響PersistentnDefaultforHTTP/1.1n在同一個用戶端會一直使用同一個TCP連線,直到t

22、imeout才關掉n有較少的RTT和slowstartn有分成pipeline和non-pipelineCh.2 Application-Layer27(C)All rights reserved by Professor Wen-Tsuen ChenHTTP的訊息格式-requestn訊息是使用ASCIItext所寫(易於閱讀)nHttp的要求訊息格式GET/somedir/page.html HTTP/1.0 User-agent:Mozilla/4.0 Accept:text/html,image/gif,image/jpeg Accept-language:fr(extracarria

23、gereturn,linefeed)request line(GET,POST,HEAD commands)header linesCarriage return,line feed indicates end of messageCh.2 Application-Layer28(C)All rights reserved by Professor Wen-Tsuen ChenHTTP的要求訊息格式-一般式Ch.2 Application-Layer29(C)All rights reserved by Professor Wen-Tsuen ChenHTTP的訊息格式-responsesta

24、tus line(protocolstatus codestatus phrase)HTTP/1.0 200 OK Date:Thu,06 Aug 1998 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.,requestedhtml fileheader linesCh.2 Application-Layer30(C)All rights reserve

25、d by Professor Wen-Tsuen Chen常見的回應訊息200 OKq要求成功,所要求的物件會夾帶在接下來的訊息301 Moved Permanentlyq所要求的物件已經一到別處,新的位置將會出現在下一個訊息中(Location:)400 Bad Requestq所要求的訊息,伺服器無法判讀404 Not Foundq所要求的物件並不存在伺服器裡505 HTTP Version Not Supportedq所要求使用的協定,伺服器端並不支援Ch.2 Application-Layer31(C)All rights reserved by Professor Wen-Tsuen

26、 ChenJava Language(爪窪語言)n在1995年,由昇揚公司(SunMicrosystemsInc.)所制訂nForwaitinginteractivewebpages.nAsmallJavaprogram,calledanapplet,isassociatedwithawebpageanddownloadedtotheclientmachinetointerpretthewebpage.Ch.2 Application-Layer32(C)All rights reserved by Professor Wen-Tsuen ChenJava Language(cont.)Ch.

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

28、ion:lineusual http response msgusual http request msg+Authorization:lineusual http response msgtimeclientCh.2 Application-Layer34(C)All rights reserved by Professor Wen-Tsuen Chencookiesn設定cookie是為了方便在下一次存取網站時,可以不需要再輸入一些重複性的資料nCookie是由伺服器端要求用戶端建立,並且存在用戶端的機器上nCookie大多用來q認證q使用者的訊息n建立步驟如右clientserverus

29、ual http request msgusual http response+Set-cookie:#usual http request msgcookie:#usual http response msgusual http request msgcookie:#usual http response msgcookie-spectificactioncookie-spectificactionCh.2 Application-Layer35(C)All rights reserved by Professor Wen-Tsuen ChenWeb快取(proxy伺服器)n目的:為了可以使

30、用戶端送出的request不用直接到原來的伺服器,如此一來便可以加速網頁的取得及瀏覽n所以大部分的用戶端都會透過proxyserver來存取網路資源,而proxyserver會保有一些web的快取資料,以利存取q如果現在的網頁資料不是最新的,則proxy會去原始的網站去更新目前保有的資料clientProxyserverclienthttp requesthttp requesthttp responsehttp responsehttp requesthttp responsehttp requesthttp responseorigin serverorigin serverCh.2 Ap

31、plication-Layer36(C)All rights reserved by Professor Wen-Tsuen Chen為什麼使用web catchingn因為proxy一般會離用戶端較近,會使的存取的速度較快n可以減少一些較長距離的trafficn同一筆資料可以統一由proxy來維持更新n右圖為示意圖q1.5Mbpsaccesslink是一個bottleneckoriginserverspublic Internetinstitutionalnetwork10 Mbps LAN1.5 Mbps access linkCh.2 Application-Layer37(C)All

32、rights reserved by Professor Wen-Tsuen ChenFTP:File Transfer ProtocolnFTP是現在較普遍也較常用的一個檔案傳輸的協定n採用用戶端與伺服器端模式溝通nRFC編號:959n所使用的port:21file transferFTPserverFTPuserinterfaceFTPclientlocal filesystemremote filesystemuser at hostCh.2 Application-Layer38(C)All rights reserved by Professor Wen-Tsuen ChenFTP:

33、File Transfer Protocol(cont.)nFTP使用TCP作為傳輸層所使用的協定n在FTP的連結中有分為兩種qControl:在client和server之間交換commands和response,屬於”outofbandcontrol”qData:在client和server之間的data交換nFTP和HTTP不同,他會maintainstateq目前所在目錄q登錄所做的認證FTPclientFTPserverTCP control connectionport 21TCP data connectionport 20Ch.2 Application-Layer39(C)A

34、ll rights reserved by Professor Wen-Tsuen ChenFTP:File Transfer Protocol(cont.)CommandsnOpen:連接FTPservernUser:使用者帳號nPass:密碼nRETRfilename:取得檔案nSTORfilename:上傳檔案nBye:結束連線回應訊息n331 帳號 OK,需要密碼n125 data connection 已經開啟;傳送開始n425 無法開啟 data connectionn452 檔案寫入錯誤如何連結上如何連結上FTP server?ftp xxx.xxx.xxx.xxx portge

35、t file.xxx(取得檔案取得檔案)put file.xxx(上傳檔案上傳檔案)Ch.2 Application-Layer40(C)All rights reserved by Professor Wen-Tsuen ChenElectronic-mail(E-mail,電子郵件)n包含三個部分q使用者代理人(useragent)q郵件伺服器(mailserver)qSMTP協定mailserveruseragentuseragentuseragentmailserveruseragentuseragentmailserveruseragentSMTPSMTPSMTPuser mailb

36、oxoutgoing message queueCh.2 Application-Layer41(C)All rights reserved by Professor Wen-Tsuen ChenE-mail user agentn有時亦稱為郵件讀取者(mailreader)n它可以讓user讀取、回復、轉發、儲存和建構訊息(message,mail)n使用者需要讀取信息時,useragent會去跟郵件伺服器溝通,取回信息,或是送出信息nUseragent常見的有:qMicrosoftOutlookorOutlookExpressqNetscapeMessengerCh.2 Applicati

37、on-Layer42(C)All rights reserved by Professor Wen-Tsuen ChenE-mail Mail servern每一個user都會有一個信箱(mailbox)來存放尚未讀取的信件n尚未傳送出去的信件會暫時存在messagequeuenSMTP扮演了兩種角色qClient:當作傳送信件的serverqServer:當作接收信件的serverqClient和server這兩種服務都會執行在每一台郵件伺服器上Ch.2 Application-Layer43(C)All rights reserved by Professor Wen-Tsuen Chen

38、E-mail SMTPnSMTP:SimpleMailTransferProtocolqRFC編號:821n使用TCP作為下層溝通的協定qPort:25n傳送三部曲qHandshakingqTransferofmessagesqclosuren所有信息資訊必須是7-bitASCIICh.2 Application-Layer44(C)All rights reserved by Professor Wen-Tsuen ChenSMTP和HTTP的比較n相同處q使用TCP為傳輸層協定qClientandservermodelq使用persistentconnectionsn不同處qhttp是pu

39、llprotocol而SMTP是pushprotocolqSMTP的message限定在7bitASCIIq文件組成方式不同Ch.2 Application-Layer45(C)All rights reserved by Professor Wen-Tsuen ChenSMTP溝通範例 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 b

40、obcs.nthu.edu.tw.Recipient ok 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 connectionCh.2 Application-Layer46(C)All rights reserved by Professor Wen-Tsuen Chen信息格式nRFC822為text

41、messageexchange標準nHeaderlinesqTo:qFrom:qSubject:nBodyqThemessage,ASCIIcharacteronlyheaderbodyblanklineCh.2 Application-Layer47(C)All rights reserved by Professor Wen-Tsuen Chen信息格式(cont.)Ch.2 Application-Layer48(C)All rights reserved by Professor Wen-Tsuen Chen信息格式(cont.)Ch.2 Application-Layer49(C)A

42、ll rights reserved by Professor Wen-Tsuen ChenMIME extension for Non-ASCII datanMIME:multimediamailextensionqRFC2045,2056q目的:為了要能夠支援非ASCII的dataq在標頭檔定義MIME的格式From:alicecrepes.fr To:bobhamburger.edu Subject:Picture of yummy crepe.MIME-Version:1.0 Content-Transfer-Encoding:base64 Content-Type:image/jpe

43、g base64 encoded data.base64 encoded data 多媒體資料的種類及副檔名(type,subtype)壓縮資料的方法(encode data)MIME version(版本)壓縮的資料(encoded data)Ch.2 Application-Layer50(C)All rights reserved by Professor Wen-Tsuen ChenMIME(cont.)nRFC822MIME所增加的標頭檔(headers)HeaderMeaningMIME-version定義MIME的版本Content-Description描述信息內容Conten

44、t-ID唯一的識別碼Content-Transfer-Encoding在傳送所壓縮的方法Content-Type信息的種類Ch.2 Application-Layer51(C)All rights reserved by Professor Wen-Tsuen ChenCh.2 Application-Layer52(C)All rights reserved by Professor Wen-Tsuen ChenCh.2 Application-Layer53(C)All rights reserved by Professor Wen-Tsuen ChenMIME 的種類(types)Co

45、ntent-Type:種類種類/副檔名副檔名;參數參數 (type/subtype;parameters)文字(Text)n例如:副檔名為plain,html圖片(Image)n例如:副檔名為jpeg,gif聲音(Audio)n例如:副檔名為basic(8-bitmu-lawencoded),32kadpcm(32 kbps coding)影像(Video)n例如:副檔名為mpeg,quicktime應用程式(Application)notherdatathatmustbeprocessedbyreaderbefore“viewable”n例如:副檔名為 msword,octet-stream

46、 Ch.2 Application-Layer54(C)All rights reserved by Professor Wen-Tsuen Chen郵件存取協定(mail access protocol)nSMTP負責接收端server的傳送及儲存信息nMailaccessprotocol:從server取回信件qPOP:PostOfficeProtocolnRFC1939n提供認證及下載服務qIMAPnRFC2060n可以遠端操作信件,不需下載信件至機器上qHTTP(webmail)nHotmail,mail2000,yahooCh.2 Application-Layer55(C)All

47、rights reserved by Professor Wen-Tsuen ChenPOP3協定authorizationphasenclientcommands:quser:declareusernameqpass:passwordnserverresponsesq+OKq-ERRtransactionphase,client:nlist:listmessagenumbersnretr:retrievemessagebynumberndele:deletenquit C:list S:1 498 S:2 912 S:.C:retr 1 S:S:.C:dele 1 C:retr 2 S:S:

48、.C:dele 2 C:quit S:+OK POP3 server signing offS:+OK POP3 server ready C:user alice S:+OK C:pass hungry S:+OK user successfully logged onCh.2 Application-Layer56(C)All rights reserved by Professor Wen-Tsuen ChenEmail Security(電子郵件的安全性)nPGP:PrettyGoodPrivacy,byPhilZimmermaunin1995.qSupporttextcompress

49、ion,secrecyanddigitalsignatures.Ch.2 Application-Layer57(C)All rights reserved by Professor Wen-Tsuen ChenPGP message format(訊息格式)Ch.2 Application-Layer58(C)All rights reserved by Professor Wen-Tsuen ChenPEM:Privacy Enhanced MailnAnofficialInternetstandarddescribedinRFC1421-1424.nSupportprivacyandau

50、thenticationforRFC822basedemailsystems.nThemessagetogetherwithitsmessagedigestisencryptedusingDESwithaone-timekeythatisenclosedalongwiththemessage.nThekeycanbeprotectedwithRSAandcertifiedbycertificationauthorities.Ch.2 Application-Layer59(C)All rights reserved by Professor Wen-Tsuen ChenPGP和PEM的比較Ch

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁