計算機網絡教程:第2講 應用層_第1頁
計算機網絡教程:第2講 應用層_第2頁
計算機網絡教程:第2講 應用層_第3頁
計算機網絡教程:第2講 應用層_第4頁
計算機網絡教程:第2講 應用層_第5頁
已閱讀5頁,還剩47頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第第2講講:應用層應用層1第第2講講 應用層應用層本講目標本講目標: n網絡應用層的概念和網絡應用層的概念和實現實現p客戶端客戶端-服務器范式服務器范式p服務模型服務模型n通過對常用應用層協通過對常用應用層協議的探討和分析來學議的探討和分析來學習網絡協議習網絡協議n教科書參考教科書參考p第第9章章深層次目標深層次目標 n特定協議特定協議: phttppftppsmtpppop pdns第第2講講:應用層應用層2應用程序應用程序和和應用層協議應用層協議應用程序應用程序:溝通溝通, 分布式的進分布式的進程程p運行在網絡主機中的運行在網絡主機中的 “用戶用戶空間空間”p在應用程序間交換報文在應用程序

2、間交換報文pe.g., email, ftp, Web應用層協議:應用層協議:p應用層的一個應用層的一個“組成部分組成部分”p定義應用程序需交換的報文定義應用程序需交換的報文 和所需采取的動作和所需采取的動作p使用較低層次所提供的通信使用較低層次所提供的通信服務服務 (TCP, UDP)applicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysical第第2講講:應用層應用層3網絡應用程序網絡應用程

3、序: 一些術語一些術語進程進程(Process): 主機中運行主機中運行中的程序中的程序.n在某些主機中在某些主機中, 兩個進程兩個進程使用使用進程間通信進程間通信 (由由 OS管理管理).n而運行在不同主機上的進而運行在不同主機上的進程則使用應用層協議進行程則使用應用層協議進行通信通信n用戶代理用戶代理(User agent): 軟件進程軟件進程, 是介于用戶是介于用戶( above )和網絡()和網絡( below )之間的接口)之間的接口p實現應用級協議實現應用級協議pWeb: 瀏覽器瀏覽器pE-mail: OE、Foxmailp流媒體流媒體: media player第第2講講:應用層

4、應用層4客戶端客戶端-服務器范式服務器范式典型的網絡應用都是由兩個部典型的網絡應用都是由兩個部分組成分組成: 客戶端客戶端 和和 服務器服務器applicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysical客戶端客戶端:n發起同服務器的聯系發起同服務器的聯系 (“speaks first”)n一般都從服務器請求服務一般都從服務器請求服務, nWeb: 客戶端由瀏覽器實現客戶端由瀏覽器實現; e-mail: 通過通過OE、Foxmial實現實現requestreply服務器服務器:n向

5、客戶端提供所請求的服務向客戶端提供所請求的服務ne.g., Web 服務器發送被請求的服務器發送被請求的 Web 頁面頁面, 郵件服務器傳遞郵件服務器傳遞 e-mail第第2講講:應用層應用層5應用層協議應用層協議(續續)應用程序接口(應用程序接口(API: application programming interface)n定義應用層和傳輸層間的定義應用層和傳輸層間的接口接口n插口(插口(socket: Internet API)p兩個進程間的通信,兩個進程間的通信, 將數將數據送入據送入 socket, 或從或從socket 讀出數據讀出數據Q: 某個進程如何某個進程如何“認定認定”另一

6、個另一個 需要與之通信的需要與之通信的進程進程?pIP 地址地址-運行另一個進程運行另一個進程的主機所擁有的的主機所擁有的p“端口號(端口號(PORT #)” 允許接收主機來確定的一允許接收主機來確定的一個標識,本地進程將報文個標識,本地進程將報文發送給它發送給它p教科書教科書p232-234第第2講講:應用層應用層6應用進程需要怎樣的傳輸服務應用進程需要怎樣的傳輸服務?數據丟失(數據丟失(Data loss)n某些應用某些應用 (e.g., audio) 可可以容忍某種程度上的數據丟以容忍某種程度上的數據丟失失n其他應用其他應用 (e.g., 文件傳輸文件傳輸, telnet) 要求要求 1

7、00% 可靠的可靠的數據傳輸數據傳輸實時性(實時性(Timing)n某些應用某些應用(e.g., IP 電話電話, 交互式游戲交互式游戲) 要求較低要求較低的時延的時延帶寬(帶寬(Bandwidth)n某些應用某些應用(e.g., 多媒體多媒體) 對最低帶寬有要求對最低帶寬有要求n其他應用其他應用(“彈性應用彈性應用”) 則可靈活應用所能得到則可靈活應用所能得到的帶寬的帶寬第第2講講:應用層應用層7常用應用程序對傳輸功能的要求常用應用程序對傳輸功能的要求應用程序應用程序文件傳輸文件傳輸e-mailWeb 網頁網頁實時音頻實時音頻/視頻視頻存儲存儲音頻音頻/視頻視頻交互式游戲交互式游戲金融應用金

8、融應用數據丟失數據丟失不丟失不丟失不丟失允許丟失允許丟失允許丟失允許丟失不丟失帶寬帶寬彈性彈性彈性音頻: 5Kb-1Mb視頻:10Kb-5Mb同上 幾 Kb/s 以上彈性實時性實時性無無無100s msecfew secs100s msecyes and no第第2講講:應用層應用層8Internet 的傳輸協議服務的傳輸協議服務TCP 服務:n面向連接面向連接: 在客戶端和服務器進在客戶端和服務器進程之間需要建立連接(程之間需要建立連接(setup )n可靠傳輸可靠傳輸 : 在發送和接受進程在發送和接受進程之間之間n流量控制流量控制: 發送數據的速度決不發送數據的速度決不超過接收的速度超過接

9、收的速度 n擁塞控制擁塞控制: 當網絡超負荷時,束當網絡超負荷時,束緊發送端口,減緩發送速度緊發送端口,減緩發送速度n不提供不提供: 實時性實時性, 最小帶寬承諾最小帶寬承諾UDP服務:n在客戶端和服務器進程之間在客戶端和服務器進程之間實現實現“不可靠的不可靠的”數據傳輸數據傳輸n不提供不提供:連接建立連接建立, 可靠性保可靠性保證證,流量控制流量控制,擁塞控制擁塞控制,實時實時性性, 最小帶寬承諾最小帶寬承諾Q: 既生喻,何生亮既生喻,何生亮? Why is there a UDP?第第2講講:應用層應用層9Internet應用應用: 應用應用, 傳輸協議傳輸協議應用應用e-mail遠程終端

10、訪問遠程終端訪問Web 文件傳輸文件傳輸流媒體流媒體遠程文件服務器遠程文件服務器IP電話電話應用協議應用協議smtp RFC 821telnet RFC 854http RFC 2068ftp RFC 959專有協議專有協議(e.g. RealNetworks)NSF專有協議專有協議(e.g., Vocaltec)所依賴的傳輸協議所依賴的傳輸協議TCPTCPTCPTCPTCP or UDPTCP or UDPtypically UDP第第2講講:應用層應用層10http 協議協議http: TCP 傳輸服務傳輸服務:n客戶端啟動客戶端啟動TCP連接連接(創建插口創建插口) 到服務器到服務器,

11、端口端口 80n服務器接受來自客戶端的服務器接受來自客戶端的 TCP 連接連接nhttp 報文報文(應用層協議報文應用層協議報文) 在瀏覽器在瀏覽器 (http client) 和和Web服務器服務器(http server)之間之間進行交換進行交換n關閉關閉TCP 連接連接http 是是 “無狀態無狀態(stateless)”的的n服務器不保留任何訪問服務器不保留任何訪問過的請求信息過的請求信息保留狀態的協議很復雜喲保留狀態的協議很復雜喲!n過去的歷史過去的歷史 (狀態狀態) 需要保留需要保留n一旦瀏覽器一旦瀏覽器/服務器崩潰服務器崩潰, 它它們各自的狀態視圖就會發生們各自的狀態視圖就會發生

12、分歧,還需要重新核對分歧,還需要重新核對小評論第第2講講:應用層應用層11Web: http 協議協議超文本傳輸協議(超文本傳輸協議(http: hypertext transfer protocol)n萬維網應用協議萬維網應用協議n客戶端客戶端/服務器模式服務器模式p客戶端客戶端: 瀏覽器請求、接瀏覽器請求、接收、展示收、展示 Web對象(對象( objects)p服務器服務器: Web 服務器發服務器發送對象對請求進行響應送對象對請求進行響應nhttp1.0: RFC 1945nhttp1.1: RFC 2068PC runningExplorerServer runningNCSA We

13、bserverMac runningNavigatorhttp requesthttp requesthttp responsehttp response第第2講講:應用層應用層12http 舉例舉例假設用戶鍵入了一個假設用戶鍵入了一個 URL www.someS/someDepartment/home.index1a. http 客戶端啟動客戶端啟動 TCP 連接到連接到www.someS上的上的http 服務器服務器 (進程進程). Port 80 是是 http 服務器的默認端口服務器的默認端口.2. http客戶端客戶端發送發送 http 請求報請求

14、報文文 (包括包括URL) 進入進入 TCP 連接插連接插口(口(socket)1b. 在在www.someS 上上的的http 服務器在服務器在 port 80 等待等待 TCP 的連接請求的連接請求. “接受接受” 連連接并通知客戶端接并通知客戶端3. http 服務器接收到請求報文服務器接收到請求報文, 形成形成 響應報文(響應報文( 包含了所請求包含了所請求的對象的對象 ,someDepartment/home.index), 將報將報文送入插口(文送入插口( socket)time(該網頁包含文本并引用了10 jpeg 圖片)第第2講講:應用層應用層13http 舉

15、例舉例 (續續.)5. http 客戶端接收到了包含客戶端接收到了包含html文件的響應報文。文件的響應報文。 分分析析 html 文件文件, 發現發現 10 個個引用的引用的 jpeg 對象對象6. 對對10 jpeg objects 逐個重復逐個重復1-5 步步4. http 服務器關閉服務器關閉 TCP 連接連接. time第第2講講:應用層應用層14非持續和持續連接非持續和持續連接(非持續連接)(非持續連接)Non-persistentnhttp/1.0: 服務器分析請服務器分析請求、響應、關閉求、響應、關閉 TCP 連接連接n取對象需要取對象需要2 RTTspTCP 連接連接p對象請

16、求對象請求/傳送傳送n每次傳送都要受到每次傳送都要受到TCP連連接初始化時的慢啟動影響接初始化時的慢啟動影響n許多瀏覽器同時打開多個許多瀏覽器同時打開多個并行的連接來改善性能并行的連接來改善性能(持續連接)(持續連接)Persistentnhttp/1.1的默認設置的默認設置n在同一在同一TCP 連接上連接上: 服服務器分析請求、響應請務器分析請求、響應請求,分析新的請求、求,分析新的請求、.n客戶端一旦下載到了基客戶端一旦下載到了基本的本的html文件(文件( base HTML )馬上發送對所)馬上發送對所有引用對象的請求有引用對象的請求.n較少的較少的 RTTs, 較少的較少的慢啟動慢啟

17、動.第第2講講:應用層應用層15http 報文格式報文格式: request(請求)(請求)ntwo types of http報文報文: request, responsenhttp 請求請求報文報文:pASCII (可讀格式可讀格式)GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr (額外的 carriage return, line feed) 請求行請求行(GET, POST, HEAD 命令命令)首部首部

18、諸行諸行回車、換行表示回車、換行表示報文結束報文結束第第2講講:應用層應用層16http 請求報文請求報文: 一般格式一般格式第第2講講:應用層應用層17http 報文格式報文格式: response(響應)(響應)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 . 狀態行狀態行

19、(協議狀態碼協議狀態碼狀態短語狀態短語)首部首部 諸行諸行數據數據, e.g., 被請求的被請求的html文件文件第第2講講:應用層應用層18http 響應狀態碼和短語響應狀態碼和短語200 OKp請求成功請求成功, 被請求的對象在報文中被請求的對象在報文中301 Moved Permanentlyp被請求的對象被移動過被請求的對象被移動過, 新的位置在報文中有說明新的位置在報文中有說明 (Location:)400 Bad Requestp服務器不懂請求報文服務器不懂請求報文404 Not Foundp服務器上找不到請求的對象服務器上找不到請求的對象505 HTTP Version Not

20、Supported位于(服務器位于(服務器-客戶端)響應報文的第一行客戶端)響應報文的第一行.樣例樣例:第第2講講:應用層應用層19自行測試自行測試 http (客戶端操作客戶端操作)1. 用用Telnet 連接測試用的服務器(需要預先登錄連接測試用的服務器(需要預先登錄UNIX):打開打開 TCP 連接到連接到 port 80(默認的默認的http 服務器端口服務器端口) 位于位于 0后續鍵入的內容將發送到后續鍵入的內容將發送到0 的的 80 號端口號端口$telnet 0 802. 鍵入一條鍵入一條 http請求報文請

21、求報文:GET /j1010/hello.htm HTTP/1.0將該指令鍵入后將該指令鍵入后 (按兩次回車鍵按兩次回車鍵), 就就將此最短之將此最短之 (但是完整的但是完整的) GET 請求發到了請求發到了 http 服務器服務器3. 請注意觀察請注意觀察http服務器發回的響應報文服務器發回的響應報文!第第2講講:應用層應用層20用戶用戶-服務器的交互服務器的交互: 認證(認證(authentication)認證認證 : 控制對服務器內容的訪問控制對服務器內容的訪問n信用認證信用認證: 一般通過用戶名一般通過用戶名, 口口令進行令進行 n無狀態無狀態: 客戶端必須在每次請求客戶端必須在每次

22、請求前進行認證前進行認證pauthorization: 就是要求在每就是要求在每個請求報文中提交認證的首個請求報文中提交認證的首部行部行p如果客戶端沒有提交如果客戶端沒有提交 authorization: 首部行首部行, 服務服務器將拒絕訪問器將拒絕訪問, 只是在響應只是在響應報文首部中發送報文首部中發送WWW authenticate: clientserver普通普通 http 請求報文請求報文401: 認證要求認證要求WWW authenticate:普通普通 http 請求報文請求報文+ Authorization: 普通普通 http響應報文響應報文普通普通 http 請求報文請求報

23、文+ Authorization: 普通普通 http響應報文響應報文time第第2講講:應用層應用層21Cookies: 保存保存 “狀態狀態”n服務器產生一個服務器產生一個 # , 服務服務器認識這個器認識這個 #, 以備不時以備不時之需之需:p認證認證p記憶用戶的前序訪問記憶用戶的前序訪問, 先前的選擇先前的選擇n服務器在響應報文中發送服務器在響應報文中發送 “cookie” 給客戶端給客戶端Set-cookie: 1678453n客戶端可以在后繼的請求中客戶端可以在后繼的請求中發送發送“cookie” cookie: 1678453clientserver普通 http 請求報文普通

24、http響應報文+Set-cookie: #普通 http 請求報文cookie: #普通 http響應報文普通 http 請求報文cookie: #普通 http響應報文cookie-特定的cookie-特定的第第2講講:應用層應用層22Conditional GET: 客戶端緩存機制客戶端緩存機制n目的目的: 如果客戶端緩存了最新如果客戶端緩存了最新的請求對象,則服務器不必重的請求對象,則服務器不必重復發送復發送n客戶端客戶端: 在在http請求報文中聲請求報文中聲明所緩存拷貝的生成日期明所緩存拷貝的生成日期If-modified-since: n服務器服務器: 如果客戶端緩存的拷如果客戶

25、端緩存的拷貝是最新的,則在響應報文中貝是最新的,則在響應報文中不發請求的對象不發請求的對象: HTTP/1.0 304 Not Modifiedclientserverhttp請求報文If-modified-since: http響應報文HTTP/1.0 304 Not Modified對象未經修改http請求報文If-modified-since: http響應報文HTTP/1.1 200 OK對象已經修改第第2講講:應用層應用層23Web 緩存:代理服務器緩存:代理服務器 (proxy server)n用戶設置瀏覽器用戶設置瀏覽器: Web 訪問經由訪問經由代理服代理服務器務器 n客戶端發

26、送所有的客戶端發送所有的 http 請求到請求到代理服務器代理服務器p代理服務器保存了請求的代理服務器保存了請求的對象對象: 代理服務器返回代理服務器返回請求的對象請求的對象 p否則代理服務器從原始否則代理服務器從原始服務器請求對象服務器請求對象,再將再將其返回給客戶端其返回給客戶端 目的目的: 滿足客戶端的請求而無需煩擾原始服務器滿足客戶端的請求而無需煩擾原始服務器clientProxyserverclienthttp requesthttp requesthttp responsehttp responsehttp requesthttp responseorigin serverorig

27、in server第第2講講:應用層應用層24為何為何Web緩存緩存?前提前提: 緩存與客戶端比較緩存與客戶端比較“接近接近 “(e.g., 在同一在同一網絡中網絡中)n響應時間較短響應時間較短:緩存與客緩存與客戶端比較戶端比較“接近接近 “n減少了往來與遠程服務減少了往來與遠程服務器間的數據流量器間的數據流量p因為從學校或本地因為從學校或本地ISP 通通往外部的鏈路往往是網絡往外部的鏈路往往是網絡瓶頸瓶頸originserverspublic Internetinstitutionalnetwork10 Mbps LAN1.5 Mbps access linkinstitutionalcac

28、he第第2講講:應用層應用層25ftp: 文件傳輸協議文件傳輸協議n傳輸文件往來與遠程主機傳輸文件往來與遠程主機n客戶端客戶端/服務器模式服務器模式p客戶端客戶端: 啟動傳輸啟動傳輸 (無論與往來遠程主機無論與往來遠程主機)p服務器服務器: 遠程主機遠程主機nftp: RFC 959nftp 服務器服務器: 端口端口 21file transferFTPserverFTPuserinterfaceFTPclientlocal filesystemremote filesystemuser at host第第2講講:應用層應用層26ftp: 分離的控制分離的控制, 數據連接數據連接nftp客戶端

29、在客戶端在 ftp 服務器的服務器的 端端口口21進行聯系進行聯系, 使用使用TCP作為作為傳輸協議傳輸協議n打開兩個并行的連接打開兩個并行的連接:p控制控制:在客戶端和服務器之在客戶端和服務器之間交換命令間交換命令, 響應。稱為帶響應。稱為帶外控制:外控制:“out of band control”p數據數據: 往來于服務器的文件往來于服務器的文件nftp 維持狀態維持狀態 (state): 當前當前目錄、先前的認證信息等目錄、先前的認證信息等FTPclientFTPserverTCP control connectionport 21TCP data connectionport 20第第

30、2講講:應用層應用層27ftp 命令命令, 響應響應樣例命令樣例命令:n在控制通道上傳送的在控制通道上傳送的ASCII文本文本pUSER username(登錄)(登錄)pPASS password(登錄)(登錄)pLIST (返回當前目錄(返回當前目錄中的文件列表中的文件列表)pRETR filename (取(取 (gets) 文件)文件)pSTOR filename (存存(puts) 文件到遠程主機)文件到遠程主機)返回碼樣例返回碼樣例n狀態碼和短語狀態碼和短語 (同同 http)p331 Username OK, password requiredp125 data connecti

31、on already open; transfer startingp425 Cant open data connectionp452 Error writing file第第2講講:應用層應用層28電子郵件電子郵件四個重要組件四個重要組件: n用戶代理用戶代理 n郵件服務器郵件服務器 n簡單郵件傳輸協議簡單郵件傳輸協議: smtpn郵局協議:郵局協議:pop用戶代理用戶代理n寫作寫作, 編輯編輯, 閱讀郵件報文閱讀郵件報文ne.g., Foxmail, OE, elm, Netscape Messengern外發外發, 接收的報文存儲在郵件接收的報文存儲在郵件服務器中服務器中用戶郵箱外發報

32、文隊列mailserveruseragentuseragentuseragentmailserveruseragentuseragentmailserveruseragentSMTPSMTPSMTP第第2講講:應用層應用層29電子郵件電子郵件:郵件服務器郵件服務器Mail Servers n郵箱郵箱 包含了收到的用戶包含了收到的用戶郵件郵件 (尚未被閱讀尚未被閱讀)n報文報文 隊列包含了外發的隊列包含了外發的 郵件報文郵件報文nsmtp 協議協議用在郵件服務用在郵件服務器之間發送郵件器之間發送郵件p客戶端客戶端: 將郵件發送將郵件發送到郵件服務器到郵件服務器p“服務器服務器”: 接收和轉接收和

33、轉發郵件發郵件mailserveruseragentuseragentuseragentmailserveruseragentuseragentmailserveruseragentSMTPSMTPSMTP第第2講講:應用層應用層30電子郵件電子郵件: smtp RFC 821n使用使用 tcp 可靠的傳送郵件報文可靠的傳送郵件報文, 端口端口25n直接傳輸直接傳輸: 發送服務器到接收服務器發送服務器到接收服務器n傳輸的三個階段傳輸的三個階段p握手握手(打招呼打招呼)p報文傳輸報文傳輸p結束結束n命令命令/響應交互響應交互p命令命令: ASCII文本文本p響應響應: 狀態碼和短語狀態碼和短語n

34、郵件報文必須使用郵件報文必須使用7-bit ASCII表示表示第第2講講:應用層應用層31smtp 交互樣例(在交互樣例(在UNIX中用中用telnet)S: 220 X1 NT-ESMTP Server C: HELO S: 250 hello C: MAIL FROM:S: 250 okC: RCPT TO:S: 250 ok its for C: DATAS: 354 ok, send it; end with .C: Hi, I am in XUJI now,Where are you?C: .S: 250 Message queuedC: QUITS: 221 Goodbye 第第2

35、講講:應用層應用層32自測自測 smtp 交互交互:n$telnet 70 25n見到郵件服務器的見到郵件服務器的 220 響應后響應后n鍵入鍵入 HELO, MAIL FROM, RCPT TO, DATA, QUIT 命令命令 上述過程可以不使用用戶代理,就能直接將電子郵件上述過程可以不使用用戶代理,就能直接將電子郵件發送出去(因為目前大部分郵件服務器的交互過程趨發送出去(因為目前大部分郵件服務器的交互過程趨于復雜,本試驗不一定都能進行)。于復雜,本試驗不一定都能進行)。第第2講講:應用層應用層33smtp: 評述評述nsmtp 使用持續連接使用持續連接nsmtp

36、要求報文要求報文 (首部首部 & 信體信體) 全部使用全部使用 7-bit ASCII碼碼n某些代碼組合不允許出某些代碼組合不允許出現在報文中現在報文中 (e.g., CRLF.CRLF). 此類數據此類數據必須進行編碼必須進行編碼 (通常使通常使用用 base-64 或或 quoted printable)nsmtp 服務器用服務器用 CRLF.CRLF 表示郵件表示郵件報文的結束報文的結束與與 http的比較的比較:nhttp: pull(拉)(拉)nemail: push(推)(推)n都使用都使用 ASCII 命令命令/響響應交互應交互, 狀態碼狀態碼nhttp: 每個對象分裝在

37、每個對象分裝在各自的響應報文中各自的響應報文中nsmtp:多個對象在一個多多個對象在一個多分部的報文中傳送分部的報文中傳送第第2講講:應用層應用層34郵件報文格式郵件報文格式smtp: 交換郵件報文的協議交換郵件報文的協議RFC 822: 文本報文格式標準文本報文格式標準:n首部諸行首部諸行, e.g., pTo:pFrom:pSubject:不同不同 于于 smtp 命令命令!n信體信體p即即 “報文報文”, ASCII characters onlyheaderbody空行第第2講講:應用層應用層35郵件格式郵件格式: 多媒體擴展多媒體擴展nMIME: multimedia mail ex

38、tension, RFC 2045, 2056n在報文首部附加額外的信息聲明在報文首部附加額外的信息聲明 MIME 內容類型內容類型From: alicecrepes.fr To: Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data . . .base64 encoded data 多媒體類型多媒體類型, 子類型子類型, 參數參數聲明聲明數據編碼方法數據編

39、碼方法MIME 版本版本編碼后的數據編碼后的數據第第2講講:應用層應用層36MIME 類型聲明類型聲明 Content-Type: type/subtype; parametersTextn子類型樣例子類型樣例: plain, htmlImagen子類型樣例子類型樣例: jpeg, gifAudion子類型樣例子類型樣例: basic (8-bit mu-law encoded), 32kadpcm (32 kbps coding)Videon子類型樣例子類型樣例: mpeg, quicktimeApplicationn需使用其他閱讀器的數據需使用其他閱讀器的數據n子類型樣例子類型樣例: ms

40、word, octet-stream 第第2講講:應用層應用層37MIME多分部類型多分部類型From: alicecrepes.fr To: Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=98766789 -98766789Content-Transfer-Encoding: quoted-printableContent-Type: text/plainDear Bob, Please find a picture of

41、a crepe.-98766789Content-Transfer-Encoding: base64Content-Type: image/jpegbase64 encoded data . . .base64 encoded data -98766789-第第2講講:應用層應用層38郵件訪問協議郵件訪問協議nSMTP: 發送發送/存儲存儲 到接收方的服務器到接收方的服務器n郵件訪問協議郵件訪問協議: 從服務器中取信從服務器中取信pPOP: Post Office Protocol RFC 1939 認證認證 (agent server) 和下載和下載 pIMAP: Internet Mail

42、 Access Protocol RFC 1730 更多功能更多功能(更為復雜更為復雜) 在服務器中操作存儲在那里的報文在服務器中操作存儲在那里的報文pHTTP: Hotmail , Yahoo! Mail, ,etc.useragentsenders mail serveruseragentSMTPSMTPPOP3 orIMAPreceivers mail server第第2講講:應用層應用層39POP3 協議協議認證階段認證階段n客戶端命令客戶端命令: puser: 用戶名用戶名ppass: 口令口令n服務器響應服務器響應p+OKp-ERR交互階段交互階段, 客戶端客戶端:nlist: 列

43、出報文號碼列出報文號碼nretr: 用報文號碼取信用報文號碼取信ndele:用報文號碼刪信用報文號碼刪信nquit C: list S: 1 498 S: 2 912 S: . C: retr 1 S: S: . C: dele 1 C: retr 2 S: S: . 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 on第第2講講:應用層應用層40自測自測 pop

44、3交互交互:n$telnet 0 110n見到見到+OK POP3 server ready 響應后響應后n鍵入鍵入 user, pass, list, retr, quit 命令命令 上述過程可以不使用用戶代理,就能察看郵上述過程可以不使用用戶代理,就能察看郵箱中的信件。箱中的信件。第第2講講:應用層應用層41DNS: 域名系統域名系統自然人自然人: 諸多定義諸多定義:p身份證身份證, 姓名姓名, 護照護照 #因特網主機因特網主機, 路由器路由器:pIP 地址地址 (32 bit) 用于用于數據報尋址數據報尋址p“域名域名”, e.g., 幫助幫助記憶記憶Q: IP

45、地址和域名之間如地址和域名之間如何映射何映射(轉換轉換) ?Domain Name System:n分布式數據庫:由許多域分布式數據庫:由許多域名服務器按層次構成名服務器按層次構成 n應用層協議:應用層協議: 主機、路由主機、路由器、域名服務器互相通信器、域名服務器互相通信進行域名解析進行域名解析 (地址地址/域名域名翻譯翻譯)p注意注意: 因特網之核心功因特網之核心功能能, 應用層之協議應用層之協議p網絡網絡“邊緣邊緣”上之復雜上之復雜實體實體第第2講講:應用層應用層42DNS name serversn沒有服務器能夠保存所有沒有服務器能夠保存所有 Name-to-IP 地址的映射地址的映射

46、本地域名服務器本地域名服務器:p每個每個 ISP, 企業可擁有企業可擁有 本地本地(默認默認) 域名服務器域名服務器p主機的主機的 DNS 查詢首先發往查詢首先發往本地域名服務器本地域名服務器授權域名服務器授權域名服務器:p每臺主機必須在授權服務器每臺主機必須在授權服務器上注冊登記上注冊登記p可完成域名可完成域名/地址的轉換地址的轉換為什么不搞集中的為什么不搞集中的DNS?n單點失敗的問題單點失敗的問題n數據的流通量數據的流通量n遠程集中式的數據庫遠程集中式的數據庫n維護問題維護問題難以與時俱進,跟不上發展難以與時俱進,跟不上發展!第第2講講:應用層應用層43DNS: 根域名服務器根域名服務器

47、n當本地域名服務器不能解析時,就向根域名服務器查詢當本地域名服務器不能解析時,就向根域名服務器查詢n根域名服務器根域名服務器:p如果域名映射未知,則向授權域名服務器查詢如果域名映射未知,則向授權域名服務器查詢p取得映射取得映射p將映射返回將映射返回本地域名服務器本地域名服務器b USC-ISI Marina del Rey, CAl ICANN Marina del Rey, CAe NASA Mt View, CAf Internet Software C. Palo Alto, CAi NORDUnet Stockholmk RIPE Londonm WIDE Tokyoa NSI Her

48、ndon, VAc PSInet Herndon, VAd U Maryland College Park, MDg DISA Vienna, VAh ARL Aberdeen, MDj NSI (TBD) Herndon, VA 遍布世界各地的遍布世界各地的13個根域名服務器個根域名服務器第第2講講:應用層應用層44簡單簡單 DNS 舉例舉例主機主機 要要求求 的IP 地址地址 1. 聯系本地域名服務器聯系本地域名服務器, 02.如有必要如有必要0 會會聯系根域名服務器聯系根域名服務器3.如有必要根域名服務器會聯

49、系如有必要根域名服務器會聯系授權域名服務器授權域名服務器, requesting root name serverauthorititive name local name server0123456第第2講講:應用層應用層45DNS 舉例舉例根域名服務器根域名服務器:n可能不知道授權域可能不知道授權域名服務器的地址名服務器的地址n可能知道可能知道中介域名中介域名服務器服務器: 由它負責由它負責聯系授權域名服務聯系授權域名服務器器requesting root name serverlocal name server0123456authoritative name intermediate name 78

溫馨提示

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

評論

0/150

提交評論