《計算機網絡》之應用層

應用層

一、引言

       應用層作爲和用戶交互的最高層,其任務是直接爲用戶的應用進程提供服務。應用層的具體內容就是規定應用進程在通信時所遵循的協議。因特網的應用層協議有很多,如最爲熟知的HTTP(端口號80)和FTP(端口號21)、支持電子郵件的SMTP(端口號25)、域名系統DNS(端口號53)等。下面我們來簡單介紹域名系統DNS、萬維網WWW (HTTP)和電子郵件 (SMTP/POP3)。

二、域名系統

       域名系統DNS (Domain Name System)用來把便於人們使用的機器名字轉換爲IP地址

       一個域名,以小數點爲分隔符,從右往左依次是頂級域名、二級域名、三級域名……頂級域名TLD (TopLevel Domain)有265個(2006.12統計),如國家頂級域名cn/us/uk/jp等和通用頂級域名com/net/org/edu/gov等。注意,www.abc.cn中的”abc”比www.abc.com.cn中的”abc”級別要高。

       下面介紹一下域名服務器 (name server)。

       域名服務器分爲四種:根/頂級/權限/本地域名服務器。前三種構成域名服務器的層次結構:根域名服務器最重要,處於最頂層,存儲着所有頂級域名服務器的域名和IP地址;頂級域名服務器負責管理自己的所有二級域名;再往下就都是權限域名服務器的工作了,它管理自己負責的區。請注意,一個域可以分成一個或多個區,每個區由一個權限域名服務器管轄,如:域abc.com可分爲區abc.com和區x.abc.com,這時域abc.com比區abc.com大,區abc.com管理域abc.com中除了區x.abc.com的其他內容。不過,當有對x.abc.com的請求時,會先訪問區abc.com的權限域名服務器,然後此服務器再引導至區x.abc.com的權限域名服務器,並非直接訪問區x.abc.com的權限域名服務器(因爲會按順序先解析到域abc.com)。

       而本地域名服務器是幹什麼的呢?它是專門爲一個ISP/大學/組織等的主機服務的。主機的DNS查詢請求會統一發送到它的本地域名服務器受理,然後由這個本地域名服務器給予響應(遞歸查詢 recursive query——全權委託此服務器)。“遞歸”體現在什麼地方呢?當本地域名服務器不知道答案時,它會自己去向根域名服務器(一定是根)發送查詢請求,反正事情都自己辦了,最後給出主機一個結果,“辦事還是挺認真負責的”。這與下面的不同。本地域名服務器向根域名服務器的查詢是迭代查詢 (iterativequery)——爲了避免負載過大,根域名服務器只會告訴本地域名服務器下一步該向哪個頂級域名服務器查詢,而不會自己包攬剩下的活。本地域名服務器根據它的“指路”,自己再發起下一步查詢。後面的也都是迭代的。

其實根域名服務器並不是只能接受迭代查詢——當本地域名服務器很“懶”時,就會向根域名服務器發送遞歸查詢,根還是會接受而全權代理的。只是一般情況下都採用迭代查詢罷了。

三、萬維網

       萬維網WWW (World Wide Web)是一個大規模的、聯機式的信息儲藏所,簡稱Web。它的靈魂就是“鏈接”,使得因特網上的資源相互連繫了起來。

       萬維網使用統一資源定位符URL (Uniform Resource Locator)來標識WWW上的各種文檔,使用超文本傳送協議HTTP (HyperText Transfer Protocol)實現鏈接(使用TCP協議),使用超文本標記語言HTML (HyperText Markup Language)統一顯示不同的文檔。

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

       HTTP:面向事務的無連接、無狀態的協議,但使用TCP協議實現可靠傳輸。HTTP/1.0的特點是每請求一個文檔都要重新建立TCP鏈接和釋放TCP鏈接,而HTTP/1.1作出了改進,使用了持續連接——爲TCP連接保留一段時間。

       HTML就不說了,一般能看到這篇文章的人都至少了解一點基礎,而且網上的教程太豐富了,請利用手中的萬維網信息檢索系統(分爲全文檢索和分類檢索)自行百度吧!大笑

四、電子郵件

       最重要的是簡單郵件傳送協議SMTP (Simple Mail Transfer Protocol)和郵局協議POP3 (Post Office Protocol version 3) ,都使用TCP連接。前者用於發送方用戶代理UA (User Agent)向發送方郵件服務器發送郵件和發送方郵件服務器向接收方郵件服務器發送郵件;後者用於接收方郵件服務器給收件人UA發送郵件。其實就是下面這張圖,理解了就結束了。

       最後再補充一點內容。由於SMTP只能傳送可打印的7位ASCII碼,因此提出通用因特網郵件擴充MIME (Multipurpose Internet MailExtensions),可以傳送包括多媒體在內的多種數據。它並沒有取代SMTP,而是在中間套了一層,如下圖。

       POP3也有缺點,就是它設置爲只要收件方UA讀取了郵件,就把郵件刪除。因此提出了網際報文存取協議IMAP (Internet MessageAccess Protocol),不僅不主動刪除,還提供各種管理功能。可以發現,現在的郵箱都是IMAP的。

五、尾聲

       好了,至此,整本《計算機網絡》的學過的知識就總結完畢了,對你有沒有一點幫助呢?如果你真的要把這門學科學精、學通,靠這六篇文章是遠遠不夠的,必要的參考書還是不可缺少的。這個系列是我寫的第一套技術日誌,希望你和我都不要考完期末就把知識忘得一乾二淨,而是學進去,扎牢固。路漫漫其修遠兮,學習的道路還很漫長,但保持積累,總會成爲一方之才!

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