[計網] 應用層 (Application Layer)

2.1 網路應用程式原則

應用層

人機介面

2.1.1建立網路app

建立虛擬連線,不需要處理中間傳輸問題

2.1.2 Process Communication

Client Process 與 Server Process溝通,採用 Socket Programming

Addressing processes

2.1.5 App layer protocol

Protocol 四個部分

私人與開放的protocol

2.1.3

2.1.4 傳輸要求

TCP

UDP

採用

安全TCP

SSL提供加密的TCP,並且在app應用層

2.2 web http

non persistent http

每次傳送都需要建立新的TCP 回應時間為2 RTT +file transmit time RTT: Round Trip time

persistent

可透過同一tcp傳送

架構

沒cookie使用Set-cookie header line

2.2.5 網頁快取

proxy

網路可以透過proxy做caching,例如區網架設proxy server

GET

if-modified-since Header會傳送本地修改的時間,而伺服器會使用此header進行比對, 若比對相同則會回傳304 not modified不傳送資料。

2.3 Email

User-agents

架構

2.3.1 SMTP

SMTP只能送mail而不可收信(意思是客戶端不可透過SMTP協議進行收信), 採用TCP端口25,並且以7bit的ASCII傳送,收到的Mail會以file的形式保存。

比較

2.3.3 mail message formats

body必須為ASCII(8bit)

From: 
To:
Subject:

body

2.3.4 POP3

POP為Post Office Protocol的縮寫,支援認證登入以及下載郵件, 而其他郵件存取(Mail access)可以透過IMAP或WEB client(HTTP)。

Transaction phase

協議中與伺服器溝通的語法。

更多的指令可以參見

2.4 DNS

為分散式架構,用於分散流量延遲管理,為應用層上的協議。

DNS為應用層,為了擴充性必須是分散式

問題

功能

管轄

查詢方式

Local DNS server可以支援迭代遞迴,但是TLD只支援迭代查詢

參見

封包

威脅攻擊

p2p 2.5

沒有 always on server

範例: BitTorrent, VoIP, streaming

2.6 videos streaming and content distribution networks (CDNs)

CDN

相關概念補充

補充

pop3

回應訊息狀態指示以+OK-ERR表示,且必須為大寫1


Network Application Layer