版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機網(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)造一個簡單的Web服務(wù)器2023年2月1日32.1應(yīng)用層協(xié)議原理常見的網(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)用,可能你躍躍欲試,很想編寫一個類似于Google這樣的超級網(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ù)可以對數(shù)據(jù)進(jìn)行處理也許還能夠?qū)?shù)據(jù)展現(xiàn)在界面上,以非常友好的方式讓你知道它在做什么,免得你說它怠工時不時的彈出一個小窗口,提示你不要太辛勤工作了,以表示對你無微不至的關(guān)懷
……2023年2月1日62.1應(yīng)用層協(xié)議原理決定你的殺手級網(wǎng)絡(luò)應(yīng)用所采用的體系結(jié)構(gòu)客戶機/服務(wù)器體系結(jié)構(gòu)(C/S)P2P體系結(jié)構(gòu)混合體系結(jié)構(gòu)2023年2月1日72.1應(yīng)用層協(xié)議原理客戶機/服務(wù)器體系結(jié)構(gòu)的特征是怎樣的?存在一個能夠向客戶機提供服務(wù)的服務(wù)器,e.g.,WEB服務(wù)器存在一個或者多個主動連接服務(wù)器,試圖從服務(wù)器那里獲取所需服務(wù)的客戶機,e.g.,IE瀏覽器特別注意1:客戶機之間不能互相通信特別注意2:為提高服務(wù)器的處理能力,通常采用服務(wù)器群集(ServerFarm)applicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalrequestreplyapplicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalrequestrequestreplyreply2023年2月1日82.1應(yīng)用層協(xié)議原理那P2P體系結(jié)構(gòu)又以什么方式來體現(xiàn)呢?任何一方既提供服務(wù)又享受服務(wù)結(jié)點之間可以直接通信結(jié)點的地址以及他們之間的連接可能隨時發(fā)生變化例如:Gnutella特別注意:P2P體系結(jié)構(gòu)非常容易擴展,但也特別難以管理2023年2月1日92.1應(yīng)用層協(xié)議原理混合體系結(jié)構(gòu)那混合體系結(jié)構(gòu)自然而然就是C/S體系結(jié)構(gòu)和P2P體系結(jié)構(gòu)的混合體請大家回想一下第一個P2P應(yīng)用Napster和及時通信(IM),一切就都明白了!2023年2月1日102.1應(yīng)用層協(xié)議原理網(wǎng)絡(luò)應(yīng)用涉及各個組成部分的交互同一臺主機上的進(jìn)程之間通信的規(guī)則,由操作系統(tǒng)制定,和計算機網(wǎng)絡(luò)無關(guān),本課程就不討論了。不同主機上的進(jìn)程之間通信的規(guī)則,當(dāng)然就和網(wǎng)絡(luò)相關(guān)了,這套規(guī)則在計算機網(wǎng)絡(luò)中,稱之為“應(yīng)用層協(xié)議”,也是本章重點討論的內(nèi)容2023年2月1日112.1應(yīng)用層協(xié)議原理當(dāng)你的網(wǎng)絡(luò)應(yīng)用程序Run起來后,就變成了網(wǎng)絡(luò)應(yīng)用進(jìn)程。產(chǎn)生了如下問題:當(dāng)你的網(wǎng)絡(luò)應(yīng)用和其它人開發(fā)的網(wǎng)絡(luò)應(yīng)用共同運行在一臺主機上時,如何把你的網(wǎng)絡(luò)應(yīng)用區(qū)分開來?通信子網(wǎng)只負(fù)責(zé)把數(shù)據(jù)交付到主機,并不負(fù)責(zé)把數(shù)據(jù)交付到應(yīng)用,主機如何知道數(shù)據(jù)該交付到哪個網(wǎng)絡(luò)應(yīng)用?2023年2月1日122.1應(yīng)用層協(xié)議原理一個例子假設(shè)你追求一個人現(xiàn)在你要發(fā)一封信給她(他)(非電子的阿)不知道名字?寫上名字?如何交給郵局現(xiàn)在她(他)回一封信給你怎么回信?郵局如何交寄給你下續(xù)2023年2月1日132.1應(yīng)用層協(xié)議原理類比到因特網(wǎng),提供了類似的解決方法,那就是“套接字(Socket)”每個網(wǎng)絡(luò)應(yīng)用進(jìn)程都有一個屬于自己的套接字,該套接字在整個因特網(wǎng)上獨一無二主機地址:標(biāo)識該網(wǎng)絡(luò)應(yīng)用進(jìn)程運行在因特網(wǎng)上哪一臺主機上,通常使用32位的IP地址進(jìn)行標(biāo)識端口地址:在該主機上標(biāo)示該網(wǎng)絡(luò)應(yīng)用進(jìn)程,通常使用16位的端口號進(jìn)行標(biāo)識e.g.,WEBServer:80;MailServer:25;所以套接字的長度為48位2023年2月1日142.1應(yīng)用層協(xié)議原理進(jìn)程通過套接字來接收和發(fā)送報文套接字相當(dāng)于一個通道發(fā)送進(jìn)程將報文交給套接字套接字將這些報文傳輸?shù)浇邮者M(jìn)程的套接字processTCPwithbuffers,variablessockethostorserverprocessTCPwithbuffers,variablessockethostorserverInternetcontrolledbyappdeveloper2023年2月1日152.1應(yīng)用層協(xié)議原理因特網(wǎng)會給網(wǎng)絡(luò)應(yīng)用提供很多不同類型的服務(wù),你的網(wǎng)絡(luò)應(yīng)用需要哪些服務(wù)呢?數(shù)據(jù)的可靠傳輸:你的網(wǎng)絡(luò)應(yīng)用是否需要?帶寬的自動控制:你的網(wǎng)絡(luò)應(yīng)用是否帶寬敏感?傳輸和反饋的實時性2023年2月1日162.1應(yīng)用層協(xié)議原理常見應(yīng)用程序?qū)鬏敺?wù)的要求應(yīng)用程序文件傳輸e-mailWeb網(wǎng)頁實時音頻/視頻存儲音頻/視頻交互式游戲金融應(yīng)用數(shù)據(jù)丟失不丟失不丟失不丟失允許丟失允許丟失允許丟失允許丟失不丟失帶寬彈性彈性彈性音頻:5Kb-1Mb視頻:10Kb-5Mb同上幾Kb/s以上彈性實時性無無無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ù)的速度決不超過接收的速度擁塞控制:
當(dāng)網(wǎng)絡(luò)超負(fù)荷時,束緊發(fā)送端口,減緩發(fā)送速度不提供:
實時性,最小帶寬承諾2023年2月1日182.1應(yīng)用層協(xié)議原理UDP在客戶端和服務(wù)器進(jìn)程之間實現(xiàn)“不可靠的”數(shù)據(jù)傳輸不提供:連接建立,可靠性保證,流量控制,擁塞控制,實時性,最小帶寬承諾2023年2月1日192.1應(yīng)用層協(xié)議原理因特網(wǎng)常見應(yīng)用采用的傳輸協(xié)議應(yīng)用e-mail遠(yuǎ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)用所需要的最基本最基本的知識!但是這還遠(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ā)明,擴展了人類通信的范圍,增強了人類通信的實效性20世紀(jì)20年代,廣播收音機和電視的發(fā)明,極大的豐富了人類可獲取信息20世紀(jì)90年代,WEB的發(fā)明,極大的提高了人類主動獲取信息的能力廣播收音機/電視和WEB的異同點都是廣播和按需操作你不能發(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特別說明:WEB屬于C/S模式2023年2月1日232.2WEB應(yīng)用和HTTP協(xié)議WEB內(nèi)容的表達(dá)Web頁面由一些對象組成。對象可以是HTML文件,JPEG圖片,音頻文件,JavaApplet……HTML文件是Web頁面的基礎(chǔ),它可以包括各種各樣的對象,是一個容器對象任何一個對象都可以用URL來定位URL的例子:/cs/pic.gif主機名路徑名2023年2月1日242.2WEB應(yīng)用和HTTP協(xié)議WEB內(nèi)容的傳輸——HTTP協(xié)議客戶端/服務(wù)器模式客戶端:
瀏覽器請求、接收、展示W(wǎng)eb對象(objects)服務(wù)器:Web服務(wù)器發(fā)送對象對請求進(jìn)行響應(yīng)http1.0:RFC1945http1.1:RFC2068運行IE瀏覽器的PC運行IIS的服務(wù)器運行FireFox瀏覽器的PChttprequesthttprequesthttpresponsehttpresponse2023年2月1日252.2WEB應(yīng)用和HTTP協(xié)議http:TCP傳輸服務(wù):客戶端啟動TCP連接(創(chuàng)建套接字)到服務(wù)器,端口80服務(wù)器接受來自客戶端的TCP連接http報文(應(yīng)用層協(xié)議報文)在瀏覽器(httpclient)和Web服務(wù)器(httpserver)之間進(jìn)行交換關(guān)閉TCP連接http是“無狀態(tài)(stateless)”的服務(wù)器不保留任何訪問過的請求信息小評論保留狀態(tài)的協(xié)議很復(fù)雜喲!過去的歷史(狀態(tài))需要保留一旦瀏覽器/服務(wù)器崩潰,它們各自的狀態(tài)視圖就會發(fā)生分歧,還需重新核對2023年2月1日262.2WEB應(yīng)用和HTTP協(xié)議HTTP1.0的傳輸模式——非持久性連接假設(shè)用戶鍵入了一個URLwww./cs/home.index1a.http客戶端啟動TCP連接到上的http服務(wù)器(進(jìn)程).Port80是http服務(wù)器的默認(rèn)端口.2.http客戶端發(fā)送http請求報文
(包括URL)進(jìn)入TCP連接插口(socket)1b.
在
上的http服務(wù)器在port80等待TCP的連接請求.“接受”連接并通知客戶端3.http服務(wù)器接收到請求報文,形成響應(yīng)報文(包含了所請求的對象,cs/home.index),將報文送入插口(socket)time(該網(wǎng)頁包含文本并引用了10jpeg圖片)下續(xù)2023年2月1日272.2WEB應(yīng)用和HTTP協(xié)議5.http客戶端接收到了包含html文件的響應(yīng)報文。分析html文件,發(fā)現(xiàn)10個引用的jpeg對象6.
對10jpegobjects逐個重復(fù)1-5步4.
http服務(wù)器關(guān)閉TCP連接.time2023年2月1日282.2WEB應(yīng)用和HTTP協(xié)議非持久性連接工作機制分析取對象需要2RTTsTCP連接對象請求/傳送許多瀏覽器同時打開多個并行的連接來改善性能請考慮:如果有1萬臺客戶機訪問WEB服務(wù)器的某個頁面,該頁面有100個對象,那就意味著需要100萬個連接,1個服務(wù)器能夠扛得住么?2023年2月1日292.2WEB應(yīng)用和HTTP協(xié)議HTTP1.1引入的新傳輸模式——持久連接服務(wù)器在發(fā)送響應(yīng)后,不再斷開TCP連接,而是保持該連接,用于后續(xù)對象的傳送,直至該連接“休息”了一個較長的時間后,方斷開該連接減少了對服務(wù)器端連接數(shù)的需要,從而減少了對服務(wù)器端套接字資源的占用,提高了服務(wù)器的負(fù)載能力持久連接又可以分為非流水線方式:一個對象傳輸完成方能傳輸下一個流水線方式:可以一次性發(fā)送所有請求,慢慢接收2023年2月1日302.2WEB應(yīng)用和HTTP協(xié)議HTTP報文類型HTTP請求報文HTTP響應(yīng)報文2023年2月1日312.2WEB應(yīng)用和HTTP協(xié)議HTTP請求報文一段典型的HTTP請求報文GET/somedir/page.htmlHTTP/1.0User-agent:Mozilla/4.0Accept:text/html,image/gif,image/jpegAccept-language:fr(額外的carriagereturn,linefeed)
請求行(GET,POST,HEAD命令)首部諸行回車、換行表示報文結(jié)束2023年2月1日322.2WEB應(yīng)用和HTTP協(xié)議HTTP請求報文的一般格式2023年2月1日332.2WEB應(yīng)用和HTTP協(xié)議請求行支持的方法HTTP1.0定義的方法GET向服務(wù)器請求指定URL的對象POST用于向服務(wù)器提交表單數(shù)據(jù)也可以同時請求一個WEB頁面特別注意:可以不使用POST方法,而使用GET方法發(fā)送表單數(shù)據(jù)以獲取新的WEB頁面。e.g.搜索引擎HEAD請求服務(wù)器返回一個響應(yīng)報文,但是該報文中并不包含請求的對象。該方法常常用來進(jìn)行故障跟蹤。下續(xù)2023年2月1日342.2WEB應(yīng)用和HTTP協(xié)議HTTP1.1新定義的方法PUT上傳的文件放在實體主體字段中,目標(biāo)路徑由URL字段標(biāo)明DELETE刪除URL字段中指定的文件2023年2月1日352.2WEB應(yīng)用和HTTP協(xié)議HTTP響應(yīng)報文一段典型的HTTP響應(yīng)報文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)短語)首部諸行數(shù)據(jù),e.g.,被請求的html文件2023年2月1日362.2WEB應(yīng)用和HTTP協(xié)議HTTP響應(yīng)報文的一般格式2023年2月1日372.2WEB應(yīng)用和HTTP協(xié)議常見的HTTP響應(yīng)狀態(tài)碼和短語200OK請求成功,被請求的對象在報文中301MovedPermanently被請求的對象被移動過,新的位置在報文中有說明(Location:)400BadRequest服務(wù)器不懂請求報文404NotFound服務(wù)器上找不到請求的對象505HTTPVersionNotSupported服務(wù)器不支持請求報文使用的HTTP協(xié)議版本2023年2月1日382.2WEB應(yīng)用和HTTP協(xié)議了解HTTP報文格式的最好方法就是自行測試1.用Telnet連接測試用的服務(wù)器:打開TCP連接到port80(默認(rèn)的http服務(wù)器端口)位于后續(xù)鍵入的內(nèi)容將發(fā)送到的
80號端口$telnet802.鍵入一條http請求報文:GET/content/content_11786.html將該指令鍵入后(按兩次回車鍵),就將此最短之(但是完整的)GET請求發(fā)到了http服務(wù)器3.請注意觀察http服務(wù)器發(fā)回的響應(yīng)報文!2023年2月1日392.2WEB應(yīng)用和HTTP協(xié)議用戶-服務(wù)器交互:CookieWEB站點使用Cookie的目的限制用戶的訪問把內(nèi)容和用戶身份關(guān)聯(lián)起來Cookie技術(shù)的組成部分:在HTTP響應(yīng)報文中有一個Cookie首部行在HTTP請求報文中也有一個Cookie首部行在用戶的端系統(tǒng)中保留了一個Cookie文件,由用戶瀏覽器負(fù)責(zé)管理在Web站點有一個后端數(shù)據(jù)庫2023年2月1日402.2WEB應(yīng)用和HTTP協(xié)議Cookie工作流程客戶端服務(wù)器http請求報文http響應(yīng)報文+Set-cookie:1678http請求報文cookie:1678http響應(yīng)報文http請求報文cookie:1678http響應(yīng)報文Cookie標(biāo)明的動作Cookie標(biāo)明的動作服務(wù)器為用戶創(chuàng)建ID:1678后端數(shù)據(jù)庫的記錄訪問訪問Cookiefileamazon:1678ebay:8734Cookiefileebay:8734Cookiefileamazon:1678ebay:8734一周以后:2023年2月1日412.2WEB應(yīng)用和HTTP協(xié)議Cookies能為我們帶來什么好處呢?認(rèn)證“購物車”“推薦”用戶會話狀態(tài)
(Webe-mail)Cookies和私密性:Cookies允許網(wǎng)站獲得相當(dāng)多的用戶的信息你可能會向網(wǎng)站提供你的姓名和E_Mail地址搜索引擎也可以使用cookie和重定向技術(shù)獲得很多的信息廣告公司也可以通過用戶訪問過的網(wǎng)站來獲得用戶的相關(guān)信息2023年2月1日422.2WEB應(yīng)用和HTTP協(xié)議WEB緩存目的加速客戶端訪問WEB頁面的速度,減少時延減少局域網(wǎng)與外部因特網(wǎng)交換的數(shù)據(jù)量,從而在達(dá)到同等服務(wù)質(zhì)量的同時,可以使用較小的網(wǎng)絡(luò)帶寬,節(jié)約費用客戶端WEB緩存客戶端httprequesthttprequesthttpresponsehttpresponsehttprequesthttpresponse原始服務(wù)器2023年2月1日432.2WEB應(yīng)用和HTTP協(xié)議緩存舉例假設(shè)平均對象的大小=100,000bits瀏覽器對這些對象的平均訪問速率為15個/秒從因特網(wǎng)一側(cè)的路由器轉(zhuǎn)發(fā)HTTP請求到它收到響應(yīng)報文的平均時間為2秒原始服務(wù)器因特網(wǎng)機構(gòu)網(wǎng)絡(luò)10Mbps局域網(wǎng)1.5Mbps訪問鏈路2023年2月1日442.2WEB應(yīng)用和HTTP協(xié)議結(jié)果總延遲=Internet延遲+訪問延遲+局域網(wǎng)延遲局域網(wǎng)的流量強度=0.15接入鏈路的流量強度=1當(dāng)流量強度為1時,時延可能非常大,從而導(dǎo)致總時延可能得以分鐘計了原始服務(wù)器因特網(wǎng)機構(gòu)網(wǎng)絡(luò)10Mbps局域網(wǎng)1.5Mbps訪問鏈路流量強度=La/R=15個請求/秒x100kb/請求/R2023年2月1日452.2WEB應(yīng)用和HTTP協(xié)議改進(jìn)方案1——增加出口帶寬假設(shè)增加到10Mbps結(jié)果局域網(wǎng)的流量強度=0.15接入鏈路的流量強度=0.15總延遲=Internet延遲+訪問延遲+局域網(wǎng)延遲≈2sec請注意:增加出口帶寬的費用是非常昂貴的在武漢,1.5Mbps的ADSL,費用大約為130元/月左右
2Mbps的DDN數(shù)字鏈路,費用大約為6000-12000元/月左右2023年2月1日462.2WEB應(yīng)用和HTTP協(xié)議改進(jìn)方案2——架設(shè)WEB緩存假設(shè)命中率為0.4結(jié)果40%的請求幾乎可以馬上得到響應(yīng)60%的請求必須從服務(wù)器上獲得響應(yīng)接入鏈路的流量強度減少到0.6,其導(dǎo)致的延遲可以忽略(例如10msec)??偟钠骄舆t=Internet延遲+訪問延遲+局域網(wǎng)延遲
≈
0.6x(2.01)秒+0.4x(0.01s)
略大于1.2secs,好于方案1原始服務(wù)器因特網(wǎng)機構(gòu)網(wǎng)絡(luò)10MbpsLAN1.5Mbps訪問鏈路WEB緩存代價:一臺普通PC+一套免費的WEB緩存軟件2023年2月1日472.2WEB應(yīng)用和HTTP協(xié)議條件GET方法的使用目的:更新WEB緩存中的WEB對象副本舉例WEB緩存向WEB服務(wù)器發(fā)送請求報文GET/fruit/kiwi.gifHTTP/1.1Host:2023年2月1日482.2WEB應(yīng)用和HTTP協(xié)議WEB服務(wù)器向該WEB緩存發(fā)送響應(yīng)報文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é)議一周后,一個客戶端請求該對象,為判斷WEB緩存中的該對象副本是否最新的,該WEB緩存向原始服務(wù)器發(fā)出一個條件GET方法,執(zhí)行更新檢查GET/fruit/kiwi.gifHTTP/1.1Host:If-Modified-Since:Wed,2Jul200309:23:242023年2月1日502.2WEB應(yīng)用和HTTP協(xié)議如果該對象沒有被修改過,WEB緩存上的仍然是最新版本,則WEB服務(wù)器發(fā)送如下響應(yīng)報文HTTP/1.1304NotModifiedDate:Mon,14Jul200315:39:29Server:Apache/1.3.0(Unix)(實體主體為空)2023年2月1日512.2WEB應(yīng)用和HTTP協(xié)議如果該對象在此之后被修改過,WEB服務(wù)器上有最新版本,則WEB服務(wù)器發(fā)送新版本的對象給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簡況使用TCP協(xié)議傳輸數(shù)據(jù)C/S模式端口:21/20文件傳輸FTP服務(wù)器FTP用戶接口FTP客戶機本地文件系統(tǒng)遠(yuǎn)程文件系統(tǒng)用戶2023年2月1日532.3文件傳送協(xié)議:FTPFTP與HTTP傳輸文件的共同點均使用TCP協(xié)議FTP與HTTP傳輸文件的不同點FTP的控制信息是帶外傳送的,而HTTP的控制信息則是帶內(nèi)傳送的FTP存在兩個并行的連接控制連接數(shù)據(jù)連接FTP客戶機FTP服務(wù)器TCP控制連接端口21TCP數(shù)據(jù)連接端口202023年2月1日542.3文件傳送協(xié)議:FTPFTP連接是有狀態(tài)的,而HTTP連接則是無狀態(tài)的FTP服務(wù)器會在整個會話期間維護用戶的狀態(tài)信息把用戶帳戶和控制連接聯(lián)系起來追蹤用戶在遠(yuǎn)程目錄樹上的位置對活動著的用戶會話的狀態(tài)進(jìn)行追蹤,以限制FTP會話總數(shù)2023年2月1日552.3文件傳送協(xié)議:FTP常見的FTP命令USERusername(登錄)PASSpassword(登錄)LIST
(返回當(dāng)前目錄中的文件列表)RETRfilename
(取(gets)文件)STORfilename
(存(puts)文件到遠(yuǎn)程主機)2023年2月1日562.3文件傳送協(xié)議:FTP常見的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ù)器簡單郵件傳輸協(xié)議:SMTP用戶郵箱外發(fā)報文隊列mailserveruseragentuseragentuseragentmailserveruseragentuseragentmailserveruseragentSMTPSMTPSMTP2023年2月1日582.4因特網(wǎng)中的電子郵件用戶代理寫作,編輯,閱讀郵件報文e.g.OE、FoxMail郵件服務(wù)器郵箱包含了收到的用戶郵件(尚未被閱讀)報文隊列包含了外發(fā)的郵件報文SMTP協(xié)議用在郵件服務(wù)器之間發(fā)送郵件客戶端:將郵件發(fā)送到郵件服務(wù)器“服務(wù)器”:接收和轉(zhuǎn)發(fā)郵件用戶郵箱外發(fā)報文隊列mailserveruseragentuseragentuseragentmailserveruseragentuseragentmailserveruseragentSMTPSMTPSMTP2023年2月1日592.4因特網(wǎng)中的電子郵件SMTP協(xié)議使用TCP可靠的傳送郵件報文,端口25直接傳輸:發(fā)送服務(wù)器到接收服務(wù)器傳輸?shù)娜齻€階段握手(打招呼)報文傳輸結(jié)束命令/響應(yīng)交互命令:ASCII文本響應(yīng):
狀態(tài)碼和短語郵件報文必須使用7-bitASCII表示2023年2月1日602.4因特網(wǎng)中的電子郵件一次郵件傳送過程Alice使用用戶代理發(fā)送消息給:bob@Alice的用戶代理發(fā)送消息給她的郵件服務(wù)器;消息被保存在消息隊列中
SMTP的客戶端向Bob的郵件服務(wù)器建立一個TCP連接SMTP的客戶端通過這個TCP連接發(fā)送Alice的消息到Bob的郵件服務(wù)器Bob的郵件服務(wù)器將這個消息存儲到Bob的郵箱中Bob使用他的用戶代理閱讀這個消息用戶代理郵件服務(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評述SMTP使用持續(xù)連接SMTP要求報文(首部&信體)全部使用7-bitASCII碼某些代碼組合不允許出現(xiàn)在報文中(e.g.,CRLF.CRLF).此類數(shù)據(jù)必須進(jìn)行編碼(通常使用base-64或quotedprintable)SMTP服務(wù)器用CRLF.CRLF
表示郵件報文的結(jié)束SMTPvsHTTP都使用ASCII命令/響應(yīng)交互,狀態(tài)碼HTTP:pull(拉)andSMTP:push(推)HTTP:每個對象分裝在各自的響應(yīng)報文中
SMTP:多個對象在一個多分部的報文中傳送2023年2月1日632.4因特網(wǎng)中的電子郵件郵件報文格式首部諸行,e.g.,To:From:Subject:不同
于smtp命令!信體即“報文”,ASCIIcharactersonlyheaderbody空行2023年2月1日642.4因特網(wǎng)中的電子郵件非ASCII碼數(shù)據(jù)的MIME擴展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)中的電子郵件從客戶機獲取郵件的方法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:
列出報文號碼retr:
用報文號碼取信dele:
用報文號碼刪信quitC:listS:1498S:2912S:.C:retr1S:<message1contents>S:.C:dele1C:retr2S:<message1contents>S:.C:dele2C:quitS:+OKPOP3serversigningoff2023年2月1日682.4因特網(wǎng)中的電子郵件POP3評述“下載-刪除”:用戶如果更換客戶機無法再次閱讀原來的郵件“下載-保存”:在不同的客戶機上保存郵件的副本POP3會話是沒有狀態(tài)的用戶使用POP3協(xié)議無法在郵件服務(wù)器上對自己的郵件進(jìn)行重組織,只能將郵件下載到本地計算機進(jìn)行重組織IMAP協(xié)議將所有的郵件都保存在服務(wù)器上允許用戶在服務(wù)器上組織自己的郵件目錄IMAP維護了IMAP會話的用戶信息:目錄名以及報文ID與目錄名之間的映射關(guān)系2023年2月1日692.5DNS:因特網(wǎng)的目錄服務(wù)人類社會對人的識別姓名身份證號護照號
……網(wǎng)絡(luò)社會對機器的識別MAC地址(48bit)IP地址(32bit)域名(不定長)IP地址和域名之間如何映射(轉(zhuǎn)換)?為此人類設(shè)計了DNS系統(tǒng),用于IP地址和域名之間的轉(zhuǎn)換2023年2月1日702.5DNS:因特網(wǎng)的目錄服務(wù)DNS簡況DNS是一個分布式數(shù)據(jù)庫,由很多臺DNS服務(wù)器按照層次結(jié)構(gòu)組織起來DNS運行在端到端系統(tǒng)上,且使用UDP協(xié)議(53號端口)進(jìn)行報文傳輸,因此DNS是應(yīng)用層協(xié)議DNS以C/S的模式工作DNS不直接和用戶打交道,而是因特網(wǎng)的核心功能2023年2月1日712.5DNS:因特網(wǎng)的目錄服務(wù)一次最簡單的DNS解析過程假設(shè)Alice通過IE瀏覽器訪問/index.htmlAlice的主機上存在DNS客戶機結(jié)果IE瀏覽器從URL中抽取出域名,將其傳送給DNS客戶機DNS客戶機向DNS服務(wù)器發(fā)出一個包含域名的查詢請求報文DNS服務(wù)器向DNS客戶機送回一個包含對應(yīng)IP地址的響應(yīng)報文DNS客戶機將該IP地址傳送給IE瀏覽器IE瀏覽器向該IP地址所在WEB服務(wù)器發(fā)起TCP連接2023年2月1日722.5DNS:因特網(wǎng)的目錄服務(wù)DNS的實現(xiàn)最簡單的方法——單臺DNS服務(wù)器單點故障的問題:一旦崩潰,因特網(wǎng)何以堪數(shù)據(jù)的流通量:使得DNS服務(wù)器不堪重負(fù)遠(yuǎn)程的集中式數(shù)據(jù)庫:帶來嚴(yán)重的延時維護量巨大:DNS服務(wù)器不得不拼命的更新以適應(yīng)因特網(wǎng)上主機的增加與減少顯然,這種方法是世界上最笨的方法?。?!2023年2月1日732.5DNS:因特網(wǎng)的目錄服務(wù)真正的DNS實現(xiàn)根DNS服務(wù)器.comDNS服務(wù)器.eduDNS服務(wù)器.cnDNS服務(wù)器DNS服務(wù)器DNS服務(wù)器DNS服務(wù)器DNS服務(wù)器DNS服務(wù)器DNS服務(wù)器根DNS服務(wù)器頂級域(TLD)服務(wù)器權(quán)威DNS服務(wù)器2023年2月1日742.5DNS:因特網(wǎng)的目錄服務(wù)根域名服務(wù)器(13個)bUSC-ISIMarinadelRey,CAlICANNMarinadelRey,CAeNASAMtView,CAfInternetSoftwareC.PaloAlto,CAiNORDUnetStockholmkRIPELondonmWIDETokyoaNSIHerndon,VAcPSInetHerndon,VAdUMarylandCollegePark,MDgDISAVienna,VAhARLAberdeen,MDjNSI(TBD)Herndon,VA2023年2月1日752.5DNS:因特網(wǎng)的目錄服務(wù)頂級域DNS服務(wù)器:負(fù)責(zé)頂級域名和所有國家的頂級域名解析工作,例如:com,org,net,gov,uk,cn,jp等NetworkSolution公司負(fù)責(zé)維護com頂級域DNS服務(wù)器Educause公司負(fù)責(zé)維護edu頂級域DNS服務(wù)器權(quán)威DNS服務(wù)器:
屬于某個組織的DNS服務(wù)器,為組織的服務(wù)器提供一個權(quán)威的域名到IP地址的映射服務(wù)(例如:Web和mail)這些DNS服務(wù)器一般有所屬組織或者服務(wù)提供商負(fù)責(zé)維護2023年2月1日762.5DNS:因特網(wǎng)的目錄服務(wù)本地DNS服務(wù)器嚴(yán)格的講,本地DNS服務(wù)器其并不屬于DNS層次結(jié)構(gòu)中的一層每一個網(wǎng)絡(luò)服務(wù)提供商都會提供一個本地DNS服務(wù)器有時候,我們將其稱為“默認(rèn)DNS服務(wù)器”當(dāng)一臺主機需要做一個域名查詢的時候,查詢請求首先被發(fā)送到本地域名服務(wù)器本地域名服務(wù)器的行為就像一個代理,它會向域名的層次體系中進(jìn)行進(jìn)一步的域名查詢。2023年2月1日772.5DNS:因特網(wǎng)的目錄服務(wù)一次完整的DNS解析過程發(fā)起請求使用遞歸查詢后續(xù)解析為迭代查詢發(fā)起請求的主機根DNS服務(wù)器本地DNS服務(wù)器123456權(quán)威DNS服務(wù)器78TLDDNS服務(wù)器2023年2月1日782.5DNS:因特網(wǎng)的目錄服務(wù)另外一種DNS解析流程純遞歸查詢發(fā)起請求的主機根DNS服務(wù)器本地DNS服務(wù)器12456權(quán)威DNS服務(wù)器78TLDDNS服務(wù)器32023年2月1日792.5DNS:因特網(wǎng)的目錄服務(wù)DNS緩存一旦(任何)域名服務(wù)器得知了某個映射,就將其緩存在一定的時間間隔后緩存的條目將會過期(自動消除)頂級域DNS服務(wù)器通常被緩存在本地DNS服務(wù)器中
·這樣可以減少根DNS的負(fù)載2023年2月1日802.5DNS:因特網(wǎng)的目錄服務(wù)DNS可提供的服務(wù)域名到IP地址的轉(zhuǎn)換主機/郵件服務(wù)器別名為不好記的規(guī)范主機/郵件服務(wù)器名提供一個易記的別名e.g.->負(fù)載均衡一個域名對應(yīng)多個IPDNS服務(wù)器在多個IP中進(jìn)行輪轉(zhuǎn)2023年2月1日812.5DNS:因特網(wǎng)的目錄服務(wù)DNS記錄的格式Type=NSname=域(如)value=該域權(quán)威域名服務(wù)器的主機名RR格式:(name,value,type,ttl)Type=Aname=主機名value=IP地址Type=CNAMEName=別名
value=真名
Type=MXvalue=與name相關(guān)的郵件服務(wù)器域名2023年2月1日822.5DNS:因特網(wǎng)的目錄服務(wù)DNS記錄的維護目前基本上都是手工維護RFC2136定義了DNS動態(tài)更新2023年2月1日832.5DNS:因特網(wǎng)的目錄服務(wù)DNS報文查詢和回答報文的格式是一致的2023年2月1日842.6P2P文件共享一次傳輸?shù)膱鼍癆lice在她的筆記本電腦上
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河道城市供熱系統(tǒng)改造合同
- 建筑安全凈化施工合同
- 建筑工程測量合同樣本
- 智能電網(wǎng)電力施工合同范本
- 酒店工程建造師招聘合同
- 保健醫(yī)生崗位聘用合同
- 高速公路安全文明施工協(xié)議
- 非營利組織合同專用章管理規(guī)定
- 出售葵花合同范例
- 店鋪定做禮品采購合同范例
- DB37-T 4253-2020 地?zé)豳Y源勘查技術(shù)規(guī)程
- 諸暨中學(xué)提前招生選拔考試數(shù)學(xué)試卷含答案
- 高壓氧治療-PPT課件
- 研究型課程(跨學(xué)科)項目學(xué)習(xí)設(shè)計與實施案例
- 西門子s7_200PLC基本指令
- 特殊學(xué)生成長檔案記錄(精選.)
- 高速公路安全封路施工標(biāo)志標(biāo)牌示意圖
- 計算機科學(xué)前沿技術(shù)課心得體會
- 窗玻璃的可見光透射比.遮陽系數(shù)
- 監(jiān)理工作程序流程圖(共24頁)
- 打印機租賃服務(wù)月考核表
評論
0/150
提交評論