36 張圖,一次性補全網絡基礎知識

OSI 和 TCP/IP 是很基礎但又非常重要的知識,很多知識點都是以它們爲基礎去串聯的,作爲底層,掌握得越透徹,理解上層時會越順暢。今天這篇網絡基礎科普,就是根據 OSI 層級去逐一展開的。

01 計算機網絡基礎

01 計算機網絡的分類

按照網絡的作用範圍:廣域網(WAN)、城域網(MAN)、局域網(LAN);

按照網絡使用者:公用網絡、專用網絡。

02 計算機網絡的層次結構

TCP/IP 四層模型與 OSI 體系結構對比:

03 層次結構設計的基本原則

04 計算機網絡的性能指標

速率:bps=bit/s;

時延:發送時延、傳播時延、排隊時延、處理時延;

往返時間 RTT:數據報文在端到端通信中的來回一次的時間。

02 物理層

物理層的作用:

連接不同的物理設備,傳輸比特流。該層爲上層協議提供了一個傳輸數據的可靠的物理媒體。簡單的說,物理層確保原始的數據可在各種物理媒體上傳輸。

物理層設備:

信道的基本概念:信道是往一個方向傳輸信息的媒體,一條通信電路包含一個發送信道和一個接受信道。

03

數據鏈路層

01 數據鏈路層概述

數據鏈路層在物理層提供的服務的基礎上向網絡層提供服務,其最基本的服務是將源自網絡層來的數據可靠地傳輸到相鄰節點的目標機網絡層。數據鏈路層在不可靠的物理介質上提供可靠的傳輸。

該層的作用包括:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等。

有關數據鏈路層的重要知識點:

封裝成幀:“幀” 是數據鏈路層數據的基本單位:

透明傳輸:“透明” 是指即使控制字符在幀數據中,但是要當做不存在去處理。即在控制字符前加上轉義字符 ESC。

02 數據鏈路層的差錯監測

差錯檢測:奇偶校驗碼、循環冗餘校驗碼 CRC

03 最大傳輸單元 MTU

最大傳輸單元 MTU(Maximum Transmission Unit),數據鏈路層的數據幀不是無限大的,數據幀長度受 MTU 限制。

路徑 MTU:由鏈路中 MTU 的最小值決定。

04 以太網協議詳解

MAC 地址:每一個設備都擁有唯一的 MAC 地址,共 48 位,使用十六進制表示。

以太網協議:是一種使用廣泛的局域網技術,是一種應用於數據鏈路層的協議,使用以太網可以完成相鄰設備的數據幀傳輸:

局域網分類:

Ethernet 以太網 IEEE802.3

以太網幀結構

MAC 地址(物理地址、局域網地址)

04 網絡層

網絡層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括尋址和路由選擇、連接的建立、保持和終止等。數據交換技術是報文交換(基本上被分組所替代):採用儲存轉發方式,數據交換單位是報文。

網絡層中涉及衆多的協議,其中包括最重要的協議,也是 TCP/IP 的核心協議——IP 協議。IP 協議非常簡單,僅僅提供不可靠、無連接的傳送服務。IP 協議的主要功能有:無連接數據報傳輸、數據報路由選擇和差錯控制。

與 IP 協議配套使用實現其功能的還有地址解析協議 ARP、逆地址解析協議 RARP、因特網報文協議 ICMP、因特網組管理協議 IGMP。

具體的協議我們會在接下來的部分進行總結,有關網絡層的重點爲:

1、網絡層負責對子網間的數據包進行路由選擇。此外,網絡層還可以實現擁塞控制、網際互連等功能;

2、基本數據單位爲 IP 數據報;

3、包含的主要協議:

4、重要的設備:路由器。

路由器相關協議:

01 IP 協議詳解

IP 網際協議是 Internet 網絡層最核心的協議。

虛擬互聯網絡的產生:實際的計算機網絡錯綜複雜;物理設備通過使用 IP 協議,屏蔽了物理網絡之間的差異;當網絡中主機使用 IP 協議連接時,無需關注網絡細節,於是形成了虛擬網絡。

IP 協議使得複雜的實際網絡變爲一個虛擬互聯的網絡;並且解決了在虛擬網絡中數據報傳輸路徑的問題。

其中,版本指 IP 協議的版本,佔 4 位,如 IPv4 和 IPv6;

首部位長度表示 IP 首部長度,佔 4 位,最大數值位 15;

總長度表示 IP 數據報總長度,佔 16 位,最大數值位 65535;

TTL 表示 IP 數據報文在網絡中的壽命,佔 8 位;

協議表明 IP 數據所攜帶的具體數據是什麼協議的,如 TCP、UDP。

02 IP 協議的轉發流程

03 IP 地址的子網劃分

A 類(8 網絡號 + 24 主機號)、B 類(16 網絡號 + 16 主機號)、C 類(24 網絡號 + 8 主機號)可以用於標識網絡中的主機或路由器,D 類地址作爲組廣播地址,E 類是地址保留。

04 網絡地址轉換 NAT 技術

用於多個主機通過一個公有 IP 訪問訪問互聯網的私有網絡中,減緩了 IP 地址的消耗,但是增加了網絡通信的複雜度。

NAT 工作原理:

從內網出去的 IP 數據報,將其 IP 地址替換爲 NAT 服務器擁有的合法的公共 IP 地址,並將替換關係記錄到 NAT 轉換表中;

從公共互聯網返回的 IP 數據報,依據其目的的 IP 地址檢索 NAT 轉換表,並利用檢索到的內部私有 IP 地址替換目的 IP 地址,然後將 IP 數據報轉發到內部網絡。

05 ARP 協議與 RARP 協議

地址解析協議 ARP(Address Resolution Protocol):爲網卡(網絡適配器)的 IP 地址到對應的硬件地址提供動態映射。可以把網絡層 32 位地址轉化爲數據鏈路層 MAC48 位地址。

ARP 是即插即用的,一個 ARP 表是自動建立的,不需要系統管理員來配置。

RARP(Reverse Address Resolution Protocol) 協議指逆地址解析協議,可以把數據鏈路層 MAC48 位地址轉化爲網絡層 32 位地址。

06 ICMP 協議詳解

網際控制報文協議(Internet Control Message Protocol),可以報告錯誤信息或者異常情況,ICMP 報文封裝在 IP 數據報當中。

ICMP 協議的應用:

07 網絡層的路由概述

關於路由算法的要求:

正確的完整的、在計算上應該儘可能是簡單的、可以適應網絡中的變化、穩定的公平的。

自治系統 AS:

指處於一個管理機構下的網絡設備羣,AS 內部網絡自治管理,對外提供一個或多個出入口,其中自治系統內部的路由協議爲內部網關協議,如 RIP、OSPF 等;自治系統外部的路由協議爲外部網關協議,如 BGP。

靜態路由:

人工配置,難度和複雜度高。

動態路由:

08 內部網關路由協議之 RIP 協議

路由信息協議 RIP(Routing Information Protocol)【應用層】,基於距離 - 向量的路由選擇算法,較小的 AS(自治系統),適合小型網絡;RIP 報文,封裝進 UDP 數據報。

RIP 協議特性:

09 內部網關路由協議之 OSPF 協議

開放最短路徑優先協議 OSPF(Open Shortest Path First)【網絡層】,基於鏈路狀態的路由選擇算法(即 Dijkstra 算法),較大規模的 AS ,適合大型網絡,直接封裝在 IP 數據報傳輸。

OSPF 協議優點:

RIP 與 OSPF 的對比(路由算法決定其性質):

10** 外部網關路由協議之 BGP 協議**

BGP(Border Gateway Protocol)邊際網關協議【應用層】:是運行在 AS 之間的一種協議, 尋找一條好路由:首次交換全部信息,以後只交換變化的部分, BGP 封裝進 TCP 報文段。

0*5 傳輸層

第一個端到端,即主機到主機的層次。傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸。

此外,傳輸層還要處理端到端的差錯控制和流量控制問題。

傳輸層的任務是根據通信子網的特性,最佳的利用網絡資源,爲兩個端系統的會話層之間,提供建立、維護和取消傳輸連接的功能,負責端到端的可靠數據傳輸。

在這一層,信息傳送的協議數據單元稱爲段或報文。

網絡層只是根據網絡地址將源結點發出的數據包傳送到目的結點,而傳輸層則負責將數據可靠地傳送到相應的端口。

有關網絡層的重點:

01 UDP 協議詳解

UDP(User Datagram Protocol: 用戶數據報協議),是一個非常簡單的協議。

UDP 協議的特點:

UDP 數據報結構:

首部: 8B,四字段 / 2B【源端口 | 目的端口 | UDP 長度 | 校驗和】 數據字段:應用數據。

02 TCP 協議詳解

TCP(Transmission Control Protocol: 傳輸控制協議),是計算機網絡中非常複雜的一個協議。

TCP 協議的功能:

TCP 協議的特點:

TCP 報文段結構:

最大報文段長度:報文段中封裝的應用層數據的最大長度。

TCP 首部:

TCP 標記的作用:

03 可靠傳輸的基本原理

基本原理:

差錯檢測:利用編碼實現數據包傳輸過程中的比特差錯檢測。

確認:接收方向發送方反饋接收狀態。

重傳:發送方重新發送接收方沒有正確接收的數據。 

序號:確保數據按序提交。 

計時器:解決數據丟失問題。

停止等待協議:是最簡單的可靠傳輸協議,但是該協議對信道的利用率不高。

連續 ARQ(Automatic Repeat reQuest:自動重傳請求) 協議:滑動窗口 + 累計確認,大幅提高了信道的利用率。

TCP 協議的可靠傳輸:

基於連續 ARQ 協議,在某些情況下,重傳的效率並不高,會重複傳輸部分已經成功接收的字節。

TCP 協議的流量控制:

流量控制:讓發送方發送速率不要太快,TCP 協議使用滑動窗口實現流量控制。

04 TCP 協議的擁塞控制

擁塞控制與流量控制的區別:

流量控制考慮點對點的通信量的控制,而擁塞控制考慮整個網絡,是全局性的考慮。擁塞控制的方法:慢啓動算法 + 擁塞避免算法。

慢開始和擁塞避免:

快重傳和快恢復:

05 TCP 連接的三次握手(重要)

TCP 三次握手使用指令:

面試常客:爲什麼需要三次握手?

建立連接(三次握手):

第一次:客戶向服務器發送連接請求段,建立連接請求控制段(SYN=1),表示傳輸的報文段的第一個數據字節的序列號是 x,此序列號代表整個報文段的序號(seq=x);客戶端進入 SYN_SEND (同步發送狀態);

第二次:服務器發回確認報文段,同意建立新連接的確認段(SYN=1),確認序號字段有效(ACK=1),服務器告訴客戶端報文段序號是 y(seq=y),表示服務器已經收到客戶端序號爲 x 的報文段,準備接受客戶端序列號爲 x+1 的報文段(ack_seq=x+1);服務器由 LISTEN 進入 SYN_RCVD (同步收到狀態);

第三次:客戶對服務器的同一連接進行確認. 確認序號字段有效 (ACK=1), 客戶此次的報文段的序列號是 x+1(seq=x+1), 客戶期望接受服務器序列號爲 y+1 的報文段 (ack_seq=y+1); 當客戶發送 ack 時,客戶端進入 ESTABLISHED 狀態; 當服務收到客戶發送的 ack 後,也進入 ESTABLISHED 狀態; 第三次握手可攜帶數據。

06 TCP 連接的四次揮手(重要)

釋放連接(四次揮手)

第一次:客戶向服務器發送釋放連接報文段,發送端數據發送完畢,請求釋放連接(FIN=1),傳輸的第一個數據字節的序號是 x(seq=x);客戶端狀態由 ESTABLISHED 進入 FIN_WAIT_1(終止等待 1 狀態);

第二次:服務器向客戶發送確認段,確認字號段有效(ACK=1),服務器傳輸的數據序號是 y(seq=y),服務器期望接收客戶數據序號爲 x+1(ack_seq=x+1); 服務器狀態由 ESTABLISHED 進入 CLOSE_WAIT(關閉等待);客戶端收到 ACK 段後,由 FIN_WAIT_1 進入 FIN_WAIT_2;

第三次:服務器向客戶發送釋放連接報文段,請求釋放連接(FIN=1),確認字號段有效(ACK=1),表示服務器期望接收客戶數據序號爲 x+1(ack_seq=x+1); 表示自己傳輸的第一個字節序號是 y+1(seq=y+1);服務器狀態由 CLOSE_WAIT 進入 LAST_ACK (最後確認狀態);

第四次:客戶向服務器發送確認段,確認字號段有效(ACK=1),表示客戶傳輸的數據序號是 x+1(seq=x+1),表示客戶期望接收服務器數據序號爲 y+1+1(ack_seq=y+1+1);客戶端狀態由 FIN_WAIT_2 進入 TIME_WAIT,等待 2MSL 時間,進入 CLOSED 狀態;服務器在收到最後一次 ACK 後,由 LAST_ACK 進入 CLOSED。

爲什麼需要等待 2MSL?

06 應用層

爲操作系統或網絡應用程序提供訪問網絡服務的接口。應用層重點:

01 DNS 詳解

DNS(Domain Name System: 域名系統)【C/S,UDP,端口 53】:解決 IP 地址複雜難以記憶的問題, 存儲並完成自己所管轄範圍內主機的 域名 到 IP 地址的映射。

域名解析的順序:

IP—>DNS 服務—> 便於記憶的域名。

域名由點、字母和數字組成,分爲頂級域(com,cn,net,gov,org)、二級域(baidu,taobao,qq,alibaba)、三級域(www)(12-2-0852)。

02 DHCP 協議詳解

DHCP(Dynamic Configuration Protocol: 動態主機設置協議):是一個局域網協議,是應用 UDP 協議的應用層協議。作用:爲臨時接入局域網的用戶自動分配 IP 地址。

03 HTTP 協議詳解

文件傳輸協議(FTP):控制連接(端口 21):傳輸控制信息(連接、傳輸請求),以 7 位 ASCII 碼的格式。整個會話期間一直打開。

HTTP(HyperText Transfer Protocol: 超文本傳輸協議)【TCP,端口 80】:是可靠的數據傳輸協議,瀏覽器向服務器發收報文前,先建立 TCP 連接,HTTP 使用 TCP 連接方式(HTTP 自身無連接)。

HTTP 請求報文方式:

(1)HTTP 工作的結構

(2) HTTPS 協議詳解

HTTPS(Secure) 是安全的 HTTP 協議,端口號 443。基於 HTTP 協議,通過 SSL 或 TLS 提供加密處理數據、驗證對方身份以及數據完整性保護。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/gZrzmqSWRxkBnpqXBsj8tg