1. 程式人生 > >計算機網路(二)網路層

計算機網路(二)網路層

網路層

建議閱讀時長:7min

目錄

  • 概念
  • 網路應用體系結構
  • 網路應用程序通訊
    • 同一主機執行程序之間的通訊
    • 不同主機執行程序之間的通訊
  • 網路應用的服務需求
  • Internet 傳輸層服務模型
  • 特定網路應用及協議
    • HTTP網路協議
    • SMTP、POP、IMAP
    • DNS
    • P2P應用
  • web快取/代理伺服器技術
    • 功能
    • 快取既充當客戶端,也充當服務端
  • socket 程式設計
    • TCP客戶端軟體流程
    • UDP客戶端軟體流程

概念

  • 程序
    主機上執行的程式
  • 程序的識別符號
    IP地址 + 埠號
  • RRT
    從客戶端傳送一個很小的資料包到伺服器並返回所經歷的時間
  • cookie
    某些網站為了辨別使用者身份, 進行session跟蹤而儲存在使用者本地終端的資料
  • TLD
    頂級域名伺服器

網路應用體系結構

客戶機/伺服器、P2P、混合結構

網路應用程序通訊

同一主機執行程序之間的通訊

  • 程序間通訊機制
    利用socket傳送/接收訊息實現
  • 作業系統提供

不同主機執行程序之間的通訊

  • 訊息交換

網路應用的服務需求

可靠性、頻寬、時延

Internet 傳輸層服務模型

  • TCP
    面向連線、可靠傳輸、流量控制、擁塞控制、位元組流傳輸
  • UDP
    無連線、不可靠的資料傳輸、無流量控制、無擁塞控制、資料報傳輸

特定網路應用及協議

HTTP網路協議

  • 兩類訊息
    請求訊息、響應訊息
  • C/S結構
    客戶:請求、接受、展示web物件
    伺服器:響應客戶的請求,傳送物件
  • 使用TCP傳輸服務
    • 伺服器在80埠等待客戶的請求
    • 瀏覽器發起到伺服器的TCP連線
    • 伺服器接受來自瀏覽器的TCP連線
    • 瀏覽器與web伺服器交換HTTP訊息
    • 關閉TCP連線
  • 上傳輸入的兩種方式
    POST方法:在請求訊息的訊息體中上傳客戶端的輸入,適用於填寫表格
    GET方法:輸入資訊通過URL欄位上傳
  • 兩種型別
    非永續性連線,適用於HTTP1.0,每個TCP連線最多允許傳輸一個物件
    永續性連線,適用於HTTP1.1,每個TCP連線允許傳輸多個物件
  • 無狀態
    伺服器不維護任何有關客戶端過去所傳送訊息的資訊
    需要cookie儲存在本地方便快捷使用

SMTP、POP、IMAP

用於郵件傳送的協議

DNS

域名解析系統

  • DNS服務
    域名向IP地址的翻譯、主機別名、負載均衡
  • 層級訪問
    本地域名解析伺服器無法解析域名時,訪問根域名伺服器

P2P應用

web快取/代理伺服器技術

功能

在不訪問伺服器的前提下滿足客戶端的HTTP請求

快取既充當客戶端,也充當服務端

如果所請求物件在快取中,快取返回物件
如果不在快取中,快取伺服器向原始伺服器傳送HTTP請求,獲取物件,然後返回給客戶端並儲存

socket 程式設計

TCP客戶端軟體流程

  • 確定伺服器IP地址與埠號
  • 建立套接字
  • 分配本地端點地址
  • 連線伺服器
  • 遵循應用層協議進行通訊
  • 關閉/釋放連線

UDP客戶端軟體流程

  • 確定伺服器IP地址與埠號
  • 建立套接字
  • 分配本地端點地址
  • 指定伺服器端點地址,構造UDP資料報
  • 遵循應用層協議進行通訊
  • 關閉/釋放套接字