應(yīng)用層協(xié)議概述_第1頁
應(yīng)用層協(xié)議概述_第2頁
應(yīng)用層協(xié)議概述_第3頁
應(yīng)用層協(xié)議概述_第4頁
應(yīng)用層協(xié)議概述_第5頁
已閱讀5頁,還剩81頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

應(yīng)用層本講目標(biāo):

網(wǎng)絡(luò)應(yīng)用層的概念和實(shí)現(xiàn)客戶端-服務(wù)器范式服務(wù)模型通過對常用應(yīng)用層協(xié)議的探討和分析來學(xué)習(xí)網(wǎng)絡(luò)協(xié)議深層次目標(biāo)特定協(xié)議:dns

ftpsmtppop1應(yīng)用層應(yīng)用層協(xié)議應(yīng)用層負(fù)責(zé)的是進(jìn)程與進(jìn)程之間的通信應(yīng)用層協(xié)議:應(yīng)用層的一個“組成部分”定義應(yīng)用程序需交換的報文和所需實(shí)行的動作位于最高層運(yùn)用較低層次所供應(yīng)的通信服務(wù)(TCP,UDP)applicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysical2應(yīng)用層網(wǎng)絡(luò)應(yīng)用程序:一些術(shù)語進(jìn)程(Process):主機(jī)中運(yùn)行中的程序.在某些主機(jī)中,兩個進(jìn)程運(yùn)用進(jìn)程間通信(由OS管理).而運(yùn)行在不同主機(jī)上的進(jìn)程則運(yùn)用應(yīng)用層協(xié)議進(jìn)行通信用戶代理(Useragent):軟件進(jìn)程,是介于用戶(above)和網(wǎng)絡(luò)(below)之間的接口實(shí)現(xiàn)應(yīng)用級協(xié)議Web:閱讀器E-mail:OE、Foxmail流媒體:mediaplayer3應(yīng)用層客戶端-服務(wù)器模式典型的網(wǎng)絡(luò)應(yīng)用都是由兩個部分組成:客戶端和服務(wù)器applicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysical客戶端:發(fā)起同服務(wù)器的聯(lián)系(“speaksfirst”)一般都從服務(wù)器懇求服務(wù),Web:客戶端由閱讀器實(shí)現(xiàn);e-mail:通過OE、Foxmial實(shí)現(xiàn)requestreply服務(wù)器:向客戶端供應(yīng)所懇求的服務(wù)e.g.,Web服務(wù)器發(fā)送被懇求的Web頁面,郵件服務(wù)器傳遞e-mail4應(yīng)用層應(yīng)用層協(xié)議(續(xù))應(yīng)用程序接口(API:applicationprogramminginterface)定義應(yīng)用層和傳輸層間的接口插口(socket:InternetAPI)兩個進(jìn)程間的通信,將數(shù)據(jù)送入socket,或從socket讀出數(shù)據(jù)Q:某個進(jìn)程如何“標(biāo)識”另一個須要與之通信的進(jìn)程?(SOCKET套接字)IP地址-運(yùn)行另一個進(jìn)程的主機(jī)所擁有的“端口號(PORT#)”–允許接收主機(jī)來確定的一個標(biāo)識,本地進(jìn)程將報文發(fā)送給它SOCKET=IP+PORT5應(yīng)用層關(guān)于端口的說明端口是應(yīng)用進(jìn)程的標(biāo)識,本質(zhì)上是一個存放在傳輸層首部的一個字段的值,如TCP端口,UDP端口。端口可以看作傳輸層對于應(yīng)用層的SAP端口占兩個字節(jié),范圍是0-65535保留運(yùn)用的端口0-1023:80.Dns:53.Smtp:25pop:110用戶可以運(yùn)用的端口1024-65535問題:為什么不運(yùn)用操作系統(tǒng)的進(jìn)程號來標(biāo)識進(jìn)程。6應(yīng)用層應(yīng)用進(jìn)程須要怎樣的傳輸服務(wù)?數(shù)據(jù)丟失(Dataloss)某些應(yīng)用(e.g.,audio)可以容忍某種程度上的數(shù)據(jù)丟失其他應(yīng)用(e.g.,文件傳輸,telnet)要求100%牢靠的數(shù)據(jù)傳輸實(shí)時性(Timing)某些應(yīng)用(e.g.,IP電話,交互式游戲)要求較低的時延帶寬(Bandwidth)某些應(yīng)用(e.g.,多媒體)對最低帶寬有要求其他應(yīng)用(“彈性應(yīng)用”)則可靈敏應(yīng)用所能得到的帶寬7應(yīng)用層常用應(yīng)用程序?qū)鬏敼δ艿囊髴?yīng)用程序文件傳輸e-mailWeb網(wǎng)頁實(shí)時音頻/視頻存儲音頻/視頻交互式游戲金融應(yīng)用數(shù)據(jù)丟失不丟失不丟失不丟失允許丟失允許丟失允許丟失允許丟失不丟失帶寬彈性彈性彈性音頻:5Kb-1Mb視頻:10Kb-5Mb同上幾Kb/s以上彈性實(shí)時性無無無100’smsecfewsecs100’smsecyesandno8應(yīng)用層Internet的傳輸協(xié)議服務(wù)TCP服務(wù):面對連接:在客戶端和服務(wù)器進(jìn)程之間須要建立連接(setup)牢靠傳輸:在發(fā)送和接受進(jìn)程之間流量限制:發(fā)送數(shù)據(jù)的速度決不超過接收的速度擁塞限制:當(dāng)網(wǎng)絡(luò)超負(fù)荷時,束緊發(fā)送端口,減緩發(fā)送速度不供應(yīng):實(shí)時性,最小帶寬承諾UDP服務(wù):在客戶端和服務(wù)器進(jìn)程之間實(shí)現(xiàn)“不行靠的”數(shù)據(jù)傳輸不供應(yīng):連接建立,牢靠性保證,流量限制,擁塞限制,實(shí)時性,最小帶寬承諾Q:既生喻,何生亮?WhyisthereaUDP?9應(yīng)用層Internet應(yīng)用:應(yīng)用,傳輸協(xié)議應(yīng)用e-mail遠(yuǎn)程終端訪問Web文件傳輸流媒體遠(yuǎn)程文件服務(wù)器IP電話應(yīng)用協(xié)議smtp[RFC821]telnet[RFC854][RFC2068]ftp[RFC959]專有協(xié)議(e.g.RealNetworks)NSF專有協(xié)議(e.g.,Vocaltec)所依靠的傳輸協(xié)議TCPTCPTCPTCPTCPorUDPTCPorUDPtypicallyUDP10應(yīng)用層在IE中輸入網(wǎng)址后……首先域名解析DNS,閱讀器和DNS服務(wù)器交互其次接受協(xié)議,閱讀器和Web服務(wù)器交互11應(yīng)用層DNS:域名系統(tǒng)自然人:諸多定義:身份證,姓名,護(hù)照#因特網(wǎng)主機(jī),路由器:IP地址(32bit)–用于數(shù)據(jù)報尋址“域名”,e.g.,–幫助記憶Q:IP地址和域名之間如何映射(轉(zhuǎn)換)?DomainNameSystem:分布式數(shù)據(jù)庫:由很多域名服務(wù)器按層次構(gòu)成DNS透亮的解決了IP地址和域名的轉(zhuǎn)換問題DNS傳輸一般運(yùn)用UDP,端口53。12應(yīng)用層因特網(wǎng)的域名結(jié)構(gòu)因特網(wǎng)接受了層次樹狀結(jié)構(gòu)的命名方法。任何一個連接在因特網(wǎng)上的主機(jī)或路由器,都有一個惟一的層次結(jié)構(gòu)的名字,即域名。域名的結(jié)構(gòu)由若干個重量組成,各重量之間用點(diǎn)隔開:….三級域名.二級域名.頂級域名各重量分別代表不同級別的域名。13應(yīng)用層頂級域名TLD

(TopLevelDomain)(1)國家頂級域名nTLD:如:表示中國,.us表示美國,.uk表示英國,等等。(2)國際頂級域名iTLD:接受.int。國際性的組織可在.int下注冊。(3)通用頂級域名gTLD:最早的頂級域名是:表示公司企業(yè).net表示網(wǎng)絡(luò)服務(wù)機(jī)構(gòu).org表示非贏利性組織.edu表示教化機(jī)構(gòu)(美國專用).gov表示政府部門(美國專用).mil表示軍事部門(美國專用)14應(yīng)用層因特網(wǎng)的名字空間comnetorgedugovmilcoopbizinfoaerointcnuk…h(huán)kjsshbjorgnetgoveducomac…pkufudansjtutsinghua…樹根cctvibmhpmot…頂級域名二級域名三級域名mailep四級域名mailcsnetl……seu15應(yīng)用層DNSnameservers沒有服務(wù)器能夠保存全部Name-to-IP地址的映射本地域名服務(wù)器:每個ISP,企業(yè)可擁有本地(默認(rèn))域名服務(wù)器主機(jī)的DNS查詢首先發(fā)往本地域名服務(wù)器授權(quán)域名服務(wù)器:每臺主機(jī)必需在授權(quán)服務(wù)器上注冊登記可完成域名/地址的轉(zhuǎn)換為什么不搞集中的DNS?單點(diǎn)失敗的問題數(shù)據(jù)的流通量遠(yuǎn)程集中式的數(shù)據(jù)庫維護(hù)問題難以與時俱進(jìn),跟不上發(fā)展!16應(yīng)用層DNS:根域名服務(wù)器當(dāng)本地域名服務(wù)器不能解析時,就向根域名服務(wù)器查詢根域名服務(wù)器:假如域名映射未知,則向授權(quán)域名服務(wù)器查詢?nèi)〉糜成鋵⒂成浞祷乇镜赜蛎?wù)器bUSC-ISIMarinadelRey,CAlICANNMarinadelRey,CAeNASAMtView,CAfInternetSoftwareC.PaloAlto,CAiNORDUnetStockholmkRIPELondonmWIDETokyoaNSIHerndon,VAcPSInetHerndon,VAdUMarylandCollegePark,MDgDISAVienna,VAhARLAberdeen,MDjNSI(TBD)Herndon,VA遍布世界各地的13個根域名服務(wù)器17應(yīng)用層遞歸查詢18應(yīng)用層遞歸與迭代相結(jié)合的查詢19應(yīng)用層DNS:緩存和更新紀(jì)錄一旦(任何)域名服務(wù)器得知了某個映射,就將其緩存在確定的時間間隔后緩存的條目將會過期(自動消退)更新/通知機(jī)制由IETF負(fù)責(zé)設(shè)計RFC2136:///html.charters/dnsind-charter.html20應(yīng)用層DNS紀(jì)錄DNS:

存儲資源紀(jì)錄

(RR)的分布式數(shù)據(jù)庫Type=NSname=域(e.g.foo)value=該域授權(quán)域名服務(wù)器的IP地址RR格式:(name,value,type,ttl)Type=Aname=主機(jī)名value=IP地址Type=CNAMEName=別名ibmisreallyservereast.backup2.ibmvalue=真名Type=MXvalue=與name相關(guān)的郵件服務(wù)器域名21應(yīng)用層DNS協(xié)議-報文格式DNS協(xié)議:

查詢和應(yīng)答報文,二者格式相同報文首部identification:16bit#用于查詢,應(yīng)答報文運(yùn)用同樣的#flags:查詢或應(yīng)答希望遞歸可以遞歸授權(quán)應(yīng)答22應(yīng)用層DNS協(xié)議-報文格式Name,typefields

查詢報文RRs響應(yīng)來自授權(quán)服務(wù)器的紀(jì)錄其他“幫助”信息23應(yīng)用層萬維網(wǎng)WWW概述萬維網(wǎng)WWW(WorldWideWeb)并非某種特殊的計算機(jī)網(wǎng)絡(luò)。萬維網(wǎng)是一個大規(guī)模的、聯(lián)機(jī)式的信息貯存所。萬維網(wǎng)用鏈接的方法能特殊便利地從因特網(wǎng)上的一個站點(diǎn)訪問另一個站點(diǎn),從而主動地按需獲得豐富的信息。這種訪問方式稱為“鏈接”。24應(yīng)用層萬維網(wǎng)供應(yīng)分布式服務(wù)萬維網(wǎng)站點(diǎn)A萬維網(wǎng)站點(diǎn)C萬維網(wǎng)站點(diǎn)E萬維網(wǎng)站點(diǎn)D萬維網(wǎng)站點(diǎn)B鏈接到鏈接到鏈接到鏈接到鏈接到鏈接到③⑥①②④⑤25應(yīng)用層超媒體與超文本萬維網(wǎng)是分布式超媒體(hypermedia)系統(tǒng),它是超文本(hypertext)系統(tǒng)的擴(kuò)充。一個超文本由多個信息源鏈接成。利用一個鏈接可運(yùn)用戶找到另一個文檔。這些文檔可以位于世界上任何一個接在因特網(wǎng)上的超文本系統(tǒng)中。超文本是萬維網(wǎng)的基礎(chǔ)。超媒體與超文本的區(qū)分是文檔內(nèi)容不同。超文本文檔僅包含文本信息,而超媒體文檔還包含其他表示方式的信息,如圖形、圖像、聲音、動畫,甚至活動視頻圖像。26應(yīng)用層

萬維網(wǎng)的工作方式萬維網(wǎng)以客戶服務(wù)器方式工作。閱讀器就是在用戶計算機(jī)上的萬維網(wǎng)客戶程序。萬維網(wǎng)文檔所駐留的計算機(jī)則運(yùn)行服務(wù)器程序,因此這個計算機(jī)也稱為萬維網(wǎng)服務(wù)器。客戶程序向服務(wù)器程序發(fā)出懇求,服務(wù)器程序向客戶程序送回客戶所要的萬維網(wǎng)文檔。在一個客戶程序主窗口上顯示出的萬維網(wǎng)文檔稱為頁面(page)。27應(yīng)用層萬維網(wǎng)必需解決的問題(1)怎樣標(biāo)記分布在整個因特網(wǎng)上的萬維網(wǎng)文檔?運(yùn)用統(tǒng)一資源定位符URL(UniformResourceLocator)來標(biāo)記萬維網(wǎng)上的各種文檔。使每一個文檔在整個因特網(wǎng)的范圍內(nèi)具有惟一的標(biāo)識符URL。(2)用何協(xié)議實(shí)現(xiàn)萬維網(wǎng)上各種超鏈的鏈接?在萬維網(wǎng)客戶程序與萬維網(wǎng)服務(wù)器程序之間進(jìn)行交互所運(yùn)用的協(xié)議,是超文本傳送協(xié)議HTTP(HyperTextTransferProtocol)。HTTP是一個應(yīng)用層協(xié)議,它運(yùn)用TCP連接進(jìn)行牢靠的傳送。28應(yīng)用層萬維網(wǎng)必需解決的問題(3)怎樣使各種萬維網(wǎng)文檔都能在因特網(wǎng)上的各種計算機(jī)上顯示出來,同時運(yùn)用戶清晰地知道在什么地方存在著超鏈?超文本標(biāo)記語言HTML(HyperTextMarkupLanguage)使得萬維網(wǎng)頁面的設(shè)計者可以很便利地用一個超鏈從本頁面的某處鏈接到因特網(wǎng)上的任何一個萬維網(wǎng)頁面,并且能夠在自己的計算機(jī)屏幕上將這些頁面顯示出來。(4)怎樣運(yùn)用戶能夠很便利地找到所需的信息?為了在萬維網(wǎng)上便利地查找信息,用戶可運(yùn)用各種的搜尋工具(即搜尋引擎)。29應(yīng)用層統(tǒng)一資源定位符URL

(uniformresourselocation)統(tǒng)一資源定位符URL是對可以從因特網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示。URL給資源的位置供應(yīng)一種抽象的識別方法,并用這種方法給資源定位。URL相當(dāng)于一個文件名在網(wǎng)絡(luò)范圍的擴(kuò)展。因此URL是與因特網(wǎng)相連的機(jī)器上的任何可訪問對象的一個指針。30應(yīng)用層URL的一般形式由以冒號隔開的兩大部分組成,并且在URL中的字符對大寫或小寫沒有要求。URL的一般形式是:<URL的訪問方式>://<主機(jī)>:<端口>/<路徑>(8-2)ftp——文件傳送協(xié)議FTPhttp——超文本傳送協(xié)議HTTPNews——USENET新聞31應(yīng)用層URL的一般形式由以冒號隔開的兩大部分組成,并且在URL中的字符對大寫或小寫沒有要求。URL的一般形式是:<URL的訪問方式>://<主機(jī)>:<端口>/<路徑>(8-2)<主機(jī)>是存放資源的主機(jī)在因特網(wǎng)中的域名32應(yīng)用層URL的一般形式由以冒號隔開的兩大部分組成,并且在URL中的字符對大寫或小寫沒有要求。URL的一般形式是:<URL的訪問方式>://<主機(jī)>:<端口>/<路徑>(8-2)有時可省略33應(yīng)用層運(yùn)用HTTP的URL運(yùn)用HTTP的URL的一般形式://<主機(jī)>:<端口>/<路徑>這表示使用HTTP協(xié)議34應(yīng)用層運(yùn)用HTTP的URL運(yùn)用HTTP的URL的一般形式://<主機(jī)>:<端口>/<路徑>冒號和兩個斜線是規(guī)定的格式35應(yīng)用層運(yùn)用HTTP的URL運(yùn)用HTTP的URL的一般形式://<主機(jī)>:<端口>/<路徑>這里寫主機(jī)的域名36應(yīng)用層運(yùn)用HTTP的URL運(yùn)用HTTP的URL的一般形式://<主機(jī)>:<端口>/<路徑>HTTP的默認(rèn)端口號是80,通??墒÷?7應(yīng)用層運(yùn)用HTTP的URL運(yùn)用HTTP的URL的一般形式://<主機(jī)>:<端口>/<路徑>若再省略文件的<路徑>項(xiàng),則URL就指到因特網(wǎng)上的某個主頁(homepage)。38應(yīng)用層協(xié)議:TCP傳輸服務(wù):客戶端啟動TCP連接(創(chuàng)建插口)到服務(wù)器,端口80服務(wù)器接受來自客戶端的TCP連接報文(應(yīng)用層協(xié)議報文)在閱讀器(client)和Web服務(wù)器(server)之間進(jìn)行交換關(guān)閉TCP連接是“無狀態(tài)(stateless)”的服務(wù)器不保留任何訪問過的懇求信息保留狀態(tài)的協(xié)議很困難喲!過去的歷史(狀態(tài))須要保留一旦閱讀器/服務(wù)器崩潰,它們各自的狀態(tài)視圖就會發(fā)生分歧,還須要重新核對小評論39應(yīng)用層Web:協(xié)議超文本傳輸協(xié)議(:hypertexttransferprotocol)萬維網(wǎng)應(yīng)用協(xié)議客戶端/服務(wù)器模式客戶端:閱讀器懇求、接收、展示W(wǎng)eb對象(objects)服務(wù)器:Web服務(wù)器發(fā)送對象對懇求進(jìn)行響應(yīng)1.0:RFC19451.1:RFC2068PCrunningExplorerServerrunningNCSAWebserverMacrunningNavigatorrequestrequestresponseresponse40應(yīng)用層舉例假設(shè)用戶鍵入了一個URLsomeS/someDepartment/home.index1a.客戶端啟動TCP連接到someS上的服務(wù)器(進(jìn)程).Port80是服務(wù)器的默認(rèn)端口.2.客戶端發(fā)送懇求報文(包括URL)進(jìn)入TCP連接插口(socket)1b.在someS上的服務(wù)器在port80等待TCP的連接懇求.“接受”連接并通知客戶端3.服務(wù)器接收到懇求報文,形成響應(yīng)報文(包含了所懇求的對象,someDepartment/home.index),將報文送入插口(socket)time(該網(wǎng)頁包含文本并引用了10jpeg圖片)41應(yīng)用層舉例(續(xù).)5.客戶端接收到了包含html文件的響應(yīng)報文。分析html文件,發(fā)覺10個引用的jpeg對象6.

對10

jpeg

objects逐個重復(fù)1-5步4.服務(wù)器關(guān)閉TCP連接.time42應(yīng)用層非持續(xù)和持續(xù)連接(非持續(xù)連接)Non-persistent/1.0:服務(wù)器分析懇求、響應(yīng)、關(guān)閉TCP連接取對象須要2RTTsTCP連接對象懇求/傳送每次傳送都要受到TCP連接初始化時的慢啟動影響很多閱讀器同時打開多個并行的連接來改善性能(持續(xù)連接)Persistent/1.1的默認(rèn)設(shè)置在同一TCP連接上:服務(wù)器分析懇求、響應(yīng)懇求,分析新的懇求、..客戶端一旦下載到了基本的html文件(baseHTML)馬上發(fā)送對全部引用對象的懇求.較少的RTTs,較少的慢啟動.43應(yīng)用層流水線和非流水線方式流水線方式指沒有收到上一個懇求的對象就發(fā)送新的對象的懇求非流水線方式指必須要等到上一個懇求的對象到達(dá)之后再發(fā)送新的對象的懇求44應(yīng)用層報文格式:request(懇求)twotypesof報文:request,response懇求報文:ASCII(可讀格式)GET/somedir/page.htmlHTTP/1.0User-agent:Mozilla/4.0Accept:text/html,image/gif,image/jpegAccept-language:fr(額外的carriagereturn,linefeed)

請求行(GET,POST,HEAD命令)首部

諸行回車、換行表示報文結(jié)束45應(yīng)用層懇求報文格式:Request方法URL版本首部字段名首部行:值首部字段名值:…實(shí)體主體(通常不用)請求行空格回車換行:CRLFCRLFCRLFCRLF懇求報文的類型是由它所接受的方法確定的。46應(yīng)用層HTTP懇求報文的一些方法方法(操作)意義OPTION 懇求一些選項(xiàng)的信息GET 懇求讀取由URL所標(biāo)記的信息HEAD 懇求讀取由URL所標(biāo)記的信息的首部POST 給服務(wù)器添加信息(例如,注釋)PUT 在指明的URL下存儲一個文檔DELETE 刪除指明的URL所標(biāo)記的資源TRACE 用來進(jìn)行環(huán)回測試的懇求報文CONNECT 用于代理服務(wù)器47應(yīng)用層響應(yīng)報文格式:Response版本狀態(tài)碼短語首部字段名首部行:值首部字段名值:…實(shí)體主體(有些響應(yīng)報文不用)狀態(tài)行空格回車換行:CRLFCRLFCRLFCRLF響應(yīng)報文的起先行是狀態(tài)行。狀態(tài)行包括三項(xiàng)內(nèi)容,即HTTP的版本,狀態(tài)碼,以及說明狀態(tài)碼的簡潔短語。開始行48應(yīng)用層狀態(tài)碼都是三位數(shù)字1xx表示通知信息的,如懇求收到了或正在進(jìn)行處理。2xx表示成功,如接受或知道了。3xx表示重定向,表示要完成懇求還必需實(shí)行進(jìn)一步的行動。4xx表示客戶的差錯,如懇求中有錯誤的語法或不能完成。5xx表示服務(wù)器的差錯,如服務(wù)器失效無法完成懇求。49應(yīng)用層用戶-服務(wù)器的交互:認(rèn)證(authentication)認(rèn)證:限制對服務(wù)器內(nèi)容的訪問信用認(rèn)證:一般通過用戶名,口令進(jìn)行無狀態(tài):客戶端必需在每次懇求前進(jìn)行認(rèn)證authorization:就是要求在每個懇求報文中提交認(rèn)證的首部行假如客戶端沒有提交authorization:首部行,服務(wù)器將拒絕訪問,只是在響應(yīng)報文首部中發(fā)送WWWauthenticate:clientserver一般懇求報文401:認(rèn)證要求WWWauthenticate:普通http請求報文+

Authorization:<cred>普通http響應(yīng)報文普通http請求報文+Authorization:<cred>普通http響應(yīng)報文time50應(yīng)用層Cookies:保存“狀態(tài)”服務(wù)器產(chǎn)生一個#,服務(wù)器相識這個#,以備時常之需:認(rèn)證記憶用戶的前序訪問,從前的選擇服務(wù)器在響應(yīng)報文中發(fā)送“cookie”給客戶端Set-cookie:1678453客戶端可以在后繼的懇求中發(fā)送“cookie”cookie:1678453clientserver一般懇求報文一般響應(yīng)報文+Set-cookie:#普通http請求報文cookie:#普通http響應(yīng)報文普通http請求報文cookie:#普通http響應(yīng)報文cookie-特定的cookie-特定的51應(yīng)用層ConditionalGET:客戶端緩存機(jī)制目的:假如客戶端緩存了最新的懇求對象,則服務(wù)器不必重復(fù)發(fā)送客戶端:在懇求報文中聲明所緩存拷貝的生成日期If-modified-since:<date>服務(wù)器:假如客戶端緩存的拷貝是最新的,則在響應(yīng)報文中不發(fā)懇求的對象:HTTP/1.0304NotModifiedclientserver懇求報文If-modified-since:<date>http響應(yīng)報文HTTP/1.0304NotModified對象未經(jīng)修改懇求報文If-modified-since:<date>響應(yīng)報文HTTP/1.1200OK<data>對象已經(jīng)修改52應(yīng)用層Web緩存:代理服務(wù)器(proxyserver)用戶設(shè)置閱讀器:Web訪問經(jīng)由代理服務(wù)器客戶端發(fā)送全部的懇求到代理服務(wù)器代理服務(wù)器保存了懇求的對象:代理服務(wù)器返回懇求的對象否則代理服務(wù)器從原始服務(wù)器懇求對象,再將其返回給客戶端目的:滿足客戶端的懇求而無需煩擾原始服務(wù)器clientProxyserverclientrequestrequestresponseresponserequestresponseoriginserveroriginserver53應(yīng)用層為何Web緩存?前提:緩存與客戶端比較“接近“(e.g.,在同一網(wǎng)絡(luò)中)響應(yīng)時間較短:緩存的設(shè)備與客戶端比較近削減了往來與遠(yuǎn)程服務(wù)器間的數(shù)據(jù)流量因?yàn)閺膶W(xué)校或本地ISP通往外部的鏈路往往是網(wǎng)絡(luò)瓶頸originserverspublicInternetinstitutionalnetwork10MbpsLAN1.5Mbpsaccesslinkinstitutionalcache54應(yīng)用層試驗(yàn):構(gòu)建Web服務(wù)器(iis),運(yùn)用Iris分析DNS和Http協(xié)議Http是否加密傳輸?Http的服務(wù)器監(jiān)聽端口是否必需是80端口Http1.0和1.1之間的區(qū)分Web緩存真的存在么?55應(yīng)用層用telnet測試(客戶端操作)1.用Telnet連接測試用的服務(wù)器(須要預(yù)先登錄UNIX):打開TCP連接到port80(默認(rèn)的服務(wù)器端口)位于0后續(xù)鍵入的內(nèi)容將發(fā)送到0的80號端口$telnet0

802.鍵入一條懇求報文:GET/~j1010/hello.htmHTTP/1.0將該指令鍵入后(按兩次回車鍵),就將此最短之(但是完整的)GET懇求發(fā)到了服務(wù)器3.請留意視察服務(wù)器發(fā)回的響應(yīng)報文!56應(yīng)用層ftp:文件傳輸協(xié)議傳輸文件往來與遠(yuǎn)程主機(jī)客戶端/服務(wù)器模式客戶端:

啟動傳輸(無論與往來遠(yuǎn)程主機(jī))服務(wù)器:

遠(yuǎn)程主機(jī)ftp:RFC959ftp服務(wù)器:端口21filetransferFTPserverFTPuserinterfaceFTPclientlocalfilesystemremotefilesystemuserathost57應(yīng)用層ftp:分別的限制,數(shù)據(jù)連接ftp客戶端在ftp服務(wù)器的端口21進(jìn)行聯(lián)系,運(yùn)用TCP作為傳輸協(xié)議打開兩個并行的連接:限制:在客戶端和服務(wù)器之間交換叮囑,響應(yīng)。稱為帶外限制:“outofbandcontrol”數(shù)據(jù):往來于服務(wù)器的文件ftp維持狀態(tài)(state):當(dāng)前書目、從前的認(rèn)證信息等FTPclientFTPserverTCPcontrolconnectionport21TCPdataconnectionport2058應(yīng)用層ftp叮囑,響應(yīng)樣例叮囑:在限制通道上傳送的ASCII文本USERusername(登錄)PASSpassword(登錄)LIST(返回當(dāng)前書目中的文件列表)RETRfilename(取(gets)文件)STORfilename(存(puts)文件到遠(yuǎn)程主機(jī))返回碼樣例狀態(tài)碼和短語(同)331UsernameOK,passwordrequired125dataconnectionalreadyopen;transferstarting425Can’topendataconnection452Errorwritingfile59應(yīng)用層試驗(yàn):構(gòu)建FTP服務(wù)器,分析FTP協(xié)議運(yùn)用ServU或WftpD運(yùn)用ftp叮囑行的方式訪問運(yùn)用cuteftp或flashfxp等窗口模式的ftp客戶端問題:ftp的數(shù)據(jù)連接的端口真的是20么?60應(yīng)用層電子郵件概述發(fā)送方郵件緩存接收端郵件服務(wù)器用戶代理SMTPSMTPPOP3發(fā)送端郵件服務(wù)器用戶代理用戶郵箱接收方用戶代理用戶代理郵件服務(wù)器郵件服務(wù)器SMTPSMTPPOP3(發(fā)送郵件)(發(fā)送郵件)(發(fā)送郵件)(發(fā)送郵件)(讀取郵件)(讀取郵件)(TCP連接)(TCP連接)(TCP連接)因特網(wǎng)61應(yīng)用層電子郵件的發(fā)送和接收過程發(fā)送方郵件緩存接收端郵件服務(wù)器用戶代理發(fā)送端郵件服務(wù)器用戶代理接收方用戶代理用戶代理郵件服務(wù)器郵件服務(wù)器(發(fā)送郵件)SMTPSMTP(發(fā)送郵件)(TCP連接)因特網(wǎng)(1)發(fā)信人調(diào)用用戶代理來編輯要發(fā)送的郵件。用戶代理用SMTP把郵件傳送給發(fā)送端郵件服務(wù)器。62應(yīng)用層電子郵件的發(fā)送和接收過程發(fā)送方接收端郵件服務(wù)器用戶代理SMTP發(fā)送端郵件服務(wù)器郵件緩存用戶代理接收方用戶代理用戶代理郵件服務(wù)器郵件服務(wù)器SMTP(發(fā)送郵件)(發(fā)送郵件)(TCP連接)因特網(wǎng)(2)發(fā)送端郵件服務(wù)器將郵件放入郵件緩存隊(duì)列中,等待發(fā)送。63應(yīng)用層電子郵件的發(fā)送和接收過程發(fā)送方郵件緩存接收端郵件服務(wù)器用戶代理SMTP發(fā)送端郵件服務(wù)器用戶代理接收方用戶代理用戶代理郵件服務(wù)器郵件服務(wù)器SMTP(發(fā)送郵件)(發(fā)送郵件)(TCP連接)SMTPSMTP(發(fā)送郵件)(發(fā)送郵件)(TCP連接)因特網(wǎng)(3)運(yùn)行在發(fā)送端郵件服務(wù)器的SMTP客戶進(jìn)程,發(fā)覺在郵件緩存中有待發(fā)送的郵件,就向運(yùn)行在接收端郵件服務(wù)器的SMTP服務(wù)器進(jìn)程發(fā)起TCP連接的建立。64應(yīng)用層電子郵件的發(fā)送和接收過程發(fā)送方郵件緩存接收端郵件服務(wù)器用戶代理SMTP發(fā)送端郵件服務(wù)器用戶代理用戶郵箱接收方用戶代理用戶代理郵件服務(wù)器郵件服務(wù)器SMTP(發(fā)送郵件)(發(fā)送郵件)(TCP連接)SMTPSMTP(發(fā)送郵件)(發(fā)送郵件)(TCP連接)因特網(wǎng)(4)TCP連接建立后,SMTP客戶進(jìn)程起先向遠(yuǎn)程的SMTP服務(wù)器進(jìn)程發(fā)送郵件。當(dāng)全部的待發(fā)送郵件發(fā)完了,SMTP就關(guān)閉所建立的TCP連接。65應(yīng)用層電子郵件的發(fā)送和接收過程發(fā)送方郵件緩存接收端郵件服務(wù)器用戶代理SMTP發(fā)送端郵件服務(wù)器用戶代理用戶郵箱接收方用戶代理用戶代理郵件服務(wù)器郵件服務(wù)器SMTP(發(fā)送郵件)(發(fā)送郵件)(TCP連接)SMTPSMTP(發(fā)送郵件)(發(fā)送郵件)(TCP連接)因特網(wǎng)(5)運(yùn)行在接收端郵件服務(wù)器中的SMTP服務(wù)器進(jìn)程收到郵件后,將郵件放入收信人的用戶郵箱中,等待收信人在便利時進(jìn)行讀取。66應(yīng)用層電子郵件的發(fā)送和接收過程發(fā)送方郵件緩存接收端郵件服務(wù)器用戶代理SMTP發(fā)送端郵件服務(wù)器用戶代理用戶郵箱接收方用戶代理用戶代理郵件服務(wù)器郵件服務(wù)器SMTP(發(fā)送郵件)(發(fā)送郵件)(TCP連接)SMTPSMTP(發(fā)送郵件)(發(fā)送郵件)(TCP連接)POP3POP3(讀取郵件)(讀取郵件)(TCP連接)因特網(wǎng)(6)收信人在準(zhǔn)備收信時,調(diào)用用戶代理,運(yùn)用POP3(或IMAP)協(xié)議將自己的郵件從接收端郵件服務(wù)器的用戶郵箱中的取回(假如郵箱中有來信的話)。67應(yīng)用層電子郵件系統(tǒng)的組成四個重要組件:

用戶代理郵件服務(wù)器郵件傳輸協(xié)議:SMTP,MIME郵件接收協(xié)議:pop,IMAP用戶代理寫作,編輯,閱讀郵件報文e.g.,Foxmail,OE,elm,NetscapeMessenger,IE外發(fā),接收的報文存儲在郵件服務(wù)器中用戶郵箱外發(fā)報文隊(duì)列mailserveruseragentuseragentuseragentmailserveruseragentuseragentmailserveruseragentSMTPSMTPSMTP68應(yīng)用層電子郵件:smtp[RFC821]運(yùn)用tcp牢靠的傳送郵件報文,端口25干脆傳輸:發(fā)送服務(wù)器到接收服務(wù)器傳輸?shù)娜齻€階段握手(打招呼)報文傳輸結(jié)束叮囑/響應(yīng)交互叮囑:ASCII文本響應(yīng):狀態(tài)碼和短語郵件報文必需運(yùn)用7-bitASCII表示69應(yīng)用層Smtp相關(guān)說明smtp運(yùn)用持續(xù)連接smtp要求報文(首部&信體)全部運(yùn)用7-bitASCII碼某些代碼組合不允許出現(xiàn)在報文中(e.g.,CRLF.CRLF).此類數(shù)據(jù)必需進(jìn)行編碼(通常運(yùn)用base-64或quotedprintable)smtp服務(wù)器用CRLF.CRLF表示郵件報文的結(jié)束與的比較::pull(拉)smtp:push(推)都運(yùn)用ASCII叮囑/響應(yīng)交互,狀態(tài)碼:每個對象分裝在各自的響應(yīng)報文中smtp:多個對象在一個多分部的報文中傳送70應(yīng)用層郵件報文格式smtp:交換郵件報文的協(xié)議RFC822:文本報文格式標(biāo)準(zhǔn):首部諸行,e.g.,To:From:Subject:不同于smtp叮囑!信體即“報文”,ASCIIcharactersonlyheaderbody空行71應(yīng)用層通用因特網(wǎng)郵件擴(kuò)充MIMESMTP有以下缺點(diǎn):SMTP限于傳送7位的ASCII碼。SMTP不能傳送可執(zhí)行文件或其他的二進(jìn)制對象,包括很多其他非英語國家的文字(如中文、俄文,甚至帶重音符號的法文或德文)。SMTP服務(wù)器會拒絕超過確定長度的郵件。某些SMTP的實(shí)現(xiàn)并沒有完全依據(jù)[RFC821]的SMTP標(biāo)準(zhǔn)。72應(yīng)用層MIME的特點(diǎn)MIME并沒有改動SMTP或取代它。MIME的意圖是接著運(yùn)用目前的[RFC822]格式,但增加了郵件主體的結(jié)構(gòu),并定義了傳送非ASCII碼的編碼規(guī)則。73應(yīng)用層MIME和SMTP的關(guān)系非ASCII碼7位ASCII碼MIMESMTPMIMESMTP7位ASCII碼7位ASCII碼非ASCII碼用戶用戶74應(yīng)用層MIME主要包括三個部分5個新的郵件首部字段,它們可包含在[RFC822]首部中。這些字段供應(yīng)了有關(guān)郵件主體的信息。定義了很多郵件內(nèi)容的格式,對多媒體電子郵件的表示方法進(jìn)行了標(biāo)準(zhǔn)化。定義了傳送編碼,可對任何內(nèi)容格式進(jìn)行轉(zhuǎn)換,而不會被郵件系統(tǒng)變更。75應(yīng)用層MIME運(yùn)用的編碼方式-Base64編碼本質(zhì)上是把三個Byte的數(shù)據(jù)用4個Byte表示,這四個Byte中,實(shí)際用到的都只有前面6bit,這樣就不存在只能傳輸7bit的字符的問題

76應(yīng)用層MIME運(yùn)用的編碼方式-QuotePrintable編碼把一個8bit的字符用兩個16進(jìn)制數(shù)值表示,然后在前面加“=”。例如101100111011010110001001經(jīng)過QP編碼后=B3=B5=89。QP編碼方式適用于當(dāng)所傳送的數(shù)據(jù)中只有少量的非ASCII,例如漢字。

77應(yīng)用層MIME增加5個新的郵件首部MIME-Version:標(biāo)記MIME的版本。現(xiàn)在的版本號是1.0。若無此行,則為英文文本。Content-Description:這是可讀字符串,說明此郵件是什么。和郵件的主題差不多。Content-Id:郵件的惟一標(biāo)識符。Content-Transfer-Encoding:在傳送時郵件的主體是如何編碼的。Content-Type:說明郵件的性質(zhì)。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論