計算機網絡技術(六)——網絡應用技術

摘要

  1. 網絡應用概述
  2. 域名系統(DNS)
  3. 文件傳輸協議(FTP)
  4. 電子郵件
  5. 萬維網(WWW)

一、網絡應用概述

  • 網絡應用是什麼?
    網絡應用是直接面向計算機網絡的用戶,遵循相應的網絡應用協議,爲用戶提供某個特定的網絡服務的軟件系統。

  • 發展過程
    從最初的電子郵件、遠程登錄和文件傳輸等基本網絡應用,到萬維網、電子商務等基於傳統Web的網絡應用,再到即時通訊、社交媒體和網絡視頻等基於P2P技術的網絡應用。

  • 工作模式
    客戶/服務器模式(C/S)。

二、域名系統(DNS)

因爲IP不好記憶,Internet採用了一套與IP地址並行使用的命名機制——域名,由於存在兩種Internet地址描述方式,因此需要一種機制負責在域名地址和IP地址之間進行轉換——域名系統(Domain Name System,DNS)。

DNS 的工作機制:域名結構及層次劃分、域名服務器、域名解析。

2.1 域名結構及層次劃分

域名結構由標號序列組成,各標號間用點隔開,標號分別代表不同級別的域名,如下圖所示。

域名結構

DNS域名標號都是由英文字母和數字組成的,每一個標號不超過63個字符,不區分大小寫。整個域名不能超過255個字符。域名的管理採用分級管理方式,其中最高的頂級域名由互聯網名稱與數字地址分配機構(The Internet Corporationfor Assigned Namesand Number,ICANN)統一管理,其他級別的域名由上一級域名管理機構管理。

頂級域名共分爲3大類:

1)國家頂級域名nTLD: 用於分配給各個國家和地區,例如,.cn表示中國,.us表示美國,.uk表示英國等。
2)通用頂級域名gTLD: 用於分配給不同行業和組織,如.com(公司和企業)、.net(網絡服務機構)、.org(非贏利組織)、.edu(美國專用教育機構)、.gov(美國專用政府部門)、.mil(美國專用軍事部門)和.int(國際組織)等。
3)基礎結構域名: 只有一個,即arpa,用於反向域名解析,因此又稱爲反向域名。

整個域名空間可以用一顆倒置的樹來表示,位於樹的最頂層是根,根沒有具體域名,往下依次是頂級域名、二級域名、三級域名、四級域名……,如下圖所示。

域名層次劃分

二級域名分兩類:類別域名和行政域名。由各個國家自己制定和分配。

類別域名(7個): ac(科研機構)、com(工商企業)、edu(中國教育機構)、gov(中國政府機構)、mil(中國國防機構)、net(提供網絡服務機構)和 org(中國非盈利性組織)。

行政區域名: 爲我國每個省、市、自治區分配一個本行政區所使用的二級域名,如bj(北京)、sh(上海)等。

獲得二級域名的單位或組織,可以自主劃分下一級域名而無須由上一級管理機構批准。

2.2 域名服務器

DNS實現域名與IP地址的轉換具體是由分佈在各區的域名服務器實現的。包括4類服務器:根域名服務器、頂級域名服務器、權限域名服務器和本地域名服務器。

1)根域名服務器
所有的根域名服務器都知道所有的頂級域名服務器的域名和IP地址。共有13個不同IP地址的邏輯根域名服務器,每個邏輯根服務器都由多臺服務器組成,它們有相同的域名,分佈在多個地點,當一個域名在本地域名服務器無法解析時,就去查找離自己最近的根域名服務器設備,然後告知本地域名服務器去哪個頂級域名服務器進行查詢。

2)頂級域名服務器
負責管理在該服務器註冊的所有二級域名。當收到DNS請求時,給出域名查詢結果,或者給出應該繼續查詢的域名服務器的IP地址。

3)權限域名服務器
負責一個區的域名服務,其中保存了該區中所有主機的域名到IP的映射。當不能回答DNS請求時,將告訴用戶應該繼續查詢哪一個權限域名服務器。

4)本地域名服務器
默認域名服務器。離請求主機最近,當主機發出DNS查詢請求時,先發送給本地域名服務器,如果要查詢的主機和本地域名服務器處於同一網絡,則直接把查詢主機域名轉爲IP地址,不需要再去訪問其他域名服務器。

2.3 域名解析過程

域名解析分爲遞歸解析和迭代解析兩種方式。

  • 遞歸解析 (主機向本地域名服務器查詢過程)
    如果在本地域名服務器無法解析,則本地域名服務器就以DNS客戶的身份向某根域名服務器繼續發出查詢請求。如圖所示。

域名遞歸解析

  • 迭代查詢 (本地域名服務器向根域名服務器查詢過程)
    當根域名服務器收到本地域名服務器的請求時,要麼給出查詢的IP地址,要麼就告知本地域名服務器下一步應當向哪個頂級域名服務器查詢;當向被告知的頂級域名服務器查詢時,頂級域名服務器同樣按照要麼給出查詢的IP地址,要麼告知本地域名服務器下一步應當向哪個權限域名服務器查詢;最終,在某個權限域名服務器上查詢到域名的IP地址,並將其返回到主機。如圖所示。

域名迭代解析

三、文件傳輸協議(FTP)

文件傳輸協議(File Transfer Protocol,FTP)用於用戶在兩臺主機之間進行遠距離的文件傳輸,並保證傳輸的可靠性。FTP採用客戶機/服務器的方式,由FTP服務器和FTP客戶機兩部分組成。服務器與客戶機之間通過 “下載” 和 “上傳” 來實現文件的傳輸。

  • FTP 通信原理
    FTP客戶機和服務器之間的通信是由若干個進程實現的,分爲FTP服務器進程和客戶機進程。一個FTP服務器進程可以同時爲多個客戶機進程提供服務。FTP的服務器進程由兩部分組成:一個主進程,負責接收新的請求;還有若干個從屬進程,負責處理單個請求。

  • FTP主進程工作步驟
    1)打開熟知端口(端口號爲21),使客戶進程能夠連接上。
    2)等待客戶進程發出連接請求。
    3)啓動從屬進程來處理客戶進程發來的請求。從屬進程對客戶進程的請求處理完畢後就終止。
    4)回到等待狀態,繼續接受其他客戶進程發來的請求。主進程與從屬進程是併發進行的。

  • 文件傳輸過程
    在文件傳輸時,FTP客戶端和服務器之間要建立兩個並行的TCP連接:控制連接和數據連接。
    1)控制連接: 在整個會話期間一直保持打開,FTP客戶發出的傳送請求通過控制連接發送給服務器端的控制進程的端口(21),但控制連接不用來傳送文件。
    2)數據連接: 用於傳輸文件。服務器端的控制進程在收到FTP客戶發送的文件傳輸請求後,就創建數據傳送進程並建立數據連接,通過數據連接完成文件的傳送,傳送完畢後關閉數據連接並結束運行。

四、電子郵件(E-mail)

  • 電子郵件系統構成
    主要由3部分構成:用戶代理、郵件服務器和郵件發送/讀取協議。
    1)用戶代理UA(User Agent): 以電子郵件客戶端軟件的形式存在,是用戶與電子郵件系統之間的接口。
    2)郵件服務器: 相當於郵局,功能是發送和接收郵件,同時還要向發信人報告郵件發送的情況(已發送、被拒絕或丟棄等)。
    3)郵件發送/讀取協議: 實現用戶代理與郵件服務器之間的通信。郵件發送協議是SMTP,讀取協議爲POP3。

  • 電子郵件工作原理
    1)用戶使用用戶代理編輯好要發送的電子郵件,並指明收件人地址,然後點擊發送。
    2)用戶代理使用SMTP協議,將郵件發送到發送方郵件服務器上,保存在郵件緩衝區內,等待發送到接收方的郵件服務器。
    3)發送方郵件服務器和接收方郵件服務器建立TCP連接,將郵件緩衝區內的郵件發送出去,如果超時未能發送出去,則發送郵件服務器要向用戶代理報告發送失敗。
    4)接收方郵件服務器收到郵件後,將郵件放入收件人的用戶郵箱中,等待收件人下載。
    5)當收件人運行用戶代理的 “接收郵件” 功能時,用戶代理利用POP3或IMAP協議,將郵件從接收服務器中下載到本地用戶代理。

  • SMTP 協議的基本機制
    SMTP使用客戶機/服務器方式,因此負責發送郵件的SMTP進程就是SMTP客戶,而負責接收郵件的SMTP進程就是SMTP服務器。當用戶代理要發送電子郵件到發送方郵件服務器時,用戶代理就作爲SMTP客戶端,發送方郵件服務器是SMTP服務器;當發送方郵件服務器與接收方郵件服務器建立TCP連接時,發送方郵件服務器就作爲SMTP客戶端,而接收方郵件服務器時SMTP服務器。

  • SMTP 協議的缺點
    1)不能傳送可執行文件或二進制對象,只限於傳送7位的ASCII碼。
    2)From命令後可以任意填寫郵件地址,從而造成垃圾郵件的泛濫。
    3)明文傳輸,容易被截獲。

  • POP3 協議的基本機制
    也是客戶機/服務器的工作方式。在接收郵件的用戶PC中必須運行POP客戶端程序,而在郵件接收用戶所連接的接收服務器中則運行POP服務器程序。POP服務器程序需要設置用戶名和密碼,用戶驗證通過後才能下載郵件。當用戶下載郵件到本地後,服務器會把該郵件刪除,會造成用戶不能再另外一臺計算機再次下載。

  • IMAP 協議的基本機制
    同樣採用客戶機/服務器工作方式。用戶計算機上的IMAP客戶端程序通過TCP與接收郵件服務器上的IMAP服務器程序建立連接,用戶可以對接收郵件服務器收到的郵件進行閱讀、回覆和管理等操作。這樣,就可以在不同地點,不同計算機進行電子郵件的使用。缺點是如果用戶不刪除郵件,IMAP服務器上的郵件就一直存在,對服務器存儲空間要求比較大。

除了傳統的使用客戶機/服務器模式的電子郵件服務外,現在更多使用基於Web的電子郵件,用戶通過Web瀏覽器登錄網站上的電子郵件,並在瀏覽器上進行郵件收發操作。基於Web的電子郵件採用的是HTTP協議。

五、萬維網(WWW)

5.1 萬維網概念與核心技術

萬維網(World Wide Web,WWW)是Internet 上最爲普及的一種應用服務,它由成千上萬個萬維站點(網站)組成的信息存儲系統,網站以網頁的形式存儲着各種文檔,其中包含了文字、圖片、聲音和視頻等各種信息。各個網站以鏈接的方式聯繫在一起。

萬維網的核心技術:
1)統一資源定位(URL): 標識分佈在世界各地的文檔。
2)超文本傳輸協議(HTTP): 從一個文檔到另一個文檔的數據信息交換。
3)超文本標記語言(HTML): 各種文檔在所有客戶端正確顯示。

5.2 統一資源定位 URL

爲了給Internet上的每一個文檔進行標識,萬維網採用統一資源定位URL的方法。URL 的格式如下:
<協議>://<主機>:<端口>/<路徑>

  • <協議> 指出用戶使用什麼協議訪問萬維網文檔,如HTTP和FTP。
  • : // 是規定的格式。
  • <主機> 萬維網文檔所在的主機域名。
  • :<端口> 應用層協議所使用的端口號,如HTTP使用80端口。
  • /<路徑> 萬維網文檔在主機中的位置。
5.3 HTTP

用戶訪問萬維網文檔,以及將萬維網文檔中的數據傳送到用戶端,這些功能是由超文本傳輸協議 HTTP(HyperText Transfer Protocol)完成的。

HTTP是由客戶端請求和服務端響應構成。用戶在瀏覽器輸入URL,所經歷的過程爲:

1)用戶在瀏覽器中輸入要訪問的網頁URL。
2)瀏覽器根據URL中的域名,通過DNS解析出目標網頁的IP地址。
3)瀏覽器與網頁所在服務器建立TCP連接。
4)瀏覽器發送HTTP請求報文,獲取目標網頁的文件。
5)服務器發送HTTP響應報文,將目標網頁文件發送給瀏覽器。
6)釋放TCP連接。
7)瀏覽器將網頁內容展現給用戶計算機。

  • HTTP1.0 與 HTTP 1.1 的區別?
    1.0版本使用非持續連接,每傳輸一個對象都需要利用一個往返時間RTT建立TCP連接,用一個往返時間申請並傳輸回對象,即平均用兩個往返時間獲取一個對象;1.1版本使用持續連接,即利用同一個TCP連接傳輸多個對象。

HTTP有兩類報文:
請求報文: 從客戶端向服務器發送的報文。
響應報文: 從服務器到客戶端的報文。

  1. HTTP請求報文格式

請求報文由請求行、首部行、空行和請求數據4部分組成,如下圖所示。

請求報文

1)請求行: 包含請求方法、URL、HTTP版本3部分。請求方法主要有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRANCE和CONNECT等。
2)首部行: 包括若干行,首部行關鍵字有以下幾個:

  • User-Agent:發出請求的瀏覽器類型
  • Accept:客戶端可識別的內容類型列表
  • Host:請求的主機名
  • Connnection:告知服務器發送完後釋放連接還是保持連接

3)空行
最後一個首部行之後是一個空行,發送回車符和換行符,通知服務器以下不再有首部行了。
4)請求數據
用於客戶端向服務器端填寫表單數據,GET方法沒有請求數據,POST有。

  1. HTTP響應報文格式

響應報文由狀態行、消息頭部、空行和響應正文4部分組成,如下圖所示。

響應報文

1)狀態行: 包含版本、狀態碼、短語3部分。狀態碼錶示服務器發回的響應狀態代碼,短語表示狀態碼的文本描述。狀態碼由5種取值:

  • 1xx:指示信息。表示請求已收到,繼續處理。
  • 2xx:成功。表示請求已被成功接收、處理。
  • 3xx:重定向。要完成請求必須進行更進一步的操作。
  • 4xx:客戶端錯誤。請求有語法錯誤或請求無法實現。
  • 5xx:服務器錯誤。服務器未能實現合法的請求。

2)首部行: 包括若干行,首部行關鍵字有以下幾個:

  • Date:表示返回消息的時間
  • Content-Type:表示返回消息的內容類型
  • Content-Length:表示返回內容的長度(字節數)
  • Server:表示使用的服務器軟件即版本號

3)空行
最後一個首部行之後是一個空行,發送回車符和換行符,通知服務器以下不再有首部行了。

4)響應正文
是服務器端根據客戶端的請求返回的具體內容。

5.4 Cookie 機制和 Session 機制

由於HTTP是一種無狀態的協議,服務器端無法追蹤用戶的會話,爲了記住用戶的狀態就出現了Cookie機制和Session機制。

1. Cookie 機制
Cookie 是萬維網服務器在客戶端保存的一段文本,用於保存用戶訪問服務器的相關信息。服務器根據Cookie中保存的信息對用戶進行識別和追蹤。

Cookie 工作原理: 用戶A使用他的計算機首次瀏覽網站服務器,該網站會給A分配一個唯一的ID號,並以此爲索引在服務器數據塊中創建一條記錄。然後在發給A的響應報文中添加一個首部行,名爲Set-cookie,值爲分配給A的ID號。當A收到網站發回的HTTP響應報文後,先在本地計算機創建一個文本文件(即爲網站的Cookie),並從響應報文中讀取A的ID號,與網站主機名一起寫到Cookie文件中,當A再用同一臺計算機訪問該網站時,HTTP請求報文中寫入之前獲得的ID號。網站收到後根據ID號查詢數據庫,獲得A的訪問行爲。

Cookie 應用場景:
1)統計網站的實際訪問人數、新訪問者和重複訪問者的人數對比。
2)限制某些特定的用戶的訪問。
3)可以存儲用戶訪問過程中的操作習慣和偏好,如顏色和佈局等。
4)記錄用戶登錄名、密碼,避免多次登錄。
5)實現電子商務的 “購物車” 功能。

2. Session 機制

Session 與 Cookie 區別:
Cookie 機制中的用戶信息文件被保存再客戶端,而 Session 在服務器端保存用戶信息。

Session 工作原理: 當用戶使用瀏覽器首次訪問某個網站時,服務器會爲該用戶創建一個唯一的 Session ID,並以此ID爲索引開闢一塊數據存儲空間,用戶保存該用戶的訪問信息。服務器將 Session ID 通過響應報文返回給用戶。以後用戶每次訪問該網站時,請求報文都包含Session ID,服務器收到後根據Session ID檢索服務器保存的Session。客戶端和服務器端傳遞Session ID 有兩種方式,一是通過Cookie 傳遞,另一個是通過在URL路徑後添加參數方式。

總結

  • 瞭解了網絡應用是什麼以及基本模式

  • 域名系統DNS的功能是什麼,層次劃分及解析過程

  • 文件傳輸服務FTP的功能和工作模式是什麼

  • 電子郵件發送協議SMTP和讀取協議POP3/IMAP的基本機制

  • 統一資源定位URL的格式,HTTP的工作過程

  • Cookie 和 Session 機制的作用和基本原理

luckluck

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