計算機網絡硬核指南|網絡設計核心思想

發布時間:2022-04-23作者:小編閱讀:0

本文轉載自"職場重生"

本篇主要是對計算機網絡一些核心思想理解,屬于內功心法,初學者適合入門,非初學者可以學習其設計思想,總之希望幫助大家提高🔯對網絡的理解。

深入淺出Linux網絡硬核指南

計算機網絡硬核指南|網絡設計核心思想

計算機網絡通信的理解

1、計算機網絡通信的本質

1948年 香農 在 《通信的數學理論》中寫道:

“通信的基本問題是在一點精確地或者近似的復現在另一個點所選取的信息”

網絡通信的本質是信息的傳播:

計算機網絡硬核指南|網絡設計核心思想

這里A與B之間的傳播介質可以有很多不同層次的理解

可以是有線的(雙絞線、電纜、光纖等)

可以是無線的(藍牙,WIFI,2345G等)

可以是具體的(物理直連)

可以是間接抽象的(跨網絡)

計算機網絡硬核指南|網絡設計核心思想

我們可以看看計算機網絡通信模型:

計算機網絡硬核指南|網絡設計核心思想

這張圖揭示計算機網絡通信中的核心元素和要解決的核心問題:

發送端:"數據的生產者"

信息編碼

數據發送

怎么發送數據?

計算機網絡硬核指南|網絡設計核心思想

⛎要發送數據,需要借助網卡這種ജ硬件,OS會按照RFC標準格式來封裝數據,然后把數據傳給網卡,網卡把數據轉化為電信號/電磁波傳輸出去;

數據:"信息載體"

01比特流

編碼格式

怎么定義數據格式?

計算機網絡硬核指南|網絡設計核心思想

大家按照標準來封裝報文,整個鏈路所有網絡設備都講相同的“語言”,這樣大家才可以自由交流;

傳輸通道:數據傳輸中轉站

數據存儲

數據運輸

怎么轉發數據?

計算機網絡硬核指南|網絡設計核心思想

由于發送端和接收端:

一個發送端可能要發給多個接收端,或者多對多場景,發送端端口有限,不能每個都單獨通༺信,而且成本高,不易操作;

兩臺設備長距離傳輸,不可能直接網線相連,性價比太低;

這個時候數據需要中間節點來轉發。中轉節點一般是從一個網口進轉到另外一個網口出,一般都是專有硬件處理🔯,可以達到線速轉發(像”直接連線一樣速度”);

接收端:"數據的消費者"

數據接收

解碼信息

怎么接收數據?

計算機網絡硬核指南|網絡設計核心思想

同樣要接收數據,需要借助網卡這種硬件𒀰,把電信號/電磁波信號轉化為數據傳給OS,OS會ꦐ按照RFC標準格式來解析,最后把真正的數據交給應用;

計算機網絡硬核指南|網絡設計核心思想

🙈計算機網絡通信原理本質上是比較🔯“簡單”的,好理解,如果讓你去設計一個全球網絡通信系統,類似當今的互聯網,你會怎么設計呢?你會考慮下面的問題嗎?

協議要怎么設計?

報文的轉發機制是什么?

怎么保證系統不會掛掉(不可用)?

怎么滿足不同類型計算機通信要求?

互聯網獲得的成功顯而易見,它已經成為當今全球數字社會最重要的基礎設施,改變我們生活方方面面,如今電腦,筆記本,電視,iPad,手機等都可以輕松上網,網絡四通八達,信息隨處可達,這背后到底是什么核心技術支撐這個世界ꦦ最大網絡通信系統。是不是你也很好奇,不妨讓我們來看一看互聯網是怎么解決這些問題的。

2、計算機網絡通信的核心思想

網絡的復雜性

計算機網絡硬核指南|網絡設計核心思想

長距離傳輸,比如訪問國外的網站,數據跨越幾千公里,怎么保證數據可達?

隨著設備規模增大,數據流量增大,網絡會不會崩潰?

計算機性能各異,怎么保證網絡的公平性?

那計算機網絡是如何解決這些問題的呢?

分布式思想—無連接分組交換

在此之前,數據通信是基于電路交換的想法,就像在傳統的電話網絡一樣,在通話前先建立專有線路,時延小,適合電話實時通信場景,電路交換體現了一種集中管理思想,所有通信資源都集中分配管理。但ꦉ適合計算機網絡通信嗎?

計算機網絡硬核指南|網絡設計核心思想

電路交換(英語:Circuit Switching)是相對于報文交換(或稱分組交換)的一個概念。電路交換要求必須首先在通信雙方之間建立連接通道。在連接建立成功之后,雙方的通信活動才能開始。通信雙方需要傳遞的信息都是通過已經建立好的連接來進行傳遞的,而且這個連接也將一直被維持到雙方的通信結束。在某次通信活動的整個過程中,這個連接將始終占用著。連接建立開始時,通信系統分配給它的資源(通道、帶寬、時隙、碼字等等),這也體現了電路交換區別于報文交換的本質特☂征。

電路交換雖然通信實時性高但不適合計算機網絡通信:

建立專有連接代價高,需要整條鏈路每個節點分配資源,計算機網絡通信場景復雜,高頻低流,不好預估資源,資源管理🃏會很復雜;

電路交換采用時分復用的原理,完全無法應對現代互聯網的流量突發,同時將會有大量的能量被空閑時隙浪費,鏈路資源利用不高,可以說,傳統的電信網絡是不可💙擴展的;

報文交換提高了通信線路的利用率,不需要建立連接,但也不適合計算機網絡通信:

報文交換是以報文為數據交換的單位,報文攜帶有目標地址、源地址等信息,報文整個地發送,一次一跳,在交換結點采用存儲轉發的傳輸方式,電報通信采用這種傳輸技術,由于報文長度沒有限制,而每個中間結點都要完整地接收傳來的整個報文,當輸出線路不空閑時,還可能要存儲幾個完整報文等待轉發,要求網絡中每個結點有較大的緩ꦬ沖區。為了降低成本,減少結點的緩沖存儲器的容量,有時要把等待轉發的報文存在磁盤上,進一步增加了傳送時延;

計算機網絡硬核指南|網絡設計核心思想

最終計算機網絡采用了分組交換技術:

🃏基于報文交換,將報文劃分為更小的數據單位:報文分組(也稱為段、包、分組),分組交換比報文交換的時延小,尤其適合于計算機之間的突發式的數據通信;

分組交換采用分布式思想,每臺電腦都是一個“節點”(node),每個節點都彼此相聯,形成縱橫交錯的網狀結構。此種網絡結構中,不存在中央的概念,而且單個♋節點的重要性大大降低,每個節點只關心與自己相鄰節點,不會考慮整個鏈路,這樣新節點更容易加入網絡,而新節點加入,增加路徑選擇,又加強了網絡的容錯性;

計算機網絡硬核指南|網絡設計核心思想

不需要建立連接,數據報文獨立于網絡鏈路之上(每個報文都會攜帶地址信息),鏈路可復用,資源利用率高;

所有轉發節🦄點采用存儲轉發模式,網絡節點僅僅負責交換數據包,業務響應的功能則被推送到網絡邊緣的設備上,由上層來保證數據完整性,這樣極大減輕網絡節點設計;

分組交換采ꦑ用統計復用原則,意味著在一個處理節點,數據包分組的到達的分布是符合泊松分布,再結合存儲轉發機制,節點可緩存一定量報文,從而有效避免處理不及時導致的丟包,保證了整個網絡穩定和⛦平衡。

分組交換(英語:Packet switching)是一種相對于電路交換的通信范例,分組(又稱消息、或消息碎片)在節點間單獨路由,不需要在傳輸前先建立通信路徑。分組交換是數據通信中一種新的且重要的概念,現在是世界上互聯網通訊、數據和語音通信中最重要的基礎。在此之前꧙,數據通信是基于電路交換的想法,就像在傳統的電話電路一樣,在通話前先建立專有線路,通信雙方要在電路的兩端。分組交換技術是在1960年代末出現的,當時美國高級研究計劃局(簡稱ARPA)為實現遠程計算機之間的信息交換,資助建設一個試驗性的網絡,該網絡被稱為ARP⛦ANET。ARPANET的主要研究成果之一就是開發一種新的網絡協議,在ARPANET網絡上對話必須使用這種網絡協議。該協議采用一種新的網絡信息傳輸技術,這就是分組交換技術。

計算機網絡硬核指南|網絡設計核心思想

理解分組交換這種設計對我們理解網絡有什么好處?

整個互聯網就是一個大型分布式系統,TCP/IP協議就是站在這種視角來設計的, 擁塞控制算法通過自我退讓機🌄制(非自私思想,我為人人,人人為我),保障整個網絡公平性和穩定性;

網絡設備在轉發層面上只關心與它相連節點,節點根據轉發規則𓄧,按照統一轉發機制路由最長匹配,把數據包扔給下一跳設備,而配置是管理員配置或者動態學習的,網ඣ絡節點只是轉發工具,上層控制轉發行為;

網絡節點轉發行為不是集中控制的,沒有上帝視角,但網絡最終可以實現數據轉發,這里面反映出一些哲學思考,💛網絡可以通過節點周圍關系連接任何一個未知節點(六度理論ꩵ),這或許就是分組交換能夠成功的底層理論;

分層思想—網絡協議分層設計

網絡協議要怎么設計?

計算機網絡硬核指南|網絡設計核心思想

分層好處是降低耦合,上層不關心底層實現,只關心底層提供服務(接口);

這樣層與層之間通信就可以標準化。標準化意味⭕著層與層之間獨立性。,可以獨自發展,這樣設計帶來很大靈活性和擴展性,比如傳輸層有TCP/UDP/DCCP/STCP等,網絡層有IPv4/IPv6等, 數據鏈🌟路層有以太網,VLAN,WIFI,無線3G,4G,5G協議等;

計算機網絡硬核指南|網絡設計核心思想

網絡是異構復雜的,分層可以整合異構網💃絡,向上層提供統一視ꦑ圖,比如中間IP層做了適配,傳輸層和鏈路層互不糾纏,可以獨立發展;

分層🍰模式擁有遞歸特性,該特性允許邏輯意義的任意封裝和再封裝,比如overlay網絡,VPN,各種tunnel等,使網絡擴展性大大增強;

理解了計算機網絡的分層設計對我們理解網絡有什么好處?

1.每一層只關心自己邏輯執行,不會受到其他層的影響

計算機網絡硬核指南|網絡設計核心思想

2.網絡問題可以從上而下或者從下而上分層分析

計算機網絡硬核指南|網絡設計核心思想

報文分層封裝處理:

計算機網絡硬核指南|網絡設計核心思想

應用層:需要用socket編程接口發送應用數據;

計算機網絡硬核指南|網絡設計核心思想

傳輸層(四層):四層采用TCP/UDP等傳輸協議進行數據傳輸;

計算機網絡硬核指南|網絡設計核心思想

網絡層(三層):三層主要是實現路由轉發;

路由表主要是存儲路由條目,IP層采用最長匹配算法,查詢路由再再轉發:

計算機網絡硬核指南|網絡設計核心思想

鏈路層(二層):

根據接口對應的鏈路層協議(如以太網)組裝報文:

鄰居表主要是保存目的IP地址對應的mac地址,mac地址是🐎2層以太網節點標識,一般通過ARP協議報文動態學習,也可以靜態配置指定:

計算機網絡硬核指南|網絡設計核心思想

記錄在ARP表里面:

計算機網絡硬核指南|網絡設計核心思想

ARP表主要是給報文添加mac頭部:

計算機網絡硬核指南|網絡設計核心思想

二層轉發報文:

主要二層設備(橋,交換機等)用來根據目的mac地址查找轉發端口,實現二層轉發;

計算機網絡硬核指南|網絡設計核心思想

物理層: 主要是網卡驅動,網卡芯片處理,把數據轉化電或者光信息或者無線信號;

計算機網絡硬核指南|網絡設計核心思想

網絡分層分析可以參考: 云網絡丟包故障定位全景指南

公平思想—傳輸控制

隨著互聯網規模越來越大,計算機𒅌處理性能提高,大量數據包流向網絡,必꧙然會加劇網絡擁塞,當網絡發生擁塞時,一般會出現數據丟失,時延增加,吞吐量下降,嚴重時甚至會導致“擁塞崩潰“。

計算機網絡硬核指南|網絡設計核心思想

擁塞控制需要確保網絡能夠承載用戶提交的通信量,是一個全局性問題,涉及主機、路由器等很多因素:互聯網采用TC♏P擁塞控制算法來控制系統的容量,核心思想是主動退讓機制,發現網絡擁塞(丟包或者延時加大),就主動減少發包量,我為人人,人人為我,最終解除擁塞,達到共贏局面:

計算機網絡硬核指南|網絡設計核心思想

在終端系統上通常根據接受到的ACK(Acknowledge character)確認包中包含的信息來調整擁塞控制窗口的大小,進而控制TCP連接的發送速率,譬如:TCP Tahoe, TCP Reno, TCP Vegas, TCP NewReno, TCP BIC, TCP CBIC,ꦐ BBR等算法;

計算機網絡硬核指南|網絡設計核心思想

在網絡中間設備上(路由器、防火墻、交換機等)的擁塞控制算法(AQM-Active Queue Management-主動隊列管理)通常根據設備中的緩存隊列長度信息對網絡擁塞控制程度進行判斷,并將擁𓄧塞控制信息顯示或隱式地告🦄知端點,端點根據獲得的擁塞控制信息對自身發送速率進行調整,譬如:FIFO, RED(Random Early Detection), ECN(Explicit Congestion Notification), FQ(Fair Queuing)等算法;

道路交通系統是一個典型的統計復用的分組交換系統,其實早在TCP/IP分組交換網絡之前,道路交通系統就已經存在了好幾千年了,我們可以用道路交通系統一些✨問題來類比分析TCP/IP網絡中出現的問題,比如道路擁堵類比網絡擁塞,可以幫助我們更容易理解網絡。

計算機網絡硬核指南|網絡設計核心思想

總結

這里主要提到了互聯網通信的三種設計思想:

分布式思想—分組交換:提供足夠簡單且🥃靈活的分組轉發邏輯,實現數據報文在系統中穩定轉發,網絡節點轉發行為不是集中控制的,沒有上帝視角,但網絡最終可以實現數據轉發,反映出網絡設計參考一些哲學思想,網絡可以通過節點周圍關系連接任何一個未知節點(六度理論),這或ไ許就是分組交換能夠成功的底層理論。

分層思想—網絡協議分層設計:應用層高度可擴展,應用程序爆炸式增長,得益于網絡的分層模型;

公平🌞思想—傳輸控制:TCP的擁塞控制使網絡更加公平和穩定,提高系統的容錯率,讓系統可以持續正常運轉;

從技術上看,“無連接分組交換”這一“革命性的創造”為互聯網帶來了勝利。而TCP/IP分層🌄模型的“系統化和完備化”使得互聯網進入了蓬勃發展的商業化發展階段。互聯網的設計原理保證了TCP/IP的成功,使其成為了當今信息社會最重要的基礎設施。

一些應對復雜性設計思想:

底層實現一套穩定運行的機制(轉發機制꧋)෴: 比如三層路由最長匹配轉發機制;二層mac地址轉發機制(bridge 轉發機制);

上層實現可配置策略(各種轉發規則): 比如路由表,鄰居表,mac轉發表等;

分層設計經典思想一致延續至今,加一層的思想可以實現解耦,也可以實現關聯,增強了設計的擴展性;

越簡單且可擴展的設計越能應對未來的變化;

3、計算機網絡技術演進

推動網絡不斷向前發展的核心訴求:

網絡通信場景不斷擴展

計算機網絡硬核指南|網絡設計核心思想

人𒉰們不斷擴展網絡通信場景:局域網,城域網,廣域網,無線網絡,互聯網,移動互聯網,工業🌟互聯網,云計算網絡,物聯網,車聯網等;

網絡容量和用戶爆發式增長

從Web1.0、Web2.0、到移動互聯網發展,社交,游戲,短視頻,直播等應用流行,互聯網🌃流量暴漲幾十倍,對網絡的支撐能力帶來巨大挑戰,倒逼網絡不斷進行向前發展

計算機網絡硬核指南|網絡設計核心思想

T📖CP/IP協議不斷發展: 從TCP擁塞控制算法Reno到BBR,從TCP到QUIC,從http1.0到http3.0,從IPv4到IPv6等等;

網絡架構演進:從分布式網絡->中心化網絡演進,SDN興起;

移動網絡技術演進:2G->3G->4G->5G->6G…

傳輸網絡技術演進:PDH→SDH->WDM->OTN

計算機網絡安全問題

計算機網絡安全是當今世界的重要關注點。黑客一直在使�🧸�用各種創新技術竊取重要信息。現在人們在利用網絡空間進行日常活動,對網絡空間的依賴性非常高。無論人們被竊取的是業務和技術機密,還是金融系統,威脅性都是致命的。

計算機網絡硬核指南|網絡設計核心思想

防火墻技術演進:包防火墻->狀態防火墻->應用防火墻->…

加密技術演進:對稱加密->非對稱加密->量子加密

安全領域演進:傳統網絡安全->移動網絡安全->云計算網絡安全->云原生網絡安全

以上是我對網絡的部分理解,主要是核心思想理解,希望能夠幫助大家更好🔯理解網絡,也為該系列后續文章做一些鋪墊,希望大家喜歡。

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,請聯系站長郵箱:[email protected]進行舉報,并提供相關證🌱據,一經查實,將立刻刪除涉嫌侵權內容。

標題:計算機網絡硬核指南|網絡設計核心思想

TAG標簽:企業專線

地址://beijingyml.cn/article/20210423142526.html

上一篇:想要網站排名好先要選購一臺優質服務器
下一篇:服務器租用高效質量提供是關鍵
返回頂部