計算機網絡應用層不簡單

從計算機網絡應用的概述入手,介紹萬維網的組成和HTTP協議以及DNS域名和域名解析過程

前文推薦
學計算機網絡之前瞭解這些,學習效率不提升過來打我
計算機網絡物理層第一章物理層詳解
吐血碼萬字長文搞懂了數據鏈路層
計算機網絡的網絡層,真就一看就懂?
計算機網絡期末複習必看篇之傳輸層

應用層

應用層概述

應用層對應用程序的通信提供服務

應用層協議定義

  1. 應用進程交換的報文類型,請求還是響應?
  2. 各種報文類型的語法,如報文中的各個字段及其詳細描述
  3. 字段的語義,即包含在字段中的信息的含義
  4. 進程何時,如何發送報文,以及對報文進行響應的規則

應用層的功能:

  1. 文件的傳輸.訪問和管理
  2. 電子郵件
  3. 虛擬終端(能夠使個人計算機使用他人的計算機和大型計算機進行通信)
  4. 查詢服務和遠程作業登錄

應用層的重要協議:

  1. FTP
  2. SMTP.POP3
  3. HTTP
  4. DNS

網絡應用模型

  1. 客戶/服務器模型(Client/Server)
  2. P2P模型(Peer-to-Peer)

客戶/服務器(C/S)模型

客戶/服務器(C/S)模型圖示
image-20200615105218883

服務器:提供計算服務的設備

  1. 永久提供服務
  2. 永久性訪問地址/域名

客戶機:請求計算服務的主機

  1. 與服務器通信,使用服務器提供的服務
  2. 間歇性接入網絡
  3. 可能使用動態IP地址
  4. 不與其他客戶機直接通信(需要通過服務器)

客戶/服務器模型的應用:

Web應用(網站),文件傳輸FTP,遠程登錄,電子郵件

P2P模型

P2P模型圖示
image-20200615105707258
  • 沒有服務器,數據都保存在自己的機器上,每臺主機的權利和義務對等
  • 每個主機既可以提供服務,又可以請求服務
  • 任意端系統/節點之間可以直接通訊
  • 節點間歇接入網絡
  • 節點可能改變IP地址
  • 可擴展性好(當有新的主機接入到網絡中,因爲每臺主機既要請求服務也要提供服務,因此資源不會枯竭,所以擴展性好,而C/S模型,中接入的主機只請求服務,由於服務器的帶寬受限,因此可能會在高併發時,服務器崩潰)
  • 網絡健壯性強(健壯性指的是整個網絡不容易癱瘓,假如一個主機退出了網絡,不會影響整個網絡的通信)

DNS系統

由於網絡的發展,我們的網站越來越多,要瀏覽的IP地址也就越來越多,但是每次都用IP地址來訪問網站很不方便,IP地址一般都很長.

因此誕生了域名

但是兩個節點之間要進行通信,那麼就一定要通過IP地址來確定對方的唯一位置(網絡中的),那麼我們通過域名進行訪問網站,我們沒有通過IP地址,那麼就是有處理域名轉換爲IP地址的系統,這個系統就是DNS系統

域名

域名系統
image-20200615140138737

域名服務器

本地域名服務器:

當一個主機發出DNS查詢請求時,這個查詢請求報文就發給本地域名服務器

根域名服務器:

只存儲了頂級域名服務器的IP地址,且這個IP地址是多態主機公用的IP地址

頂級域名服務器:

管理該頂級域名服務器註冊的所有二級域名服務器

權限域名服務器:

負責一個區的域名服務器

域名解析過程

  • 遞歸查詢(本地—根---由根去找頂級域名服務器—由頂級域名服務器去找權限域名服務器)靠別人(指的是本地域名服務器靠別人來查詢IP地址)
  • 迭代查詢(本地–根--由本地域名服務器去找頂級域名服務器(它之所以知道找那個頂級域名服務器時根告訴它的)----由本地去找權限域名服務器)靠自己(靠本地域名服務器自己去找IP地址)
遞歸查詢
image-20200615141651992
迭代查詢
image-20200615141716707

由於迭代和遞歸查詢來解析域名的IP地址是一個耗時的操作,爲了讓耗時減少,我們引入了高速緩存,把之前解析過的域名放入到高速緩存中,這樣在主機需要再次訪問網站時就可以在本地域名服務器中查詢到對應域名的IP地址.

使用高速緩存的作用:

  1. 減輕域名服務器的負荷
  2. 是的DNS請求和回答報文的數量大大減少
  3. 加快了DNS請求的速度

但是高速緩存中存儲的內容不是不變的,需要定期更新,那麼會爲每個在高速緩存中存儲的DNS域名解析IP地址都設置一個定時器,並處理超過合理時間的項.

文件傳輸協議FTP

  • 文件傳輸協議FTP(File Transfer Protocol)
    • 提供不同種類主機系統(硬件.軟件體系等都可以不同)之間的文件傳輸能力
  • 簡單文件傳送協議TFTP(Trivial File Transfer Protocol)
    • 簡單文件傳送協議是一個很小的,易於實現的文件傳輸協議代碼塊也很小
    • 適用於UTP,文件向多臺設備進行下載
FTP的功能
image-20200615143038292

FTP服務器和用戶端

FTP是基於客戶/服務器(C/S)的協議

用戶通過一個客戶機程序連接至遠程計算機上運行的服務器程序

依照FTP協議提供服務,進行文件傳送的計算機就是FTP服務器

連接FTP服務器,遵循FTP協議與服務器傳送文件的電腦就是FTP客戶端

FTP工作原理

瞭解FTP工作原理需要知道的概念
image-20200615143642004
FTP工作原理
image-20200615144024818

FTP傳輸模式:

文本模式:ASCLL模式,以文本序列傳輸數據

二進制模式Binarry模式,以二進制序列傳輸數據.

電子郵件

電子郵件
image-20200615144222638

電子郵件的信息格式

電子郵件的信息格式
image-20200615144353872

電子郵件系統的組成結構

電子郵件系統的組成結構
image-20200615145045136
形象化圖示
image-20200615145108308

簡單郵件傳送協議SMTP

SMTP規定了兩個相互通信的SMTP進程之間應如何交換信息.

負責發送郵件的SMTP進程就是SMTP客戶,負責接收郵件的進程就是SMTP服務器

SMTP規定了14條命令(幾個字母)和21種應答信息(三位數字代碼+簡單文字說明)

SMTP特點和流程
image-20200615145459101
SMTP協議通信過程
image-20200615145819760

SMTP的缺點:

  1. SMTP不能傳送可執行文件或者其他二進制對象
  2. SMTP僅限於傳送7位ASCLL碼,不能傳送其他非英語國家的文字
  3. SMTP服務器會拒絕超過一定長度的郵件

通用因特網郵件擴充MIME

通用因特網郵件擴充MIME
image-20200615150100951

郵局協議POP3

郵局協議POP3
image-20200615150401086

網際報文存取協議IMAP

IMAP協議比P0P協議複雜當用戶Pc上的IMCP客戶程序打開IMAP服務器的郵箱時,用戶可以看到郵箱的首部,若用戶需要打開某個郵件,該郵件才上傳到用戶的計算機上.

IMAP可以讓用戶在不同的地方使用不同的計算機隨時上網閱讀處理郵件,還允許只讀取郵件中某一個部分(先看正文,有WiFi的時候再下載附件)

網際報文存取協議IMAP
image-20200615150942338

基於萬維網的電子郵件

基於萬維網的電子郵件(網站的電子郵件)
image-20200615151320554
  • 注意使用的協議

萬維網和HTTP協議

萬維網概述

萬維網WWW(World Wide Web)是一個大規模的.聯機式的信息儲存所/資料空間,是無數個網絡站點和網頁的集合.

使用同一資源定位符URL----唯一標識—>資源(文字.視頻.音頻)

URL一般形式:

<協議>://<主機>:<端口>/<路徑>

http 域名

ftp IP地址

用戶通過點擊超鏈接獲取資源,這些資源通過超文本傳輸協議HTTP傳送個使用者

萬維網以客戶/服務器方式工作,用戶使用的瀏覽器就是萬維網客戶程序,萬維網文檔所駐留的主機運行服務器程序.

萬維網使用超文本標記語言HTML,使得萬維網頁面設計者可以很方便地從一個界面的鏈接轉到另一個界面,並能夠在自己的屏幕上展示出來.

超文本傳輸協議HTTP

HTTP協議定義了瀏覽器(萬維網客戶進程)怎樣想萬維網服務器請求資源,以及萬維網如何將資源傳送給瀏覽器

HTTP協議通信過程
image-20200615153516130

具體過程:

  1. 瀏覽器分析URL
  2. 瀏覽器向DNS請求解析IP地址
  3. DNS解析出IP地址
  4. 瀏覽器與服務器建立TCP連接
  5. 瀏覽器發出取文件命令(請求)
  6. 服務器響應(響應)
  7. 釋放TCP連接
  8. 瀏覽器顯示

HTTP協議的特點:

  1. HTTP協議是無狀態
    • 但是在實際工作中,一些萬維網站點常常希望能夠識別用戶,-------->Cookie
    • Cookie是存儲在用戶主機中的文本文件,記錄一段時間內某用戶(使用識別碼識別)的訪問記錄
  2. HTTP採用TCP作爲運輸層協議,但是HTTP協議本身是無連接的(通信雙方在交換HTTP報文之前不需要先建立HTTP連接)

HTTP協議的連接方式

HTTP協議的連接方式
image-20200615154308494
連接方式的工作原理
image-20200615154501866

HTTP協議的報文結構

  • HTTP的請求報文
  • HTTP的響應報文
HTTP報文結構
image-20200615154729689
HTTP的裝桃嗎和請求報文格式
image-20200615155012358

我是雷雨佳,一個普本科的學生,主要專注於Java後端和大數據開發

如果這篇文章有幫助到你,希望你給我一個大大的贊
如果有什麼問題,希望你能留言和我一起研究,學習靠自覺,分享靠自願

轉載註明出處
https://blog.csdn.net/qq_40742223

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章