计算机网络总结:第二章 应用层
生活随笔
收集整理的這篇文章主要介紹了
计算机网络总结:第二章 应用层
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
第二章 應(yīng)用層
2.1 應(yīng)用層協(xié)議原理
2.1.1 網(wǎng)絡(luò)應(yīng)用程序體系結(jié)構(gòu)
- 主流體系結(jié)構(gòu):客戶-服務(wù)器體系結(jié)構(gòu),對等(P2P)體系結(jié)構(gòu)
–客戶-服務(wù)器體系結(jié)構(gòu):有一個總是打開的主機稱為服務(wù)器,它服務(wù)于來自許多 其他稱為客戶的主機的請求。客戶相互之間不直接通信
–對等(P2P)體系結(jié)構(gòu):應(yīng)用程序在間斷連接的主機之間使用直接通信,這些主 機對被稱為對等方。它有著自擴展性的特點
2.1.2 進程通信
- 客戶和服務(wù)器進程:網(wǎng)絡(luò)應(yīng)用程序由成對的進程組成,這些進程通過網(wǎng)絡(luò)互相發(fā)送報 文。通常把進程之一稱為客戶,另一個稱為服務(wù)器
- 進程與計算機網(wǎng)絡(luò)之間的接口:進程通過一個稱為套接字(socket)的軟件接口向網(wǎng) 絡(luò)發(fā)送報文和從網(wǎng)絡(luò)接收報文
- 進程尋址:為了標(biāo)識該接收進程,需要定義主機的地址(IP地址)和定義在目的主機 中的接收進程的標(biāo)識符(端口號)
2.1.3 可供應(yīng)用程序使用的運輸服務(wù)
- 可靠數(shù)據(jù)傳輸、吞吐量、定時、安全性
2.1.4 因特網(wǎng)提供的運輸服務(wù)
- TCP服務(wù)
–面向連接服務(wù):在握手階段后,一個TCP連接在兩個進程的套接字之間建立了。 當(dāng)應(yīng)用程序結(jié)束報文發(fā)送時,必須拆除該連接
–可靠數(shù)據(jù)傳輸服務(wù):無差錯、按適當(dāng)順序交付所有發(fā)送的數(shù)據(jù) - UDP服務(wù)
–不提供不必要服務(wù)的輕量級運輸協(xié)議
–無連接,無握手過程,提供不可靠數(shù)據(jù)傳送服務(wù)
2.1.5 應(yīng)用層協(xié)議
- 定義了運行在不同端操作系統(tǒng)上的應(yīng)用程序進程如何互相傳遞報文
2.2 Web和HTTP
2.2.1 HTTP概況
- Web的應(yīng)用層協(xié)議是超文本傳輸協(xié)議(HTTP)
- Web界面組成元素:對象(一個文件,可以是HTML、JPEG等),用URL尋址
- URL地址的組成:存放對象的服務(wù)器主機名+對象的路徑名
- HTTP使用TCP作為它的支撐運輸協(xié)議,因為HTTP服務(wù)器并不保存關(guān)于客戶的任何信息,即它是一個無狀態(tài)的協(xié)議
2.2.2 非持續(xù)連接和持續(xù)連接
- 采取非持續(xù)連接的HTTP:每個請求/響應(yīng)都是經(jīng)過一個單獨的TCP連接發(fā)送
–往返時間(Round-Trip Time,RTT):指一個短分組從客戶到服務(wù)器然后再返回客戶所花費的時間
–響應(yīng)時間:2個RTT+服務(wù)器傳輸HTML文件的時間
- 采取連續(xù)連接的HTTP:所有請求及其響應(yīng)經(jīng)相同的TCP連接發(fā)送
- HTTP的默認(rèn)模式是使用帶流水線的持續(xù)連接
2.2.3 報文格式
-
HTTP請求報文
-
實體主體(Entity body):使用GET方法時實體主體為空,使用POST方法時,實體主體包含用戶在表單中輸入的需要提交的內(nèi)容
-
方法類型
–HTTP/1.0:GET、POST、HEAD(類似于GET,但不返回請求對象)
–HTTP/1.1:GET, POST, HEAD、PUT(將實體主體中的文件上載到URL字段中指定的路徑)、DELETE(刪除URL字段中指定的文件) -
HTTP響應(yīng)報文
-
常見的狀態(tài)碼
–200 OK
–301 Moved Permanently
–400 Bad Request
–404 Not Found
–505 HTTP Version Not Supported
2.2.4 用戶與服務(wù)器的交互:cookie
- 四個組件
–HTTP響應(yīng)消息的cookie首部行
–HTTP請求消息的cookie首部行
–cookie文件保存在用戶的主機上,由用戶的瀏覽器管理
–網(wǎng)站的后端數(shù)據(jù)庫
2.2.5 Web緩存(別名代理服務(wù)器)
- 它有著自己的磁盤存儲空間,并在存儲空間中保存最近請求過的對象的副本
- 它既是服務(wù)器,又是客戶端
- 作用:
–大大減少對客戶請求的響應(yīng)時間
–大大減少一個機構(gòu)的接入鏈路到因特網(wǎng)的通信量
2.2.6 條件GET方法
- 作用:解決代理服務(wù)器內(nèi)容過舊的問題
- 例子
2.3 文件傳輸協(xié)議:FTP
- 與HTTP的區(qū)別
–HTTP協(xié)議在傳輸文件的同一個TCP連接中發(fā)送請求和響應(yīng)首部行,即帶內(nèi)(in-band)發(fā)送控制信息
–FTP使用了兩個并行的TCP連接來傳輸文件,一個用于控制連接(用于在兩主機之間傳輸控制信息),一個用于數(shù)據(jù)連接(實際發(fā)送文件),即帶外(out-of-band)傳輸控制信息
2.4 因特網(wǎng)的電子郵件
- 主要組成部分:用戶代理(user agent)、郵件服務(wù)器(mail server)、簡單郵件傳輸協(xié)議(Simple Mail Transfer Protocol,SMTP)
- 一些特性
–它不使用中間郵件服務(wù)器發(fā)送郵件,如果接受方服務(wù)器沒開機,待發(fā)送的報文會留在發(fā)送方服務(wù)器上,等待進行新的嘗試
–利用TCP將電子郵件從客戶端傳輸?shù)椒?wù)器,使用端口25、 - 郵件訪問協(xié)議
–POP3
–IMAP
2.5 DNS(域名系統(tǒng)):因特網(wǎng)的目錄服務(wù)
2.5.1 DNS提供的服務(wù)
- 主要任務(wù):進行主機名到IP地址轉(zhuǎn)換的目錄服務(wù)
- 定義:一個由分層的DNS服務(wù)器實現(xiàn)的分布式數(shù)據(jù)庫;一個使得主機能夠查詢分布式數(shù)據(jù)庫的應(yīng)用層協(xié)議
- 端口號:53
- 重要服務(wù)
–主機別名(host aliasing)
–郵件服務(wù)器別名(mail server aliasing)
–負(fù)載分配(load distribution)
2.5.2 DNS工作機理概述
- 集中式DNS的缺點
–單點故障
–通信容量
–遠(yuǎn)距離的集中式數(shù)據(jù)庫
–維護 - 分布式、層次數(shù)據(jù)庫
- DNS緩存
–在一個請求鏈中。當(dāng)某DNS服務(wù)器接收一個DNS回答時,它能將該回答中的信息緩存在本地存儲器中
2.5.3 DNS記錄和報文
–資源記錄(Resource Record,RR)
–DNS報文
–在DNS數(shù)據(jù)庫中插入數(shù)據(jù)
2.6 P2P應(yīng)用
- 對比:
A)客戶-服務(wù)器體系結(jié)構(gòu)
B)P2P
- 例子
A)BitTorrent
2.7 TCP套接字編程
- 套接字:應(yīng)用程序進程和端到端傳輸協(xié)議(UDP或TCP)之間的一扇門
- TCP服務(wù):從一個進程到另一個進程的可靠字節(jié)傳輸
2.7.1 TCP
- 客戶必須聯(lián)系服務(wù)器:
–服務(wù)器進程必須首先運行
–服務(wù)器必須創(chuàng)建歡迎客戶聯(lián)系的套接字(門) - 客戶聯(lián)系服務(wù)器:
–創(chuàng)建客戶端本地TCP套接字
–指定服務(wù)器進程的IP地址,端口號
–當(dāng)客戶端創(chuàng)建套接字時:客戶端TCP建立與服務(wù)器TCP的連接
–當(dāng)客戶端聯(lián)系時:服務(wù)器TCP為服務(wù)器進程創(chuàng)建新的套接字以與客戶端通信
A)允許服務(wù)器與多個客戶端通信
B)用于區(qū)分客戶端的源端口號
2.7.2 UDP
- UDP:客戶端和服務(wù)器之間沒有“連接”
–沒有握手
–sender明確地將IP地址和目標(biāo)端口附加到每個數(shù)據(jù)包
–服務(wù)器必須從收到的數(shù)據(jù)包中提取IP地址,發(fā)送端口 - UDP:發(fā)送的數(shù)據(jù)可能無序接收或丟失
總結(jié)
以上是生活随笔為你收集整理的计算机网络总结:第二章 应用层的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络总结:第一章 计算机网络和因特
- 下一篇: 计算机网络总结:第三章 运输层