應用層的功能
- 應用層協議定義了應用程序需交換的報文、所需採取的動作和最終通信數據的應用
- 應用層位於協議棧的最高層次
- 應用層協議提供不同主機之間
進程
與進程之間的通信 用戶代理
實現應用層協議
進程的概念
進程(Process):主機中動態運行的程序
- 一個程序運行多次將產生多個進程
操作系統使用PID標識進程
用戶代理
用戶代理提供用戶和網絡應用之間的接口
- 用戶代理實現應用層協議
- 常見的用戶代理:瀏覽器,Web服務器軟件,QQ等
套接字
IP+端口號
,唯一確定某臺主機某個進程
IP地址
- 唯一確定某臺主機在因特網上的位置
- 32位二進制,採用點分十進制表示,例如192.168.1.1
端口號
端口號是應用進程的入口標識,是一個存放在傳輸層
首部的一個字段的值。包括TCP端口號和UDP端口號,一個進程可能使用多個端口號
- 唯一確定某臺主機的某個通信進程
- 16位二進制,一般用十進制表示,例如80端口
端口號類型
端口號範圍 | 端口類型 |
---|---|
0 到 1023 | 公認端口,一般分配給固定的服務進程,用於某種應用的服務端 |
1024 到 49151 | 可註冊端口(隨機使用端口),隨機分配給客戶端進程,或者用於某些非公認應用程序 |
49452 到 65535 | 私有端口或臨時端口,一般分配給某些P2P應用程序,使用較少 |
常用的網絡應用公認端口號
網絡應用層協議 | 服務端端口號 | 協議 |
---|---|---|
DNS | 53 | TCP/UDP |
HTTP | 80 | TCP |
HTTPS | 443 | TCP |
FTP | 20,21 | TCP |
SMTP | 25 | TCP |
POP | 110 | TCP |
TELNET | 23 | TCP |
一個瀏覽器進程也可能打開多個套接字和服務器通信
C/S模式的網絡應用
C/S模式(Client/Server模式)
- 目前大多數網絡應用採用C/S模式
- 客戶端首先發起請求,再由服務器端響應提供服務
一個服務進程同時接收多個客戶端的請求,服務器端程序稱爲守護程序
P2P模式的網絡應用
P2P模式(peer to peer)
- 任意主機既是客戶端又是服務器
- 主機之間是
對等
的 - 迅雷,BT等常見下載軟件均提供P2P下載模式
有集中式目錄服務器
和洪泛查詢
網絡應用需要的服務
可靠性保證:應用數據能否保證按序,正確的到達對方
帶寬保證:應用數據傳輸能否保證最小帶寬
實時性保證:數據是否保證在規定的時間內到達對方
網絡應用使用的傳輸層協議
一般原則
- 對可靠性要求高的使用TCP作爲傳輸層,對速度要求高,可靠性要求低的使用UDP作爲傳輸層。
- TCP提供面向連接可靠的傳輸服務
- UDP提供無連接不可靠的傳輸服務
因特網的傳輸層不提供帶寬的保證,實時性保證服務
網絡層、物理層或可