#進程通信
發起通信的進程標識爲客戶,等待聯繫的進程是服務器。
進程通過一個稱爲套接字的軟件接口向網絡發送報文和從網絡接收報文。
應用開發者對運輸層的控制僅限於:
1、選擇運輸層協議
2、設定幾個運輸層參數
爲了標識接收進程,需要定義兩種信息:
1、主機地址(IP)
2、定義在目的主機中的接收進程的標識符(端口號)
#應用程序服務要求分類
1、可靠數據傳輸
2、吞吐量
3、定時
4、安全性
#因特網提供的運輸服務
##TCP
面向連接的服務:在應用層數據報文開始流動前,TCP讓客戶和服務器互相交換運輸層控制信息。在握手階段後,一個TCP連接就在兩個進程地套接字之間建立了。當結束報文傳輸後,拆除該連接。
可靠地數據傳送服務
擁塞控制
##UDP
無連接
不可靠數據傳輸服務
沒有擁塞控制
#應用層協議
應用層協議定義了運行在不同端系統上的應用程序如何相互傳遞報文
1、交換報文的類型
2、各種報文類的語法
3、字段的語義
4、進程何時以及如何發送報文,對報文進行相應的規則
#HTTP
HTTP服務器不保存關於客戶的任何信息,所以HTTP是一個無狀態協議。
###HTTP非持續連接的缺點:
1、服務器負擔重:每一個請求對象建立和維護一個新的連接。
2、每一個對象的傳輸時延長:包含兩個RTT時延,一個用於TCP建立,一個用於請求和接收對象。
###HTTP報文格式
####請求報文
####響應報文
##Cookie
###Cookie技術的四個組件
1、在HTTP響應報文中有一個cookie 首部行
2、在HTTP請求報文中有一個cookie 首部行
3、用戶主機中保留有一個 cookie 文件並由瀏覽器管理
4、Web站點的後端數據庫保存cookie的識別碼
#web緩存
web緩存服務器在存儲空間中保存最近請求的對象的副本
優點:
1、減少對客戶響應請求的時間
2、減少一個機構的接入鏈路到因特網的通信量
#條件get方法
使緩存器能夠證實其保存的對象是否爲最新。
如果緩存中是最新對象版本,可繼續使用,起始Web服務器就不需重新發送該對象。
#FTP
和HTTP一樣均運行在TCP上
不同:FTP使用兩個並行的TCP連接來傳輸文件。控制連接——在兩主機之間傳輸控制信息。數據連接——發送一個文件。
控制連接貫穿整個用戶會話期間
會話中的每一次文件傳輸都需要建立一個新的數據連接
#DNS
將主機名轉換到IP地址的目錄服務——域名系統。
DNS協議運行在UDP上,使用53號端口
DNS還提供其他服務:
1、主機別名
2、郵件服務器別名
3、負載分配
##DNS工作過程
用戶主機上運行 DNS客戶機端。
瀏覽器從URL中解析出主機地址,傳給DNS客戶機端
DNS客戶機向DNS服務器發送一個包含主機名的請求
DNS客戶機收到含有對應主機名的IP地址的回答報文
瀏覽器向該IP地址指定的HTTP服務器發起一個TCP連接。
##集中式DNS服務問題
單點故障
通信容量
維護
遠距離的集中式數據庫
##分步式DNS
DNS服務器分類:根DNS服務器、頂級域(DNS)服務器、權威DNS服務器
###本地DNS服務器運行過程
###DNS緩存
在一個請求鏈中,當某DNS服務器接收到一個DNS回答時,它將回答中的信息緩存在本地存儲器中。
###DNS報文
前12個字節是首部區域,其中有幾個字段。第一個字段(標識符)是一個16比
特的數,用於標識該查詢。這個標識符會被複制到對查詢的回答報文中,以便讓客戶用它來匹配發送的請求和接收到的回答。
標誌字段中含有若干標誌。1比特的「查詢/回答」標誌位指出報文是查詢報文(0) 還是回答報文(1)。 當某DNS服務器是所請求名字的權威DNS服務器時,1比特的「權威的」標誌位被置在回答報文中。如果客戶(主機或者DNS服務器)在該DNS服務器沒有某記錄時希望它執行遞歸查詢,將設置1比特的「希望遞歸」標誌位。如果該DNS服務器支持遞歸查詢,在它的回答報文中會對1比特的「遞歸可用」標誌位置位。在該首部中,還有4個有關數量的字段,這些字段指出了在首部後的4類數據區域出現的數量。
問題區域包含着正在進行的查詢信息。該區域包括:①名字字段,包含正在被查詢的主機名字;②類型字段,指出有關該名字的正被詢問的問題類型,例如主機地址是與一個名字相關聯(類型A)還是與某個名字的郵件服務器相關聯(類型MX)。