6.09 應用層協議
阿新 • • 發佈:2022-03-22
6.09 應用層協議
一個應用層協議要包含什麼
-
報文型別
- 如請求報文、應答報文
- 報文型別的語法
- 報文中的各個欄位及其詳細描述
- 報文語義
- 即包含在欄位中的資訊的含義
-
規則
- 程序何時、如何傳送報文及對報文進行響應
兩類協議
公共領域協議
由RFC文件定義可供大家使用
例如:HTTP,SMTP
專用協議
例如: Skype
一個應用需要什麼樣的傳輸服務?
分析應用層的服務需求,探討不同服務需求的特性
-
資料完整性
- 一些應用 (如:實時音訊)能容忍一定程度的資料丟失
- 另一些應用(如:檔案傳輸,telnet)需要100%可靠的資料傳輸
-
定時
- 一些應用(如:因特網電話、多方遊戲)要求低時延
-
頻寬和吞吐量
- 一些應用(如:多媒體)必須要達到所需頻寬
- 另一些應用(彈性應用)根據需要充分利用可供使用的頻寬
-
安全
- 加密,資料完整性等
因特網運輸協議提供的服務
TCP服務
- 面向連線的服務:在客戶機程式和伺服器程式之間必須建立連線
- 可靠的傳輸服務: 接收和傳送程序間
- 流量控制: 傳送方不會淹沒接收方
- 擁塞控制: 網路出現擁塞時抑制傳送程序
- 沒有提供:時延保證,最小頻寬保證,安全性
UDP 服務
- 不可靠資料傳輸
- 沒有提供:建立連線,可靠性,流量控制,擁塞控制,時延和頻寬保證
對於想快速處理從遠端客戶到伺服器的事務,應該使用UDP還是TCP?為什麼?
UDP。
- 使用UDP,事務可以在一次往返時間(RTT)內完成——客戶端將事務請求
- 對於TCP,至少需要兩個RTT—一個用於建立TCP連線,另一個用於客戶機發送請求,伺服器傳送回響應。
舉例應用和協議
應用 | 應用層協議 | 下面的傳輸協議 |
---|---|---|
電子郵件 | SMTP [RFC 2821] | TCP |
遠端終端訪問 | Telnet [RFC 854] | TCP |
Web | HTTP [RFC 2616] | TCP |
檔案傳輸 | FTP [RFC 959] | TCP |
流媒體 | 通常專用 (e.g. RealNetworks) | TCP or UDP |
因特網電話 | 通常專用 (e.g., Skype) | 典型用 UDP |
TCP安全
TCP與UDP:沒有加密、網路明文傳輸,如使用者名稱和口令資訊等
SSL(Security Socket Layer)
- 是TLS的前身
- 提供加密的TCP連線
- 保證資料完整性
- 端點認證
- 應用使用SSL庫呼叫TCP服務介面、lSSL提供套接字API