計算機網路 2 應用層

2021-09-07 03:12:31 字數 2257 閱讀 3909

顧客/server架構client-server architecture於。稱為server,它為來自客戶機的請求提供服務。客戶機之間不進行直接通訊。server擁有固定的周知的位址,稱為ip位址,且總是處於開啟狀態。常會出現一台server主機跟不上其全部客戶機請求的情況。常使用主機群集a cluster of hosts或者稱為server場server farm,建立強大的虛擬server。基於客戶機server體系結構的應用服務一般是基礎設施密集的infrastrucuture intensive。由於要購買,安裝和維護server場。

在p2p體系結構中,對總是開啟的基礎設施server有最小或者沒有依賴。隨意時間連線的主機對稱為對等方peers,直接通訊。

p2p中,最突出的特性是它的自擴充套件性self-scalability。

進行通訊的實際是程序process。而不是程式。

不同端系統的程序通過跨越計算機網路交換報文而相互通訊。

分為客戶機程序和server程序。

在給定的一對程序之間的通訊會話中,發起通訊的程序為客戶機程序,而等待聯絡的程序為server程序。

程序通過乙個稱為套接字socket的軟體介面在網路上傳送和接收報文。套接字是應用程式與網路之間的應用程式程式設計介面api。

能夠依據可靠傳輸資料,吞吐量,定時和安全性相應用程式服務進行分類。

定時timing:運輸層協議也提供定時保證,如同保證吞吐量一樣。不同的應用程式對時間限制不同。

安全性security:運輸層協議可以為應用程式提供一種或多種安全性服務。

網際網路或者能夠說是tcp/ip網路上的應用使用兩個運輸層協議:udp和tcp。

tcp服務:包含面向連線服務和可靠傳輸資料服務。當應用層程式呼叫tcp協議作為它的運輸層協議時。該應用程式就獲得了這兩種服務。

面向連線服務 connection-oriented service:在報文開始流動前,客戶機程式和server程式之間交換運輸層控制資訊。即握手過程 handshaking。握手過程提示客戶機和server做好了傳輸分組的準備。握手後。在兩個程序的套接字sockets之間建立了乙個tcp連線tcp connection。

可靠傳輸資料服務reliable data transfer service:進行通訊的程序,無差錯。按順序交付傳送的資料。

udp服務是無連線的。沒有握手過程。udp不能保證報文可以正確被接收。且沒有擁塞控制機制。

程序定址addressing processes:須要主機的名稱或位址和用來指定目的主機上接收程序的標誌。主機是用ip位址來進行標識的。程序由 目的地埠號port number來指定。

在乙個主機上可能同一時候有多個程序都要使用同乙個port。如多個瀏覽器都用80port來瀏覽網頁。可是作業系統規定了乙個時間僅僅能有乙個程序在使用port和監聽port,即當你讓乙個程序獲得焦點時。就是它在使用port,而其它程序無法使用port。

應用層協議定義了:

交換的報文型別,如請求報文和響應報文。

各種報文的syntax語法,如報文中每乙個字段及其具體描寫敘述。

欄位的語義。即包括在字段中的資訊的含義。

程序何時以及怎樣傳送報文,以及對報文進行響應的規則。

應用層協議是網路應用的一部分。

web應用和http協議:

web的應用層協議為 超文字傳輸協議hypertext transfer protocol http。

http由兩部分程式實現,乙個客戶機程式。乙個server程式。

web一般包括乙個主要的html檔案和幾個引用物件。

http使用tcp作為運輸層協議。http不儲存關於客戶機的不論什麼資訊。是乙個無狀態協議stateless protocol。

非持久連線non-persistent connection:每乙個請求/響應經乙個單獨的tcp連線傳送。

持久連線persistent connection:全部的請求經由同樣的tcp連線傳送。http預設使用持久連線。

對於非持久連線,當乙個網頁有多個引用時,每一次對引用檔案的載入都須要建立乙個新的連線來資料傳輸。往返時間round-trip time rtt,為乙個分組從客戶機到server再回到客戶機的時間。而每乙個tcp連線都有三次握手的過程。

http報文:

請求報文response message:請求報文的第一行叫做請求行require line。其後繼的行叫做首部行header line。剩下的行為實體主體entity body。

請求行有三個欄位field:方法字段。url欄位和http版本號。方法欄位的取值為get,post,head,put,delete。

套接字程式設計。

待續。

計算機網路 應用層

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

計算機網路 應用層

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

計算機網路 應用層

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