計算機網路 應用層

2021-09-27 23:33:26 字數 1970 閱讀 8441

二、客戶-伺服器體系結構

ftp協議

三、p2p體系結構

網域名稱系統(domain name system)實際就是網際網路使用的命名系統。我們知道,網際網路上每個主機都有唯一的標識號,而這些標識號則是由32位二進位制數組成,而dns則是把這些二進位制數碼轉化成了例如www.baidu.com的網域名稱。

若使用者主機上的應用程式需將主機網域名稱轉化為ip位址時,這些應用將呼叫dns客戶端,即向網路中傳送乙個使用udp資料報經埠53傳送的dns請求報文;當dns伺服器收到該請求後,在自己的層次結構中進行遞迴式的查詢,然後做出應答返回對應的ip位址。

dns伺服器也有自己的層次劃分:

根dns伺服器:主要用來管理網際網路的主目錄。

頂級域dns伺服器:負責頂級網域名稱,諸如我們熟悉的com,org,net,edu,gov以及各個國家的頂級網域名稱的轉換。

實際上,如果乙個地區請求dns服務過多,那麼將會占用較多的頻寬和較大的時延,所以為了在一定程度上減少dns報文數量,這裡引入了dns快取技術。實際就是在dns層次結構中的請求鏈上,當本地dns伺服器接收到乙個dns回答,它將該回答的資訊快取在本地儲存器中;當在該區域網中第二次傳送相同的dns請求時,則該本地dns伺服器將直接返回儲存在本地儲存器中的ip位址,而不是要經歷根dns-頂級域dns-權威dns的遍歷查詢。

在客戶-服務體系結構(client-server architecture)中,有乙個總是開啟的主機稱為伺服器,它服務於來自許多其他稱為客戶的主機的請求。

http超文字傳輸協議(hypertext transfer protocol)是web的核心,其由乙個客戶程式和乙個伺服器程式組成,具體體現為web客戶端向web伺服器請求web頁面的方式及伺服器向客戶端傳送web頁面的方式。

在乙個web頁面中,客戶向伺服器將傳送不止乙個http請求,伺服器也將向客戶端應答不止乙個http報文;而且,這種客戶-伺服器互動是經tcp連線傳送的,。所以這裡有乙個問題,如果所有的http請求/相應對是經單一的tcp連線傳送,則該應用是持續連線的;如果每個http請求/相應對經單獨的tcp連線傳送,則該應用是非持續連線的。

當客戶端需要傳送http請求時,http客戶程序將在埠號80傳送乙個到伺服器的tcp連線,伺服器經它套接字收到http請求報文後,將向客戶端傳送相關的web物件,之後http伺服器斷開tcp連線,而客戶端在收到該物件後也會將tcp連線關閉。

然而,乙個web頁面中不可能只包含乙個物件,故客戶端要想獲得乙個完整的web頁面,其就要發出n份http請求,進而進行n次tcp的連線和斷開,這樣對整個通訊網路而言不但會造成大量的通訊時延,而且會占用過多的頻寬而且對於客戶和伺服器來說也會分配過多不必要的tcp緩衝區和tcp變數(有關tcp協議詳見下節運輸層)。

與非持續的http對應,伺服器每次發出http應答後並不斷開tcp連線,而是在該tcp連線上傳送所有的web物件。所以,在整個請求/應答過程中,總的傳輸時間只需2*rtt(往返時間,即乙個短分組從客戶端到伺服器再到客戶端花費的所有時間)+傳輸檔案的時間。如下圖所示:

ftp檔案傳輸協議(file transform protocol)

ftp使用者通過乙個ftp使用者**與ftp互動:該使用者首先提供遠端主機的主機名,使本地ftp客戶程序建立乙個到遠端主機的ftp的tcp連線,然後該使用者提供使用者標識和口令,一旦服務端接收到使用者授權,使用者就可以本地檔案複製到遠端主機上。

ftp與http都是檔案傳輸協議,但二者也有一定的差異,其中ftp使用了兩個tcp連線來傳輸檔案:其中乙個是控制連線,用於傳輸使用者標識口令及其他命令,另外乙個是資料連線,用於傳輸所需檔案。

ftp實際上是採用非持續連線的,因為每次傳輸乙個檔案後,其tcp資料連線將會中斷,但其控制連線將繼續保留,用於保留使用者的狀態以及傳送相關的命令,當整個會話結束,控制連線也將斷開。

在客戶機/伺服器檔案分發中,伺服器必須向每個對等方傳送該檔案的乙個拷貝,即伺服器承受了極大的負擔,並且消耗了大量的伺服器頻寬;而在p2p檔案分發中,每個對等方都能夠重新分發其所有的該檔案的任何部分,從而協助伺服器進行分發。

計算機網路 應用層

運輸層為應用程序提供了端到端的通訊服務。但不同的網路應用程序之間,還需要有不同的通訊規則。因此在運輸層協議之上,還需要有應用層協議。應用程序之間的通訊必須遵守嚴格的規則。應用層的協議應當定義 1 網域名稱系統dns 網域名稱到ip位址的解析是由分布在網際網路上的許多網域名稱伺服器程式共同完成的。網域...

計算機網路 應用層

計算機網路分層 應用層是網路應用程式和及應用層協議存留的地方。應用層協議分布在多個端系統上,乙個端系統中的應用程式使用協議與另乙個端系統中的應用程式交換資訊的分組。該層資訊被稱為報文。常用的應用層協議有 http,smtp,ftp,dns 1.基本概念 執行在不同端系統的程式的通訊是通過程序完成的。...

計算機網路 應用層

我們現在已經了解了運輸層為應用程式提供了端到端的通訊服務,但是不同的應用程序之間,還需要不同的通訊協議,因此在運輸層協議上方還有應用層協議,這是因為每個應用層協議都是為了解決一類問題,而問題的解決又要通過不同主機的多個應用程序之間通訊和協同工作來完成,應用程序之間的通訊需要遵守嚴格的規則,應用層的具...