前言
了解計算機網絡知識點,看這36張圖就可以了。
01
計算機網絡概述

1.1 計算機網絡的分類
按照網絡的作用範圍:
廣域網(WAN)
城域網(MAN)
局域網(LAN)
按照網絡使用者:
公用網絡
專用網絡
1.2 計算機網絡的層次結構

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

1.3 層次結構設計的基本原則
各層之間是相互獨立的;
每一層需要有足夠的靈活性;
各層之間完全解耦。

1.4 計算機網絡的性能指標
速率:bps=bit/s 時延:發送時延、傳播時延、排隊時延、處理時延 往返時間RTT:數據報文在端到端通信中的來回一次的時間。
02
物理層
2.1 物理層的作用:
連接不同的物理設備,傳輸比特流。該層為上層協議提供了一個傳輸數據的可靠的物理媒體。簡單的說,物理層確保原始的數據可在各種物理媒體上傳輸。
2.2 物理層設備:
中繼器【Repeater,也叫放大器】:同一局域網的再生信號;兩端口的網段必須同一協議;5-4-3規程:10BASE-5以太網中,最多串聯4個中繼器,5段中只能有3個連接主機;
集線器:同一局域網的再生、放大信號(多端口的中繼器);半雙工,不能隔離衝突域也不能隔離廣播域。
信道的基本概念:信道是往一個方向傳輸信息的媒體,一條通信電路包含一個發送信道和一個接受信道。
單工通信信道:只能一個方向通信,沒有反方向反饋的信道;
半雙工通信信道:雙方都可以發送和接受信息,但不能同時發送也不能同時接收;
全雙工通信信道:雙方都可以同時發送和接收。
03
數據鏈路層
3.1 數據鏈路層概述
數據鏈路層在物理層提供的服務的基礎上向網絡層提供服務,其最基本的服務是將源自網絡層來的數據可靠地傳輸到相鄰節點的目標機網絡層。數據鏈路層在不可靠的物理介質上提供可靠的傳輸。
該層的作用包括:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等。
有關數據鏈路層的重要知識點:
數據鏈路層為網絡層提供可靠的數據傳輸;
基本數據單位為幀;
主要的協議:以太網協議;
兩個重要設備名稱:網橋和交換機。
封裝成幀:「幀」是數據鏈路層數據的基本單位:

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

3.2 數據鏈路層的差錯監測
差錯檢測:奇偶校驗碼、循環冗餘校驗碼CRC
奇偶校驗碼–局限性:當出錯兩位時,檢測不到錯誤。
循環冗餘檢驗碼:根據傳輸或保存的數據而產生固定位數校驗碼。
3.3 最大傳輸單元MTU
最大傳輸單元MTU(Maximum Transmission Unit),數據鏈路層的數據幀不是無限大的,數據幀長度受MTU限制.

3.4 以太網協議詳解
MAC地址:每一個設備都擁有唯一的MAC地址,共48位,使用十六進制表示。
以太網協議:是一種使用廣泛的局域網技術,是一種應用於數據鏈路層的協議,使用以太網可以完成相鄰設備的數據幀傳輸:

局域網分類:
Ethernet以太網IEEE802.3:
以太網第一個廣泛部署的高速局域網
以太網數據速率快
以太網硬件價格便宜,網絡造價成本低
以太網幀結構:
類型:標識上層協議(2字節)
目的地址和源地址:MAC地址(每個6字節)
數據:封裝的上層協議的分組(46~1500字節)
CRC:循環冗餘碼(4字節)
以太網最短幀:以太網幀最短64字節;以太網幀除了數據部分18字節;數據最短46字節;
MAC地址(物理地址、局域網地址)
MAC地址長度為6字節,48位;
MAC地址具有唯一性,每個網絡適配器對應一個MAC地址;
通常採用十六進制表示法,每個字節表示一個十六進制數,用 - 或 : 連接起來;
MAC廣播地址:FF-FF-FF-FF-FF-FF。
04
網絡層
網絡層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括尋址和路由選擇、連接的建立、保持和終止等。數據交換技術是報文交換(基本上被分組所替代):採用儲存轉發方式,數據交換單位是報文。
網絡層中涉及眾多的協議,其中包括最重要的協議,也是TCP/IP的核心協議——IP協議。IP協議非常簡單,僅僅提供不可靠、無連接的傳送服務。IP協議的主要功能有:無連接數據報傳輸、數據報路由選擇和差錯控制。
與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、因特網報文協議ICMP、因特網組管理協議IGMP。具體的協議我們會在接下來的部分進行總結,有關網絡層的重點為:
【1】網絡層負責對子網間的數據包進行路由選擇。此外,網絡層還可以實現擁塞控制、網際互連等功能;
【2】基本數據單位為IP數據報;
【3】包含的主要協議:
IP協議(Internet Protocol,因特網互聯協議);
ICMP協議(Internet Control Message Protocol,因特網控制報文協議);
ARP協議(Address Resolution Protocol,地址解析協議);
RARP協議(Reverse Address Resolution Protocol,逆地址解析協議)。
【4】重要的設備:路由器。

路由器相關協議

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

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

其中,版本指IP協議的版本,占4位,如IPv4和IPv6;首部位長度表示IP首部長度,占4位,最大數值位15;總長度表示IP數據報總長度,占16位,最大數值位65535;TTL表示IP數據報文在網絡中的壽命,占8位;協議表明IP數據所攜帶的具體數據是什麼協議的,如TCP、UDP。
4.2 IP協議的轉發流程

4.3 IP地址的子網劃分

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

4.4 網絡地址轉換NAT技術
用於多個主機通過一個公有IP訪問訪問互聯網的私有網絡中,減緩了IP地址的消耗,但是增加了網絡通信的複雜度。
NAT 工作原理:
從內網出去的IP數據報,將其IP地址替換為NAT服務器擁有的合法的公共IP地址,並將替換關係記錄到NAT轉換表中;
4.5 ARP協議與RARP協議
地址解析協議 ARP(Address Resolution Protocol):為網卡(網絡適配器)的IP地址到對應的硬件地址提供動態映射。可以把網絡層32位地址轉化為數據鏈路層MAC48位地址。
ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。

RARP(Reverse Address Resolution Protocol)協議指逆地址解析協議,可以把數據鏈路層MAC48位地址轉化為網絡層32位地址。
4.6 ICMP協議詳解
網際控制報文協議(Internet Control Message Protocol),可以報告錯誤信息或者異常情況,ICMP報文封裝在IP數據報當中。

ICMP協議的應用:
Ping應用:網絡故障的排查;
Traceroute應用:可以探測IP數據報在網絡中走過的路徑。
4.7網絡層的路由概述
關於路由算法的要求:正確的完整的、在計算上應該儘可能是簡單的、可以適應網絡中的變化、穩定的公平的。
自治系統AS:指處於一個管理機構下的網絡設備群,AS內部網絡自治管理,對外提供一個或多個出入口,其中自治系統內部的路由協議為內部網關協議,如RIP、OSPF等;自治系統外部的路由協議為外部網關協議,如BGP。
靜態路由:人工配置,難度和複雜度高;
動態路由:
鏈路狀態路由選擇算法LS:向所有隔壁路由發送信息收斂快;全局式路由選擇算法,每個路由器計算路由時,需構建整個網絡拓撲圖;利用Dijkstra算法求源端到目的端網絡的最短路徑;Dijkstra(迪傑斯特拉)算法
距離-向量路由選擇算法DV:向所有隔壁路由發送信息收斂慢、會存在迴路;基礎是Bellman-Ford方程(簡稱B-F方程);
4.8 內部網關路由協議之RIP協議
路由信息協議 RIP(Routing Information Protocol)【應用層】,基於距離-向量的路由選擇算法,較小的AS(自治系統),適合小型網絡;RIP報文,封裝進UDP數據報。
RIP協議特性:
RIP在度量路徑時採用的是跳數(每個路由器維護自身到其他每個路由器的距離記錄);
RIP的費用定義在源路由器和目的子網之間;
RIP被限制的網絡直徑不超過15跳;
和隔壁交換所有的信息,30主動一次(廣播)。
4.9 內部網關路由協議之OSPF協議
開放最短路徑優先協議 OSPF(Open Shortest Path First)【網絡層】,基於鏈路狀態的路由選擇算法(即Dijkstra算法),較大規模的AS ,適合大型網絡,直接封裝在IP數據報傳輸。
OSPF協議優點:
安全;
支持多條相同費用路徑;
支持區別化費用度量;
支持單播路由和多播路由;
分層路由。
RIP與OSPF的對比(路由算法決定其性質):

4.10外部網關路由協議之BGP協議
BGP(Border Gateway Protocol)邊際網關協議
【應用層】:是運行在AS之間的一種協議,尋找一條好路由:首次交換全部信息,以後只交換變化的部分,BGP封裝進TCP報文段.
05
傳輸層
第一個端到端,即主機到主機的層次。傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯控制和流量控制問題。
傳輸層的任務是根據通信子網的特性,最佳的利用網絡資源,為兩個端系統的會話層之間,提供建立、維護和取消傳輸連接的功能,負責端到端的可靠數據傳輸。在這一層,信息傳送的協議數據單元稱為段或報文。
有關網絡層的重點:
傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸以及端到端的差錯控制和流量控制問題;
包含的主要協議:TCP協議(Transmission Control Protocol,傳輸控制協議)、UDP協議(User Datagram Protocol,用戶數據報協議);
重要設備:網關。


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

UDP協議的特點:
UDP是無連接協議;
UDP不能保證可靠的交付數據;
UDP是面向報文傳輸的;
UDP沒有擁塞控制;
UDP首部開銷很小。
UDP數據報結構:
首部:8B,四字段/2B【源端口 | 目的端口 | UDP長度 | 校驗和】 數據字段:應用數據

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

TCP協議的功能:
對應用層報文進行分段和重組;
面向應用層實現復用與分解;
實現端到端的流量控制;
擁塞控制;
傳輸層尋址;
對收到的報文進行差錯檢測(首部和數據部分都檢錯);
實現進程間的端到端可靠數據傳輸控制。
TCP協議的特點:
TCP是面向連接的協議;
TCP是面向字節流的協議;
TCP的一個連接有兩端,即點對點通信;
TCP提供可靠的傳輸服務;
TCP協議提供全雙工通信(每條TCP連接只能一對一);
最大報文段長度:報文段中封裝的應用層數據的最大長度。

TCP首部:
序號字段:TCP的序號是對每個應用層數據的每個字節進行編號
確認序號字段:期望從對方接收數據的字節序號,即該序號對應的字節尚未收到。用ack_seq標識;
TCP段的首部長度最短是20B ,最長為60字節。但是長度必須為4B的整數倍
TCP標記的作用:

5.3 可靠傳輸的基本原理
基本原理:
不可靠傳輸信道在數據傳輸中可能發生的情況:比特差錯、亂序、重傳、丟失
基於不可靠信道實現可靠數據傳輸採取的措施:
差錯檢測:利用編碼實現數據包傳輸過程中的比特
差錯檢測 確認:接收方向發送方反饋接收狀態
重傳:發送方重新發送接收方沒有正確接收的數據
序號:確保數據按序提交
計時器:解決數據丟失問題;
停止等待協議:是最簡單的可靠傳輸協議,但是該協議對信道的利用率不高。
連續ARQ(Automatic Repeat reQuest:自動重傳請求)
協議:滑動窗口+累計確認,大幅提高了信道的利用率。
TCP協議的可靠傳輸
基於連續ARQ協議,在某些情況下,重傳的效率並不高,會重複傳輸部分已經成功接收的字節。
TCP協議的流量控制
流量控制:讓發送方發送速率不要太快,TCP協議使用滑動窗口實現流量控制。

5.4 TCP協議的擁塞控制
擁塞控制與流量控制的區別:流量控制考慮點對點的通信量的控制,而擁塞控制考慮整個網絡,是全局性的考慮。
擁塞控制的方法:慢啟動算法+擁塞避免算法。
慢開始和擁塞避免:
【慢開始】擁塞窗口從1指數增長;
到達閾值時進入【擁塞避免】,變成+1增長;
【超時】,閾值變為當前cwnd的一半(不能<2);
再從【慢開始】,擁塞窗口從1指數增長。

快重傳和快恢復:
發送方連續收到3個冗餘ACK,執行【快重傳】,不必等計時器超時;
執行【快恢復】,閾值變為當前cwnd的一半(不能<2),並從此新的ssthresh點進入【擁塞避免】。

5.5 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狀態;第三次握手可攜帶數據;

5.6 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?
最後一個報文沒有確認;
確保發送方的ACK可以到達接收方;
2MSL時間內沒有收到,則接收方會重發;
確保當前連接的所有報文都已經過期。
06
應用層
為操作系統或網絡應用程序提供訪問網絡服務的接口。
應用層重點:
數據傳輸基本單位為報文;
包含的主要協議:FTP(文件傳送協議)、Telnet(遠程登錄協議)、DNS(域名解析協議)、SMTP(郵件傳送協議),POP3協議(郵局協議),HTTP協議(Hyper Text Transfer Protocol)。
6.1 DNS詳解
DNS(Domain Name System:域名系統)【C/S,UDP,端口53】:解決IP地址複雜難以記憶的問題,存儲並完成自己所管轄範圍內主機的 域名 到 IP 地址的映射。
域名解析的順序:
【1】瀏覽器緩存,
【2】找本機的hosts文件,
【3】路由緩存,
【4】找DNS服務器(本地域名、頂級域名、根域名)->迭代解析、遞歸查詢。
域名由點、字母和數字組成,分為頂級域(com,cn,net,gov,org)、二級域(baidu,taobao,qq,alibaba)、三級域(www)(12-2-0852)

6.2 DHCP協議詳解
DHCP(Dynamic Configuration Protocol:動態主機設置協議):是一個局域網協議,是應用UDP協議的應用層協議。作用:為臨時接入局域網的用戶自動分配IP地址。
6.3 HTTP協議詳解
文件傳輸協議(FTP):控制連接(端口21):傳輸控制信息(連接、傳輸請求),以7位ASCII碼的格式。整個會話期間一直打開。
HTTP(HyperText Transfer Protocol:超文本傳輸協議)【TCP,端口80】:是可靠的數據傳輸協議,瀏覽器向服務器發收報文前,先建立TCP連接,HTTP使用TCP連接方式(HTTP自身無連接)。
HTTP請求報文方式:
GET:請求指定的頁面信息,並返回實體主體;
POST:向指定資源提交數據進行處理請求;
DELETE:請求服務器刪除指定的頁面;
HEAD:請求讀取URL標識的信息的首部,只返回報文頭;
OPETION:請求一些選項的信息;
PUT:在指明的URL下存儲一個文檔。


HTTP工作的結構

HTTPS協議詳解
HTTPS(Secure)是安全的HTTP協議,端口號443。基於HTTP協議,通過SSL或TLS提供加密處理數據、驗證對方身份以及數據完整性保護。
註:如有侵權請聯繫刪除
熱文推薦
藍隊應急響應姿勢之Linux
通過DNSLOG回顯驗證漏洞
記一次服務器被種挖礦溯源
內網滲透初探 | 小白簡單學習內網滲透
實戰|通過惡意 pdf 執行 xss 漏洞
免殺技術有一套(免殺方法大集結)(Anti-AntiVirus)
內網滲透之內網信息查看常用命令
關於漏洞的基礎知識
任意賬號密碼重置的6種方法
乾貨 | 橫向移動與域控權限維持方法總匯
手把手教你Linux提權
歡迎關注LemonSec
覺得不錯點個「贊」、「在看」