本篇主要是對(duì)計(jì)算機(jī)網(wǎng)絡(luò)一些核心思想理解,屬于內(nèi)功心法,初學(xué)者適合入門,非初學(xué)者可以學(xué)習(xí)其設(shè)計(jì)思想,總之" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷資訊 > 網(wǎng)站運(yùn)營(yíng) > 計(jì)算機(jī)網(wǎng)絡(luò)硬核指南|網(wǎng)絡(luò)設(shè)計(jì)核心思想

計(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ì)可以有很多不同層次的理解













我們可以看看計(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)站





怎么轉(zhuǎn)發(fā)數(shù)據(jù)?







由于發(fā)送端和接收端:

  1. 一個(gè)發(fā)送端可能要發(fā)給多個(gè)接收端,或者多對(duì)多場(chǎng)景,發(fā)送端端口有限,不能每個(gè)都單獨(dú)通信,而且成本高,不易操作;
  2. 兩臺(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)題嗎?

  1. 協(xié)議要怎么設(shè)計(jì)?
  2. 報(bào)文的轉(zhuǎn)發(fā)機(jī)制是什么?
  3. 怎么保證系統(tǒng)不會(huì)掛掉(不可用)?
  4. 怎么滿足不同類型計(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ù)雜性













那計(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ò)通信:




報(bào)文交換提高了通信線路的利用率,不需要建立連接,但也不適合計(jì)算機(jī)網(wǎng)絡(luò)通信:













最終計(jì)算機(jī)網(wǎng)絡(luò)采用了分組交換技術(shù):











分組交換(英語(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ò)有什么好處?




分層思想--網(wǎng)絡(luò)協(xié)議分層設(shè)計(jì)




網(wǎng)絡(luò)協(xié)議要怎么設(shè)計(jì)?



















理解了計(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ì)思想:




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ā)展



















計(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),威脅性都是致命的。
















以上是我對(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ī),指南

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉