當前位置: 妍妍網 > 碼農

36張圖詳解電腦網路知識點,值得收藏學習!

2024-04-30碼農

弱電學習圈VIP群8群已經建立 ,歡迎大家進群後討論技術問題,設計方案,投標、施工,工程合作,產品對接等方面,都可以。其中 VIP群 裏大部份人員都是工程商,施工分包商,設計院設計師,公司老板,技術總監、廠家、甲方等。

一、電腦網路概述

1.1 電腦網路的分類

按照網路的作用範圍:廣域網路(WAN)、都會網路(MAN)、區域網路(LAN);

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

1.2 電腦網路的階層

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

1.3 階層設計的基本原則

  • 各層之間是相互獨立的;

  • 每一層需要有足夠的靈活性;

  • 各層之間完全解耦。

  • 1.4 電腦網路的效能指標

    速率:bps=bit/s 時延:發送時延、傳播時延、排隊時延、處理時延 往返時間RTT:資料包在端到端通訊中的來回一次的時間。

    二、實體層

    實體層的作用:連線不同的物理裝置,傳輸位元流。該層為上層協定提供了一個傳輸數據的可靠的物理媒體。簡單的說,實體層確保原始的數據可在各種物理媒體上傳輸。

    實體層裝置:

  • 中繼器【Repeater,也叫放大器】:同一區域網路的再生訊號;兩埠的網段必須同一協定;5-4-3規程:10BASE-5乙太網路中,最多串聯4個中繼器,5段中只能有3個連線主機;

  • 集線器:同一區域網路的再生、放大訊號(多埠的中繼器);半雙工,不能隔離沖突域也不能隔離廣播域。

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

  • 單工通訊通道:只能一個方向通訊,沒有反方向反饋的通道;

  • 半雙工通訊通道:雙方都可以發送和接受資訊,但不能同時發送也不能同時接收;

  • 全雙工通訊通道:雙方都可以同時發送和接收。

  • 三、數據鏈路層

    3.1 數據鏈路層概述

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

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

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

  • 數據鏈路層為網路層提供可靠的數據傳輸;

  • 基本數據單位為幀;

  • 主要的協定:乙太網路協定;

  • 兩個重要裝置名稱:網橋和交換機。

  • 封裝成幀:「幀」是 數據鏈路層 數據的基本單位:

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

    3.2 數據鏈路層的差錯監測

    差錯檢測:奇偶校驗碼、迴圈冗余校驗碼CRC

  • 奇偶校驗碼–局限性:當出錯兩位時,檢測不到錯誤。

  • 迴圈冗余檢驗碼:根據傳輸或保存的數據而產生固定位數校驗碼。

  • 3.3 最大傳輸單元MTU

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

    路徑MTU:由鏈路中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。

  • 四、網路層

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

    網路層中涉及眾多的協定,其中包括最重要的協定,也是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轉換表中;

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

    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報文段.

    五、傳輸層

    第一個端到端,即主機到主機的層次。傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯控制和流量控制問題。

    傳輸層的任務是根據通訊子網路的特性,最佳的利用網路資源,為兩個端系統的會話層之間,提供建立、維護和取消傳輸連線的功能,負責端到端的可靠數據傳輸。在這一層,資訊傳送的協定數據單元稱為段或報文。

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

    有關網路層的重點:

  • 傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸以及端到端的差錯控制和流量控制問題;

  • 包含的主要協定: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連線只能一對一);

  • 5.2.1 TCP報文段結構:

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

    TCP首部:

  • 序號欄位:TCP的序號是對每個套用層數據的每個字節進行編號

  • 確認序號欄位:期望從對方接收數據的字節序號,即該序號對應的字節尚未收到。用ack_seq標識;

  • TCP段的首部長度最短是20B ,最長為60字節。但是長度必須為4B的整數倍

  • TCP標記的作用:

    5.3 可靠傳輸的基本原理

    基本原理:

  • 不可靠傳輸通道在數據傳輸中可能發生的情況:位元差錯、亂序、重傳、遺失

  • 基於不可靠通道實作可靠數據傳輸采取的措施:

  • 差錯檢測:利用編碼實作封包傳輸過程中的位元差錯檢測 確認:接收方向發送方反饋接收狀態 重傳:發送方重新發送接收方沒有正確接收的數據 序號:確保數據按序送出 計時器:解決數據遺失問題;

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

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

    5.3.1TCP協定的可靠傳輸

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

    5.3.2 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時間內沒有收到,則接收方會重發;

  • 確保當前連線的所有報文都已經過期。

  • 六、套用層

    為作業系統或網路應用程式提供存取網路服務的介面。套用層重點:

  • 數據傳輸基本單位為報文;

  • 包含的主要協定: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伺服器(本地網域名稱、頂級網域名稱、根網域名稱)->叠代解析、遞迴查詢。

  • IP—>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下儲存一個文件。

  • 6.3.1 HTTP工作的結構
    6.3.2 HTTPS協定詳解

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