一、應(yīng)用層
-
應(yīng)用層
位于五層模型中的第一層
,應(yīng)用層的作用就是遵守各種應(yīng)用層協(xié)議,從而產(chǎn)生數(shù)據(jù),然后向下發(fā)送給傳輸層
,例如:訪問http://www.baidu.com
,就是遵守HTTP協(xié)議
構(gòu)造了一個應(yīng)用層的請求的數(shù)據(jù),然后向下傳遞給了傳輸層
,最終傳遞給了百度的服務(wù)器
image.png
-
-
2.應(yīng)用層常見的協(xié)議如下所示:
? 超文本傳輸:
HTTP、HTTPS
? 文件傳輸:
FTP
? 電子郵件:
SMTP、POP3、IMAP
? 動態(tài)主機(jī)配置:
DHCP
? 域名系統(tǒng):
DNS
二、應(yīng)用層協(xié)議之DNS協(xié)議
1.DNS的全稱是:
Domain Name System
,譯為:域名系統(tǒng), 利用DNS協(xié)議,可以將域名(比如baidu.com)解析成對應(yīng)的IP地址(比如220.181.38.148) ,DNS可以基于UDP協(xié)議,也可以基于TCP協(xié)議,服務(wù)器占用53端口-
2.DNS的解析IP的流程如下圖所示:
? (1). 客戶端首先會訪問最近的一臺
DNS服務(wù)器
(也就是客戶端自己配置的DNS服務(wù)器) ,去請求某個域名的IP地址? (2). 如果最近的DNS服務(wù)器沒有此域名的IP,那么就會返回根名稱服務(wù)器的IP地址,讓本地服務(wù)器去詢問根服務(wù)器(上級DNS服務(wù)器記錄了下一級DNS服務(wù)器的IP地址)
? (3). 如果根服務(wù)器仍然沒有,就會返回頂級服務(wù)器的地址,讓本地服務(wù)器去詢問頂級服務(wù)器,就這么一級一級向下詢問,最終拿到此域名的IP地址,如果所有服務(wù)器都沒有就會報錯
? (4). 全球一共
13臺IPv4
的DNS根域名服務(wù)器、25臺IPv6
的DNS根域名服務(wù)器, 所有的DNS服務(wù)器都記錄了DNS根域名服務(wù)器
的IP地址
image.png -
3.DNS的常用命令
?ipconfig /displaydns
:查看DNS緩存記錄?
ipconfig /flushdns
:清空DNS緩存記錄?
ping
域名?
nslookup
域名
三、應(yīng)用層協(xié)議之DHCP協(xié)議
1.我們都知道網(wǎng)絡(luò)層傳輸?shù)臄?shù)據(jù)包需要
源IP地址
和目標(biāo)IP地址
,才能將數(shù)據(jù)傳送給對方,那么IP地址是怎么得到的呢,這就需要我們這里的DHCP協(xié)議
了-
2.其實IP地址是分為兩類:
靜態(tài)IP和動態(tài)IP
?靜態(tài)IP地址是
手動設(shè)置
的,適用于不怎么挪動的臺式機(jī)(比如學(xué)校機(jī)房中的臺式機(jī))、服務(wù)器等?動態(tài)IP地址是
從DHCP服務(wù)器自動獲取的IP地址
,適用于移動設(shè)備、無線設(shè)備等 3.
DHCP
(Dynamic Host Configuration Protocol),譯為:動態(tài)主機(jī)配置協(xié)議
,DHCP協(xié)議
基于UDP
協(xié)議,客戶端是68端口
,服務(wù)器是67端口
- DHCP服務(wù)器會從IP地址池中,挑選一個IP地址“出租“給客戶端一段時間,時間到期就回收它們,平時家里上網(wǎng)的路由器就可以充當(dāng)DHCP服務(wù)器
-
- DHCP協(xié)議分配IP地址的四個階段,如下圖所示:
? (1).
DISCOVER:發(fā)現(xiàn)服務(wù)器
,通過發(fā)送廣播包
來發(fā)現(xiàn)服務(wù)器,廣播包的格式是:源IP是0.0.0.0,目標(biāo)IP是255.255.255.255,目標(biāo)MAC是FF:FF:FF:FF:FF:FF? (2).
OFFER:提供租約
, 服務(wù)器返回可以租用的IP地址,以及租用期限、子網(wǎng)掩碼、網(wǎng)關(guān)、DNS等信息,注意:這里可能會有多個服務(wù)器提供租約? (3).
REQUEST:選擇IP地址
,客戶端選擇一個OFFER,發(fā)送廣播包進(jìn)行回應(yīng)? (4).
ACKNOWLEDGE:確認(rèn)
,被選中的服務(wù)器發(fā)送ACK數(shù)據(jù)包給客戶端,至此,IP地址分配完畢
-
- DHCP的常用命令
?
ipconfig /all
:可以看到DHCP相關(guān)的詳細(xì)信息,比如租約過期時間、DHCP服務(wù)器地址等?
ipconfig /release
:釋放租約?
ipconfig /renew
:重新申請IP地址、申請續(xù)約(延長租期) -
- DHCP的一些細(xì)節(jié)
?(1).
DHCP服務(wù)器
可以跨網(wǎng)段分配IP地址
么? (DHCP服務(wù)器、客戶端不在同一個網(wǎng)段)
? 答:可以借助DHCP中繼代理(DHCP Relay Agent)實現(xiàn)跨網(wǎng)段分配IP地址?(2).租期不足怎么辦?
? 答:客戶端會在租期不足的時候,自動向DHCP服務(wù)器
發(fā)送REQUEST信息
申請續(xù)約
四、應(yīng)用層協(xié)議之FTP協(xié)議
-
FTP(File Transport Protocol)
,譯為:文件傳輸協(xié)議,RFC 959定義了此規(guī)范,是基于TCP
的應(yīng)用層協(xié)議,FTP
的URL
格式為:ftp://[user[:password]@]host[:port]/url-path
image.png
-
-
FTP有兩種工作模式:
?
主動模式(PORT)
:服務(wù)器主動向客戶端發(fā)起連接請求?
被動模式(PAVS)
:FTP
服務(wù)器等待客戶端發(fā)起連接請求(FTP的默認(rèn)工作模式)
-
-
FTP協(xié)議
需要用到兩個TCP
連接,如下所示,無論是主動模式還是被動模式,想要進(jìn)行文件傳輸都必須依次建立這兩個連接?
命令連接
:用來在FTP
客戶端與服務(wù)器之間傳遞命令?
數(shù)據(jù)連接
:用來在服務(wù)器和客戶端進(jìn)行文件傳輸
-
- 4.我們知道
FTP
是專門的下載協(xié)議,但是為什么現(xiàn)在下載用FTP
比較少,而HTTP
的下載卻很多呢?
因為FTP存在很多缺點,如下所示:
?`缺乏加密` - 原始形式的 FTP 不支持加密。 客戶端代理和 FTP 服務(wù)器之間的數(shù)據(jù)通信采用明文格式。
?`防火墻問題` - 現(xiàn)代企業(yè)防火墻默認(rèn)阻止非 HTTPS 流量。 到其他端口的流量需要添加到防火墻規(guī)則中。
?`字符編碼` - FTP 客戶端和 FTP 服務(wù)器不協(xié)商字符編碼。 客戶端和服務(wù)器都使用英語作為語言環(huán)境是可以的。 但是,對于具有國際業(yè)務(wù)關(guān)系的公司以及需要在國際業(yè)務(wù)合作伙伴之間進(jìn)行文件傳輸?shù)墓緛碚f,字符編碼成為 FTP 服務(wù)的一個問題。
?`傳輸模式` - FTP 協(xié)議定義了文件傳輸?shù)?ASCII 模式和二進(jìn)制模式。 該文件有可能在 Windows 系統(tǒng)和 UNIX/Linux 系統(tǒng)之間以 ASCII 模式重寫。
?`文件元數(shù)據(jù)` - FTP 協(xié)議忽略文件元數(shù)據(jù),例如文件創(chuàng)建日期、文件修改日期。 如果以 ASCII 模式傳輸文件,文件長度也可能不同。 依賴文件日期信息對文件進(jìn)行排序的遠(yuǎn)程工作人員遇到了問題。 元數(shù)據(jù)的變化也會給那些提供重復(fù)數(shù)據(jù)刪除功能的服務(wù)帶來麻煩。
而HTTP解決了這些問題,并且具備更強的擴(kuò)展性,HTTP的優(yōu)勢如下:
?安全性 - HTTPS 是建立在 SSL 協(xié)議之上的 HTTP 協(xié)議。 SSL 協(xié)議從 SSL 3.0 到 TLS 1.3 一直在不斷自我完善。 由于HTTPS用于保護(hù)網(wǎng)站,使用HTTPS協(xié)議傳輸文件更安全,因為它的安全性更順應(yīng)時代。
?靈活性和可擴(kuò)展性 - 默認(rèn)情況下,HTTPS 用于共享網(wǎng)頁和電子商務(wù)信息。 但是,協(xié)議本身包括上傳和下載功能。 對于專門從事文件傳輸?shù)墓?yīng)商來說,它是靈活和可擴(kuò)展的。 您可以看到許多添加到通過 HTTPS 協(xié)議傳輸文件的功能。
?可互操作 - 由于 HTTPS 是一種網(wǎng)絡(luò)協(xié)議,不限于文件傳輸,因此它可以與 SAML 等身份驗證協(xié)議進(jìn)行互操作。 因此,可以將文件傳輸與單點登錄服務(wù)集成在一起。 HTTPS 協(xié)議還提供來自客戶端代理(如 Web 瀏覽器之外的 iOS 和 Android 應(yīng)用程序)的連接