第02章 網(wǎng)絡(luò)應(yīng)用及應(yīng)用層協(xié)議_第1頁
第02章 網(wǎng)絡(luò)應(yīng)用及應(yīng)用層協(xié)議_第2頁
第02章 網(wǎng)絡(luò)應(yīng)用及應(yīng)用層協(xié)議_第3頁
第02章 網(wǎng)絡(luò)應(yīng)用及應(yīng)用層協(xié)議_第4頁
第02章 網(wǎng)絡(luò)應(yīng)用及應(yīng)用層協(xié)議_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章網(wǎng)絡(luò)應(yīng)用及應(yīng)用層協(xié)議《計算機網(wǎng)絡(luò)與信息安全》主要內(nèi)容本章學習目標掌握網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)理解網(wǎng)絡(luò)應(yīng)用通信原理掌握域名系統(tǒng)及域名解析過程掌握FTP應(yīng)用及應(yīng)用層協(xié)議掌握email應(yīng)用及應(yīng)用層協(xié)議掌握Web應(yīng)用及應(yīng)用層協(xié)議掌握P2P應(yīng)用原理及特點掌握P2P文件分發(fā)原理掌握Socket編程技術(shù)主要內(nèi)容第一節(jié)網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)第二節(jié)網(wǎng)絡(luò)應(yīng)用通信原理第三節(jié)域名解析系統(tǒng)DNS第四節(jié)萬維網(wǎng)應(yīng)用第五節(jié)Internet電子郵件第六節(jié)文件傳輸?shù)谄吖?jié)P2P應(yīng)用第八節(jié)Socket編程2本章重點與難點本章重點網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)與特點網(wǎng)絡(luò)應(yīng)用通信基本原理DNS域名解析過程HTTP協(xié)議SMTP協(xié)議POP協(xié)議FTP協(xié)議P2P應(yīng)用Socket編程基礎(chǔ)本章難點網(wǎng)絡(luò)應(yīng)用通信基本原理典型應(yīng)用層協(xié)議交互過程P2P文件分發(fā)Socket編程基礎(chǔ)3李全龍第一節(jié)

網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)4網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)客戶/服務(wù)器結(jié)構(gòu)(Client-Server,C/S)對等結(jié)構(gòu)(Peer-to-Peer,P2P)混合結(jié)構(gòu)(Hybrid)5第一節(jié)

網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)客戶/服務(wù)器結(jié)構(gòu)服務(wù)器(server)7*24小時提供服務(wù)永久性可訪問地址/域名利用大量服務(wù)器實現(xiàn)可擴展性客戶(client)與服務(wù)器通信,使用服務(wù)器

提供的服務(wù)間歇性接入網(wǎng)絡(luò)可能使用動態(tài)IP地址不會與其他客戶直接通信6第一節(jié)

網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)客戶機/服務(wù)器結(jié)構(gòu)例如:Web應(yīng)用7PC:運行IE瀏覽器服務(wù)器:運行Web服務(wù)器軟件

Mac:運行Safari瀏覽器HTTP請求HTTP請求HTTP響應(yīng)HTTP響應(yīng)第一節(jié)

網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)純P2P結(jié)構(gòu)沒有永遠在線的服務(wù)器任意端系統(tǒng)/節(jié)點之間可以直接通訊節(jié)點間歇性接入網(wǎng)絡(luò)節(jié)點可能改變IP地址優(yōu)點:高度可伸縮缺點:難于管理8第一節(jié)

網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)混合結(jié)構(gòu)例如:Napster文件傳輸使用P2P結(jié)構(gòu)文件的搜索采用C/S結(jié)構(gòu)——集中式每個節(jié)點向中央服務(wù)器登記自己的內(nèi)容每個節(jié)點向中央服務(wù)器提交查詢請求,查找感興趣的內(nèi)容9能否將兩種結(jié)構(gòu)混合在一起使用?混合能夠利用兩者的優(yōu)點同時規(guī)避兩者的缺點嗎?第一節(jié)

網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)李全龍第二節(jié)

網(wǎng)絡(luò)應(yīng)用通信原理10網(wǎng)絡(luò)應(yīng)用的基礎(chǔ):進程間通信進程:主機上運行的程序同一主機上運行的進程之間如何通信?進程間通信機制操作系統(tǒng)提供不同主機上運行的進程間如何通信?消息交換11客戶機進程:

發(fā)起通信的進程服務(wù)器進程:

等待通信請求的進程采用P2P架構(gòu)的應(yīng)用是否存在客戶機進程/服務(wù)器進程之分?第二節(jié)

網(wǎng)絡(luò)應(yīng)用通信原理套接字:Socket進程間通信利用socket發(fā)送/接收消息實現(xiàn)類似于寄信傳輸基礎(chǔ)設(shè)施向進程提供API傳輸協(xié)議的選擇參數(shù)的設(shè)置12第二節(jié)

網(wǎng)絡(luò)應(yīng)用通信原理如何尋址進程?不同主機上的進程間通信,那么每個進程必須擁有標識符如何尋址主機?——IP地址Q:主機有了IP地址后,是否足以定位進程?A:否!同一主機上可能同時有多個進程需要通信。端口號/Portnumber為主機上每個需要通信的進程分配一個端口號HTTP

Server:80Mail

Server:25進程的標識符IP地址+端口號13協(xié)議本機IP地址:端口號外部IP地址:端口號狀態(tài)第二節(jié)

網(wǎng)絡(luò)應(yīng)用通信原理應(yīng)用層協(xié)議網(wǎng)絡(luò)應(yīng)用需遵循應(yīng)用層協(xié)議公開協(xié)議由RFC(RequestForComments)定義允許互操作HTTP,SMTP,……私有協(xié)議多數(shù)P2P文件共享應(yīng)用14第二節(jié)

網(wǎng)絡(luò)應(yīng)用通信原理應(yīng)用層協(xié)議的內(nèi)容消息的類型(type)請求消息響應(yīng)消息消息的語法(syntax)/格式消息中有哪些字段(field)?每個字段如何描述字段的語義(semantics)字段中信息的含義規(guī)則(rules)進程何時發(fā)送/響應(yīng)消息進程如何發(fā)送/響應(yīng)消息15HTTP請求消息的格式第二節(jié)

網(wǎng)絡(luò)應(yīng)用通信原理網(wǎng)絡(luò)應(yīng)用對傳輸服務(wù)的需求數(shù)據(jù)丟失(dataloss)/可靠性(reliability)某些網(wǎng)絡(luò)應(yīng)用能夠容忍一定的數(shù)據(jù)丟失:網(wǎng)絡(luò)電話某些網(wǎng)絡(luò)應(yīng)用要求100%可靠的數(shù)據(jù)傳輸:文件傳輸,telnet時間(timing)/延遲(delay)有些應(yīng)用只有在延遲足夠低時才“有效”網(wǎng)絡(luò)電話/網(wǎng)絡(luò)游戲帶寬(bandwidth)某些應(yīng)用只有在帶寬達到最低要求時才“有效”:網(wǎng)絡(luò)視頻某些應(yīng)用能夠適應(yīng)任何帶寬——彈性應(yīng)用:email16第二節(jié)

網(wǎng)絡(luò)應(yīng)用通信原理Internet提供的傳輸服務(wù)TCP服務(wù)面向連接:客戶機/服務(wù)器進程間需要建立連接可靠的傳輸流量控制:發(fā)送方不會發(fā)送速度過快,超過接收方的處理能力擁塞控制:當網(wǎng)絡(luò)負載過重時能夠限制發(fā)送方的發(fā)送速度不提供時間/延遲保障不提供最小帶寬保障UDP服務(wù)無連接不可靠的數(shù)據(jù)傳輸不提供:可靠性保障流量控制擁塞控制延遲保障帶寬保障17第二節(jié)

網(wǎng)絡(luò)應(yīng)用通信原理李全龍第三節(jié)

域名解析系統(tǒng)DNS18DNS:DomainNameSystem19第三節(jié)

域名解析系統(tǒng)DNSDNS:DomainNameSystemInternet上主機/路由器的標識/尋址問題IP地址域名:Q:域名和IP地址之間如何映射?A:域名系統(tǒng)-DNS多層命名服務(wù)器構(gòu)成的分布式數(shù)據(jù)庫應(yīng)用層協(xié)議:完成名字的解析Internet核心功能應(yīng)用層協(xié)議實現(xiàn)20第三節(jié)

域名解析系統(tǒng)DNSDNSDNS服務(wù)域名向IP地址的翻譯主機別名郵件服務(wù)器別名負載均衡:Web服務(wù)器

問題:為什么不使用集中式的DNS?單點失敗問題流量問題距離問題維護性問題21網(wǎng)絡(luò)規(guī)模適應(yīng)性差第三節(jié)

域名解析系統(tǒng)DNSDNS—域名層次結(jié)構(gòu)22www第三節(jié)

域名解析系統(tǒng)DNS分布式層次式數(shù)據(jù)庫客戶端想要查詢的IP客戶端查詢根服務(wù)器,找到com域名解析服務(wù)器客戶端查詢com域名解析服務(wù)器,找到域名解析服務(wù)器客戶端查詢域名解析服務(wù)器,獲得的IP地址RootDNSServerscomDNSserversorgDNSserverseduDNSserversDNSserversDNSserversDNSserversDNSserversDNSservers23第三節(jié)

域名解析系統(tǒng)DNS本地域名解析服務(wù)器

不嚴格屬于層級體系每個ISP至少有一個本地域名服務(wù)器默認域名解析服務(wù)器當主機進行DNS查詢時,查詢首先被發(fā)送到本地域名服務(wù)器作為代理(proxy),將查詢轉(zhuǎn)發(fā)給(層級式)域名服務(wù)器系統(tǒng)24第三節(jié)

域名解析系統(tǒng)DNSDNS根域名服務(wù)器本地域名服務(wù)器無法解析域名時,查詢根域名服務(wù)器根域名服務(wù)器如果不知道映射,則查詢頂級域名服務(wù)器,……,查詢權(quán)威域名服務(wù)器獲得映射向本地域名服務(wù)器返回映射25全球有13個根域名服務(wù)器bUSC-ISIMarinadelRey,CAlICANNLosAngeles,CAeNASAMtView,CAfInternetSoftwareC.PaloAlto,CA(and17otherlocations)iAutonomica,Stockholm(plus3otherlocations)kRIPELondon(alsoAmsterdam,Frankfurt)mWIDETokyoaVerisign,Dulles,VAcCogent,Herndon,VA

(alsoLosAngeles)dUMarylandCollegePark,MDgUSDoDVienna,VAhARLAberdeen,MDjVerisign,(11locations)第三節(jié)

域名解析系統(tǒng)DNSTLD和權(quán)威域名解析服務(wù)器頂級域名服務(wù)器(TLD,top-leveldomain):負責com,org,net,edu等頂級域名和國家頂級域名,例如cn,uk,fr等NetworkSolutions維護com頂級域名服務(wù)器Educause維護edu頂級域名服務(wù)器

權(quán)威(Authoritative)域名服務(wù)器:組織的域名服務(wù)器,提供組織內(nèi)部服務(wù)器的解析服務(wù)組織負責維護服務(wù)提供商負責維護26第三節(jié)

域名解析系統(tǒng)DNSDNS查詢過程27第三節(jié)

域名解析系統(tǒng)DNSDNS記錄緩存和更新只要域名服務(wù)器獲得域名—IP映射,即緩存這一映射一段時間過后,緩存條目失效(刪除)本地域名服務(wù)器一般會緩存頂級域名服務(wù)器的映射因此根域名服務(wù)器不經(jīng)常被訪問

記錄的更新/通知機制RFC2136DynamicUpdatesintheDomainNameSystem

(DNSUPDATE)28第三節(jié)

域名解析系統(tǒng)DNS例題【例1】如果本地域名服務(wù)器無緩存,當采用遞歸方法解析另一網(wǎng)絡(luò)某主機域名時,用戶主機、本地域名服務(wù)器發(fā)送的域名請求消息數(shù)分別為A.一條、一條B.一條、多條C.多條、一條D.多條、多條【解析】域名遞歸解析過程中,主機向本地域名服務(wù)器發(fā)送DNS查詢,被查詢的域名服務(wù)器代理后續(xù)的查詢,然后返回結(jié)果。所以,遞歸查詢時,如果本地域名服務(wù)器無緩存,則主機和本地域名服務(wù)器都僅需要發(fā)送一次查詢,故正確答案為A。29第三節(jié)

域名解析系統(tǒng)DNS李全龍第四節(jié)

萬維網(wǎng)應(yīng)用30Web與HTTPWorldWideWeb:TimBerners-Lee網(wǎng)頁網(wǎng)頁互相鏈接網(wǎng)頁(WebPage)包含多個對象(objects)對象:HTML文件、JPEG圖片、視頻文件、動態(tài)腳本等基本HTML文件:包含對其他對象引用的鏈接對象的尋址(addressing)URL(UniformResoureLocator):統(tǒng)一資源定位器(RFC1738)Scheme://host:port/path31/someDept/pic.gifhostnamepathname第四節(jié)萬維網(wǎng)應(yīng)用HTTP協(xié)議概述(1)萬維網(wǎng)應(yīng)用遵循什么協(xié)議?超文本傳輸協(xié)議HyperTextTransferProtocolC/S結(jié)構(gòu)客戶—Browser:請求、接收、展示W(wǎng)eb對象服務(wù)器—Web

Server:響應(yīng)客戶的請求,發(fā)送對象HTTP版本:1.0:RFC19451.1:RFC206832第四節(jié)萬維網(wǎng)應(yīng)用HTTP概述(2)使用TCP傳輸服務(wù)服務(wù)器在80端口等待客戶的請求瀏覽器發(fā)起到服務(wù)器的TCP連接(創(chuàng)建套接字Socket)服務(wù)器接受來自瀏覽器的TCP連接瀏覽器(HTTP客戶端)與Web服務(wù)器(HTTP服務(wù)器)交換HTTP消息關(guān)閉TCP連接無狀態(tài)(stateless)服務(wù)器不維護任何有關(guān)客戶端過去所發(fā)請求的信息33有狀態(tài)的協(xié)議更復(fù)雜:需維護狀態(tài)(歷史信息)如果客戶或服務(wù)器失效,會產(chǎn)生狀態(tài)的不一致,解決這種不一致代價高第四節(jié)萬維網(wǎng)應(yīng)用瀏覽器34主控制器HTML解釋器其他可選解釋器顯示器驅(qū)動HTTP客戶其他協(xié)議客戶網(wǎng)絡(luò)接口鼠標和鍵盤輸入輸出顯示與遠程Web服務(wù)器通信……第四節(jié)萬維網(wǎng)應(yīng)用HTTP請求消息HTTP協(xié)議有兩類消息請求消息(request)響應(yīng)消息(response)請求消息ASCII:人直接可讀35GET/somedir/page.htmlHTTP/1.1Host:User-agent:Mozilla/4.0Connection:closeAccept-language:fr(extracarriagereturn,linefeed)

requestline(GET,POST,HEADcommands)headerlinesCarriagereturn,linefeedindicatesendofmessage第四節(jié)萬維網(wǎng)應(yīng)用HTTP請求消息的通用格式36第四節(jié)萬維網(wǎng)應(yīng)用HTTP典型的請求方法GET方法請求讀取由URL所標識的信息,是最常見的方法。HEAD方法請求讀取由URL所標識的信息的首部,即無需在響應(yīng)報文中包含對象。

POST方法給服務(wù)器添加信息(例如,注釋)。OPTION方法請求一些選項的信息。PUT方法在指明的URL下存儲一個文檔。37第四節(jié)萬維網(wǎng)應(yīng)用方法的類型HTTP/1.0GETPOSTHEAD請Server不要將所請求的對象放入響應(yīng)消息中HTTP/1.1GET,POST,HEADPUT將消息體中的文件上傳到URL字段所指定的路徑DELETE刪除URL字段所指定的文件38第四節(jié)萬維網(wǎng)應(yīng)用HTTP響應(yīng)消息39HTTP/1.1200OKConnection:closeDate:Thu,06Aug199812:00:15GMTServer:Apache/1.3.0(Unix)Last-Modified:Mon,22Jun1998…...Content-Length:6821Content-Type:text/html

datadatadatadatadata...狀態(tài)行首部行空白行第四節(jié)萬維網(wǎng)應(yīng)用數(shù)據(jù)HTTP響應(yīng)消息40第四節(jié)萬維網(wǎng)應(yīng)用HTTP響應(yīng)狀態(tài)代碼41第四節(jié)萬維網(wǎng)應(yīng)用狀態(tài)碼類別取值范圍作用說明1xx100~199信息提示通告信息,可能還需要進一步交互2xx200~299成功成功完成客戶請求的操作,并進行響應(yīng)3xx300~399重定向表示資源已移走,需要向新URL發(fā)請求4xx400~499客戶端錯誤由于客戶端請求錯誤,無法成功響應(yīng)5xx500~599服務(wù)器端錯誤由于服務(wù)器端錯誤,無法成功響應(yīng)HTTP響應(yīng)狀態(tài)代碼42第四節(jié)萬維網(wǎng)應(yīng)用狀態(tài)碼短語含義100Continue表示已成功收到了請求的初始部分,請客戶端繼續(xù)200OK成功,所請求信息在響應(yīng)報文中301MovedPermanently重定向,所請求對象被永久移走,在響應(yīng)報文的首部行Location:中會給出新的URL,通常瀏覽器會自動再向新URL發(fā)送請求400BadRequest客戶端請求錯誤,即服務(wù)器不能正確理解客戶請求401Unauthorized未授權(quán),需要輸入用戶名和密碼404NotFound客戶端請求的對象,在服務(wù)器上不存在451Unsupportedmediatype不支持的媒體類型,可能被服務(wù)器拒絕請求,或者是請求方法或參數(shù)與服務(wù)器要求不匹配505HTTPVersionNotSupported請求使用的HTTP版本,服務(wù)器不支持HTTP/1.0請求-響應(yīng)過程HTTP/1.0每個TCP連接傳輸一個對象非持久性連接(NonpersistentHTTP)版本使用非持久性連接43第四節(jié)萬維網(wǎng)應(yīng)用HTTP/1.0請求-響應(yīng)過程(1)44假定用戶在瀏覽器中輸入URL:www.someS/someDepartment/home.indexhome.index包含文本和指向10個jpeg圖片的鏈接1a.

HTTP客戶端向地址為www.someS的服務(wù)器上的HTTP服務(wù)器進程(端口80)發(fā)起TCP連接請求。2.

HTTP客戶端將HTTP請求消息(包含URL地址)通過TCP連接的套接字發(fā)出,消息中所含的URL表明客戶端需要對象

someDepartment/home.index1b.

HTTP服務(wù)器在端口80等待TCP連接請求,接受連接并通知客戶端。3.HTTP服務(wù)器收到請求消息,解析,產(chǎn)生包含所需要對象的響應(yīng)消息,并通過套接字發(fā)給客戶端。時間第四節(jié)萬維網(wǎng)應(yīng)用HTTP/1.0請求-響應(yīng)過程(2)455.HTTP客戶端收到響應(yīng)消息,解析html文件,顯示html文件,發(fā)現(xiàn)有10個指向jpeg對象的超連接。2.

為每個jpeg對象重復(fù)步驟1-5。4.HTTP服務(wù)器關(guān)閉TCP連接。

時間HTTP/1.0每個TCP連接傳輸1個對象非持久性連接(NonpersistentHTTP)第四節(jié)萬維網(wǎng)應(yīng)用HTTP/1.0響應(yīng)時間分析RTT(RoundTripTime)從客戶端發(fā)送一個很小的數(shù)據(jù)包到服務(wù)器并返回所經(jīng)歷的時間響應(yīng)時間(Responsetime)發(fā)起、建立TCP連接:1個RTT發(fā)送HTTP請求消息到HTTP響應(yīng)消息的前幾個字節(jié)到達:1個RTT響應(yīng)消息傳輸時間響應(yīng)時間:

=2RTT+響應(yīng)消息發(fā)送時間46發(fā)送文件所需時間發(fā)起TCP連接請求文件RTTRTT收到文件timetime瀏覽器Web服務(wù)器第四節(jié)萬維網(wǎng)應(yīng)用HTTP響應(yīng)時間優(yōu)化-并行連接非持久性連接的問題每個對象需要2個RTT操作系統(tǒng)需要為每個TCP連接開銷資源(overhead)瀏覽器可以怎么做?打開多個并行TCP連接以獲取網(wǎng)頁所需對象給服務(wù)器端造成什么影響?例如:請求瀏覽一個引用3個JPEG小圖像的Web頁47第四節(jié)萬維網(wǎng)應(yīng)用HTTP響應(yīng)時間優(yōu)化-并行連接48非持久連接(默認)的HTTP/1.0使用并行連接的HTTP/1.0第四節(jié)萬維網(wǎng)應(yīng)用HTTP響應(yīng)時間優(yōu)化-持久連接持久連接(PersistentHTTP)發(fā)送響應(yīng)后,服務(wù)器保持TCP連接打開后續(xù)HTTP消息可以通過這個連接發(fā)送每個TCP連接允許傳輸多個對象非流水(pipelining)持久連接客戶端只有收到前一個響應(yīng)后才發(fā)送新的請求每個被引用的對象耗時1個RTT流水的持久連接客戶端只要遇到一個引用對象就盡快發(fā)出請求理想情況下,收到所有的引用對象只需耗時約1個RTTHTTP/1.1版本默認使用流水的持久連接例如:請求瀏覽一個引用3個JPEG小圖像的Web頁49第四節(jié)萬維網(wǎng)應(yīng)用HTTP響應(yīng)時間優(yōu)化-持久連接50流水持久連接的HTTP/1.1非流水持久連接的HTTP/1.1第四節(jié)萬維網(wǎng)應(yīng)用為什么需要Cookie?51討論:無狀態(tài)HTTP協(xié)議會帶來什么問題?很多應(yīng)用需要服務(wù)器掌握客戶端的狀態(tài),如網(wǎng)上購物,如何實現(xiàn)?第四節(jié)萬維網(wǎng)應(yīng)用Cookie技術(shù)Cookie技術(shù)某些網(wǎng)站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數(shù)據(jù)(通常經(jīng)過加密)。RFC6265Cookie的組件HTTP響應(yīng)消息的cookie頭部行HTTP請求消息的cookie頭部行保存在客戶端主機上的cookie文件,由瀏覽器管理Web服務(wù)器端的后臺數(shù)據(jù)庫52第四節(jié)萬維網(wǎng)應(yīng)用Cookie的原理53第四節(jié)萬維網(wǎng)應(yīng)用Cookie的作用Cookie能夠用于:身份認證購物車推薦Webe-mail…….隱私問題54第四節(jié)萬維網(wǎng)應(yīng)用李全龍第五節(jié)Internet電子郵件55Email應(yīng)用的構(gòu)成(1)Email應(yīng)用的構(gòu)成組件郵件客戶端(useragent)郵件服務(wù)器SMTP協(xié)議(SimpleMailTransferProtocol)用戶代理(郵件客戶端)讀、寫Email消息與服務(wù)器交互,收、發(fā)Email消息Outlook,Foxmail,ThunderbirdWeb客戶端56第五節(jié)Internet電子郵件Email應(yīng)用的構(gòu)成(2)郵件服務(wù)器(MailServer)郵箱:存儲發(fā)給該用戶的Email消息隊列(messagequeue):存儲等待發(fā)送的EmailSMTP協(xié)議郵件服務(wù)器之間傳遞消息所使用的協(xié)議客戶端:發(fā)送消息的服務(wù)器服務(wù)器:接收消息的服務(wù)器57第五節(jié)Internet電子郵件SMTP協(xié)議:RFC2821使用TCP進行email消息的可靠傳輸端口25傳輸過程的三個階段:握手消息的傳輸關(guān)閉命令/響應(yīng)交互模式命令(command):ASCII文本響應(yīng)(response):狀態(tài)代碼和語句Email消息只能包含7位ASCII碼58第五節(jié)Internet電子郵件SMTP交互示例59S:220C:HELOS:250Hello,pleasedtomeetyouC:MAILFROM:<user_a@>S:250user_a@…SenderokC:RCPTTO:<user_b@>S:250user_b@…RecipientokC:DATAS:354Entermail,endwith"."onalinebyitselfC:Areyouavailabletonight?C:Howaboutgoingtothecinematogether?C:.S:250MessageacceptedfordeliveryC:QUITS:221closingconnection第五節(jié)Internet電子郵件SMTPvsHTTPSMTP:推式(push)使用持久性連接要求消息必須由7位ASCII碼構(gòu)成利用CRLF.CRLF確定消息的結(jié)束多個對象在由多個部分構(gòu)成的消息中發(fā)送HTTP:拉式(pull)每個對象封裝在獨立的響應(yīng)消息中共同點:都使用命令/響應(yīng)交互模式命令和狀態(tài)代碼都是ASCII碼60第五節(jié)Internet電子郵件Email消息格式SMTP:email消息的傳輸/交換協(xié)議RFC822:文本消息格式標準頭部行(header)ToFromSubject消息體(body)消息本身只能是ASCII字符61headerbody空白行第五節(jié)Internet電子郵件Email消息格式:多媒體擴展MIME:多媒體郵件擴展RFC2045,2056通過在郵件頭部增加額外的行以聲明MIME的內(nèi)容類型62From:user_a@To:user_b@Subject:Landscape.MIME-Version:1.0Content-Transfer-Encoding:base64Content-Type:image/jpegbase64encodeddatabase64encodeddata

MIME版本數(shù)據(jù)編碼方法多媒體數(shù)據(jù)的類型,子類型以及參數(shù)聲明編碼后的數(shù)據(jù)第五節(jié)Internet電子郵件郵件讀取協(xié)議郵件訪問協(xié)議:從服務(wù)器獲取郵件POP:PostOfficeProtocol認證/授權(quán)(客戶端

服務(wù)器)和下載IMAP:InternetMailAccessProtocol更多功能更加復(fù)雜能夠操縱服務(wù)器上存儲的消息HTTP:WebMail63用戶代理發(fā)送者郵件服務(wù)器用戶代理SMTPSMTP郵件讀取協(xié)議接收者郵件服務(wù)器第五節(jié)Internet電子郵件POP協(xié)議認證過程客戶端命令User:聲明用戶名Pass:聲明密碼服務(wù)器響應(yīng)+OK-ERR事務(wù)階段List:列出消息數(shù)量Retr:用編號獲取消息Dele:刪除消息Quit64S:+OKPOP3serverreadyC:userliquanlongS:+OKC:passniceguyS:+OKusersuccessfullyloggedonC:listS:1578S:21267S:.C:retr1S:<message1contents>S:.C:dele1C:retr2S:<message1contents>S:.C:dele2C:quitS:+OKPOP3serversigningoff第五節(jié)Internet電子郵件POP協(xié)議“下載并刪除”模式用戶如果換了客戶端軟件,無法重讀該郵件“下載并保持”模式不同客戶端都可以保留消息的拷貝POP3是無狀態(tài)的65第五節(jié)Internet電子郵件IMAP協(xié)議所有消息統(tǒng)一保存在一個地方:服務(wù)器允許用戶利用文件夾組織消息IMAP支持跨會話(Session)的用戶狀態(tài):文件夾的名字文件夾與消息ID之間的映射等66第五節(jié)Internet電子郵件李全龍第六節(jié)

文件傳輸67文件傳輸文件傳輸應(yīng)用FTP(FileTransferProtocol)是在互聯(lián)網(wǎng)的兩個主機間實現(xiàn)文件互傳的網(wǎng)絡(luò)應(yīng)用,其應(yīng)用層協(xié)議也稱為FTP。FTP是典型客戶/服務(wù)器網(wǎng)絡(luò)應(yīng)用,采用C/S方式實現(xiàn)客戶與服務(wù)器之間的雙向文件傳輸。FTP的客戶與服務(wù)器之間的交互以及文件傳輸過程均使用TCP協(xié)議的可靠傳輸服務(wù)。68第六節(jié)

文件傳輸FTP:分離控制連接與數(shù)據(jù)連接FTP客戶與服務(wù)器21號端口建立TCP連接,即控制連接客戶通過控制連接進行身份認證客戶通過控制連接瀏覽服務(wù)器文件目錄、發(fā)送命令當服務(wù)器接收到文件傳輸命令時,服務(wù)器打開第二條TCP連接,即數(shù)據(jù)連接,用于文件傳輸一個文件傳輸結(jié)束,服務(wù)器關(guān)閉數(shù)據(jù)連接傳輸其他文件時,服務(wù)器再打開另一條數(shù)據(jù)連接控制連接:“帶外控制”(outofbandcontrol)FTP服務(wù)器維護“狀態(tài)”信息:當前目錄、早期認證等69第六節(jié)

文件傳輸FTP命令與響應(yīng)samplecommands:sentasASCIItextovercontrolchannelUSERusernamePASSpasswordLIST

returnlistoffileincurrentdirectoryRETRfilename

retrieves(gets)fileSTORfilename

stores(puts)fileontoremotehostsamplereturncodesstatuscodeandphrase(asinHTTP)331UsernameOK,passwordrequired125dataconnectionalreadyopen;transferstarting425Can’topendataconnection452Errorwritingfile70第六節(jié)

文件傳輸李全龍第七節(jié)P2P應(yīng)用71純P2P架構(gòu)Peer-to-Peer沒有服務(wù)器任意端系統(tǒng)之間直接通信節(jié)點階段性接入Internet節(jié)點可能更換IP地址以具體應(yīng)用為例講解72第七節(jié)P2P應(yīng)用文件分發(fā):客戶機/服務(wù)器vs.P2P73問題:從一個服務(wù)器向N個節(jié)點分發(fā)一個文件需要多長時間?usuNdNservernetwork(withabundantbandwidth)file,sizeFus:serveruploadcapacityui:peeriuploadcapacitydi:peeridownloadcapacityu2d2u1d1diui第七節(jié)P2P應(yīng)用文件分發(fā):客戶機/服務(wù)器服務(wù)器串行地發(fā)送N個副本時間:NF/us

每個客戶機必須下載1個文件副本客戶i下載1個副本時間:F/di下行帶寬最小的客戶下載1個副本時間:F/dmin74usnetworkdiuiFincreaseslinearlyinNtimetodistributeFtoNclientsusingclient-serverapproach

Dc-s>max{NF/us,F/dmin}

第七節(jié)P2P應(yīng)用文件分發(fā):P2P服務(wù)器必須至少上傳1個副本時間:F/us

每個客戶機必須下載1個文件副本客戶i下載1個副本時間:F/di下行帶寬最小的客戶下載1個副本時間:F/dmin服務(wù)器與客戶共同上傳NF比特數(shù)據(jù)時間:NF/(us+Sui)75usnetworkdiuiFtimetodistributeFtoNclientsusingP2Papproach

DP2P>max{F/us,F/dmin,NF/(us+Sui)}

…butsodoesthis,aseachpeerbringsservicecapacityincreaseslinearlyinN…第七節(jié)P2P應(yīng)用客戶機/服務(wù)器vs.P2P:例子76客戶端上傳速率=u,F/u=1小時,us=10u,dmin≥us第七節(jié)P2P應(yīng)用李全龍第八節(jié)Socket編程77應(yīng)用編程接口APIInternet操作系統(tǒng)控制應(yīng)用層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層傳輸層應(yīng)用進程應(yīng)用層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層傳輸層應(yīng)用進程操作系統(tǒng)控制應(yīng)用進程控制應(yīng)用進程控制應(yīng)用層協(xié)議API應(yīng)用編程接口API

(ApplicationProgrammingInterface)

應(yīng)用編程接口API:就是應(yīng)用進程的控制權(quán)和操作系統(tǒng)的控制權(quán)進行轉(zhuǎn)換的一個系統(tǒng)調(diào)用接口.第八節(jié)Socket編程幾種典型的應(yīng)用編程接口BerkeleyUNIX操作系統(tǒng)定義了一種API,稱為套接字接口(socketinterface),簡稱套接字(socket)。微軟公司在其操作系統(tǒng)中采用了套接字接口API,形成了一個稍有不同的API,并稱之為WindowsSocketInterface,WINSOCK。AT&T為其UNIX系統(tǒng)V定義了一種API,簡寫為TLI(TransportLayerInterface)。79第八節(jié)Socket編程面向TCP/IP協(xié)議棧的Socket接口模型80第八節(jié)Socket編程SocketAPI最初設(shè)計面向BSDUNIX-Berkley面向TCP/IP協(xié)議棧接口目前事實上的工業(yè)標準絕大多數(shù)操作系統(tǒng)都支持81Internet網(wǎng)絡(luò)應(yīng)用最典型的API接口通信模型客戶/服務(wù)器(C/S)應(yīng)用進程間通信的抽象機制應(yīng)用層客戶應(yīng)用進程應(yīng)用層服務(wù)器應(yīng)用進程第八節(jié)Socket編程SocketAPI標識通信端點(對外):IP地址+端口號操作系統(tǒng)/進程如何管理套接字(對內(nèi))?套接字描述符(socketdescriptor)小整數(shù)82應(yīng)用層客戶應(yīng)用進程應(yīng)用層

服務(wù)器應(yīng)用進程n傳輸層協(xié)議傳輸層協(xié)議服務(wù)器應(yīng)用進程1服務(wù)器主機IP地址客戶主機IP地址端口號(16位整數(shù))……?第八節(jié)Socket編程8383Socket抽象類似于文件的抽

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論