計(jì)算機(jī)網(wǎng)絡(luò)硬核指南|網(wǎng)絡(luò)設(shè)計(jì)核心思想
時(shí)間:2023-09-27 08:48:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2023-09-27 08:48:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)
計(jì)算機(jī)網(wǎng)絡(luò)硬核指南|網(wǎng)絡(luò)設(shè)計(jì)核心思想:大家好,我是Alex,今天分享計(jì)算機(jī)網(wǎng)絡(luò)硬核系列的第一篇:計(jì)算機(jī)網(wǎng)絡(luò)通信的理解
本篇主要是對(duì)計(jì)算機(jī)網(wǎng)絡(luò)一些核心思想理解,屬于內(nèi)功心法,初學(xué)者適合入門,非初學(xué)者可以學(xué)習(xí)其設(shè)計(jì)思想,總之希望幫助大家提高對(duì)網(wǎng)絡(luò)的理解;
深入淺出Linux網(wǎng)絡(luò)硬核指南
本系列從網(wǎng)絡(luò)通信理解到云計(jì)算網(wǎng)絡(luò)等網(wǎng)絡(luò)的不同應(yīng)用角色(場(chǎng)景)入手,深入淺出討論了網(wǎng)絡(luò)設(shè)計(jì)的核心思想,網(wǎng)絡(luò)TCP/IP協(xié)議棧的設(shè)計(jì),網(wǎng)絡(luò)編程核心技術(shù),網(wǎng)絡(luò)性能優(yōu)化,云網(wǎng)絡(luò)核心技術(shù),網(wǎng)絡(luò)問(wèn)題排障等,計(jì)算機(jī)網(wǎng)絡(luò)是程序員或者IT工程師必須要掌握的技能,本系列目的就是讓不同讀者都能加深對(duì)網(wǎng)絡(luò)認(rèn)識(shí),打好堅(jiān)實(shí)的網(wǎng)絡(luò)基礎(chǔ),不管是面試中遇到的網(wǎng)絡(luò)問(wèn)題,還是工作中遇到的網(wǎng)絡(luò)問(wèn)題,都能得心應(yīng)手。
計(jì)算機(jī)網(wǎng)絡(luò)通信的理解1 計(jì)算機(jī)網(wǎng)絡(luò)通信的本質(zhì)
1948年 香農(nóng) 在 《通信的數(shù)學(xué)理論》中寫道:
"通信的基本問(wèn)題是在一點(diǎn)精確地或者近似的復(fù)現(xiàn)在另一個(gè)點(diǎn)所選取的信息"
網(wǎng)絡(luò)通信的本質(zhì)是信息的傳播:
這里A與B之間的傳播介質(zhì)可以有很多不同層次的理解
- 可以是有線的(雙絞線、電纜、光纖等)
- 可以是無(wú)線的(藍(lán)牙,WIFI,2345G等)
- 可以是具體的(物理直連)
- 可以是間接抽象的(跨網(wǎng)絡(luò))
我們可以看看計(jì)算機(jī)網(wǎng)絡(luò)通信模型:
這張圖揭示計(jì)算機(jī)網(wǎng)絡(luò)通信中的核心元素和要解決的核心問(wèn)題:
發(fā)送端:數(shù)據(jù)的生產(chǎn)者怎么發(fā)送數(shù)據(jù)?要發(fā)送數(shù)據(jù),需要借助網(wǎng)卡這種硬件,OS會(huì)按照RFC標(biāo)準(zhǔn)格式來(lái)封裝數(shù)據(jù),然后把數(shù)據(jù)傳給網(wǎng)卡,網(wǎng)卡把數(shù)據(jù)轉(zhuǎn)化為電信號(hào)/電磁波傳輸出去;
數(shù)據(jù):信息載體怎么定義數(shù)據(jù)格式?大家按照標(biāo)準(zhǔn)來(lái)封裝報(bào)文,整個(gè)鏈路所有網(wǎng)絡(luò)設(shè)備都講相同的“語(yǔ)言”,這樣大家才可以自由交流;
傳輸通道:數(shù)據(jù)傳輸中轉(zhuǎn)站- 數(shù)據(jù)存儲(chǔ)
- 數(shù)據(jù)運(yùn)輸
怎么轉(zhuǎn)發(fā)數(shù)據(jù)?由于發(fā)送端和接收端:
- 一個(gè)發(fā)送端可能要發(fā)給多個(gè)接收端,或者多對(duì)多場(chǎng)景,發(fā)送端端口有限,不能每個(gè)都單獨(dú)通信,而且成本高,不易操作;
- 兩臺(tái)設(shè)備長(zhǎng)距離傳輸,不可能直接網(wǎng)線相連,性價(jià)比太低;
這個(gè)時(shí)候數(shù)據(jù)需要中間節(jié)點(diǎn)來(lái)轉(zhuǎn)發(fā)。中轉(zhuǎn)節(jié)點(diǎn)一般是從一個(gè)網(wǎng)口進(jìn)轉(zhuǎn)到另外一個(gè)網(wǎng)口出,一般都是專有硬件處理,可以達(dá)到線速轉(zhuǎn)發(fā)(像"直接連線一樣速度");
接收端: 數(shù)據(jù)的消費(fèi)者怎么接收數(shù)據(jù)?同樣要接收數(shù)據(jù),需要借助網(wǎng)卡這種硬件,把電信號(hào)/電磁波信號(hào)轉(zhuǎn)化為數(shù)據(jù)傳給OS,OS會(huì)按照RFC標(biāo)準(zhǔn)格式來(lái)解析,最后把真正的數(shù)據(jù)交給應(yīng)用;
計(jì)算機(jī)網(wǎng)絡(luò)通信原理本質(zhì)上是比較“簡(jiǎn)單”的,好理解,如果讓你去設(shè)計(jì)一個(gè)全球網(wǎng)絡(luò)通信系統(tǒng),類似當(dāng)今的互聯(lián)網(wǎng),你會(huì)怎么設(shè)計(jì)呢?你會(huì)考慮下面的問(wèn)題嗎?
- 協(xié)議要怎么設(shè)計(jì)?
- 報(bào)文的轉(zhuǎn)發(fā)機(jī)制是什么?
- 怎么保證系統(tǒng)不會(huì)掛掉(不可用)?
- 怎么滿足不同類型計(jì)算機(jī)通信要求?
互聯(lián)網(wǎng)獲得的成功顯而易見(jiàn),它已經(jīng)成為當(dāng)今全球數(shù)字社會(huì)最重要的基礎(chǔ)設(shè)施,改變我們生活方方面面,如今電腦,筆記本,電視,iPad,手機(jī)等都可以輕松上網(wǎng),網(wǎng)絡(luò)四通八達(dá),信息隨處可達(dá),這背后到底是什么核心技術(shù)支撐這個(gè)世界最大網(wǎng)絡(luò)通信系統(tǒng)。是不是你也很好奇,不妨讓我們來(lái)看一看互聯(lián)網(wǎng)是怎么解決這些問(wèn)題的。
2 計(jì)算機(jī)網(wǎng)絡(luò)通信的核心思想
網(wǎng)絡(luò)的復(fù)雜性- 長(zhǎng)距離傳輸,比如訪問(wèn)國(guó)外的網(wǎng)站,數(shù)據(jù)跨越幾千公里,怎么保證數(shù)據(jù)可達(dá)?
- 隨著設(shè)備規(guī)模增大,數(shù)據(jù)流量增大,網(wǎng)絡(luò)會(huì)不會(huì)崩潰?
- 計(jì)算機(jī)性能各異,怎么保證網(wǎng)絡(luò)的公平性?
- ...
那計(jì)算機(jī)網(wǎng)絡(luò)是如何解決這些問(wèn)題的呢?
分布式思想--無(wú)連接分組交換
在此之前,數(shù)據(jù)通信是基于電路交換的想法,就像在傳統(tǒng)的電話網(wǎng)絡(luò)一樣,在通話前先建立專有線路,時(shí)延小,適合電話實(shí)時(shí)通信場(chǎng)景,電路交換體現(xiàn)了一種集中管理思想,所有通信資源都集中分配管理。但適合計(jì)算機(jī)網(wǎng)絡(luò)通信嗎?
數(shù)據(jù)通信的技術(shù)演進(jìn)
電路交換(英語(yǔ):Circuit Switching)是相對(duì)于報(bào)文交換(或稱分組交換)的一個(gè)概念。電路交換要求必須首先在通信雙方之間建立連接通道。在連接建立成功之后,雙方的通信活動(dòng)才能開始。通信雙方需要傳遞的信息都是通過(guò)已經(jīng)建立好的連接來(lái)進(jìn)行傳遞的,而且這個(gè)連接也將一直被維持到雙方的通信結(jié)束。在某次通信活動(dòng)的整個(gè)過(guò)程中,這個(gè)連接將始終占用著。連接建立開始時(shí),通信系統(tǒng)分配給它的資源(通道、帶寬、時(shí)隙、碼字等等),這也體現(xiàn)了電路交換區(qū)別于報(bào)文交換的本質(zhì)特征。
電路交換雖然通信實(shí)時(shí)性高但不適合計(jì)算機(jī)網(wǎng)絡(luò)通信:
- 建立專有連接代價(jià)高,需要整條鏈路每個(gè)節(jié)點(diǎn)分配資源,計(jì)算機(jī)網(wǎng)絡(luò)通信場(chǎng)景復(fù)雜,高頻低流,不好預(yù)估資源,資源管理會(huì)很復(fù)雜;
- 電路交換采用時(shí)分復(fù)用的原理,完全無(wú)法應(yīng)對(duì)現(xiàn)代互聯(lián)網(wǎng)的流量突發(fā),同時(shí)將會(huì)有大量的能量被空閑時(shí)隙浪費(fèi),鏈路資源利用不高,可以說(shuō),傳統(tǒng)的電信網(wǎng)絡(luò)是不可擴(kuò)展的;
報(bào)文交換提高了通信線路的利用率,不需要建立連接,但也不適合計(jì)算機(jī)網(wǎng)絡(luò)通信:
- 報(bào)文交換是以報(bào)文為數(shù)據(jù)交換的單位,報(bào)文攜帶有目標(biāo)地址、源地址等信息,報(bào)文整個(gè)地發(fā)送,一次一跳,在交換結(jié)點(diǎn)采用存儲(chǔ)轉(zhuǎn)發(fā)的傳輸方式,電報(bào)通信采用這種傳輸技術(shù),由于報(bào)文長(zhǎng)度沒(méi)有限制,而每個(gè)中間結(jié)點(diǎn)都要完整地接收傳來(lái)的整個(gè)報(bào)文,當(dāng)輸出線路不空閑時(shí),還可能要存儲(chǔ)幾個(gè)完整報(bào)文等待轉(zhuǎn)發(fā),要求網(wǎng)絡(luò)中每個(gè)結(jié)點(diǎn)有較大的緩沖區(qū)。為了降低成本,減少結(jié)點(diǎn)的緩沖存儲(chǔ)器的容量,有時(shí)要把等待轉(zhuǎn)發(fā)的報(bào)文存在磁盤上,進(jìn)一步增加了傳送時(shí)延;
最終計(jì)算機(jī)網(wǎng)絡(luò)采用了分組交換技術(shù):
- 基于報(bào)文交換,將報(bào)文劃分為更小的數(shù)據(jù)單位:報(bào)文分組(也稱為段、包、分組),分組交換比報(bào)文交換的時(shí)延小,尤其適合于計(jì)算機(jī)之間的突發(fā)式的數(shù)據(jù)通信;
- 分組交換采用分布式思想,每臺(tái)電腦都是一個(gè)“節(jié)點(diǎn)”(node),每個(gè)節(jié)點(diǎn)都彼此相聯(lián),形成縱橫交錯(cuò)的網(wǎng)狀結(jié)構(gòu)。此種網(wǎng)絡(luò)結(jié)構(gòu)中,不存在中央的概念,而且單個(gè)節(jié)點(diǎn)的重要性大大降低,每個(gè)節(jié)點(diǎn)只關(guān)心與自己相鄰節(jié)點(diǎn),不會(huì)考慮整個(gè)鏈路,這樣新節(jié)點(diǎn)更容易加入網(wǎng)絡(luò),而新節(jié)點(diǎn)加入,增加路徑選擇,又加強(qiáng)了網(wǎng)絡(luò)的容錯(cuò)性;
- 不需要建立連接,數(shù)據(jù)報(bào)文獨(dú)立于網(wǎng)絡(luò)鏈路之上(每個(gè)報(bào)文都會(huì)攜帶地址信息),鏈路可復(fù)用,資源利用率高;
- 所有轉(zhuǎn)發(fā)節(jié)點(diǎn)采用存儲(chǔ)轉(zhuǎn)發(fā)模式,網(wǎng)絡(luò)節(jié)點(diǎn)僅僅負(fù)責(zé)交換數(shù)據(jù)包,業(yè)務(wù)響應(yīng)的功能則被推送到網(wǎng)絡(luò)邊緣的設(shè)備上,由上層來(lái)保證數(shù)據(jù)完整性,這樣極大減輕網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì);
- 分組交換采用統(tǒng)計(jì)復(fù)用原則,意味著在一個(gè)處理節(jié)點(diǎn),數(shù)據(jù)包分組的到達(dá)的分布是符合泊松分布,再結(jié)合存儲(chǔ)轉(zhuǎn)發(fā)機(jī)制,節(jié)點(diǎn)可緩存一定量報(bào)文,從而有效避免處理不及時(shí)導(dǎo)致的丟包,保證了整個(gè)網(wǎng)絡(luò)穩(wěn)定和平衡。
分組交換(英語(yǔ):Packet switching)是一種相對(duì)于電路交換的通信范例,分組(又稱消息、或消息碎片)在節(jié)點(diǎn)間單獨(dú)路由,不需要在傳輸前先建立通信路徑。分組交換是數(shù)據(jù)通信中一種新的且重要的概念,現(xiàn)在是世界上互聯(lián)網(wǎng)通訊、數(shù)據(jù)和語(yǔ)音通信中最重要的基礎(chǔ)。在此之前,數(shù)據(jù)通信是基于電路交換的想法,就像在傳統(tǒng)的電話電路一樣,在通話前先建立專有線路,通信雙方要在電路的兩端。分組交換技術(shù)是在1960年代末出現(xiàn)的,當(dāng)時(shí)美國(guó)高級(jí)研究計(jì)劃局(簡(jiǎn)稱ARPA)為實(shí)現(xiàn)遠(yuǎn)程計(jì)算機(jī)之間的信息交換,資助建設(shè)一個(gè)試驗(yàn)性的網(wǎng)絡(luò),該網(wǎng)絡(luò)被稱為ARPANET。ARPANET的主要研究成果之一就是開發(fā)一種新的網(wǎng)絡(luò)協(xié)議,在ARPANET網(wǎng)絡(luò)上對(duì)話必須使用這種網(wǎng)絡(luò)協(xié)議。該協(xié)議采用一種新的網(wǎng)絡(luò)信息傳輸技術(shù),這就是分組交換技術(shù)。
計(jì)算機(jī)網(wǎng)絡(luò)通信
理解分組交換這種設(shè)計(jì)對(duì)我們理解網(wǎng)絡(luò)有什么好處?
- 整個(gè)互聯(lián)網(wǎng)就是一個(gè)大型分布式系統(tǒng),TCP/IP協(xié)議就是站在這種視角來(lái)設(shè)計(jì)的, 擁塞控制算法通過(guò)自我退讓機(jī)制(非自私思想,我為人人,人人為我),保障整個(gè)網(wǎng)絡(luò)公平性和穩(wěn)定性;
- 網(wǎng)絡(luò)設(shè)備在轉(zhuǎn)發(fā)層面上只關(guān)心與它相連節(jié)點(diǎn),節(jié)點(diǎn)根據(jù)轉(zhuǎn)發(fā)規(guī)則,按照統(tǒng)一轉(zhuǎn)發(fā)機(jī)制路由最長(zhǎng)匹配,把數(shù)據(jù)包扔給下一跳設(shè)備,而配置是管理員配置或者動(dòng)態(tài)學(xué)習(xí)的,網(wǎng)絡(luò)節(jié)點(diǎn)只是轉(zhuǎn)發(fā)工具,上層控制轉(zhuǎn)發(fā)行為;
- 網(wǎng)絡(luò)節(jié)點(diǎn)轉(zhuǎn)發(fā)行為不是集中控制的,沒(méi)有上帝視角,但網(wǎng)絡(luò)最終可以實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),這里面反映出一些哲學(xué)思考,網(wǎng)絡(luò)可以通過(guò)節(jié)點(diǎn)周圍關(guān)系連接任何一個(gè)未知節(jié)點(diǎn)(六度理論),這或許就是分組交換能夠成功的底層理論;
分層思想--網(wǎng)絡(luò)協(xié)議分層設(shè)計(jì)
網(wǎng)絡(luò)協(xié)議要怎么設(shè)計(jì)? - 分層好處是降低耦合,上層不關(guān)心底層實(shí)現(xiàn),只關(guān)心底層提供服務(wù)(接口);
- 這樣層與層之間通信就可以標(biāo)準(zhǔn)化。標(biāo)準(zhǔn)化意味著層與層之間獨(dú)立性。,可以獨(dú)自發(fā)展,這樣設(shè)計(jì)帶來(lái)很大靈活性和擴(kuò)展性,比如傳輸層有TCP/UDP/DCCP/STCP等,網(wǎng)絡(luò)層有IPv4/IPv6等, 數(shù)據(jù)鏈路層有以太網(wǎng),VLAN,WIFI,無(wú)線3G,4G,5G協(xié)議等;
- 網(wǎng)絡(luò)是異構(gòu)復(fù)雜的,分層可以整合異構(gòu)網(wǎng)絡(luò),向上層提供統(tǒng)一視圖,比如中間IP層做了適配,傳輸層和鏈路層互不糾纏,可以獨(dú)立發(fā)展;
- 分層模式擁有遞歸特性,該特性允許邏輯意義的任意封裝和再封裝,比如overlay網(wǎng)絡(luò),VPN,各種tunnel等,使網(wǎng)絡(luò)擴(kuò)展性大大增強(qiáng);
理解了計(jì)算機(jī)網(wǎng)絡(luò)的分層設(shè)計(jì)對(duì)我們理解網(wǎng)絡(luò)有什么好處?
1. 每一層只關(guān)心自己邏輯執(zhí)行,不會(huì)受到其他層的影響
2. 網(wǎng)絡(luò)問(wèn)題可以從上而下或者從下而上分層分析
報(bào)文分層封裝處理:
應(yīng)用層:需要用socket編程接口發(fā)送應(yīng)用數(shù)據(jù);
傳輸層(四層):四層采用TCP/UDP等傳輸協(xié)議進(jìn)行數(shù)據(jù)傳輸;
網(wǎng)絡(luò)層(三層):三層主要是實(shí)現(xiàn)路由轉(zhuǎn)發(fā);
路由表主要是存儲(chǔ)路由條目,IP層采用最長(zhǎng)匹配算法,查詢路由再再轉(zhuǎn)發(fā):
鏈路層(二層):
根據(jù)接口對(duì)應(yīng)的鏈路層協(xié)議(如以太網(wǎng))組裝報(bào)文:
鄰居表主要是保存目的IP地址對(duì)應(yīng)的mac地址,mac地址是2層以太網(wǎng)節(jié)點(diǎn)標(biāo)識(shí),一般通過(guò)ARP協(xié)議報(bào)文動(dòng)態(tài)學(xué)習(xí),也可以靜態(tài)配置指定:
記錄在ARP表里面:
ARP表主要是給報(bào)文添加mac頭部:
二層轉(zhuǎn)發(fā)報(bào)文:
主要二層設(shè)備(橋,交換機(jī)等)用來(lái)根據(jù)目的mac地址查找轉(zhuǎn)發(fā)端口,實(shí)現(xiàn)二層轉(zhuǎn)發(fā);
物理層: 主要是網(wǎng)卡驅(qū)動(dòng),網(wǎng)卡芯片處理,把數(shù)據(jù)轉(zhuǎn)化電或者光信息或者無(wú)線信號(hào);
網(wǎng)絡(luò)分層分析可以參考: 云網(wǎng)絡(luò)丟包故障定位全景指南
公平思想--傳輸控制
隨著互聯(lián)網(wǎng)規(guī)模越來(lái)越大,計(jì)算機(jī)處理性能提高,大量數(shù)據(jù)包流向網(wǎng)絡(luò),必然會(huì)加劇網(wǎng)絡(luò)擁塞,當(dāng)網(wǎng)絡(luò)發(fā)生擁塞時(shí),一般會(huì)出現(xiàn)數(shù)據(jù)丟失,時(shí)延增加,吞吐量下降,嚴(yán)重時(shí)甚至?xí)?dǎo)致“擁塞崩潰“。
擁塞控制需要確保網(wǎng)絡(luò)能夠承載用戶提交的通信量,是一個(gè)全局性問(wèn)題,涉及主機(jī)、路由器等很多因素:互聯(lián)網(wǎng)采用TCP擁塞控制算法來(lái)控制系統(tǒng)的容量,核心思想是主動(dòng)退讓機(jī)制,發(fā)現(xiàn)網(wǎng)絡(luò)擁塞(丟包或者延時(shí)加大),就主動(dòng)減少發(fā)包量,我為人人,人人為我,最終解除擁塞,達(dá)到共贏局面:
在終端系統(tǒng)上通常根據(jù)接受到的ACK(Acknowledge character)確認(rèn)包中包含的信息來(lái)調(diào)整擁塞控制窗口的大小,進(jìn)而控制TCP連接的發(fā)送速率,譬如:TCP Tahoe, TCP Reno, TCP Vegas, TCP NewReno, TCP BIC, TCP CBIC, BBR等算法;
在網(wǎng)絡(luò)中間設(shè)備上(路由器、防火墻、交換機(jī)等)的擁塞控制算法(AQM-Active Queue Management-主動(dòng)隊(duì)列管理)通常根據(jù)設(shè)備中的緩存隊(duì)列長(zhǎng)度信息對(duì)網(wǎng)絡(luò)擁塞控制程度進(jìn)行判斷,并將擁塞控制信息顯示或隱式地告知端點(diǎn),端點(diǎn)根據(jù)獲得的擁塞控制信息對(duì)自身發(fā)送速率進(jìn)行調(diào)整,譬如:FIFO, RED(Random Early Detection), ECN(Explicit Congestion Notification), FQ(Fair Queuing)等算法;
道路交通系統(tǒng)是一個(gè)典型的統(tǒng)計(jì)復(fù)用的分組交換系統(tǒng),其實(shí)早在TCP/IP分組交換網(wǎng)絡(luò)之前,道路交通系統(tǒng)就已經(jīng)存在了好幾千年了,我們可以用道路交通系統(tǒng)一些問(wèn)題來(lái)類比分析TCP/IP網(wǎng)絡(luò)中出現(xiàn)的問(wèn)題,比如道路擁堵類比網(wǎng)絡(luò)擁塞,可以幫助我們更容易理解網(wǎng)絡(luò)。
總結(jié)
這里主要提到了互聯(lián)網(wǎng)通信的三種設(shè)計(jì)思想:
分布式思想--分組交換:提供足夠簡(jiǎn)單且靈活的分組轉(zhuǎn)發(fā)邏輯,實(shí)現(xiàn)數(shù)據(jù)報(bào)文在系統(tǒng)中穩(wěn)定轉(zhuǎn)發(fā),網(wǎng)絡(luò)節(jié)點(diǎn)轉(zhuǎn)發(fā)行為不是集中控制的,沒(méi)有上帝視角,但網(wǎng)絡(luò)最終可以實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),反映出網(wǎng)絡(luò)設(shè)計(jì)參考一些哲學(xué)思想,網(wǎng)絡(luò)可以通過(guò)節(jié)點(diǎn)周圍關(guān)系連接任何一個(gè)未知節(jié)點(diǎn)(六度理論),這或許就是分組交換能夠成功的底層理論。
分層思想--網(wǎng)絡(luò)協(xié)議分層設(shè)計(jì):應(yīng)用層高度可擴(kuò)展,應(yīng)用程序爆炸式增長(zhǎng),得益于網(wǎng)絡(luò)的分層模型;
公平思想--傳輸控制:TCP的擁塞控制使網(wǎng)絡(luò)更加公平和穩(wěn)定,提高系統(tǒng)的容錯(cuò)率,讓系統(tǒng)可以持續(xù)正常運(yùn)轉(zhuǎn);
從技術(shù)上看,“無(wú)連接分組交換”這一“革命性的創(chuàng)造”為互聯(lián)網(wǎng)帶來(lái)了勝利。而TCP/IP分層模型的“系統(tǒng)化和完備化”使得互聯(lián)網(wǎng)進(jìn)入了蓬勃發(fā)展的商業(yè)化發(fā)展階段。互聯(lián)網(wǎng)的設(shè)計(jì)原理保證了TCP/IP的成功,使其成為了當(dāng)今信息社會(huì)最重要的基礎(chǔ)設(shè)施。
一些應(yīng)對(duì)復(fù)雜性設(shè)計(jì)思想:
- 底層實(shí)現(xiàn)一套穩(wěn)定運(yùn)行的機(jī)制(轉(zhuǎn)發(fā)機(jī)制): 比如三層路由最長(zhǎng)匹配轉(zhuǎn)發(fā)機(jī)制;二層mac地址轉(zhuǎn)發(fā)機(jī)制(bridge 轉(zhuǎn)發(fā)機(jī)制);
- 上層實(shí)現(xiàn)可配置策略(各種轉(zhuǎn)發(fā)規(guī)則): 比如路由表,鄰居表,mac轉(zhuǎn)發(fā)表等;
- 分層設(shè)計(jì)經(jīng)典思想一致延續(xù)至今,加一層的思想可以實(shí)現(xiàn)解耦,也可以實(shí)現(xiàn)關(guān)聯(lián),增強(qiáng)了設(shè)計(jì)的擴(kuò)展性;
- 越簡(jiǎn)單且可擴(kuò)展的設(shè)計(jì)越能應(yīng)對(duì)未來(lái)的變化;
3 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)演進(jìn)
推動(dòng)網(wǎng)絡(luò)不斷向前發(fā)展的核心訴求:
網(wǎng)絡(luò)通信場(chǎng)景不斷擴(kuò)展人們不斷擴(kuò)展網(wǎng)絡(luò)通信場(chǎng)景:局域網(wǎng),城域網(wǎng),廣域網(wǎng),無(wú)線網(wǎng)絡(luò),互聯(lián)網(wǎng),移動(dòng)互聯(lián)網(wǎng),工業(yè)互聯(lián)網(wǎng),云計(jì)算網(wǎng)絡(luò),物聯(lián)網(wǎng),車聯(lián)網(wǎng)等;
網(wǎng)絡(luò)容量和用戶爆發(fā)式增長(zhǎng)從Web1.0、Web2.0、到移動(dòng)互聯(lián)網(wǎng)發(fā)展,社交,游戲,短視頻,直播等應(yīng)用流行,互聯(lián)網(wǎng)流量暴漲幾十倍,對(duì)網(wǎng)絡(luò)的支撐能力帶來(lái)巨大挑戰(zhàn),倒逼網(wǎng)絡(luò)不斷進(jìn)行向前發(fā)展
- TCP/IP協(xié)議不斷發(fā)展: 從TCP擁塞控制算法Reno到BBR,從TCP到QUIC,從http1.0到http3.0,從IPv4到IPv6等等;
- 網(wǎng)絡(luò)架構(gòu)演進(jìn):從分布式網(wǎng)絡(luò)->中心化網(wǎng)絡(luò)演進(jìn),SDN興起;
- 移動(dòng)網(wǎng)絡(luò)技術(shù)演進(jìn):2G->3G->4G->5G->6G...
- 傳輸網(wǎng)絡(luò)技術(shù)演進(jìn):PDH→SDH->WDM->OTN
- ...
計(jì)算機(jī)網(wǎng)絡(luò)安全問(wèn)題計(jì)算機(jī)網(wǎng)絡(luò)安全是當(dāng)今世界的重要關(guān)注點(diǎn)。黑客一直在使用各種創(chuàng)新技術(shù)竊取重要信息?,F(xiàn)在人們?cè)诶镁W(wǎng)絡(luò)空間進(jìn)行日?;顒?dòng),對(duì)網(wǎng)絡(luò)空間的依賴性非常高。無(wú)論人們被竊取的是業(yè)務(wù)和技術(shù)機(jī)密,還是金融系統(tǒng),威脅性都是致命的。
- 防火墻技術(shù)演進(jìn):包防火墻->狀態(tài)防火墻->應(yīng)用防火墻->...
- 加密技術(shù)演進(jìn):對(duì)稱加密->非對(duì)稱加密->量子加密
- 安全領(lǐng)域演進(jìn):傳統(tǒng)網(wǎng)絡(luò)安全->移動(dòng)網(wǎng)絡(luò)安全->云計(jì)算網(wǎng)絡(luò)安全->云原生網(wǎng)絡(luò)安全
- ...
以上是我對(duì)網(wǎng)絡(luò)的部分理解,主要是核心思想理解,希望能夠幫助大家更好理解網(wǎng)絡(luò),也為該系列后續(xù)文章做一些鋪墊,希望大家喜歡
參考:
《The design philosophy of the DARPA internet protocols》
https://wikipedia.org《Congestion Avoidance and Control》
《網(wǎng)絡(luò)是怎樣連接的》
-END-
最近一直在梳理一下技術(shù)文章方向,期望分享的內(nèi)容對(duì)大家更實(shí)用。
知識(shí)點(diǎn)系列:透徹分析一個(gè)知識(shí)點(diǎn)(主要是圍繞一個(gè)知識(shí)點(diǎn),全面深刻理解該知識(shí)點(diǎn)),每天進(jìn)步一點(diǎn)點(diǎn),說(shuō)不一定哪天不小心就成了大神(大神都是從菜鳥一步一步走過(guò)來(lái)的),夢(mèng)想還是要有的,讓我們一起進(jìn)步。
硬核系列:主要分享對(duì)一門技術(shù)的全面分析,包含深度和廣度,讓大家對(duì)該技術(shù)有比較全面理解和升華,如xxx全景指南之類,希望和大家一起"精通"一門技術(shù);
實(shí)戰(zhàn)系列: 精選各種常見(jiàn)的代表性實(shí)際問(wèn)題,分享一步一步思考和解決方法,梳理整個(gè)問(wèn)題脈絡(luò),可以學(xué)習(xí)到解決問(wèn)題各種技巧和通用技能,鍛煉解決問(wèn)題思維能力,讓大家成為解決問(wèn)題的高手;
最后,希望大家從中受益。一鍵三連,多謝了!
大家好,我是Alex,本人工作超過(guò)8年,經(jīng)歷華為-->外企-->騰訊等多家公司,當(dāng)前負(fù)責(zé)騰訊云網(wǎng)絡(luò)核心架構(gòu)設(shè)計(jì)和開發(fā),了解各種類型公司晉級(jí)路線,面試經(jīng)驗(yàn)豐富,對(duì)大規(guī)模,大流量,高并發(fā),高可用,極致高性能系統(tǒng)有豐富的經(jīng)驗(yàn),擅長(zhǎng)后臺(tái)開發(fā),網(wǎng)絡(luò)技術(shù)和性能優(yōu)化,希望可以通過(guò)公眾號(hào)分享多年技術(shù)研究心得和工作經(jīng)驗(yàn),歡迎關(guān)注
關(guān)鍵詞:網(wǎng)絡(luò),核心,思想,設(shè)計(jì),計(jì)算機(jī),指南