應用層 應用層模型 DNS系統 FTP協議 電子郵件 全球資訊網 HTTP協議
一、應用層
應用層對應用程式的通訊提供服務。
應用層協議定義:
應用程序交換的報文型別,請求還是響應。
各種報文型別的語法,如報文中的各個欄位及其詳細描述。
欄位的語義,即包含在欄位中的資訊的含義。
程序何時,如何傳送報文,以及對報文進行響應的規則。
應用層的功能:
檔案傳輸、訪問和管理 (FTP)
電子郵件 (SMTP、POP3)
虛擬終端 (Telnet)
查詢服務和遠端作業登入 (Http、DNS)
應絡應用模型
客戶/伺服器模型(Client/Server)
伺服器:提供計算服務的裝置。
1.永久提供服務
2.永久性訪問地址/域名
客戶機:請求計算服務的主機。
1.與伺服器通訊,使用伺服器提供的服務。
2.間歇性接入網路
3.可能使用動態IP地址
4.不與其他客戶機直接通訊
P2P模型(Peer-to-Peer)
不存在永遠線上的伺服器
每個主機既可以提供服務,也可以請求服務
任意端系統/節點之間可以直接通訊
節點間歇性接入網路
節點可能改變IP地址
可擴充套件性好
網路健壯性強
二、DNS系統
DNS是域名系統(Domain Name System),
域名(英語:Domain Name),是由一串用點分隔的名字組成的Internet上某一臺計算機或計算機組的名稱,用於在資料傳輸時對計算機的定位標識。
域名的格式:
例如:www.baidu.com,分別是com頂級域名、baidu是二級域名、www是三級域名,它們是反向排序的。另外,在com頂級域名之上應該還有根,所以完整的www.baidu.com應該記為www.baidu.com. 。
頂級域名的分類,可以分為:
國家頂級域名 cn,us,uk;
通用頂級域名 com,net,org,gov,aero,museum,travel;
基礎結構域名/反向域名 arpa(IP地址解釋為域名)。
. 二級域名,可以分為:
類別域名 ac,com,edu,gov,net,org;
行政區域名 用於我國各省、自治區、直轄市 bj;
自定義的域名 baidu,sina。
三級域名,可以是 www,mail,stmp,pop等
2.1、DNS域名伺服器
DNS域名伺服器分以分為根域名伺服器、頂級域名伺服器、許可權域名伺服器。在使用者端還有本地域名伺服器。
根域名伺服器:最高層次的域名伺服器,知道所有頂級域名伺服器的域名和IP地址,在因特網上共有13臺根域名服器,如rootserver.net。
頂級域名伺服器:負責管理該頂級域名伺服器所註冊的所有二級名域。
許可權域名伺服器:負責一個區域的域名伺服器。
本地域名伺服器:當用戶主機發出DNS查詢請求時,這個查詢請求報文就先發給本地域名伺服器。
2.2 域名解析過程
域名解析過程可以分為遞迴查詢和迭代查詢。
遞迴查詢就是靠別的伺服器完成查詢的過程。
迭代查詢就是靠自己的本地域名伺服器完成查詢的過程。
注:為了提高域名的解釋過程,引入了快取記憶體的概念,快取記憶體可以減輕各域名伺服器的負荷,提高查詢效率。
三、FTP檔案傳送協議
檔案傳送協議FTP(File Transfer Protocol):提供不同種類主機系統之間的檔案傳輸能力。
簡單檔案傳送協議TFTP(Trivial File Transfer Protocol):
FTP伺服器和使用者端:
FTP是基於客戶/伺服器 C/S的協議。使用者通過一個客戶機程式連線到遠端計算機上執行的伺服器程式。
按FTP協議提供服務,進行檔案傳送的計算機就是FTP伺服器。連線FTP伺服器,遵循FTP協議與伺服器傳送檔案的電腦就是FTP客戶端。
3.1FTP工作原理
匿名登入
匿名登入:網際網路中有很大一部分FTP伺服器被稱為匿名FTP伺服器,這類伺服器的目的是向公眾提供檔案傳輸服務,不要求使用者事先在該伺服器進行登記註冊,也不用取得FTP伺服器的授權。
Anonymous(匿名檔案傳輸)能夠使使用者與遠端主機建立連線並以匿名身份從遠端主機上拷貝檔案,而不必是該遠端主機的註冊使用者,使用者使用特殊的使用者名稱“anonymous”登陸FTP伺服器,就可以訪問遠端主機上公開的檔案。
FTP協議使用的是TCP協議來實現可靠傳輸。
FTP傳輸例項:
通訊雙方分別是使用者端和FTP伺服器端,伺服器端執行著兩個程序,分別是控制程序和資料傳送程序,客戶端著執行著三個程序,分別是使用者介面、控制程序、資料傳送程序。使用者介面主要用於與使用者之間的互動;控制程序在檔案的傳輸過程中是一直保持著開啟狀態,使用者端與伺服器端的控制操作都是通過控制程序來實現的(使用TCP協議的21號埠);資料傳送程序主要用於傳輸檔案,就是執行控制程序下的使用者操作(使用TCP協議的20號埠)。
控制程序:當用戶端與伺服器端建立連線,就一直處於開啟狀態。
資料傳送程序:當用戶端與伺服器端傳送檔案完成,就會關閉。
另外,FTP傳輸協議是否使用TCP 20埠建立資料傳送通道,與FTP協議使用的傳輸模式有關,如果使用主動模式PORT則使用TCP 20埠,如果使用被動模式PASV,則伺服器端與客戶端自動協商使用埠(埠>1024)。
FTP傳傳模式,可以是文字模式和二進位制模式。
檔案模式:ASCII模式,以文字序列傳輸資料。
二進位制模式:Binary模式,以二進位制序列傳輸資料。
四、電子郵件
電子郵件是—種用電子手段提供資訊交換的通訊方式,是網際網路應用最廣的服務。
電子郵件可以分成兩個部分,分別是地址和內容。
內容:可以分成主題和主體。
電子郵件系統的組成結構
使用者代理:使用者與郵件系統的介面。通常指執行在使用者電腦上的一個程式,也叫使用者端軟體,如Foxmail,Outlook。
使用者端軟體Foxmail、Outlook的功能:1.撰寫、 2.顯示、 3.處理、 4.通訊。
郵件伺服器有兩個主要功能:1.傳送和接收郵件 2.向發件人報告郵件傳送結果。
郵件伺服器可以做為傳送方也可以做為接收方。
當郵件服務向對端郵件伺服器傳送郵件時,它做為傳送的郵件伺服器,反之,則做為接收方郵件伺服器。
郵件傳送協議主要分為兩種:1.SMTP(傳送) 2.POP3(收)、IMAP(收)。
注:SMTP、POP3、IMAP協議都執行在TCP協議之上。
電子郵件系統的執行過程
SMTP協議
SMTP規定了在兩個相互通訊的SMTP程序之間應如何交換資訊。負責傳送郵件的SMTP程序就是SMTP客戶,負責接收郵件的程序就是SMTP伺服器。
SMTP規定了14條命令(幾個字母)和21種應答資訊(三位數字程式碼+簡單文字說明)。SMTP通過TCP進行連結,使用的埠號為25。
SMTP通訊的三個階段:
建立連線->郵件傳送->連線釋放
SMTP的缺點:
(1)SMTP不能傳送可執行檔案或其他二進位制物件。
(2)SMTP僅限於傳送7位ASCII碼,不能傳送其他非英語國家的文字 。
(3)SMTP伺服器會拒絕超過一定長度的郵件。
為解決以上(3)的問題,郵件系統採用了 通用因特網郵件擴充MIME。
通用因特網郵件擴充MIME
MIME協議主要是在SMTP協議的基礎上進行擴充,使得電子郵件系統可以支援聲音、影象、視訊、多種國家語言等資訊。MIME現在常用於瀏覽器。
POP3協議
POP3通過TCP進行連結,使用的埠號為110。
POP3有兩種工作方式,分別是下載並保留(通道仍然儲存在伺服器上),下載並刪除。
網際報文存取協議IMAP
IMAP協議比POP協議複雜,當用戶PC上的IMAP客戶程式開啟IMAP伺服器的郵件時,使用者可以看到郵件的首部,若使用者需要開啟某個郵件,該郵件才上傳到使用者的計算機上。
IMAP可以讓使用者在不同的地方使用不同的計算機隨時上網閱讀處理郵件,還允許只讀取郵件中的某一部分(先看正文,有WIFI的時候再下載附件)。
基於全球資訊網的電子郵件
注:基於全球資訊網的電子件系統,主要的更變是傳送端和接收端不再使用傳統的軟體,而是直接使用瀏覽器,使用的協議是HTTP協議,至於傳送電子郵件的協議還是SMTP協議。
五、全球資訊網和HTTP協議
全球資訊網(Wold Wide Web)是一個大規模的、聯機式的資訊儲存空間,是無數個網路站點和網頁的集合。
全球資訊網使用統一資源定位符URL來唯一標識資料資源(如文字、視訊、音訊等)
URL的一般格式:
<協議>://<主機>:<埠>/<路徑> 如: http://www.baidu.com
使用者通過點選超連結(http://www.baidu.com)獲取資源,這些資源通過超文字傳輸協議HTTP傳送給使用者。
全球資訊網以客戶/伺服器工作方式,使用者使用的瀏覽器就是全球資訊網客戶程式,全球資訊網文件所駐留的主機執行伺服器程式。
全球資訊網使用超文字標記語言HTML,使得全球資訊網頁面設計者可以很方便地從一個介面的連結轉到另一個介面,並能夠在自己的螢幕上顯示出來。
超文字傳輸協議HTTP
HTTP協議定義了瀏覽器(全球資訊網客戶程序)怎麼向全球資訊網伺服器請求全球資訊網文件,以及伺服器怎樣把文件傳送給瀏覽器。
HTTP協議的執行過程
HTTP協議的特點:
(1)HTTP協議是無狀態的。
(2)為了解決HTTP協議無狀態的問題,就引入了Cooki。Cooki是儲存在使用者主機中的文字檔案,記錄著使用者在某段時間的訪問記錄。
(3)HTTP採用TCP作為運輸層協議,但HTTP協議本身是無連線的(通訊雙方在交換HTTP報文之前不需要先建立HTTP連線)。
HTTP的連線方式可以分為持久連線Keep alive、非持久連線Close。
非持久連線Close:可以看到非持久連線每次請求新的資料資訊要需要進行TCP的三次握手,然後才能傳輸資料,比較消耗時間。
持久連線Keep alive:則是通過TCP的三次握手之後,資料資訊開始傳輸,但是之後不需要再次建立TCP連結,而是直接請求資料,比較節省時間。
HTTP的報文結構
HTTP的報文可以分為請求報文和響應報文。HTTP報文是面向文字的,因此在報文中的每一個欄位都是一些ASCII碼串。