天天看點

圖解:計算機網絡知識點!弱電人必收藏!

作者:智能化弱電圈

一、計算機網絡概述

圖解:計算機網絡知識點!弱電人必收藏!

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提供加密處理資料、驗證對方身份以及資料完整性保護。

繼續閱讀