電腦網路 2.應用程式層

來源:互聯網
上載者:User

標籤:

應用架構application architecture。一般網路應用,有兩種結構,客戶機/server建築建築及同行(P2P)。

顧客/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的軟體介面在網路上發送和接收報文。通訊端是應用程式與網路之間的APIAPI。

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

可靠傳輸資料:可靠傳輸資料reliable data transfer,運輸層進行可靠的傳輸資料,當運輸層使用這樣的服務時,就能夠相信該資料無差錯的到達接收進程。當一個運輸層協議不提供可靠傳輸資料時。對於容忍丟失的應用loss-tolerant application,如多媒體應用,一定程度的資料丟失是能夠接受的。

輸送量throughput:具有輸送量要求的程式稱為頻寬敏感應用bandwidth-sensitive application。大多多媒體應用都是頻寬敏感的。

而彈性應用elastic appliction可以依據須要充分利用可供使用的輸送量。

定時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的應用程式層協議為 超文字傳輸通訊協定 (HTTP)HyperText Transfer Protocol HTTP。

HTTP由兩部分程式實現,一個客戶機程式。一個server程式。

Web頁面Web page是由對象組成的,對象object就是檔案,html檔案,圖片檔案。視頻檔案等。檔案通過url地址定址。

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。


通訊端編程。

待續。


著作權聲明:本文博主原創文章。部落格,未經同意不得轉載。

電腦網路 2.應用程式層

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.