1. 程式人生 > 其它 >圖解:計算機網路知識點

圖解:計算機網路知識點

一、計算機網路概述

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個連線主機;
  • 集線器:同一區域網的再生、放大訊號(多埠的中繼器);半雙工,不能隔離衝突域也不能隔離廣播域。

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

  1. 單工通訊通道:只能一個方向通訊,沒有反方向反饋的通道;
  2. 半雙工通訊通道:雙方都可以傳送和接受資訊,但不能同時傳送也不能同時接收;
  3. 全雙工通訊通道:雙方都可以同時傳送和接收。

三、資料鏈路層

3.1 資料鏈路層概述

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

該層的作用包括:實體地址定址、資料的成幀、流量控制、資料的檢錯、重發等。

有關資料鏈路層的重要知識點:

  1. 資料鏈路層為網路層提供可靠的資料傳輸;
  2. 基本資料單位為幀;
  3. 主要的協議:乙太網協議;
  4. 兩個重要裝置名稱:網橋和交換機。

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

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

3.2 資料鏈路層的差錯監測

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

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

  2. 迴圈冗餘檢驗碼:根據傳輸或儲存的資料而產生固定位數校驗碼。

3.3 最大傳輸單元MTU

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

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

3.4 乙太網協議詳解

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

乙太網協議:是一種使用廣泛的區域網技術,是一種應用於資料鏈路層的協議,使用乙太網可以完成相鄰裝置的資料幀傳輸:

區域網分類:

Ethernet乙太網IEEE802.3:

  1. 乙太網第一個廣泛部署的高速區域網
  2. 乙太網資料速率快
  3. 乙太網硬體價格便宜,網路造價成本低

乙太網幀結構:

  1. 型別:標識上層協議(2位元組)
  2. 目的地址和源地址:MAC地址(每個6位元組)
  3. 資料:封裝的上層協議的分組(46~1500位元組)
  4. CRC:迴圈冗餘碼(4位元組)
  5. 乙太網最短幀:乙太網幀最短64位元組;乙太網幀除了資料部分18位元組;資料最短46位元組;

MAC地址(實體地址、區域網地址)

  1. MAC地址長度為6位元組,48位;
  2. MAC地址具有唯一性,每個網路介面卡對應一個MAC地址;
  3. 通常採用十六進位制表示法,每個位元組表示一個十六進位制數,用 - 或 : 連線起來;
  4. 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,逆地址解析協議)。
  1. 重要的裝置:路由器。

路由器相關協議

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。

靜態路由:人工配置,難度和複雜度高;

動態路由:

  1. 鏈路狀態路由選擇演算法LS:向所有隔壁路由傳送資訊收斂快;全域性式路由選擇演算法,每個路由器計算路由時,需構建整個網路拓撲圖;利用Dijkstra演算法求源端到目的端網路的(歡迎關注公眾號:網路工程師阿龍)最短路徑;Dijkstra(迪傑斯特拉)演算法
  2. 距離-向量路由選擇演算法DV:向所有隔壁路由傳送資訊收斂慢、會存在迴路;基礎是Bellman-Ford方程(簡稱B-F方程);

4.8 內部閘道器路由協議之RIP協議

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

RIP協議特性:

  1. RIP在度量路徑時採用的是跳數(每個路由器維護自身到其他每個路由器的距離記錄);
  2. RIP的費用定義在源路由器和目的子網之間;
  3. RIP被限制的網路直徑不超過15跳;
  4. 和隔壁交換所有的資訊,30主動一次(廣播)。

4.9 內部閘道器路由協議之OSPF協議

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

OSPF協議優點:

  1. 安全;
  2. 支援多條相同費用路徑;
  3. 支援區別化費用度量;
  4. 支援單播路由和多播路由;
  5. 分層路由。

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

4.10外部閘道器路由協議之BGP協議

BGP(Border Gateway Protocol)邊際閘道器協議【應用層】:是執行在AS之間的一種協議,尋找一條好路由:首次交換全部資訊,以後只交換變化的部分,BGP封裝進TCP報文段.

五、傳輸層

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

傳輸層的任務是根據通訊子網的特性,最佳的利用網路資源,為兩個端系統的會話層之間,提供建立、(歡迎關注公眾號:網路工程師阿龍)維護和取消傳輸連線的功能,負責端到端的可靠資料傳輸。在這一層,資訊傳送的協議資料單元稱為段或報文。

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


 

有關網路層的重點:

  1. 傳輸層負責將上層資料分段並提供端到端的、可靠的或不可靠的傳輸以及端到端的差錯控制和流量控制問題;
  2. 包含的主要協議:TCP協議(Transmission Control Protocol,傳輸控制協議)、UDP協議(User Datagram Protocol,使用者資料報協議);
  3. 重要裝置:閘道器。

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協議的功能:

  1. 對應用層報文進行分段和重組;
  2. 面向應用層實現複用與分解;
  3. 實現端到端的流量控制;
  4. 擁塞控制;
  5. 傳輸層定址;
  6. 對收到的報文進行差錯檢測(首部和資料部分都檢錯);
  7. 實現程序間的端到端可靠資料傳輸控制。

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指數增長;
  2. 到達閾值時進入【擁塞避免】,變成+1增長;
  3. 【超時】,閾值變為當前cwnd的一半(不能<2);
  4. 再從【慢開始】,擁塞視窗從1指數增長。

快重傳和快恢復:

  1. 傳送方連續收到3個冗餘ACK,執行【快重傳】,不必等計時器超時;

  2. 執行【快恢復】,閾值變為當前cwnd的一半(不能<2),並從此新的ssthresh點進入【擁塞避免】。

5.5 TCP連線的三次握手(重要)

TCP三次握手使用指令:

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

  1. 第一次握手:客戶傳送請求,此時伺服器知道客戶能發;
  2. 第二次握手:伺服器傳送確認,此時客戶知道伺服器能發能收;
  3. 第三次握手:客戶傳送確認,此時伺服器知道客戶能收。

建立連線(三次握手):

第一次:客戶向伺服器傳送連線請求段,建立連線請求控制段(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?

  1. 最後一個報文沒有確認;
  2. 確保傳送方的ACK可以到達接收方;
  3. 2MSL時間內沒有收到,則接收方會重發;
  4. 確保當前連線的所有報文都已經過期。

六、應用層

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

  1. 資料傳輸基本單位為報文;
  2. 包含的主要協議: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伺服器(本地域名、頂級域名、根域名)->迭代解析、遞迴查詢。
  1. IP—>DNS服務—>便於記憶的域名

  2. 域名由點、字母和數字組成,分為頂級域(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請求報文方式:

  1. GET:請求指定的頁面資訊,並返回實體主體;
  2. POST:向指定資源提交資料進行處理請求;
  3. DELETE:請求伺服器刪除指定的頁面;
  4. HEAD:請求讀取URL標識的資訊的首部,只返回報文頭;
  5. OPETION:請求一些選項的資訊;
  6. PUT:在指明的URL下儲存一個文件。

6.3.1 HTTP工作的結構

6.3.2 HTTPS協議詳解

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

原文連結 https://blog.csdn.net/Royalic/article/details/119985591

 ---END---