:圖解60個網絡基礎知識點 OSI和TCP/IP是很基礎但又非常重要的知識,很多知識點都是以它們為基礎去串聯的,作為底層,掌握得越透徹,理解上層時會越順暢。今天這篇網絡基礎科普,就是根據OSI層級去逐一展開的。1. 計算機網絡的分類
按照網絡的作用范圍:廣域網(WAN)、城域網(MAN)、局域網(LAN);2. 計算機網絡的層次結構
3. 層次結構設計的基本原則
4. 計算機網絡的性能指標
往返時間RTT:數據報文在端到端通信中的來回一次的時間。
連接不同的物理設備,傳輸比特流。該層為上層協議提供了一個傳輸數據的可靠的物理媒體。簡單的說,物理層確保原始的數據可在各種物理媒體上傳輸。- 中繼器【Repeater,也叫放大器】:同一局域網的再生信號;兩端口的網段必須同一協議;5-4-3規程:10BASE-5以太網中,最多串聯4個中繼器,5段中只能有3個連接主機;
- 集線器:同一局域網的再生、放大信號(多端口的中繼器);半雙工,不能隔離沖突域也不能隔離廣播域。
信道的基本概念:信道是往一個方向傳輸信息的媒體,一條通信電路包含一個發送信道和一個接受信道。- 單工通信信道:只能一個方向通信,沒有反方向反饋的信道;
- 半雙工通信信道:雙方都可以發送和接受信息,但不能同時發送也不能同時接收;
全雙工通信信道:雙方都可以同時發送和接收。
1. 數據鏈路層概述
數據鏈路層在物理層提供的服務的基礎上向網絡層提供服務,其最基本的服務是將源自網絡層來的數據可靠地傳輸到相鄰節點的目標機網絡層。數據鏈路層在不可靠的物理介質上提供可靠的傳輸。該層的作用包括:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等。透明傳輸:“透明”是指即使控制字符在幀數據中,但是要當做不存在去處理。即在控制字符前加上轉義字符ESC。2. 數據鏈路層的差錯監測
- 循環冗余檢驗碼:根據傳輸或保存的數據而產生固定位數校驗碼。
3. 最大傳輸單元MTU
最大傳輸單元MTU(Maximum Transmission Unit),數據鏈路層的數據幀不是無限大的,數據幀長度受MTU限制。4. 以太網協議詳解
MAC地址:每一個設備都擁有唯一的MAC地址,共48位,使用十六進制表示。以太網協議:是一種使用廣泛的局域網技術,是一種應用于數據鏈路層的協議,使用以太網可以完成相鄰設備的數據幀傳輸:局域網分類:
以太網幀結構:
- 數據:封裝的上層協議的分組(46~1500字節);
- 以太網最短幀:以太網幀最短64字節;以太網幀除了數據部分18字節;數據最短46字節。
網絡層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括尋址和路由選擇、連接的建立、保持和終止等。數據交換技術是報文交換(基本上被分組所替代):采用儲存轉發方式,數據交換單位是報文。網絡層中涉及眾多的協議,其中包括最重要的協議,也是TCP/IP的核心協議——IP協議。IP協議非常簡單,僅僅提供不可靠、無連接的傳送服務。IP協議的主要功能有:無連接數據報傳輸、數據報路由選擇和差錯控制。與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、因特網報文協議ICMP、因特網組管理協議IGMP。具體的協議我們會在接下來的部分進行總結,有關網絡層的重點為:1)網絡層負責對子網間的數據包進行路由選擇。此外,網絡層還可以實現擁塞控制、網際互連等功能;- IP協議(Internet Protocol,因特網互聯協議);
- ICMP協議(Internet Control Message Protocol,因特網控制報文協議);
- ARP協議(Address Resolution Protocol,地址解析協議);
- RARP協議(Reverse Address Resolution Protocol,逆地址解析協議)。
1. IP協議詳解
IP網際協議是 Internet 網絡層最核心的協議。虛擬互聯網絡的產生:實際的計算機網絡錯綜復雜;物理設備通過使用IP協議,屏蔽了物理網絡之間的差異;當網絡中主機使用IP協議連接時,無需關注網絡細節,于是形成了虛擬網絡。IP協議使得復雜的實際網絡變為一個虛擬互聯的網絡;并且解決了在虛擬網絡中數據報傳輸路徑的問題。其中,版本指IP協議的版本,占4位,如IPv4和IPv6;首部位長度表示IP首部長度,占4位,最大數值位15;總長度表示IP數據報總長度,占16位,最大數值位65535;協議表明IP數據所攜帶的具體數據是什么協議的,如TCP、UDP。2. IP協議的轉發流程
3. IP地址的子網劃分
A類(8網絡號+24主機號)、B類(16網絡號+16主機號)、C類(24網絡號+8主機號)可以用于標識網絡中的主機或路由器,D類地址作為組廣播地址,E類是地址保留。4. 網絡地址轉換NAT技術
用于多個主機通過一個公有IP訪問訪問互聯網的私有網絡中,減緩了IP地址的消耗,但是增加了網絡通信的復雜度。從內網出去的IP數據報,將其IP地址替換為NAT服務器擁有的合法的公共IP地址,并將替換關系記錄到NAT轉換表中;從公共互聯網返回的IP數據報,依據其目的的IP地址檢索NAT轉換表,并利用檢索到的內部私有IP地址替換目的IP地址,然后將IP數據報轉發到內部網絡。5. ARP協議與RARP協議
地址解析協議 ARP(Address Resolution Protocol):為網卡(網絡適配器)的IP地址到對應的硬件地址提供動態映射。可以把網絡層32位地址轉化為數據鏈路層MAC48位地址。ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。RARP(Reverse Address Resolution Protocol)協議指逆地址解析協議,可以把數據鏈路層MAC48位地址轉化為網絡層32位地址。6. ICMP協議詳解
網際控制報文協議(Internet Control Message Protocol),可以報告錯誤信息或者異常情況,ICMP報文封裝在IP數據報當中。- Traceroute應用:可以探測IP數據報在網絡中走過的路徑。
7. 網絡層的路由概述
正確的完整的、在計算上應該盡可能是簡單的、可以適應網絡中的變化、穩定的公平的。指處于一個管理機構下的網絡設備群,AS內部網絡自治管理,對外提供一個或多個出入口,其中自治系統內部的路由協議為內部網關協議,如RIP、OSPF等;自治系統外部的路由協議為外部網關協議,如BGP。- 鏈路狀態路由選擇算法LS:向所有隔壁路由發送信息收斂快;全局式路由選擇算法,每個路由器計算路由時,需構建整個網絡拓撲圖;利用Dijkstra算法求源端到目的端網絡的最短路徑;Dijkstra(迪杰斯特拉)算法;
- 距離-向量路由選擇算法DV:向所有隔壁路由發送信息收斂慢、會存在回路;基礎是Bellman-Ford方程(簡稱B-F方程)。
8. 內部網關路由協議之RIP協議
路由信息協議 RIP(Routing Information Protocol)【應用層】,基于距離-向量的路由選擇算法,較小的AS(自治系統),適合小型網絡;RIP報文,封裝進UDP數據報。- RIP在度量路徑時采用的是跳數(每個路由器維護自身到其他每個路由器的距離記錄);
9. 內部網關路由協議之OSPF協議
開放最短路徑優先協議 OSPF(Open Shortest Path First)【網絡層】,基于鏈路狀態的路由選擇算法(即Dijkstra算法),較大規模的AS ,適合大型網絡,直接封裝在IP數據報傳輸。10. 外部網關路由協議之BGP協議
BGP(Border Gateway Protocol)邊際網關協議【應用層】:是運行在AS之間的一種協議,尋找一條好路由:首次交換全部信息,以后只交換變化的部分,BGP封裝進TCP報文段。
第一個端到端,即主機到主機的層次。傳輸層負責將上層數據分段并提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯控制和流量控制問題。傳輸層的任務是根據通信子網的特性,最佳的利用網絡資源,為兩個端系統的會話層之間,提供建立、維護和取消傳輸連接的功能,負責端到端的可靠數據傳輸。網絡層只是根據網絡地址將源結點發出的數據包傳送到目的結點,而傳輸層則負責將數據可靠地傳送到相應的端口。- 傳輸層負責將上層數據分段并提供端到端的、可靠的或不可靠的傳輸以及端到端的差錯控制和流量控制問題;
- 包含的主要協議:TCP協議(Transmission Control Protocol,傳輸控制協議)、UDP協議(User Datagram Protocol,用戶數據報協議);
1. UDP協議詳解
UDP(User Datagram Protocol: 用戶數據報協議),是一個非常簡單的協議。首部:8B,四字段/2B【源端口 | 目的端口 | UDP長度 | 校驗和】 數據字段:應用數據。2. TCP協議詳解
TCP(Transmission Control Protocol: 傳輸控制協議),是計算機網絡中非常復雜的一個協議。- 對收到的報文進行差錯檢測(首部和數據部分都檢錯);
- TCP協議提供全雙工通信(每條TCP連接只能一對一)。
TCP報文段結構:
最大報文段長度:報文段中封裝的應用層數據的最大長度。- 序號字段:TCP的序號是對每個應用層數據的每個字節進行編號;
- 確認序號字段:期望從對方接收數據的字節序號,即該序號對應的字節尚未收到。用ack_seq標識;
- TCP段的首部長度最短是20B ,最長為60字節。但是長度必須為4B的整數倍。
3. 可靠傳輸的基本原理
- 不可靠傳輸信道在數據傳輸中可能發生的情況:比特差錯、亂序、重傳、丟失;
差錯檢測:利用編碼實現數據包傳輸過程中的比特差錯檢測。停止等待協議:是最簡單的可靠傳輸協議,但是該協議對信道的利用率不高。連續ARQ(Automatic Repeat reQuest:自動重傳請求)協議:滑動窗口+累計確認,大幅提高了信道的利用率。TCP協議的可靠傳輸:
基于連續ARQ協議,在某些情況下,重傳的效率并不高,會重復傳輸部分已經成功接收的字節。TCP協議的流量控制:
流量控制:讓發送方發送速率不要太快,TCP協議使用滑動窗口實現流量控制。4. TCP協議的擁塞控制
流量控制考慮點對點的通信量的控制,而擁塞控制考慮整個網絡,是全局性的考慮。擁塞控制的方法:慢啟動算法+擁塞避免算法。- 【超時】,閾值變為當前cwnd的一半(不能<2);
- 發送方連續收到3個冗余ACK,執行【快重傳】,不必等計時器超時;
- 執行【快恢復】,閾值變為當前cwnd的一半(不能<2),并從此新的ssthresh點進入【擁塞避免】。
5. 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狀態;第三次握手可攜帶數據。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。為操作系統或網絡應用程序提供訪問網絡服務的接口。應用層重點:- 包含的主要協議:FTP(文件傳送協議)、Telnet(遠程登錄協議)、DNS(域名解析協議)、SMTP(郵件傳送協議),POP3協議(郵局協議),HTTP協議(Hyper Text Transfer Protocol)。
1. DNS詳解
DNS(Domain Name System:域名系統)【C/S,UDP,端口53】:解決IP地址復雜難以記憶的問題,存儲并完成自己所管轄范圍內主機的 域名 到 IP 地址的映射。- 找DNS服務器(本地域名、頂級域名、根域名)->迭代解析、遞歸查詢。
域名由點、字母和數字組成,分為頂級域(com,cn,net,gov,org)、二級域(baidu,taobao,qq,alibaba)、三級域(www)(12-2-0852)。2. DHCP協議詳解
DHCP(Dynamic Configuration Protocol:動態主機設置協議):是一個局域網協議,是應用UDP協議的應用層協議。作用:為臨時接入局域網的用戶自動分配IP地址。3. HTTP協議詳解
文件傳輸協議(FTP):控制連接(端口21):傳輸控制信息(連接、傳輸請求),以7位ASCII碼的格式。整個會話期間一直打開。HTTP(HyperText Transfer Protocol:超文本傳輸協議)【TCP,端口80】:是可靠的數據傳輸協議,瀏覽器向服務器發收報文前,先建立TCP連接,HTTP使用TCP連接方式(HTTP自身無連接)。- HEAD:請求讀取URL標識的信息的首部,只返回報文頭;
(1)HTTP工作的結構
(2) HTTPS協議詳解
HTTPS(Secure)是安全的HTTP協議,端口號443。基于HTTP協議,通過SSL或TLS提供加密處理數據、驗證對方身份以及數據完整性保護。
該文章在 2024/2/27 14:17:34 編輯過