1. 程式人生 > >應用層-day01

應用層-day01

計算機 tcp與udp cat 地址 特點 體系結構 接受 通過 isp

主流應用程序體系結構:CS結構、P2P結構。

CS結構:客戶-服務器體系結構。有一臺總是打開的主機稱為服務器,它服務來自其他許多稱為客戶的主機的請求。

P2P體系結構:應用程序在不同的主機間鏈接,被稱為對等方。P2P體系結構最有特點的地方在於自擴展性,但是也有問題:ISP不友好、安全性、用戶是否願意提供帶寬。

進程通信:

  在兩個不同端系統上的進程,通過跨越計算機網絡交換報文而相互通信。

網絡應用程序由成對的進程組成。在給定的一對進程之間的通信會話場景,發起通信的進程被表示為客戶,在會話開始時等待聯系的進程是服務器。

多數應用程序由通信進程對組成,進程通過一個軟件接口(套接字)向網絡發送報文和從網絡接受報文。

套接字:

  是一臺主機內應用層與運輸層之間的接口,也成為應用程序編程接口(Application Programming Interface)  

開發者對於運輸層的控制權僅限於:1.選擇運輸層協議。2.設定僅有的幾個運輸層參數。

為了標識接收進程需要定義兩個信息:主機的地址  主機中接收進程的標識符。這兩個信息分別用:ip  端口號做標識。

運輸層協議可以為應用程序提供:1.可靠數據傳輸、2.吞吐量、3.定時、4.安全性四個方面的服務。

可靠數據傳輸:端系統的傳送的數據正確且完全地交付給另一個端系統。

吞吐量:具有吞吐量敏感的應用被稱為:帶寬敏感數據。

定時:指能夠實現較短的時延。

安全性:運輸層協議能夠對數據進行加密和解密。

因特網為應用程序提供了兩個運輸層協議:UDP和TCP。

TCP:

  包含面向連接服務與可靠數據服務。某個應用程序調用TCP作為運輸協議時,該應用就能獲得這兩個服務。

面向連接服務:

  在數據報文流動前,TCP讓客戶端與服務端相互交換運輸層控制信息(三次握手),握手後一個TCP連接就在應用程序的套接字間建立了。該連接是全雙工的,即連接雙方的進程可以在此連接同時發送報文。當應用程序發送報文結束時,該連接需要拆除(四次揮手)。

可靠的數據傳送服務:

  通信進程可以依靠TCP,無差別、按適當順序交付所有發送的數據。不會出現字節丟失和冗余。

TCP還具有擁塞控制機制:當發送方和接收方間的網絡出現擁塞時,TCP的擁塞控制機制會抑制發送進程。

至於安全性問題:

  TCP與UDP都沒有加密機制。因特網界使用安全套接字層(Secure Sockets Layer,SSL)。

UDP:

  是一種不提供不必要服務的輕量級運輸協議,僅提供最小的服務。

  UDP無連接,即進程通信不會握手、UDP提供一種不可靠數據傳送服務,不能夠保證該報文將到達接受進程(到達的報文也可能亂序)。

應用層協議:

  定義了運行在不同端系統上的應用程序進程如何相互傳遞報文:

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

    各種報文類型的語法。        報文中的各個字段及這些字段是如何描述的。

    字段的語義。            字段包含的信息

    一個進程何時以及如何發送報文,對報文進行響應的規則。   

應用層-day01