第2章華科-應用層_第1頁
第2章華科-應用層_第2頁
第2章華科-應用層_第3頁
第2章華科-應用層_第4頁
第2章華科-應用層_第5頁
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

計算機網(wǎng)絡第2章應用層2023年2月1日2目錄應用層協(xié)議原理WEB應用和HTTP協(xié)議文件傳輸協(xié)議:FTP因特網(wǎng)中的電子郵件DNS:因特網(wǎng)的目錄服務P2P文件共享TCP套接字編程UDP套接字編程構造一個簡單的Web服務器2023年2月1日32.1應用層協(xié)議原理常見的網(wǎng)絡應用上網(wǎng)瀏覽新聞——IE、Maxthon、FireFox……處理電子郵件——OutlookExpress、FoxMail、Outlook……和熟悉的或者陌生的朋友聊天——ICQ、QQ、MSNMessenger、UC……網(wǎng)絡電話——SkyPe、QQ、Net2Phone……網(wǎng)絡游戲對戰(zhàn)——CS、魔獸世界、聯(lián)眾……資源共享——FTP、BT、電騾……在線視頻——VOD、ppLive……搜索引擎——Google、百度、MSNSearch……2023年2月1日42.1應用層協(xié)議原理

看了這么多成功的應用,可能你躍躍欲試,很想編寫一個類似于Google這樣的超級網(wǎng)絡應用……

那么現(xiàn)在的你應該做些什么呢?2023年2月1日52.1應用層協(xié)議原理知道什么是網(wǎng)絡應用程序可以向網(wǎng)絡發(fā)送數(shù)據(jù)可以從網(wǎng)絡接收數(shù)據(jù)可以對數(shù)據(jù)進行處理也許還能夠將數(shù)據(jù)展現(xiàn)在界面上,以非常友好的方式讓你知道它在做什么,免得你說它怠工時不時的彈出一個小窗口,提示你不要太辛勤工作了,以表示對你無微不至的關懷

……2023年2月1日62.1應用層協(xié)議原理決定你的殺手級網(wǎng)絡應用所采用的體系結構客戶機/服務器體系結構(C/S)P2P體系結構混合體系結構2023年2月1日72.1應用層協(xié)議原理客戶機/服務器體系結構的特征是怎樣的?存在一個能夠向客戶機提供服務的服務器,e.g.,WEB服務器存在一個或者多個主動連接服務器,試圖從服務器那里獲取所需服務的客戶機,e.g.,IE瀏覽器特別注意1:客戶機之間不能互相通信特別注意2:為提高服務器的處理能力,通常采用服務器群集(ServerFarm)applicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalrequestreplyapplicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalrequestrequestreplyreply2023年2月1日82.1應用層協(xié)議原理那P2P體系結構又以什么方式來體現(xiàn)呢?任何一方既提供服務又享受服務結點之間可以直接通信結點的地址以及他們之間的連接可能隨時發(fā)生變化例如:Gnutella特別注意:P2P體系結構非常容易擴展,但也特別難以管理2023年2月1日92.1應用層協(xié)議原理混合體系結構那混合體系結構自然而然就是C/S體系結構和P2P體系結構的混合體請大家回想一下第一個P2P應用Napster和及時通信(IM),一切就都明白了!2023年2月1日102.1應用層協(xié)議原理網(wǎng)絡應用涉及各個組成部分的交互同一臺主機上的進程之間通信的規(guī)則,由操作系統(tǒng)制定,和計算機網(wǎng)絡無關,本課程就不討論了。不同主機上的進程之間通信的規(guī)則,當然就和網(wǎng)絡相關了,這套規(guī)則在計算機網(wǎng)絡中,稱之為“應用層協(xié)議”,也是本章重點討論的內容2023年2月1日112.1應用層協(xié)議原理當你的網(wǎng)絡應用程序Run起來后,就變成了網(wǎng)絡應用進程。產(chǎn)生了如下問題:當你的網(wǎng)絡應用和其它人開發(fā)的網(wǎng)絡應用共同運行在一臺主機上時,如何把你的網(wǎng)絡應用區(qū)分開來?通信子網(wǎng)只負責把數(shù)據(jù)交付到主機,并不負責把數(shù)據(jù)交付到應用,主機如何知道數(shù)據(jù)該交付到哪個網(wǎng)絡應用?2023年2月1日122.1應用層協(xié)議原理一個例子假設你追求一個人現(xiàn)在你要發(fā)一封信給她(他)(非電子的阿)不知道名字?寫上名字?如何交給郵局現(xiàn)在她(他)回一封信給你怎么回信?郵局如何交寄給你下續(xù)2023年2月1日132.1應用層協(xié)議原理類比到因特網(wǎng),提供了類似的解決方法,那就是“套接字(Socket)”每個網(wǎng)絡應用進程都有一個屬于自己的套接字,該套接字在整個因特網(wǎng)上獨一無二主機地址:標識該網(wǎng)絡應用進程運行在因特網(wǎng)上哪一臺主機上,通常使用32位的IP地址進行標識端口地址:在該主機上標示該網(wǎng)絡應用進程,通常使用16位的端口號進行標識e.g.,WEBServer:80;MailServer:25;所以套接字的長度為48位2023年2月1日142.1應用層協(xié)議原理進程通過套接字來接收和發(fā)送報文套接字相當于一個通道發(fā)送進程將報文交給套接字套接字將這些報文傳輸?shù)浇邮者M程的套接字processTCPwithbuffers,variablessockethostorserverprocessTCPwithbuffers,variablessockethostorserverInternetcontrolledbyappdeveloper2023年2月1日152.1應用層協(xié)議原理因特網(wǎng)會給網(wǎng)絡應用提供很多不同類型的服務,你的網(wǎng)絡應用需要哪些服務呢?數(shù)據(jù)的可靠傳輸:你的網(wǎng)絡應用是否需要?帶寬的自動控制:你的網(wǎng)絡應用是否帶寬敏感?傳輸和反饋的實時性2023年2月1日162.1應用層協(xié)議原理常見應用程序對傳輸服務的要求應用程序文件傳輸e-mailWeb網(wǎng)頁實時音頻/視頻存儲音頻/視頻交互式游戲金融應用數(shù)據(jù)丟失不丟失不丟失不丟失允許丟失允許丟失允許丟失允許丟失不丟失帶寬彈性彈性彈性音頻:5Kb-1Mb視頻:10Kb-5Mb同上幾Kb/s以上彈性實時性無無無100’smsecfewsecs100’smsecyesandno2023年2月1日172.1應用層協(xié)議原理因特網(wǎng)將所提供的服務整合成兩類傳輸服務,你的網(wǎng)絡應用使用哪一類傳輸服務,你該做出決定了!TCP面向連接:

在客戶端和服務器進程之間需要建立連接可靠傳輸

:

在發(fā)送和接受進程之間流量控制:

發(fā)送數(shù)據(jù)的速度決不超過接收的速度擁塞控制:

當網(wǎng)絡超負荷時,束緊發(fā)送端口,減緩發(fā)送速度不提供:

實時性,最小帶寬承諾2023年2月1日182.1應用層協(xié)議原理UDP在客戶端和服務器進程之間實現(xiàn)“不可靠的”數(shù)據(jù)傳輸不提供:連接建立,可靠性保證,流量控制,擁塞控制,實時性,最小帶寬承諾2023年2月1日192.1應用層協(xié)議原理因特網(wǎng)常見應用采用的傳輸協(xié)議應用e-mail遠程終端訪問Web文件傳輸流媒體遠程文件服務器IP電話應用協(xié)議smtp[RFC821]telnet[RFC854]http[RFC2068]ftp[RFC959]專有協(xié)議(e.g.RealNetworks)NFS專有協(xié)議(e.g.,Vocaltec)所依賴的傳輸協(xié)議TCPTCPTCPTCPTCPorUDPTCPorUDPtypicallyUDP2023年2月1日202.1應用層協(xié)議原理目前獲得了構造屬于你自己的網(wǎng)絡應用所需要的最基本最基本的知識!但是這還遠遠不夠,你還需要繼續(xù)學習協(xié)議到底怎樣工作套接字如何工作傳輸層的服務是如何提供的IP地址是怎么回事網(wǎng)卡和網(wǎng)線起了什么樣的作用如何保證網(wǎng)絡應用的安全性和性能

……2023年2月1日212.2WEB應用和HTTP協(xié)議歷史的回顧19世紀70年代,電話的發(fā)明,擴展了人類通信的范圍,增強了人類通信的實效性20世紀20年代,廣播收音機和電視的發(fā)明,極大的豐富了人類可獲取信息20世紀90年代,WEB的發(fā)明,極大的提高了人類主動獲取信息的能力廣播收音機/電視和WEB的異同點都是廣播和按需操作你不能發(fā)布電視節(jié)目,但可以發(fā)布WEB內容2023年2月1日222.2WEB應用和HTTP協(xié)議WEB的構成WEB服務器:IIS、Apache、TomCat……瀏覽器:IE、Maxthon、Firefox協(xié)議信息表達的協(xié)議——HTML信息傳輸?shù)膮f(xié)議——HTTP特別說明:WEB屬于C/S模式2023年2月1日232.2WEB應用和HTTP協(xié)議WEB內容的表達Web頁面由一些對象組成。對象可以是HTML文件,JPEG圖片,音頻文件,JavaApplet……HTML文件是Web頁面的基礎,它可以包括各種各樣的對象,是一個容器對象任何一個對象都可以用URL來定位URL的例子:/cs/pic.gif主機名路徑名2023年2月1日242.2WEB應用和HTTP協(xié)議WEB內容的傳輸——HTTP協(xié)議客戶端/服務器模式客戶端:

瀏覽器請求、接收、展示W(wǎng)eb對象(objects)服務器:Web服務器發(fā)送對象對請求進行響應http1.0:RFC1945http1.1:RFC2068運行IE瀏覽器的PC運行IIS的服務器運行FireFox瀏覽器的PChttprequesthttprequesthttpresponsehttpresponse2023年2月1日252.2WEB應用和HTTP協(xié)議http:TCP傳輸服務:客戶端啟動TCP連接(創(chuàng)建套接字)到服務器,端口80服務器接受來自客戶端的TCP連接http報文(應用層協(xié)議報文)在瀏覽器(httpclient)和Web服務器(httpserver)之間進行交換關閉TCP連接http是“無狀態(tài)(stateless)”的服務器不保留任何訪問過的請求信息小評論保留狀態(tài)的協(xié)議很復雜喲!過去的歷史(狀態(tài))需要保留一旦瀏覽器/服務器崩潰,它們各自的狀態(tài)視圖就會發(fā)生分歧,還需重新核對2023年2月1日262.2WEB應用和HTTP協(xié)議HTTP1.0的傳輸模式——非持久性連接假設用戶鍵入了一個URLwww./cs/home.index1a.http客戶端啟動TCP連接到上的http服務器(進程).Port80是http服務器的默認端口.2.http客戶端發(fā)送http請求報文

(包括URL)進入TCP連接插口(socket)1b.

上的http服務器在port80等待TCP的連接請求.“接受”連接并通知客戶端3.http服務器接收到請求報文,形成響應報文(包含了所請求的對象,cs/home.index),將報文送入插口(socket)time(該網(wǎng)頁包含文本并引用了10jpeg圖片)下續(xù)2023年2月1日272.2WEB應用和HTTP協(xié)議5.http客戶端接收到了包含html文件的響應報文。分析html文件,發(fā)現(xiàn)10個引用的jpeg對象6.

對10jpegobjects逐個重復1-5步4.

http服務器關閉TCP連接.time2023年2月1日282.2WEB應用和HTTP協(xié)議非持久性連接工作機制分析取對象需要2RTTsTCP連接對象請求/傳送許多瀏覽器同時打開多個并行的連接來改善性能請考慮:如果有1萬臺客戶機訪問WEB服務器的某個頁面,該頁面有100個對象,那就意味著需要100萬個連接,1個服務器能夠扛得住么?2023年2月1日292.2WEB應用和HTTP協(xié)議HTTP1.1引入的新傳輸模式——持久連接服務器在發(fā)送響應后,不再斷開TCP連接,而是保持該連接,用于后續(xù)對象的傳送,直至該連接“休息”了一個較長的時間后,方斷開該連接減少了對服務器端連接數(shù)的需要,從而減少了對服務器端套接字資源的占用,提高了服務器的負載能力持久連接又可以分為非流水線方式:一個對象傳輸完成方能傳輸下一個流水線方式:可以一次性發(fā)送所有請求,慢慢接收2023年2月1日302.2WEB應用和HTTP協(xié)議HTTP報文類型HTTP請求報文HTTP響應報文2023年2月1日312.2WEB應用和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命令)首部諸行回車、換行表示報文結束2023年2月1日322.2WEB應用和HTTP協(xié)議HTTP請求報文的一般格式2023年2月1日332.2WEB應用和HTTP協(xié)議請求行支持的方法HTTP1.0定義的方法GET向服務器請求指定URL的對象POST用于向服務器提交表單數(shù)據(jù)也可以同時請求一個WEB頁面特別注意:可以不使用POST方法,而使用GET方法發(fā)送表單數(shù)據(jù)以獲取新的WEB頁面。e.g.搜索引擎HEAD請求服務器返回一個響應報文,但是該報文中并不包含請求的對象。該方法常常用來進行故障跟蹤。下續(xù)2023年2月1日342.2WEB應用和HTTP協(xié)議HTTP1.1新定義的方法PUT上傳的文件放在實體主體字段中,目標路徑由URL字段標明DELETE刪除URL字段中指定的文件2023年2月1日352.2WEB應用和HTTP協(xié)議HTTP響應報文一段典型的HTTP響應報文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應用和HTTP協(xié)議HTTP響應報文的一般格式2023年2月1日372.2WEB應用和HTTP協(xié)議常見的HTTP響應狀態(tài)碼和短語200OK請求成功,被請求的對象在報文中301MovedPermanently被請求的對象被移動過,新的位置在報文中有說明(Location:)400BadRequest服務器不懂請求報文404NotFound服務器上找不到請求的對象505HTTPVersionNotSupported服務器不支持請求報文使用的HTTP協(xié)議版本2023年2月1日382.2WEB應用和HTTP協(xié)議了解HTTP報文格式的最好方法就是自行測試1.用Telnet連接測試用的服務器:打開TCP連接到port80(默認的http服務器端口)位于后續(xù)鍵入的內容將發(fā)送到的

80號端口$telnet802.鍵入一條http請求報文:GET/content/content_11786.html將該指令鍵入后(按兩次回車鍵),就將此最短之(但是完整的)GET請求發(fā)到了http服務器3.請注意觀察http服務器發(fā)回的響應報文!2023年2月1日392.2WEB應用和HTTP協(xié)議用戶-服務器交互:CookieWEB站點使用Cookie的目的限制用戶的訪問把內容和用戶身份關聯(lián)起來Cookie技術的組成部分:在HTTP響應報文中有一個Cookie首部行在HTTP請求報文中也有一個Cookie首部行在用戶的端系統(tǒng)中保留了一個Cookie文件,由用戶瀏覽器負責管理在Web站點有一個后端數(shù)據(jù)庫2023年2月1日402.2WEB應用和HTTP協(xié)議Cookie工作流程客戶端服務器http請求報文http響應報文+Set-cookie:1678http請求報文cookie:1678http響應報文http請求報文cookie:1678http響應報文Cookie標明的動作Cookie標明的動作服務器為用戶創(chuàng)建ID:1678后端數(shù)據(jù)庫的記錄訪問訪問Cookiefileamazon:1678ebay:8734Cookiefileebay:8734Cookiefileamazon:1678ebay:8734一周以后:2023年2月1日412.2WEB應用和HTTP協(xié)議Cookies能為我們帶來什么好處呢?認證“購物車”“推薦”用戶會話狀態(tài)

(Webe-mail)Cookies和私密性:Cookies允許網(wǎng)站獲得相當多的用戶的信息你可能會向網(wǎng)站提供你的姓名和E_Mail地址搜索引擎也可以使用cookie和重定向技術獲得很多的信息廣告公司也可以通過用戶訪問過的網(wǎng)站來獲得用戶的相關信息2023年2月1日422.2WEB應用和HTTP協(xié)議WEB緩存目的加速客戶端訪問WEB頁面的速度,減少時延減少局域網(wǎng)與外部因特網(wǎng)交換的數(shù)據(jù)量,從而在達到同等服務質量的同時,可以使用較小的網(wǎng)絡帶寬,節(jié)約費用客戶端WEB緩存客戶端httprequesthttprequesthttpresponsehttpresponsehttprequesthttpresponse原始服務器2023年2月1日432.2WEB應用和HTTP協(xié)議緩存舉例假設平均對象的大小=100,000bits瀏覽器對這些對象的平均訪問速率為15個/秒從因特網(wǎng)一側的路由器轉發(fā)HTTP請求到它收到響應報文的平均時間為2秒原始服務器因特網(wǎng)機構網(wǎng)絡10Mbps局域網(wǎng)1.5Mbps訪問鏈路2023年2月1日442.2WEB應用和HTTP協(xié)議結果總延遲=Internet延遲+訪問延遲+局域網(wǎng)延遲局域網(wǎng)的流量強度=0.15接入鏈路的流量強度=1當流量強度為1時,時延可能非常大,從而導致總時延可能得以分鐘計了原始服務器因特網(wǎng)機構網(wǎng)絡10Mbps局域網(wǎng)1.5Mbps訪問鏈路流量強度=La/R=15個請求/秒x100kb/請求/R2023年2月1日452.2WEB應用和HTTP協(xié)議改進方案1——增加出口帶寬假設增加到10Mbps結果局域網(wǎng)的流量強度=0.15接入鏈路的流量強度=0.15總延遲=Internet延遲+訪問延遲+局域網(wǎng)延遲≈2sec請注意:增加出口帶寬的費用是非常昂貴的在武漢,1.5Mbps的ADSL,費用大約為130元/月左右

2Mbps的DDN數(shù)字鏈路,費用大約為6000-12000元/月左右2023年2月1日462.2WEB應用和HTTP協(xié)議改進方案2——架設WEB緩存假設命中率為0.4結果40%的請求幾乎可以馬上得到響應60%的請求必須從服務器上獲得響應接入鏈路的流量強度減少到0.6,其導致的延遲可以忽略(例如10msec)。總的平均延遲=Internet延遲+訪問延遲+局域網(wǎng)延遲

0.6x(2.01)秒+0.4x(0.01s)

略大于1.2secs,好于方案1原始服務器因特網(wǎng)機構網(wǎng)絡10MbpsLAN1.5Mbps訪問鏈路WEB緩存代價:一臺普通PC+一套免費的WEB緩存軟件2023年2月1日472.2WEB應用和HTTP協(xié)議條件GET方法的使用目的:更新WEB緩存中的WEB對象副本舉例WEB緩存向WEB服務器發(fā)送請求報文GET/fruit/kiwi.gifHTTP/1.1Host:2023年2月1日482.2WEB應用和HTTP協(xié)議WEB服務器向該WEB緩存發(fā)送響應報文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應用和HTTP協(xié)議一周后,一個客戶端請求該對象,為判斷WEB緩存中的該對象副本是否最新的,該WEB緩存向原始服務器發(fā)出一個條件GET方法,執(zhí)行更新檢查GET/fruit/kiwi.gifHTTP/1.1Host:If-Modified-Since:Wed,2Jul200309:23:242023年2月1日502.2WEB應用和HTTP協(xié)議如果該對象沒有被修改過,WEB緩存上的仍然是最新版本,則WEB服務器發(fā)送如下響應報文HTTP/1.1304NotModifiedDate:Mon,14Jul200315:39:29Server:Apache/1.3.0(Unix)(實體主體為空)2023年2月1日512.2WEB應用和HTTP協(xié)議如果該對象在此之后被修改過,WEB服務器上有最新版本,則WEB服務器發(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服務器FTP用戶接口FTP客戶機本地文件系統(tǒng)遠程文件系統(tǒng)用戶2023年2月1日532.3文件傳送協(xié)議:FTPFTP與HTTP傳輸文件的共同點均使用TCP協(xié)議FTP與HTTP傳輸文件的不同點FTP的控制信息是帶外傳送的,而HTTP的控制信息則是帶內傳送的FTP存在兩個并行的連接控制連接數(shù)據(jù)連接FTP客戶機FTP服務器TCP控制連接端口21TCP數(shù)據(jù)連接端口202023年2月1日542.3文件傳送協(xié)議:FTPFTP連接是有狀態(tài)的,而HTTP連接則是無狀態(tài)的FTP服務器會在整個會話期間維護用戶的狀態(tài)信息把用戶帳戶和控制連接聯(lián)系起來追蹤用戶在遠程目錄樹上的位置對活動著的用戶會話的狀態(tài)進行追蹤,以限制FTP會話總數(shù)2023年2月1日552.3文件傳送協(xié)議:FTP常見的FTP命令USERusername(登錄)PASSpassword(登錄)LIST

(返回當前目錄中的文件列表)RETRfilename

(取(gets)文件)STORfilename

(存(puts)文件到遠程主機)2023年2月1日562.3文件傳送協(xié)議:FTP常見的FTP應答331UsernameOK,passwordrequired125dataconnectionalreadyopen;transferstarting425Can’topendataconnection452Errorwritingfile

特別注意:FTP的應答和HTTP的應答是否很類似?

2023年2月1日572.4因特網(wǎng)中的電子郵件電子郵件系統(tǒng)的構成用戶代理郵件服務器簡單郵件傳輸協(xié)議:SMTP用戶郵箱外發(fā)報文隊列mailserveruseragentuseragentuseragentmailserveruseragentuseragentmailserveruseragentSMTPSMTPSMTP2023年2月1日582.4因特網(wǎng)中的電子郵件用戶代理寫作,編輯,閱讀郵件報文e.g.OE、FoxMail郵件服務器郵箱包含了收到的用戶郵件(尚未被閱讀)報文隊列包含了外發(fā)的郵件報文SMTP協(xié)議用在郵件服務器之間發(fā)送郵件客戶端:將郵件發(fā)送到郵件服務器“服務器”:接收和轉發(fā)郵件用戶郵箱外發(fā)報文隊列mailserveruseragentuseragentuseragentmailserveruseragentuseragentmailserveruseragentSMTPSMTPSMTP2023年2月1日592.4因特網(wǎng)中的電子郵件SMTP協(xié)議使用TCP可靠的傳送郵件報文,端口25直接傳輸:發(fā)送服務器到接收服務器傳輸?shù)娜齻€階段握手(打招呼)報文傳輸結束命令/響應交互命令:ASCII文本響應:

狀態(tài)碼和短語郵件報文必須使用7-bitASCII表示2023年2月1日602.4因特網(wǎng)中的電子郵件一次郵件傳送過程Alice使用用戶代理發(fā)送消息給:bob@Alice的用戶代理發(fā)送消息給她的郵件服務器;消息被保存在消息隊列中

SMTP的客戶端向Bob的郵件服務器建立一個TCP連接SMTP的客戶端通過這個TCP連接發(fā)送Alice的消息到Bob的郵件服務器Bob的郵件服務器將這個消息存儲到Bob的郵箱中Bob使用他的用戶代理閱讀這個消息用戶代理郵件服務器郵件服務器用戶代理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ù)必須進行編碼(通常使用base-64或quotedprintable)SMTP服務器用CRLF.CRLF

表示郵件報文的結束SMTPvsHTTP都使用ASCII命令/響應交互,狀態(tài)碼HTTP:pull(拉)andSMTP:push(推)HTTP:每個對象分裝在各自的響應報文中

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é)議的認證階段客戶端命令:user:

用戶名pass:

口令服務器響應+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é)議無法在郵件服務器上對自己的郵件進行重組織,只能將郵件下載到本地計算機進行重組織IMAP協(xié)議將所有的郵件都保存在服務器上允許用戶在服務器上組織自己的郵件目錄IMAP維護了IMAP會話的用戶信息:目錄名以及報文ID與目錄名之間的映射關系2023年2月1日692.5DNS:因特網(wǎng)的目錄服務人類社會對人的識別姓名身份證號護照號

……網(wǎng)絡社會對機器的識別MAC地址(48bit)IP地址(32bit)域名(不定長)IP地址和域名之間如何映射(轉換)?為此人類設計了DNS系統(tǒng),用于IP地址和域名之間的轉換2023年2月1日702.5DNS:因特網(wǎng)的目錄服務DNS簡況DNS是一個分布式數(shù)據(jù)庫,由很多臺DNS服務器按照層次結構組織起來DNS運行在端到端系統(tǒng)上,且使用UDP協(xié)議(53號端口)進行報文傳輸,因此DNS是應用層協(xié)議DNS以C/S的模式工作DNS不直接和用戶打交道,而是因特網(wǎng)的核心功能2023年2月1日712.5DNS:因特網(wǎng)的目錄服務一次最簡單的DNS解析過程假設Alice通過IE瀏覽器訪問/index.htmlAlice的主機上存在DNS客戶機結果IE瀏覽器從URL中抽取出域名,將其傳送給DNS客戶機DNS客戶機向DNS服務器發(fā)出一個包含域名的查詢請求報文DNS服務器向DNS客戶機送回一個包含對應IP地址的響應報文DNS客戶機將該IP地址傳送給IE瀏覽器IE瀏覽器向該IP地址所在WEB服務器發(fā)起TCP連接2023年2月1日722.5DNS:因特網(wǎng)的目錄服務DNS的實現(xiàn)最簡單的方法——單臺DNS服務器單點故障的問題:一旦崩潰,因特網(wǎng)何以堪數(shù)據(jù)的流通量:使得DNS服務器不堪重負遠程的集中式數(shù)據(jù)庫:帶來嚴重的延時維護量巨大:DNS服務器不得不拼命的更新以適應因特網(wǎng)上主機的增加與減少顯然,這種方法是世界上最笨的方法?。?!2023年2月1日732.5DNS:因特網(wǎng)的目錄服務真正的DNS實現(xiàn)根DNS服務器.comDNS服務器.eduDNS服務器.cnDNS服務器DNS服務器DNS服務器DNS服務器DNS服務器DNS服務器DNS服務器根DNS服務器頂級域(TLD)服務器權威DNS服務器2023年2月1日742.5DNS:因特網(wǎng)的目錄服務根域名服務器(13個)bUSC-ISIMarinadelRey,CAlICANNMarinadelRey,CAeNASAMtView,CAfInternetSoftwareC.PaloAlto,CAiNORDUnetStockholmkRIPELondonmWIDETokyoaNSIHerndon,VAcPSInetHerndon,VAdUMarylandCollegePark,MDgDISAVienna,VAhARLAberdeen,MDjNSI(TBD)Herndon,VA2023年2月1日752.5DNS:因特網(wǎng)的目錄服務頂級域DNS服務器:負責頂級域名和所有國家的頂級域名解析工作,例如:com,org,net,gov,uk,cn,jp等NetworkSolution公司負責維護com頂級域DNS服務器Educause公司負責維護edu頂級域DNS服務器權威DNS服務器:

屬于某個組織的DNS服務器,為組織的服務器提供一個權威的域名到IP地址的映射服務(例如:Web和mail)這些DNS服務器一般有所屬組織或者服務提供商負責維護2023年2月1日762.5DNS:因特網(wǎng)的目錄服務本地DNS服務器嚴格的講,本地DNS服務器其并不屬于DNS層次結構中的一層每一個網(wǎng)絡服務提供商都會提供一個本地DNS服務器有時候,我們將其稱為“默認DNS服務器”當一臺主機需要做一個域名查詢的時候,查詢請求首先被發(fā)送到本地域名服務器本地域名服務器的行為就像一個代理,它會向域名的層次體系中進行進一步的域名查詢。2023年2月1日772.5DNS:因特網(wǎng)的目錄服務一次完整的DNS解析過程發(fā)起請求使用遞歸查詢后續(xù)解析為迭代查詢發(fā)起請求的主機根DNS服務器本地DNS服務器123456權威DNS服務器78TLDDNS服務器2023年2月1日782.5DNS:因特網(wǎng)的目錄服務另外一種DNS解析流程純遞歸查詢發(fā)起請求的主機根DNS服務器本地DNS服務器12456權威DNS服務器78TLDDNS服務器32023年2月1日792.5DNS:因特網(wǎng)的目錄服務DNS緩存一旦(任何)域名服務器得知了某個映射,就將其緩存在一定的時間間隔后緩存的條目將會過期(自動消除)頂級域DNS服務器通常被緩存在本地DNS服務器中

·這樣可以減少根DNS的負載2023年2月1日802.5DNS:因特網(wǎng)的目錄服務DNS可提供的服務域名到IP地址的轉換主機/郵件服務器別名為不好記的規(guī)范主機/郵件服務器名提供一個易記的別名e.g.->負載均衡一個域名對應多個IPDNS服務器在多個IP中進行輪轉2023年2月1日812.5DNS:因特網(wǎng)的目錄服務DNS記錄的格式Type=NSname=域(如)value=該域權威域名服務器的主機名RR格式:(name,value,type,ttl)Type=Aname=主機名value=IP地址Type=CNAMEName=別名

value=真名

Type=MXvalue=與name相關的郵件服務器域名2023年2月1日822.5DNS:因特網(wǎng)的目錄服務DNS記錄的維護目前基本上都是手工維護RFC2136定義了DNS動態(tài)更新2023年2月1日832.5DNS:因特網(wǎng)的目錄服務DNS報文查詢和回答報文的格式是一致的2023年2月1日842.6P2P文件共享一次傳輸?shù)膱鼍癆lice在她的筆記本電腦上

溫馨提示

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

評論

0/150

提交評論