Note: 本博文僅僅作爲個人<計算機網絡>複習使用,並沒有清楚的描述問題的細節。主要是爲了構建計算機網絡知識體系
1.協議分層
- 應用層: 網絡應用程序機器應用層協議留存的地方
- 運輸層: 提供應用成端點之間傳送應用層報文的服務(TCP/UDP)
- 網絡層: 將數據包的網絡層分組從一臺主機移動到另一臺主機(IP協議族)
- 鏈路層: 將幀從一個網絡元素移動到臨近的網絡元素,數據報從源到目的地,經過不同鏈路上不同鏈路層協議處理, 提供的服務取決於應用於該鏈路的特定鏈路層協議.(以太網/WiFi/PPP)
- 物理層: 將幀一個一個比特從一個節點移動到下一個節點
2.應用層
套接字:應用程序進程和運輸層協議之間的藉口, 通過套接字, 不同端系統的進程可以進行網絡通信.套接字是一種軟件接口(API)
2.1 client/server model
HTTP定義了web客戶機如何想web服務器請求web頁面, web瀏覽器實現了HTTP客戶端, web服務器(如Apache)實現了HTTP服務器端,HTTP使用TCP作爲支撐運輸層協議,HTTP是無狀態協議
- FTP文件傳輸: FTP客戶機在21號端口向服務器發起一個用於控制的TCP鏈接(持久性鏈接), FTP客戶機通過該控制鏈接發送用戶標識和口令, FTP服務器收到文件傳輸命令後, 發起一個到客戶機的數據鏈接(非持久性, 每一次文件傳輸建立一個新的數據鏈接)
- 郵件發送過程: 從發送方的用戶代理開始, 使用SMTP推送到發送防的郵件服務器,郵件服務器創建一個SMTP的TCP鏈接, 傳輸(推送)到接收方的郵件服務器, 然後使用POP3/IMAP/HTTP獲取到接收方的郵箱中
- DNS(UDP):核心功能是將主機名轉換爲IP地址, DNS是由分層的DNS服務器實現的分佈式數據庫, 是一個循序主機查詢分佈式數據庫的應用層協議。
首先在註冊域名和對應的網站IP地址, 將NS和A記錄加入到DNS系統中, 此時任意用戶輸入域名則通過迭代/遞歸查詢DNS服務器, 然後獲得對應IP地址進行訪問, 然後端系統對IP建立TCP連接, 發送HTTP請求 從而完成對一個網頁的網問
爲發送非ASCII文本, 發送方的用戶代理必須在報文中使用附加首部行(MIME)
郵件訪問協議: SMTP是推協議, 而要從郵件服務器讀取郵件是拉數據過程, 使用POP3, IMAP。TCP,UDP是拉協議。
HTTP和STMP的區別
- HTTP是一個pull protocol, 用戶使用HTTP從服務器拉取數據 SMTP是push protocol, 發送郵件服務器將文件推向接收郵件服務器
- SMTP要求每個報文使用七位ASCII, HTTP無此限制
- HTTP將對象封裝到HTTP響應報文, SMTP將所有報文對象放在一個報文中
2.2 P2P
P2P文件分發: 當一個對等發接收到服務器發送的文件數據時, 它可以利用自己的上傳能力重新將數據分發給其他對等方(減小了服務器的上傳壓力)
BitTorrent(留下那個的文件分發P2P協議) : 所有對等方(形成集合稱爲torrent)彼此下載等長度的文件塊,
當一個對等方加入集合, 初始無文件塊, 隨着時間推移, 下載越來越多文件塊, 同時對其他對等方上傳文件塊. torrnet中又一個追蹤器
P2P區域中搜索信息: 集中式索引和查詢洪泛(分佈式), 層次覆蓋設計, 分佈式散列表
3.運輸層
運輸層是在端系統而不是在路由器中實現(提供邏輯端到端傳輸)
多路分解: 將運輸層報文段交付給正確的套接字的工作(套接字唯一的標識進程)
多路複用: 從源主機的不同套接字中收集數據塊, 每個數據塊封裝首部生成報文段,將報文段傳輸到網絡層的工作
-
可靠數據傳輸協議rdt3.0是停等協議(導致信道利用率過低)
-
流水線可靠傳輸協議(允許發送方發送多個分組而無需等待確認)差錯恢復的兩種方法: 回退N步(滑動窗口協議, 累計確認)和選擇重傳(窗口長度必須小於或等於序號空間的一半)
對發送方的遏制: 流量控制和擁塞控制
3.1流量控制
TCP的流量控制服務用來消除發送方使接收方緩存溢出的可能性(
發送方維護一個接收窗口
)
接收方緩存需滿足: 接收的數據大小 - 已讀取的數據大小 <= 緩存大小
接收窗口(動態) = 緩存大小 - (接收數據大小 - 已讀取數據大小)(接口窗口爲0時, 發送方持續發送只有一個字節數據的報文段)
3.2擁塞控制
- 端到端擁塞控制(TCP擁塞控制)
- 網絡輔助的擁塞控制(ATM ARB協議)
TCP讓每個發送方根據所感知的網絡擁塞程度, 來限制發送流量的速率
發送的數據大小 - 已確認的數據大小 <= min{接收窗口, 擁塞窗口}
, 限制了發送放中未被確認的數據量
TCP擁塞控制算法 :
- 加性增(每收到一次確認, 擁塞窗口增加一個MSS, 線性增長), 乘性減(出現丟包, 當前擁塞窗口減半)算法, 其中TCP擁塞控制協議的線性增長階段被稱爲
擁塞避免
- 慢啓動(初始爲1MSS, 指數級增長, 每收到一個確認擁塞窗口翻倍, 發生丟包後擁塞窗口減半, 然後線性增長)
- 對超時時間做出反應
收到3個ACK進入擁塞避免(快重傳, 快速回復), 超時則進入慢啓動
4.網絡層
網絡層三個主要組件: IP協議, 選路組件, 報告數據包中的差錯和對某些網絡層信息請求進行相應的設施(ICMP).
網絡層的兩個主要功能:
-
轉發: 當一個分組到達某路由器的一條輸入鏈路時, 該路由器必須將該分組移動到合適的輸出鏈路
-
路由: 當分組從發送方流入接收方時, 網絡層必須決定分組所採用的路由器路徑.(路由算法)
虛電路網絡
- 虛電路建立
- 數據傳送
- 虛電路拆除
數據包網絡
4.1路由器工作原理
- 輸入端口(物理層->數據鏈路層->查找與轉發(緩存管理))
- 輸出端口((緩存管理)查找轉發->數據鏈路層->物理層)
- 交換結構
- 選路處理器(選路協議)
4.2. 動態主機配置協議(DHCP)/NAT/ICMP
- DHCP服務器發現
- DHCP服務器提供
- DHCP請求
- DHCP ACK
NAT路由器上有一張NAT轉換表
一個具有專有地址的地域, 在向外界發送分組時, 基本自身的IP和端口號通過轉換表映射到全球因特網IP和新的端口號上, 然後接收到分組時, 通過轉換表找到對應的專有地址地域的IP和端口號進行發送.
NAT妨礙了P2P應用, UPnP則允許外界主機使用TCP或UDP向NAT的主機發起通信回話.
ICMP典型用途是差錯報告
ICMP作爲IP
有效荷載(數據)
被承載(就像TCP或UDP作爲IP有效荷載被承載)
4.3. 選路算法
- 全局選路算法: 鏈路狀態算法(具有全局狀態, 網絡拓撲和所有鏈路費用作爲Dijkstra算法的輸入)
- 分佈式選路算法: 距離向量算法(沒有節點擁有關於所有網絡鏈路費用的完整信息)
解決規模和管理自治的問題通過將路由器組織進自制系統(AS), 在一個自治系統內運行的選路算法叫做自治系統內部選路協議(RIP, OSPF).自治系統間選路協議(BGP4)用來從相鄰AS獲取可達性信息以及向該AS的所有路由器傳播可達性信息.
4.4. 廣播和多播
廣播選路: 網絡層提供了一個源節點到網絡中的所有其他節點交付分組的服務
廣播選路算法: N次單播, 洪泛(廣播風暴), 受限洪泛(序號控制洪泛, 反向路徑轉發), 生成樹廣播
多播選路: 單個源節點能夠向其他網絡節點的一個子集
發送分組的拷貝
多播選路算法: 距離向量多播選路協議
5.數據鏈路層
網絡層任務是將運輸層報文段從源主機端到端的傳送到目的主機, 而數據鏈路層任務是將網絡層的數據通過路徑中的
單段鏈路節點到節點的傳送
, 數據報在不同的路徑鏈路上可能由不同鏈路層協議承載.
網絡層任務是將運輸層報文段從源主機端到端的傳送到目的主機, 而數據鏈路層任務是將網絡層的數據通過路徑中的單段鏈路節點到節點的傳送
, 數據報在不同的路徑鏈路上可能由不同鏈路層協議承載.
鏈路層(軟硬件的結合體)的主體部分是在
網絡適配器
中實現的
兩種類型的網絡鏈路:
- 點對點鏈路(PPP和HDLC)
- 廣播鏈路(如何卸掉多個發送和接受節點對一個共享廣播信道的訪問,
多路訪問協議
)
5.1. 多路訪問協議
- 信號劃分協議(TDM, FDM, CDMA)
- 隨機接入協議(ALOHA協議, CSMA協議)
- 輪流協議(輪詢協議, 令牌傳遞協議)
5.2. 鏈路層編址/ARP協議
每個節點的是配置具有鏈路層地址(MAC地址)
ARP協議將一個IP地址解析爲MAC地址
5.3. PPP協議
點對點協議是運行於點對點鏈路之上的鏈路層協議
原文地址:計算機網絡自定向下方法讀書筆記,感謝原作者分享。