




已閱讀5頁,還剩42頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第六章 應用層,劉 軼 北京航空航天大學 計算機學院,本章內容 6.1 套接字編程接口 6.2 域名系統 dns 6.3 文件傳送協議 6.4 萬維網www 6.5 電子郵件,應用層協議特點,應用層協議是為了解決某一類應用問題 由于網絡應用的多樣性,應用層的協議也種類繁多 應用層的許多協議都是基于客戶/服務器方式 客戶(client)和服務器(server)都是指通信中所涉及的兩個應用進程 客戶/服務器方式所描述的是進程之間服務和被服務的關系 客戶是服務請求方,服務器是服務提供方,6.1 套接字編程接口,6.1 套接字編程接口,網絡子系統作為操作系統的一部分,以應用編程接口(apiapplication programming interface)的形式向應用程序提供調用接口 套接字(socket)是最常用的應用層編程接口 名稱起源于berkeley unix操作系統 經典的socket編程接口采用同步調用方式(又稱阻塞式) 例:調用recv()時,調用進程將被阻塞,直到收到數據為止 windows這種基于事件驅動的系統中,程序的執行由事件驅動,需要異步事件驅動方式的套接字編程接口 microsoft推出winsock編程接口,在阻塞式調用基礎上,增加了異步調用方式 在阻塞式調用模式下,winsock與經典的socket兼容,6.1 套接字編程接口,應用進程通過套接字接入到網絡,應用進程,tcp udp,由應用程序 控制,因特網,由操作系統 控制,客戶,服務器,套接字,tcp udp,應用進程,套接字,6.1 套接字編程接口,調用socket()創建套接字,套接字描述符表 (每一個進程一個描述符),0: 1: 2: 3: 4:,操作系統,套接字的數據結構,協議族:pf_inet,服務:sock_stream,本地 ip 地址:,遠地 ip 地址:,本地端口:,遠地端口:,常用socket接口函數,6.1 套接字編程接口,基于udp的系統調用流程,服務器端,socket,bind,recvfrom,sendto,close,客戶端,socket,recvfrom,sendto,close,bind,socket socket( int af, int type, int protocol );,6.1 套接字編程接口,基于tcp的系統調用流程,服務器端,socket,bind,listen,accept,recv,send,close,客戶端,socket,recv,send,close,connect,連接建立請求,6.2 域名系統 dns,6.2 域名系統 dns,一、域名系統概述 域名系統dns(domain name system)是internet使用的命名系統 rfc 1034:domain names - concepts and facilities rfc 1035:domain names implementation and specification internet采用層次結構的命名樹作為主機的名字,并使用分布式的域名系統dns 多個域名服務器上運行專門的域名服務器程序,完成域名ip地址的解析(resolve) dns基于udp協議實現 應用進程需要進行域名解析時,就調用域名解析程序(resolver),它成為dns的一個客戶 向本地域名服務器發送域名解析請求(udp報文),其中包含待解析的域名 本地域名服務器在查找域名后,返回應答報文,其中包含對應的ip地址,6.2 域名系統 dns,二、internet的域名結構 internet采用層次樹狀結構的命名方法 . 三級域名 . 二級域名 . 頂級域名 頂級域名tld(top level domain) 國家頂級域名:如: .cn 表示中國,.us 表示美國,.uk 表示英國,等等 通用頂級域名:最早的頂級域名是:,6.2 域名系統 dns,新增的通用頂級域名,注意: 域名不區分大小寫 域名長度不超過255字符,6.2 域名系統 dns,根,internet的域名空間,6.2 域名系統 dns,三、域名服務器 域名服務器分為四類 根域名服務器 根域名服務器知道所有的頂級域名服務器的域名和ip地址 當本地域名服務器無法解析域名時,就求助于根域名服務器 頂級域名服務器 負責管理在該頂級域名服務器注冊的所有二級域名 權限域名服務器 負責一個區(zone)的域名服務器 本地域名服務器 有時也稱為默認域名服務器 域名服務器定期把數據復制到幾個域名服務器來保存,其中的一個是主域名服務器,其他的是輔助域名服務器,6.2 域名系統 dns,三、域名服務器 樹狀結構的 dns 域名服務器,根域名服務器,org 域名服務器,com 域名服務器,edu 域名服務器, 域名服務器,abc 公司有兩個 權限域名服務器,權限域名服務器,根域名服務器,頂級域名服務器, 域名服務器,6.2 域名系統 dns,三、域名服務器 主機向本地域名服務器的查詢一般采用遞歸查詢 如果本地域名服務器不知道被查詢域名的ip地址,那么它就以dns客戶的身份,向根域名服務器繼續發出查詢請求報文 本地域名服務器向根域名服務器的查詢通常是采用迭代查詢 當根域名服務器收到本地域名服務器的迭代查詢請求報文時 要么給出所要查詢的 ip 地址 要么告訴本地域名服務器下一步應向哪一個域名服務器查詢 本地域名服務器進行后續的查詢,6.2 域名系統 dns,本地域名服務器采用迭代查詢,頂級域名服務器 ,權限域名服務,本地域名服務器 ,根域名服務器,迭代查詢,遞歸 查詢,需要查找 的 ip 地址,域名服務端口號:53 為提高域名查詢效率,域名服務器上通常設置高速緩存,6.2 域名系統 dns,本地域名服務器采用遞歸查詢(較少采用),頂級域名服務器 ,權限域名服務,本地域名服務器 ,根域名服務器,遞歸查詢,遞歸 查詢,需要查找 的 ip 地址,6.3 文件傳送協議,6.3 文件傳送協議,rfc 959:file transfer protocol (ftp) ftp使用客戶/服務器方式 一個ftp服務器進程可同時為多個客戶進程提供服務 ftp的服務器進程由兩大部分組成 一個主進程,負責接受新的請求 若干個從屬進程,負責處理單個請求 主進程的工作步驟 打開熟知端口(端口號為21),使客戶進程能夠連接上 等待客戶進程發出連接請求 啟動從屬進程處理客戶進程發來的請求 從屬進程對客戶進程的請求處理完畢后即終止 從屬進程在運行期間根據需要還可能創建其他一些子進程 回到等待狀態,繼續接受其他客戶進程發來的請求 主進程與從屬進程的處理是并發地進行,ftp使用2個tcp連接:控制連接和數據連接 控制連接 在整個會話期間一直保持打開 ftp客戶發出的傳送請求通過控制連接發送給服務器端的控制進程,但控制連接不用來傳送文件 數據連接 收到ftp客戶發送來的文件傳輸請求后,服務器端的控制進程創建“數據傳送進程”和“數據連接” 數據傳送進程實際完成文件的傳送,傳送完畢后關閉“數據傳送連接”并結束運行,6.4 萬維網www,6.4 萬維網www,一、萬維網概述 www-world wide web 1989年,歐洲核子研究中心提出www 1993年,第一個瀏覽器mosaic 1995年,netscape navagitor上市 萬維網是分布式超媒體(hypermedia)系統,它是超文本(hypertext)系統的擴充 要解決的幾個問題 怎樣標識分布在整個因特網上的萬維網文檔? -url 用什么協議實現萬維網上各種超鏈的鏈接?-http 如何存儲和表示萬維網文檔?-html,6.4 萬維網www,一、萬維網概述,萬維網 站點 a,萬維網 站點 c,萬維網站點 e,萬維網站點 d,萬維網站點 b,搜索引擎即根據網頁中的鏈接在網絡中獲取信息,6.4 萬維網www,二、統一資源定位符url(uniform resource locator) url是對internet上資源位置和訪問方法的一種簡潔表示 url的一般形式:,:/:/,為存放資源的主機在internet中的域名 和有時可省略。使用http協議時,如省略,則使用熟知端口號80;如省略,則指主頁(home page) url不區分大小寫,6.4 萬維網www,三、超文本傳送協議http http-hypertext transfer protocol 基于tcp協議,是萬維網上可靠地交換文件的重要基礎 http是面向事務的客戶/服務器協議 http是無狀態的(stateless) 服務器不記錄客戶端的訪問狀態 基本工作原理 web服務的熟知端口號是80,服務器通常在該端口上監聽 客戶端需要請求某個頁面時,與服務器建立tcp鏈接,之后請求傳送文件,并進行文件的傳送,傳送完畢后釋放tcp連接,萬維網的工作過程,internet,服務器 ,客戶,清華大學 院系設置,6.4 萬維網www,鼠標點擊超鏈接后發生的事件 (1) 瀏覽器分析超鏈指向頁面的 url (2) 瀏覽器向dns請求解析 的 ip 地址 (3) 域名系統dns解析出清華大學web服務器的ip地址 (4) 瀏覽器與服務器建立tcp連接 (5) 瀏覽器發出取文件命令: get /chn/yxsz/index.htm (6) 服務器給出響應,把文件index.htm發給瀏覽器 (7) tcp 連接釋放 (8) 瀏覽器顯示“清華大學院系設置”文件index.htm中的所有文本,請求一個萬維網文檔所需的時間,萬維網服務器,萬維網客戶,http請求報文,時間,時間,首先建立tcp連接,需3次握手 在2次握手后, 第3次握手報文的數據部分可傳送http請求報文 請求文檔所需時間 文檔傳輸時間 + 2倍rtt時間 http/1.0的主要缺點 每請求一個文檔都需要建立一次tcp連接 一個web頁面常常包含數量眾多的文件,6.4 萬維網www,三、超文本傳送協議http http/1.1協議使用持續連接(persistent connection) 服務器發送響應后,在一段時間內保持連接,使客戶與服務器可以繼續傳送后續的http請求報文和響應報文 這并不局限于傳送同一個頁面上鏈接的文檔,而是只要這些文檔都在同一個服務器上就行 目前主流的瀏覽器都默認支持http/1.1 http的報文類型:兩類報文 請求報文從客戶向服務器發送請求報文 響應報文從服務器到客戶的回答 http是面向正文的(text-oriented),報文中的字段都是 ascii 碼串,因而每個字段的長度都是不確定的,6.4 萬維網www,報文由三個部分組成,即開始行、首部行和實體主體 在請求報文中,開始行就是請求行,方法 是面向對象技術中使用的專門名詞 方法實際上就是一些命令 url:所請求的資源的url 版本:http的版本,6.4 萬維網www,http 請求報文的一些方法,6.4 萬維網www,http應答報文的開始行是狀態行 狀態行包括三項內容:http的版本、狀態碼、解釋狀態碼的簡單短語,狀態碼都是三位數字 1xx:表示通知信息的,如請求收到了或正在進行處理 2xx:表示成功,如接受或知道了 3xx:表示重定向,表示要完成請求還必須采取進一步的行動 4xx:表示客戶的差錯,如請求中有錯誤的語法或不能完成 5xx:表示服務器的差錯,如服務器失效無法完成請求,6.4 萬維網www,四、萬維網的文檔 html-hypertext markup language rfc 1866:hypertext markup language - 2.0 html定義了許多用于排版的命令,即標簽(tag) 如:表示后面開始用斜體排版,表示斜體結束 html把各種標簽嵌入到萬維網的頁面中,構成html文檔 html文檔為文本格式 瀏覽器從服務器讀取 html文檔后,按照其中嵌入的各種標簽,根據顯示器尺寸和分辨率顯示頁面 僅當 html 文檔是以.html 或 .htm 為后綴時,瀏覽器才對此文檔的各種標簽進行解釋, 一個 html 的例子 html 很容易掌握 這是第一個段落。雖然很 短,但它仍是一個段落。 這是第二個段落。 ,html文檔中標簽的用法, 一個 html 的例子 html 很容易掌握 這是第一個段落。雖然很 短,但它仍是一個段落。 這是第二個段落。 ,html文檔中標簽的用法,6.5 電子郵件,6.5 電子郵件,一、概述 發送郵件的協議:smtp rfc 2821(rfc 821):simple mail transfer protocol rfc 2822(rfc 822):internet message format 早期郵件只支持7bit ascii編碼,1993年提出了mime標準 rfc 2045 - 2049 在郵件首部中說明了數據類型(如文本、聲音、圖像、視像等),可在郵件中多種類型的數據 讀取郵件的協議:pop3和imap pop3-post office protocol imap-internet message access protocol,電子郵件的最主要的組成構件,6.5 電子郵件,電子郵件系統的兩種實體 用戶代理ua(user agent) 是用戶與電子郵件系統的接口,即電子郵件客戶端軟件 用戶代理的功能:撰寫、顯示、處理和通信 郵件服務器 用于發送和接收郵件,并向發信人報告傳送結果(已交付、被拒絕、丟失等) 郵件服務器按照客戶/服務器方式工作 使用發送和讀取兩個不同的協議,即發送郵件的smtp協議和客戶端讀取郵件的pop3協議 一個郵件服務器既可以作為客戶,也可以作為服務器,6.5 電子郵件,發送電子郵件的主要步驟: 發件人運行自己主機中的用戶代理,撰寫和編輯郵件 發件人使用用戶代理把郵件用smtp協議發給發送方郵件服務器 郵件服務器把郵件臨時存放在郵件緩存隊列中,等待發送 發送方郵件服務器處理緩存隊列中的郵件,由smtp客戶與接收方郵件服務器的smtp服務器建立tcp連接,并將郵件發送出去 運行在接收方郵件服務器中的smtp服務器收到郵件后,把郵件放入收件人的用戶郵箱中,等待收件人讀取 收件人在收信時,運行自己主機中的用戶代理,使用pop3(或imap)協議讀取郵件,6.5 電子郵件,二、簡單郵件傳送協議 smtp 簡介 smtp規定了兩個相互通信的smtp進程之間應如何交換信息 smtp使用客戶/服務器方式 負責發送郵件的smtp進程就是smtp 客戶 負責接收郵件的smtp進程就是smtp服務器 smtp定義了14條命令和21種應答信息 每條命令用4個字母組成 每一種應答信息一般只有一行信息,由一個3位數字的代碼開始,后面附上(也可不附上)簡單的文字說明 sm
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 金融科技產品創新與推廣服務協議
- 酒店與健身房合作健身服務協議
- 網絡系統安全維護合同
- 電商平臺跨境進口業務合同
- 自考行政管理本科自我學習計劃試題及答案探討
- 領導者的決策能力與團隊績效關系試題及答案
- 行政管理心理學解決方案試題及答案
- 2025年自考行政管理案例研究與試題答案
- 行政管理的多層次治理研究試題及答案
- 2025機械設備采購合同模板示例
- 患者隱私保護培訓課件
- 中藥煎藥相關知識
- 品牌授權并委托加工產品協議書范本
- 水幕電影制作合同
- 湖北省武漢市華師一附中2025屆初中生物畢業考試模擬沖刺卷含解析
- 南京2025年江蘇南京師范大學招聘專職輔導員9人筆試歷年參考題庫附帶答案詳解
- 公司科學管理
- 學校社團的國際化交流與合作機會
- 2023年高考化學試卷(河北)(解析卷)
- 大學寫作知到智慧樹章節測試課后答案2024年秋麗水學院
- 食品安全操作流程
評論
0/150
提交評論