版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)網(wǎng)絡(luò)第2章應(yīng)用層2023年2月1日2目錄應(yīng)用層協(xié)議原理WEB應(yīng)用和HTTP協(xié)議文件傳輸協(xié)議:FTP因特網(wǎng)中的電子郵件DNS:因特網(wǎng)的目錄服務(wù)P2P文件共享TCP套接字編程UDP套接字編程構(gòu)造一個(gè)簡(jiǎn)單的Web服務(wù)器2023年2月1日32.1應(yīng)用層協(xié)議原理常見(jiàn)的網(wǎng)絡(luò)應(yīng)用上網(wǎng)瀏覽新聞——IE、Maxthon、FireFox……處理電子郵件——OutlookExpress、FoxMail、Outlook……和熟悉的或者陌生的朋友聊天——ICQ、QQ、MSNMessenger、UC……網(wǎng)絡(luò)電話——SkyPe、QQ、Net2Phone……網(wǎng)絡(luò)游戲?qū)?zhàn)——CS、魔獸世界、聯(lián)眾……資源共享——FTP、BT、電騾……在線視頻——VOD、ppLive……搜索引擎——Google、百度、MSNSearch……2023年2月1日42.1應(yīng)用層協(xié)議原理
看了這么多成功的應(yīng)用,可能你躍躍欲試,很想編寫一個(gè)類似于Google這樣的超級(jí)網(wǎng)絡(luò)應(yīng)用……
那么現(xiàn)在的你應(yīng)該做些什么呢?2023年2月1日52.1應(yīng)用層協(xié)議原理知道什么是網(wǎng)絡(luò)應(yīng)用程序可以向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)可以從網(wǎng)絡(luò)接收數(shù)據(jù)可以對(duì)數(shù)據(jù)進(jìn)行處理也許還能夠?qū)?shù)據(jù)展現(xiàn)在界面上,以非常友好的方式讓你知道它在做什么,免得你說(shuō)它怠工時(shí)不時(shí)的彈出一個(gè)小窗口,提示你不要太辛勤工作了,以表示對(duì)你無(wú)微不至的關(guān)懷
……2023年2月1日62.1應(yīng)用層協(xié)議原理決定你的殺手級(jí)網(wǎng)絡(luò)應(yīng)用所采用的體系結(jié)構(gòu)客戶機(jī)/服務(wù)器體系結(jié)構(gòu)(C/S)P2P體系結(jié)構(gòu)混合體系結(jié)構(gòu)2023年2月1日72.1應(yīng)用層協(xié)議原理客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的特征是怎樣的?存在一個(gè)能夠向客戶機(jī)提供服務(wù)的服務(wù)器,e.g.,WEB服務(wù)器存在一個(gè)或者多個(gè)主動(dòng)連接服務(wù)器,試圖從服務(wù)器那里獲取所需服務(wù)的客戶機(jī),e.g.,IE瀏覽器特別注意1:客戶機(jī)之間不能互相通信特別注意2:為提高服務(wù)器的處理能力,通常采用服務(wù)器群集(ServerFarm)applicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalrequestreplyapplicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalrequestrequestreplyreply2023年2月1日82.1應(yīng)用層協(xié)議原理那P2P體系結(jié)構(gòu)又以什么方式來(lái)體現(xiàn)呢?任何一方既提供服務(wù)又享受服務(wù)結(jié)點(diǎn)之間可以直接通信結(jié)點(diǎn)的地址以及他們之間的連接可能隨時(shí)發(fā)生變化例如:Gnutella特別注意:P2P體系結(jié)構(gòu)非常容易擴(kuò)展,但也特別難以管理2023年2月1日92.1應(yīng)用層協(xié)議原理混合體系結(jié)構(gòu)那混合體系結(jié)構(gòu)自然而然就是C/S體系結(jié)構(gòu)和P2P體系結(jié)構(gòu)的混合體請(qǐng)大家回想一下第一個(gè)P2P應(yīng)用Napster和及時(shí)通信(IM),一切就都明白了!2023年2月1日102.1應(yīng)用層協(xié)議原理網(wǎng)絡(luò)應(yīng)用涉及各個(gè)組成部分的交互同一臺(tái)主機(jī)上的進(jìn)程之間通信的規(guī)則,由操作系統(tǒng)制定,和計(jì)算機(jī)網(wǎng)絡(luò)無(wú)關(guān),本課程就不討論了。不同主機(jī)上的進(jìn)程之間通信的規(guī)則,當(dāng)然就和網(wǎng)絡(luò)相關(guān)了,這套規(guī)則在計(jì)算機(jī)網(wǎng)絡(luò)中,稱之為“應(yīng)用層協(xié)議”,也是本章重點(diǎn)討論的內(nèi)容2023年2月1日112.1應(yīng)用層協(xié)議原理當(dāng)你的網(wǎng)絡(luò)應(yīng)用程序Run起來(lái)后,就變成了網(wǎng)絡(luò)應(yīng)用進(jìn)程。產(chǎn)生了如下問(wèn)題:當(dāng)你的網(wǎng)絡(luò)應(yīng)用和其它人開(kāi)發(fā)的網(wǎng)絡(luò)應(yīng)用共同運(yùn)行在一臺(tái)主機(jī)上時(shí),如何把你的網(wǎng)絡(luò)應(yīng)用區(qū)分開(kāi)來(lái)?通信子網(wǎng)只負(fù)責(zé)把數(shù)據(jù)交付到主機(jī),并不負(fù)責(zé)把數(shù)據(jù)交付到應(yīng)用,主機(jī)如何知道數(shù)據(jù)該交付到哪個(gè)網(wǎng)絡(luò)應(yīng)用?2023年2月1日122.1應(yīng)用層協(xié)議原理一個(gè)例子假設(shè)你追求一個(gè)人現(xiàn)在你要發(fā)一封信給她(他)(非電子的阿)不知道名字?寫上名字?如何交給郵局現(xiàn)在她(他)回一封信給你怎么回信?郵局如何交寄給你下續(xù)2023年2月1日132.1應(yīng)用層協(xié)議原理類比到因特網(wǎng),提供了類似的解決方法,那就是“套接字(Socket)”每個(gè)網(wǎng)絡(luò)應(yīng)用進(jìn)程都有一個(gè)屬于自己的套接字,該套接字在整個(gè)因特網(wǎng)上獨(dú)一無(wú)二主機(jī)地址:標(biāo)識(shí)該網(wǎng)絡(luò)應(yīng)用進(jìn)程運(yùn)行在因特網(wǎng)上哪一臺(tái)主機(jī)上,通常使用32位的IP地址進(jìn)行標(biāo)識(shí)端口地址:在該主機(jī)上標(biāo)示該網(wǎng)絡(luò)應(yīng)用進(jìn)程,通常使用16位的端口號(hào)進(jìn)行標(biāo)識(shí)e.g.,WEBServer:80;MailServer:25;所以套接字的長(zhǎng)度為48位2023年2月1日142.1應(yīng)用層協(xié)議原理進(jìn)程通過(guò)套接字來(lái)接收和發(fā)送報(bào)文套接字相當(dāng)于一個(gè)通道發(fā)送進(jìn)程將報(bào)文交給套接字套接字將這些報(bào)文傳輸?shù)浇邮者M(jìn)程的套接字processTCPwithbuffers,variablessockethostorserverprocessTCPwithbuffers,variablessockethostorserverInternetcontrolledbyappdeveloper2023年2月1日152.1應(yīng)用層協(xié)議原理因特網(wǎng)會(huì)給網(wǎng)絡(luò)應(yīng)用提供很多不同類型的服務(wù),你的網(wǎng)絡(luò)應(yīng)用需要哪些服務(wù)呢?數(shù)據(jù)的可靠傳輸:你的網(wǎng)絡(luò)應(yīng)用是否需要?帶寬的自動(dòng)控制:你的網(wǎng)絡(luò)應(yīng)用是否帶寬敏感?傳輸和反饋的實(shí)時(shí)性2023年2月1日162.1應(yīng)用層協(xié)議原理常見(jiàn)應(yīng)用程序?qū)鬏敺?wù)的要求應(yīng)用程序文件傳輸e-mailWeb網(wǎng)頁(yè)實(shí)時(shí)音頻/視頻存儲(chǔ)音頻/視頻交互式游戲金融應(yīng)用數(shù)據(jù)丟失不丟失不丟失不丟失允許丟失允許丟失允許丟失允許丟失不丟失帶寬彈性彈性彈性音頻:5Kb-1Mb視頻:10Kb-5Mb同上幾Kb/s以上彈性實(shí)時(shí)性無(wú)無(wú)無(wú)100’smsecfewsecs100’smsecyesandno2023年2月1日172.1應(yīng)用層協(xié)議原理因特網(wǎng)將所提供的服務(wù)整合成兩類傳輸服務(wù),你的網(wǎng)絡(luò)應(yīng)用使用哪一類傳輸服務(wù),你該做出決定了!TCP面向連接:
在客戶端和服務(wù)器進(jìn)程之間需要建立連接可靠傳輸
:
在發(fā)送和接受進(jìn)程之間流量控制:
發(fā)送數(shù)據(jù)的速度決不超過(guò)接收的速度擁塞控制:
當(dāng)網(wǎng)絡(luò)超負(fù)荷時(shí),束緊發(fā)送端口,減緩發(fā)送速度不提供:
實(shí)時(shí)性,最小帶寬承諾2023年2月1日182.1應(yīng)用層協(xié)議原理UDP在客戶端和服務(wù)器進(jìn)程之間實(shí)現(xiàn)“不可靠的”數(shù)據(jù)傳輸不提供:連接建立,可靠性保證,流量控制,擁塞控制,實(shí)時(shí)性,最小帶寬承諾2023年2月1日192.1應(yīng)用層協(xié)議原理因特網(wǎng)常見(jiàn)應(yīng)用采用的傳輸協(xié)議應(yīng)用e-mail遠(yuǎn)程終端訪問(wèn)Web文件傳輸流媒體遠(yuǎn)程文件服務(wù)器IP電話應(yīng)用協(xié)議smtp[RFC821]telnet[RFC854]http[RFC2068]ftp[RFC959]專有協(xié)議(e.g.RealNetworks)NFS專有協(xié)議(e.g.,Vocaltec)所依賴的傳輸協(xié)議TCPTCPTCPTCPTCPorUDPTCPorUDPtypicallyUDP2023年2月1日202.1應(yīng)用層協(xié)議原理目前獲得了構(gòu)造屬于你自己的網(wǎng)絡(luò)應(yīng)用所需要的最基本最基本的知識(shí)!但是這還遠(yuǎn)遠(yuǎn)不夠,你還需要繼續(xù)學(xué)習(xí)協(xié)議到底怎樣工作套接字如何工作傳輸層的服務(wù)是如何提供的IP地址是怎么回事網(wǎng)卡和網(wǎng)線起了什么樣的作用如何保證網(wǎng)絡(luò)應(yīng)用的安全性和性能
……2023年2月1日212.2WEB應(yīng)用和HTTP協(xié)議歷史的回顧19世紀(jì)70年代,電話的發(fā)明,擴(kuò)展了人類通信的范圍,增強(qiáng)了人類通信的實(shí)效性20世紀(jì)20年代,廣播收音機(jī)和電視的發(fā)明,極大的豐富了人類可獲取信息20世紀(jì)90年代,WEB的發(fā)明,極大的提高了人類主動(dòng)獲取信息的能力廣播收音機(jī)/電視和WEB的異同點(diǎn)都是廣播和按需操作你不能發(fā)布電視節(jié)目,但可以發(fā)布WEB內(nèi)容2023年2月1日222.2WEB應(yīng)用和HTTP協(xié)議WEB的構(gòu)成WEB服務(wù)器:IIS、Apache、TomCat……瀏覽器:IE、Maxthon、Firefox協(xié)議信息表達(dá)的協(xié)議——HTML信息傳輸?shù)膮f(xié)議——HTTP特別說(shuō)明:WEB屬于C/S模式2023年2月1日232.2WEB應(yīng)用和HTTP協(xié)議WEB內(nèi)容的表達(dá)Web頁(yè)面由一些對(duì)象組成。對(duì)象可以是HTML文件,JPEG圖片,音頻文件,JavaApplet……HTML文件是Web頁(yè)面的基礎(chǔ),它可以包括各種各樣的對(duì)象,是一個(gè)容器對(duì)象任何一個(gè)對(duì)象都可以用URL來(lái)定位URL的例子:/cs/pic.gif主機(jī)名路徑名2023年2月1日242.2WEB應(yīng)用和HTTP協(xié)議WEB內(nèi)容的傳輸——HTTP協(xié)議客戶端/服務(wù)器模式客戶端:
瀏覽器請(qǐng)求、接收、展示W(wǎng)eb對(duì)象(objects)服務(wù)器:Web服務(wù)器發(fā)送對(duì)象對(duì)請(qǐng)求進(jìn)行響應(yīng)http1.0:RFC1945http1.1:RFC2068運(yùn)行IE瀏覽器的PC運(yùn)行IIS的服務(wù)器運(yùn)行FireFox瀏覽器的PChttprequesthttprequesthttpresponsehttpresponse2023年2月1日252.2WEB應(yīng)用和HTTP協(xié)議http:TCP傳輸服務(wù):客戶端啟動(dòng)TCP連接(創(chuàng)建套接字)到服務(wù)器,端口80服務(wù)器接受來(lái)自客戶端的TCP連接http報(bào)文(應(yīng)用層協(xié)議報(bào)文)在瀏覽器(httpclient)和Web服務(wù)器(httpserver)之間進(jìn)行交換關(guān)閉TCP連接http是“無(wú)狀態(tài)(stateless)”的服務(wù)器不保留任何訪問(wèn)過(guò)的請(qǐng)求信息小評(píng)論保留狀態(tài)的協(xié)議很復(fù)雜喲!過(guò)去的歷史(狀態(tài))需要保留一旦瀏覽器/服務(wù)器崩潰,它們各自的狀態(tài)視圖就會(huì)發(fā)生分歧,還需重新核對(duì)2023年2月1日262.2WEB應(yīng)用和HTTP協(xié)議HTTP1.0的傳輸模式——非持久性連接假設(shè)用戶鍵入了一個(gè)URLwww./cs/home.index1a.http客戶端啟動(dòng)TCP連接到上的http服務(wù)器(進(jìn)程).Port80是http服務(wù)器的默認(rèn)端口.2.http客戶端發(fā)送http請(qǐng)求報(bào)文
(包括URL)進(jìn)入TCP連接插口(socket)1b.
在
上的http服務(wù)器在port80等待TCP的連接請(qǐng)求.“接受”連接并通知客戶端3.http服務(wù)器接收到請(qǐng)求報(bào)文,形成響應(yīng)報(bào)文(包含了所請(qǐng)求的對(duì)象,cs/home.index),將報(bào)文送入插口(socket)time(該網(wǎng)頁(yè)包含文本并引用了10jpeg圖片)下續(xù)2023年2月1日272.2WEB應(yīng)用和HTTP協(xié)議5.http客戶端接收到了包含html文件的響應(yīng)報(bào)文。分析html文件,發(fā)現(xiàn)10個(gè)引用的jpeg對(duì)象6.
對(duì)10jpegobjects逐個(gè)重復(fù)1-5步4.
http服務(wù)器關(guān)閉TCP連接.time2023年2月1日282.2WEB應(yīng)用和HTTP協(xié)議非持久性連接工作機(jī)制分析取對(duì)象需要2RTTsTCP連接對(duì)象請(qǐng)求/傳送許多瀏覽器同時(shí)打開(kāi)多個(gè)并行的連接來(lái)改善性能請(qǐng)考慮:如果有1萬(wàn)臺(tái)客戶機(jī)訪問(wèn)WEB服務(wù)器的某個(gè)頁(yè)面,該頁(yè)面有100個(gè)對(duì)象,那就意味著需要100萬(wàn)個(gè)連接,1個(gè)服務(wù)器能夠扛得住么?2023年2月1日292.2WEB應(yīng)用和HTTP協(xié)議HTTP1.1引入的新傳輸模式——持久連接服務(wù)器在發(fā)送響應(yīng)后,不再斷開(kāi)TCP連接,而是保持該連接,用于后續(xù)對(duì)象的傳送,直至該連接“休息”了一個(gè)較長(zhǎng)的時(shí)間后,方斷開(kāi)該連接減少了對(duì)服務(wù)器端連接數(shù)的需要,從而減少了對(duì)服務(wù)器端套接字資源的占用,提高了服務(wù)器的負(fù)載能力持久連接又可以分為非流水線方式:一個(gè)對(duì)象傳輸完成方能傳輸下一個(gè)流水線方式:可以一次性發(fā)送所有請(qǐng)求,慢慢接收2023年2月1日302.2WEB應(yīng)用和HTTP協(xié)議HTTP報(bào)文類型HTTP請(qǐng)求報(bào)文HTTP響應(yīng)報(bào)文2023年2月1日312.2WEB應(yīng)用和HTTP協(xié)議HTTP請(qǐng)求報(bào)文一段典型的HTTP請(qǐng)求報(bào)文GET/somedir/page.htmlHTTP/1.0User-agent:Mozilla/4.0Accept:text/html,image/gif,image/jpegAccept-language:fr(額外的carriagereturn,linefeed)
請(qǐng)求行(GET,POST,HEAD命令)首部諸行回車、換行表示報(bào)文結(jié)束2023年2月1日322.2WEB應(yīng)用和HTTP協(xié)議HTTP請(qǐng)求報(bào)文的一般格式2023年2月1日332.2WEB應(yīng)用和HTTP協(xié)議請(qǐng)求行支持的方法HTTP1.0定義的方法GET向服務(wù)器請(qǐng)求指定URL的對(duì)象POST用于向服務(wù)器提交表單數(shù)據(jù)也可以同時(shí)請(qǐng)求一個(gè)WEB頁(yè)面特別注意:可以不使用POST方法,而使用GET方法發(fā)送表單數(shù)據(jù)以獲取新的WEB頁(yè)面。e.g.搜索引擎HEAD請(qǐng)求服務(wù)器返回一個(gè)響應(yīng)報(bào)文,但是該報(bào)文中并不包含請(qǐng)求的對(duì)象。該方法常常用來(lái)進(jìn)行故障跟蹤。下續(xù)2023年2月1日342.2WEB應(yīng)用和HTTP協(xié)議HTTP1.1新定義的方法PUT上傳的文件放在實(shí)體主體字段中,目標(biāo)路徑由URL字段標(biāo)明DELETE刪除URL字段中指定的文件2023年2月1日352.2WEB應(yīng)用和HTTP協(xié)議HTTP響應(yīng)報(bào)文一段典型的HTTP響應(yīng)報(bào)文HTTP/1.0200OKDate:Thu,06Aug199812:00:15GMTServer:Apache/1.3.0(Unix)Last-Modified:Mon,22Jun1998…...Content-Length:6821Content-Type:text/html
datadatadatadatadata...狀態(tài)行(協(xié)議狀態(tài)碼狀態(tài)短語(yǔ))首部諸行數(shù)據(jù),e.g.,被請(qǐng)求的html文件2023年2月1日362.2WEB應(yīng)用和HTTP協(xié)議HTTP響應(yīng)報(bào)文的一般格式2023年2月1日372.2WEB應(yīng)用和HTTP協(xié)議常見(jiàn)的HTTP響應(yīng)狀態(tài)碼和短語(yǔ)200OK請(qǐng)求成功,被請(qǐng)求的對(duì)象在報(bào)文中301MovedPermanently被請(qǐng)求的對(duì)象被移動(dòng)過(guò),新的位置在報(bào)文中有說(shuō)明(Location:)400BadRequest服務(wù)器不懂請(qǐng)求報(bào)文404NotFound服務(wù)器上找不到請(qǐng)求的對(duì)象505HTTPVersionNotSupported服務(wù)器不支持請(qǐng)求報(bào)文使用的HTTP協(xié)議版本2023年2月1日382.2WEB應(yīng)用和HTTP協(xié)議了解HTTP報(bào)文格式的最好方法就是自行測(cè)試1.用Telnet連接測(cè)試用的服務(wù)器:打開(kāi)TCP連接到port80(默認(rèn)的http服務(wù)器端口)位于后續(xù)鍵入的內(nèi)容將發(fā)送到的
80號(hào)端口$telnet802.鍵入一條http請(qǐng)求報(bào)文:GET/content/content_11786.html將該指令鍵入后(按兩次回車鍵),就將此最短之(但是完整的)GET請(qǐng)求發(fā)到了http服務(wù)器3.請(qǐng)注意觀察http服務(wù)器發(fā)回的響應(yīng)報(bào)文!2023年2月1日392.2WEB應(yīng)用和HTTP協(xié)議用戶-服務(wù)器交互:CookieWEB站點(diǎn)使用Cookie的目的限制用戶的訪問(wèn)把內(nèi)容和用戶身份關(guān)聯(lián)起來(lái)Cookie技術(shù)的組成部分:在HTTP響應(yīng)報(bào)文中有一個(gè)Cookie首部行在HTTP請(qǐng)求報(bào)文中也有一個(gè)Cookie首部行在用戶的端系統(tǒng)中保留了一個(gè)Cookie文件,由用戶瀏覽器負(fù)責(zé)管理在Web站點(diǎn)有一個(gè)后端數(shù)據(jù)庫(kù)2023年2月1日402.2WEB應(yīng)用和HTTP協(xié)議Cookie工作流程客戶端服務(wù)器http請(qǐng)求報(bào)文http響應(yīng)報(bào)文+Set-cookie:1678http請(qǐng)求報(bào)文cookie:1678http響應(yīng)報(bào)文http請(qǐng)求報(bào)文cookie:1678http響應(yīng)報(bào)文Cookie標(biāo)明的動(dòng)作Cookie標(biāo)明的動(dòng)作服務(wù)器為用戶創(chuàng)建ID:1678后端數(shù)據(jù)庫(kù)的記錄訪問(wèn)訪問(wèn)Cookiefileamazon:1678ebay:8734Cookiefileebay:8734Cookiefileamazon:1678ebay:8734一周以后:2023年2月1日412.2WEB應(yīng)用和HTTP協(xié)議Cookies能為我們帶來(lái)什么好處呢?認(rèn)證“購(gòu)物車”“推薦”用戶會(huì)話狀態(tài)
(Webe-mail)Cookies和私密性:Cookies允許網(wǎng)站獲得相當(dāng)多的用戶的信息你可能會(huì)向網(wǎng)站提供你的姓名和E_Mail地址搜索引擎也可以使用cookie和重定向技術(shù)獲得很多的信息廣告公司也可以通過(guò)用戶訪問(wèn)過(guò)的網(wǎng)站來(lái)獲得用戶的相關(guān)信息2023年2月1日422.2WEB應(yīng)用和HTTP協(xié)議WEB緩存目的加速客戶端訪問(wèn)WEB頁(yè)面的速度,減少時(shí)延減少局域網(wǎng)與外部因特網(wǎng)交換的數(shù)據(jù)量,從而在達(dá)到同等服務(wù)質(zhì)量的同時(shí),可以使用較小的網(wǎng)絡(luò)帶寬,節(jié)約費(fèi)用客戶端WEB緩存客戶端httprequesthttprequesthttpresponsehttpresponsehttprequesthttpresponse原始服務(wù)器2023年2月1日432.2WEB應(yīng)用和HTTP協(xié)議緩存舉例假設(shè)平均對(duì)象的大小=100,000bits瀏覽器對(duì)這些對(duì)象的平均訪問(wèn)速率為15個(gè)/秒從因特網(wǎng)一側(cè)的路由器轉(zhuǎn)發(fā)HTTP請(qǐng)求到它收到響應(yīng)報(bào)文的平均時(shí)間為2秒原始服務(wù)器因特網(wǎng)機(jī)構(gòu)網(wǎng)絡(luò)10Mbps局域網(wǎng)1.5Mbps訪問(wèn)鏈路2023年2月1日442.2WEB應(yīng)用和HTTP協(xié)議結(jié)果總延遲=Internet延遲+訪問(wèn)延遲+局域網(wǎng)延遲局域網(wǎng)的流量強(qiáng)度=0.15接入鏈路的流量強(qiáng)度=1當(dāng)流量強(qiáng)度為1時(shí),時(shí)延可能非常大,從而導(dǎo)致總時(shí)延可能得以分鐘計(jì)了原始服務(wù)器因特網(wǎng)機(jī)構(gòu)網(wǎng)絡(luò)10Mbps局域網(wǎng)1.5Mbps訪問(wèn)鏈路流量強(qiáng)度=La/R=15個(gè)請(qǐng)求/秒x100kb/請(qǐng)求/R2023年2月1日452.2WEB應(yīng)用和HTTP協(xié)議改進(jìn)方案1——增加出口帶寬假設(shè)增加到10Mbps結(jié)果局域網(wǎng)的流量強(qiáng)度=0.15接入鏈路的流量強(qiáng)度=0.15總延遲=Internet延遲+訪問(wèn)延遲+局域網(wǎng)延遲≈2sec請(qǐng)注意:增加出口帶寬的費(fèi)用是非常昂貴的在武漢,1.5Mbps的ADSL,費(fèi)用大約為130元/月左右
2Mbps的DDN數(shù)字鏈路,費(fèi)用大約為6000-12000元/月左右2023年2月1日462.2WEB應(yīng)用和HTTP協(xié)議改進(jìn)方案2——架設(shè)WEB緩存假設(shè)命中率為0.4結(jié)果40%的請(qǐng)求幾乎可以馬上得到響應(yīng)60%的請(qǐng)求必須從服務(wù)器上獲得響應(yīng)接入鏈路的流量強(qiáng)度減少到0.6,其導(dǎo)致的延遲可以忽略(例如10msec)??偟钠骄舆t=Internet延遲+訪問(wèn)延遲+局域網(wǎng)延遲
≈
0.6x(2.01)秒+0.4x(0.01s)
略大于1.2secs,好于方案1原始服務(wù)器因特網(wǎng)機(jī)構(gòu)網(wǎng)絡(luò)10MbpsLAN1.5Mbps訪問(wèn)鏈路WEB緩存代價(jià):一臺(tái)普通PC+一套免費(fèi)的WEB緩存軟件2023年2月1日472.2WEB應(yīng)用和HTTP協(xié)議條件GET方法的使用目的:更新WEB緩存中的WEB對(duì)象副本舉例WEB緩存向WEB服務(wù)器發(fā)送請(qǐng)求報(bào)文GET/fruit/kiwi.gifHTTP/1.1Host:2023年2月1日482.2WEB應(yīng)用和HTTP協(xié)議WEB服務(wù)器向該WEB緩存發(fā)送響應(yīng)報(bào)文HTTP/1.1200OKDate:Mon,7Jul200315:39:29Server:Apache/1.3.0(Unix)Last-Modified:Wed,2Jul200309:23:24Content–Type:image/gif(datadatadatadatadatadata)2023年2月1日492.2WEB應(yīng)用和HTTP協(xié)議一周后,一個(gè)客戶端請(qǐng)求該對(duì)象,為判斷WEB緩存中的該對(duì)象副本是否最新的,該WEB緩存向原始服務(wù)器發(fā)出一個(gè)條件GET方法,執(zhí)行更新檢查GET/fruit/kiwi.gifHTTP/1.1Host:If-Modified-Since:Wed,2Jul200309:23:242023年2月1日502.2WEB應(yīng)用和HTTP協(xié)議如果該對(duì)象沒(méi)有被修改過(guò),WEB緩存上的仍然是最新版本,則WEB服務(wù)器發(fā)送如下響應(yīng)報(bào)文HTTP/1.1304NotModifiedDate:Mon,14Jul200315:39:29Server:Apache/1.3.0(Unix)(實(shí)體主體為空)2023年2月1日512.2WEB應(yīng)用和HTTP協(xié)議如果該對(duì)象在此之后被修改過(guò),WEB服務(wù)器上有最新版本,則WEB服務(wù)器發(fā)送新版本的對(duì)象給WEB緩存HTTP/1.1200OKDate:Mon,14Jul20315:39:29Server:Apache/1.3.0(Unix)Last-Modified:Sat,12Jul200309:23:24Content–Type:image/gif(datadatadatadatadatadata)2023年2月1日522.3文件傳送協(xié)議:FTPFTP簡(jiǎn)況使用TCP協(xié)議傳輸數(shù)據(jù)C/S模式端口:21/20文件傳輸FTP服務(wù)器FTP用戶接口FTP客戶機(jī)本地文件系統(tǒng)遠(yuǎn)程文件系統(tǒng)用戶2023年2月1日532.3文件傳送協(xié)議:FTPFTP與HTTP傳輸文件的共同點(diǎn)均使用TCP協(xié)議FTP與HTTP傳輸文件的不同點(diǎn)FTP的控制信息是帶外傳送的,而HTTP的控制信息則是帶內(nèi)傳送的FTP存在兩個(gè)并行的連接控制連接數(shù)據(jù)連接FTP客戶機(jī)FTP服務(wù)器TCP控制連接端口21TCP數(shù)據(jù)連接端口202023年2月1日542.3文件傳送協(xié)議:FTPFTP連接是有狀態(tài)的,而HTTP連接則是無(wú)狀態(tài)的FTP服務(wù)器會(huì)在整個(gè)會(huì)話期間維護(hù)用戶的狀態(tài)信息把用戶帳戶和控制連接聯(lián)系起來(lái)追蹤用戶在遠(yuǎn)程目錄樹(shù)上的位置對(duì)活動(dòng)著的用戶會(huì)話的狀態(tài)進(jìn)行追蹤,以限制FTP會(huì)話總數(shù)2023年2月1日552.3文件傳送協(xié)議:FTP常見(jiàn)的FTP命令USERusername(登錄)PASSpassword(登錄)LIST
(返回當(dāng)前目錄中的文件列表)RETRfilename
(取(gets)文件)STORfilename
(存(puts)文件到遠(yuǎn)程主機(jī))2023年2月1日562.3文件傳送協(xié)議:FTP常見(jiàn)的FTP應(yīng)答331UsernameOK,passwordrequired125dataconnectionalreadyopen;transferstarting425Can’topendataconnection452Errorwritingfile
特別注意:FTP的應(yīng)答和HTTP的應(yīng)答是否很類似?
2023年2月1日572.4因特網(wǎng)中的電子郵件電子郵件系統(tǒng)的構(gòu)成用戶代理郵件服務(wù)器簡(jiǎn)單郵件傳輸協(xié)議:SMTP用戶郵箱外發(fā)報(bào)文隊(duì)列mailserveruseragentuseragentuseragentmailserveruseragentuseragentmailserveruseragentSMTPSMTPSMTP2023年2月1日582.4因特網(wǎng)中的電子郵件用戶代理寫作,編輯,閱讀郵件報(bào)文e.g.OE、FoxMail郵件服務(wù)器郵箱包含了收到的用戶郵件(尚未被閱讀)報(bào)文隊(duì)列包含了外發(fā)的郵件報(bào)文SMTP協(xié)議用在郵件服務(wù)器之間發(fā)送郵件客戶端:將郵件發(fā)送到郵件服務(wù)器“服務(wù)器”:接收和轉(zhuǎn)發(fā)郵件用戶郵箱外發(fā)報(bào)文隊(duì)列mailserveruseragentuseragentuseragentmailserveruseragentuseragentmailserveruseragentSMTPSMTPSMTP2023年2月1日592.4因特網(wǎng)中的電子郵件SMTP協(xié)議使用TCP可靠的傳送郵件報(bào)文,端口25直接傳輸:發(fā)送服務(wù)器到接收服務(wù)器傳輸?shù)娜齻€(gè)階段握手(打招呼)報(bào)文傳輸結(jié)束命令/響應(yīng)交互命令:ASCII文本響應(yīng):
狀態(tài)碼和短語(yǔ)郵件報(bào)文必須使用7-bitASCII表示2023年2月1日602.4因特網(wǎng)中的電子郵件一次郵件傳送過(guò)程Alice使用用戶代理發(fā)送消息給:bob@Alice的用戶代理發(fā)送消息給她的郵件服務(wù)器;消息被保存在消息隊(duì)列中
SMTP的客戶端向Bob的郵件服務(wù)器建立一個(gè)TCP連接SMTP的客戶端通過(guò)這個(gè)TCP連接發(fā)送Alice的消息到Bob的郵件服務(wù)器Bob的郵件服務(wù)器將這個(gè)消息存儲(chǔ)到Bob的郵箱中Bob使用他的用戶代理閱讀這個(gè)消息用戶代理郵件服務(wù)器郵件服務(wù)器用戶代理1234562023年2月1日612.4因特網(wǎng)中的電子郵件S:220C:HELOcrepes.frS:250Hellocrepes.fr,pleasedtomeetyouC:MAILFROM:<alice@crepes.fr>S:250alice@crepes.fr...SenderokC:RCPTTO:<bob@>S:250bob@...RecipientokC:DATAS:354Entermail,endwith"."onalinebyitselfC:Doyoulikeketchup?C:Howaboutpickles?C:.S:250MessageacceptedfordeliveryC:QUITS:221closingconnection2023年2月1日622.4因特網(wǎng)中的電子郵件SMTP評(píng)述SMTP使用持續(xù)連接SMTP要求報(bào)文(首部&信體)全部使用7-bitASCII碼某些代碼組合不允許出現(xiàn)在報(bào)文中(e.g.,CRLF.CRLF).此類數(shù)據(jù)必須進(jìn)行編碼(通常使用base-64或quotedprintable)SMTP服務(wù)器用CRLF.CRLF
表示郵件報(bào)文的結(jié)束SMTPvsHTTP都使用ASCII命令/響應(yīng)交互,狀態(tài)碼HTTP:pull(拉)andSMTP:push(推)HTTP:每個(gè)對(duì)象分裝在各自的響應(yīng)報(bào)文中
SMTP:多個(gè)對(duì)象在一個(gè)多分部的報(bào)文中傳送2023年2月1日632.4因特網(wǎng)中的電子郵件郵件報(bào)文格式首部諸行,e.g.,To:From:Subject:不同
于smtp命令!信體即“報(bào)文”,ASCIIcharactersonlyheaderbody空行2023年2月1日642.4因特網(wǎng)中的電子郵件非ASCII碼數(shù)據(jù)的MIME擴(kuò)展From:alice@crepes.frTo:bob@Subject:Pictureofyummycrepe.MIME-Version:1.0Content-Transfer-Encoding:base64Content-Type:image/jpegbase64encodeddata
base64encodeddata
多媒體類型,子類型,參數(shù)聲明數(shù)據(jù)編碼方法MIME版本編碼后的數(shù)據(jù)2023年2月1日652.4因特網(wǎng)中的電子郵件從客戶機(jī)獲取郵件的方法POP3協(xié)議IMAP協(xié)議HTTP2023年2月1日662.4因特網(wǎng)中的電子郵件POP3協(xié)議的認(rèn)證階段客戶端命令:user:
用戶名pass:
口令服務(wù)器響應(yīng)+OK-ERRS:+OKPOP3serverreadyC:useraliceS:+OKC:passhungryS:+OKusersuccessfullyloggedon2023年2月1日672.4因特網(wǎng)中的電子郵件POP3協(xié)議的交互命令list:
列出報(bào)文號(hào)碼retr:
用報(bào)文號(hào)碼取信dele:
用報(bào)文號(hào)碼刪信quitC:listS:1498S:2912S:.C:retr1S:<message1contents>S:.C:dele1C:retr2S:<message1contents>S:.C:dele2C:quitS:+OKPOP3serversigningoff2023年2月1日682.4因特網(wǎng)中的電子郵件POP3評(píng)述“下載-刪除”:用戶如果更換客戶機(jī)無(wú)法再次閱讀原來(lái)的郵件“下載-保存”:在不同的客戶機(jī)上保存郵件的副本POP3會(huì)話是沒(méi)有狀態(tài)的用戶使用POP3協(xié)議無(wú)法在郵件服務(wù)器上對(duì)自己的郵件進(jìn)行重組織,只能將郵件下載到本地計(jì)算機(jī)進(jìn)行重組織IMAP協(xié)議將所有的郵件都保存在服務(wù)器上允許用戶在服務(wù)器上組織自己的郵件目錄IMAP維護(hù)了IMAP會(huì)話的用戶信息:目錄名以及報(bào)文ID與目錄名之間的映射關(guān)系2023年2月1日692.5DNS:因特網(wǎng)的目錄服務(wù)人類社會(huì)對(duì)人的識(shí)別姓名身份證號(hào)護(hù)照號(hào)
……網(wǎng)絡(luò)社會(huì)對(duì)機(jī)器的識(shí)別MAC地址(48bit)IP地址(32bit)域名(不定長(zhǎng))IP地址和域名之間如何映射(轉(zhuǎn)換)?為此人類設(shè)計(jì)了DNS系統(tǒng),用于IP地址和域名之間的轉(zhuǎn)換2023年2月1日702.5DNS:因特網(wǎng)的目錄服務(wù)DNS簡(jiǎn)況DNS是一個(gè)分布式數(shù)據(jù)庫(kù),由很多臺(tái)DNS服務(wù)器按照層次結(jié)構(gòu)組織起來(lái)DNS運(yùn)行在端到端系統(tǒng)上,且使用UDP協(xié)議(53號(hào)端口)進(jìn)行報(bào)文傳輸,因此DNS是應(yīng)用層協(xié)議DNS以C/S的模式工作DNS不直接和用戶打交道,而是因特網(wǎng)的核心功能2023年2月1日712.5DNS:因特網(wǎng)的目錄服務(wù)一次最簡(jiǎn)單的DNS解析過(guò)程假設(shè)Alice通過(guò)IE瀏覽器訪問(wèn)/index.htmlAlice的主機(jī)上存在DNS客戶機(jī)結(jié)果IE瀏覽器從URL中抽取出域名,將其傳送給DNS客戶機(jī)DNS客戶機(jī)向DNS服務(wù)器發(fā)出一個(gè)包含域名的查詢請(qǐng)求報(bào)文DNS服務(wù)器向DNS客戶機(jī)送回一個(gè)包含對(duì)應(yīng)IP地址的響應(yīng)報(bào)文DNS客戶機(jī)將該IP地址傳送給IE瀏覽器IE瀏覽器向該IP地址所在WEB服務(wù)器發(fā)起TCP連接2023年2月1日722.5DNS:因特網(wǎng)的目錄服務(wù)DNS的實(shí)現(xiàn)最簡(jiǎn)單的方法——單臺(tái)DNS服務(wù)器單點(diǎn)故障的問(wèn)題:一旦崩潰,因特網(wǎng)何以堪數(shù)據(jù)的流通量:使得DNS服務(wù)器不堪重負(fù)遠(yuǎn)程的集中式數(shù)據(jù)庫(kù):帶來(lái)嚴(yán)重的延時(shí)維護(hù)量巨大:DNS服務(wù)器不得不拼命的更新以適應(yīng)因特網(wǎng)上主機(jī)的增加與減少顯然,這種方法是世界上最笨的方法?。?!2023年2月1日732.5DNS:因特網(wǎng)的目錄服務(wù)真正的DNS實(shí)現(xiàn)根DNS服務(wù)器.comDNS服務(wù)器.eduDNS服務(wù)器.cnDNS服務(wù)器DNS服務(wù)器DNS服務(wù)器DNS服務(wù)器DNS服務(wù)器DNS服務(wù)器DNS服務(wù)器根DNS服務(wù)器頂級(jí)域(TLD)服務(wù)器權(quán)威DNS服務(wù)器2023年2月1日742.5DNS:因特網(wǎng)的目錄服務(wù)根域名服務(wù)器(13個(gè))bUSC-ISIMarinadelRey,CAlICANNMarinadelRey,CAeNASAMtView,CAfInternetSoftwareC.PaloAlto,CAiNORDUnetStockholmkRIPELondonmWIDETokyoaNSIHerndon,VAcPSInetHerndon,VAdUMarylandCollegePark,MDgDISAVienna,VAhARLAberdeen,MDjNSI(TBD)Herndon,VA2023年2月1日752.5DNS:因特網(wǎng)的目錄服務(wù)頂級(jí)域DNS服務(wù)器:負(fù)責(zé)頂級(jí)域名和所有國(guó)家的頂級(jí)域名解析工作,例如:com,org,net,gov,uk,cn,jp等NetworkSolution公司負(fù)責(zé)維護(hù)com頂級(jí)域DNS服務(wù)器Educause公司負(fù)責(zé)維護(hù)edu頂級(jí)域DNS服務(wù)器權(quán)威DNS服務(wù)器:
屬于某個(gè)組織的DNS服務(wù)器,為組織的服務(wù)器提供一個(gè)權(quán)威的域名到IP地址的映射服務(wù)(例如:Web和mail)這些DNS服務(wù)器一般有所屬組織或者服務(wù)提供商負(fù)責(zé)維護(hù)2023年2月1日762.5DNS:因特網(wǎng)的目錄服務(wù)本地DNS服務(wù)器嚴(yán)格的講,本地DNS服務(wù)器其并不屬于DNS層次結(jié)構(gòu)中的一層每一個(gè)網(wǎng)絡(luò)服務(wù)提供商都會(huì)提供一個(gè)本地DNS服務(wù)器有時(shí)候,我們將其稱為“默認(rèn)DNS服務(wù)器”當(dāng)一臺(tái)主機(jī)需要做一個(gè)域名查詢的時(shí)候,查詢請(qǐng)求首先被發(fā)送到本地域名服務(wù)器本地域名服務(wù)器的行為就像一個(gè)代理,它會(huì)向域名的層次體系中進(jìn)行進(jìn)一步的域名查詢。2023年2月1日772.5DNS:因特網(wǎng)的目錄服務(wù)一次完整的DNS解析過(guò)程發(fā)起請(qǐng)求使用遞歸查詢后續(xù)解析為迭代查詢發(fā)起請(qǐng)求的主機(jī)根DNS服務(wù)器本地DNS服務(wù)器123456權(quán)威DNS服務(wù)器78TLDDNS服務(wù)器2023年2月1日782.5DNS:因特網(wǎng)的目錄服務(wù)另外一種DNS解析流程純遞歸查詢發(fā)起請(qǐng)求的主機(jī)根DNS服務(wù)器本地DNS服務(wù)器12456權(quán)威DNS服務(wù)器78TLDDNS服務(wù)器32023年2月1日792.5DNS:因特網(wǎng)的目錄服務(wù)DNS緩存一旦(任何)域名服務(wù)器得知了某個(gè)映射,就將其緩存在一定的時(shí)間間隔后緩存的條目將會(huì)過(guò)期(自動(dòng)消除)頂級(jí)域DNS服務(wù)器通常被緩存在本地DNS服務(wù)器中
·這樣可以減少根DNS的負(fù)載2023年2月1日802.5DNS:因特網(wǎng)的目錄服務(wù)DNS可提供的服務(wù)域名到IP地址的轉(zhuǎn)換主機(jī)/郵件服務(wù)器別名為不好記的規(guī)范主機(jī)/郵件服務(wù)器名提供一個(gè)易記的別名e.g.->負(fù)載均衡一個(gè)域名對(duì)應(yīng)多個(gè)IPDNS服務(wù)器在多個(gè)IP中進(jìn)行輪轉(zhuǎn)2023年2月1日812.5DNS:因特網(wǎng)的目錄服務(wù)DNS記錄的格式Type=NSname=域(如)value=該域權(quán)威域名服務(wù)器的主機(jī)名RR格式:(name,value,type,ttl)Type=Aname=主機(jī)名value=IP地址Type=CNAMEName=別名
value=真名
Type=MXvalue=與name相關(guān)的郵件服務(wù)器域名2023年2月1日822.5DNS:因特網(wǎng)的目錄服務(wù)DNS記錄的維護(hù)目前基本上都是手工維護(hù)RFC2136定義了DNS動(dòng)態(tài)更新2023年2月1日832.5DNS:因特網(wǎng)的目錄服務(wù)DNS報(bào)文查詢和回答報(bào)文的格式是一致的2023年2月1日842.6P2P文件共享一次傳輸?shù)膱?chǎng)景Alice在她的筆記本電腦上
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中物理第十三章光綜合測(cè)試本章整合提升課件新人教版選修3-
- Windows Server網(wǎng)絡(luò)管理項(xiàng)目教程(Windows Server 2022)(微課版)2.4 安裝活動(dòng)目錄的必要條件
- 高中物理第十三章光2全反射課時(shí)作業(yè)課件新人教版選修3-
- 語(yǔ)法復(fù)習(xí)教學(xué)設(shè)計(jì)
- 豐田生產(chǎn)模式培訓(xùn)教材圖文
- 2024至2030年中國(guó)往復(fù)式低溫液體泵行業(yè)投資前景及策略咨詢研究報(bào)告
- 2010-2012年羥乙基纖維素行業(yè)市場(chǎng)研究與競(jìng)爭(zhēng)力分析報(bào)告
- 零陵卷煙廠兩退人員需求調(diào)查報(bào)告書
- 2024至2030年中國(guó)多媒體教學(xué)控制臺(tái)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年中國(guó)壓線針式母頭數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 山東省聊城市2023-2024學(xué)年度第一學(xué)期期中教學(xué)質(zhì)量檢測(cè)高一語(yǔ)文試題及答案解析
- 【課件】2024屆新高考英語(yǔ)語(yǔ)法填空專項(xiàng).解題技巧課件
- 家庭經(jīng)濟(jì)困難學(xué)生認(rèn)定指標(biāo)量化表
- 小學(xué)食品安全演練方案與總結(jié)
- 中班科學(xué)活動(dòng)制造漩渦
- 大數(shù)據(jù)畢業(yè)答辯
- 銅礦礦山工程案例介紹
- 湛江市水產(chǎn)品出口貿(mào)易現(xiàn)狀、問(wèn)題及對(duì)策
- 創(chuàng)傷失血性休克中國(guó)急診專家共識(shí)
- 鄉(xiāng)村學(xué)生心理健康問(wèn)題研究報(bào)告
- 2024企業(yè)數(shù)據(jù)合規(guī)指引
評(píng)論
0/150
提交評(píng)論