九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
過(guò)年回去,終于給老人講清楚兩臺(tái)電腦是如何通信的

2023-02-01 14:40·華為云開(kāi)發(fā)者聯(lián)盟

本文分享自華為云社區(qū)《兩臺(tái)計(jì)算機(jī)之間究竟是如何通信的?-云社區(qū)-華為云》,作者:龍哥手記。

計(jì)算機(jī)網(wǎng)絡(luò)的知識(shí)點(diǎn)非常雜亂且瑣碎,非常容易讓人產(chǎn)生畏懼心理。其實(shí)計(jì)網(wǎng)通篇研究的核心就是不同計(jì)算機(jī)之間的通信過(guò)程,本文將從小白的角度,講解兩臺(tái)計(jì)算機(jī)之間是如何精確的找到對(duì)方的位置并發(fā)送和接收消息的,以從宏觀角度把握計(jì)算機(jī)網(wǎng)絡(luò)的體系結(jié)構(gòu)。

1. 五層協(xié)議參考模型

所謂通信協(xié)議就是通信雙方都必須要遵守的通信規(guī)則。如果沒(méi)有網(wǎng)絡(luò)通信協(xié)議,計(jì)算機(jī)的數(shù)據(jù)將無(wú)法發(fā)送到網(wǎng)絡(luò)上,更無(wú)法到達(dá)對(duì)方計(jì)算機(jī),即使能夠到達(dá),對(duì)方也未必能讀懂。有了通信協(xié)議,網(wǎng)絡(luò)通信才能夠發(fā)生。

一般我們用五層協(xié)議參考模型來(lái)進(jìn)行計(jì)算機(jī)網(wǎng)絡(luò)的學(xué)習(xí):

  • 應(yīng)用層

  • 運(yùn)輸層

  • 網(wǎng)絡(luò)層

  • 數(shù)據(jù)鏈路層

  • 物理層

上述各層的作用會(huì)在下文詳細(xì)講解,我們首先要明白為什么要分層:

協(xié)議的實(shí)現(xiàn)是很復(fù)雜的。因?yàn)閰f(xié)議要把人讀得懂的數(shù)據(jù),如網(wǎng)頁(yè)、電子郵件等加工轉(zhuǎn)化成可以在網(wǎng)絡(luò)上傳輸?shù)男盘?hào),需要進(jìn)行的處理工作非常多。

兩個(gè)系統(tǒng)中實(shí)體間的通信是一個(gè)十分復(fù)雜的過(guò)程。為了減少協(xié)議設(shè)計(jì)和調(diào)試過(guò)程的復(fù)雜性,網(wǎng)絡(luò)協(xié)議通常都按結(jié)構(gòu)化的層次方式來(lái)進(jìn)行組織,每一層完成一定功能,每一層又都建立在它的下層之上。不同的網(wǎng)絡(luò)協(xié)議,其層的數(shù)量、各層的名字、和功能不盡相同。

也就是說(shuō),每一層都是在下一層的基礎(chǔ)上,通過(guò)層間接口向上一層提供一定的服務(wù),而把 “這種服務(wù)是如何實(shí)現(xiàn)的” 細(xì)節(jié)對(duì)上層加以屏蔽。

那么,我們將一個(gè)大型網(wǎng)絡(luò)體系分成了若干個(gè)層,各個(gè)層之間是如何進(jìn)行通信的呢?

  • 1)對(duì)等層之間通信(不同開(kāi)放系統(tǒng)中的相同層次之間的通信,對(duì)等層實(shí)體之間的信息交換):OSI 標(biāo)準(zhǔn)為每一層的通信都嚴(yán)格定義了 協(xié)議數(shù)據(jù)單元 PDU的格式。對(duì)等層之間的通信是目的,對(duì)等層實(shí)體的協(xié)作保證該層功能和服務(wù)的實(shí)現(xiàn)

  • 2)相鄰層之間通信(相鄰的上下層之間的通信,屬于局部問(wèn)題):相鄰層之間的通信是手段,保證對(duì)等層實(shí)體之間的通信得以實(shí) 施

假設(shè)網(wǎng)絡(luò)協(xié)議分為若干層,那么 A、B 兩節(jié)點(diǎn)通信,實(shí)際是節(jié)點(diǎn) A 的第 n 層與節(jié)點(diǎn) B 的第 n 層進(jìn)行通信,故協(xié)議總是指某一層的協(xié)議,例如物理層協(xié)議、傳輸層協(xié)議、應(yīng)用層協(xié)議。每一相鄰層協(xié)議間有一接口,下層通過(guò)該接口向上一層提供服務(wù)。

2. 物理層

兩臺(tái)計(jì)算機(jī)之間要進(jìn)行通信,必然需要傳輸介質(zhì)/物理媒介來(lái)連接兩臺(tái)計(jì)算機(jī),這樣,我們才能把數(shù)據(jù)傳輸過(guò)去。傳輸介質(zhì)分為:

  • 導(dǎo)向型傳輸介質(zhì):

  • 雙絞線:適用于近距離

  • 同軸電纜(抗干擾性強(qiáng)):適用于遠(yuǎn)距離

  • 光纖:帶寬遠(yuǎn)遠(yuǎn)大于其他傳輸媒體

  • 非導(dǎo)向型傳輸介質(zhì):

  • 無(wú)線電波

  • 微波

  • 紅外線、激光

也就是說(shuō),物理層的作用就是實(shí)現(xiàn)計(jì)算機(jī)之間的數(shù)據(jù)傳送,這個(gè)數(shù)據(jù)其實(shí)是比特流,物理層需要盡可能屏蔽掉具體傳輸介質(zhì)和物理設(shè)備的差異, 使其上面的數(shù)據(jù)鏈路層不必考慮網(wǎng)絡(luò)的具體傳輸介質(zhì)是什么,即實(shí)現(xiàn)比特流的透明傳輸。

3. 數(shù)據(jù)鏈路層

物理層只是簡(jiǎn)單的把計(jì)算機(jī)連接起來(lái)并在上面?zhèn)鬏敱忍亓鳎€是存在著很多問(wèn)題的:

  • 1)物理連接是有差錯(cuò)和不可靠的

  • 2)物理設(shè)備之間可能存在傳輸速度不匹配問(wèn)題

也就是說(shuō)僅僅靠物理層是無(wú)法保證數(shù)據(jù)傳輸?shù)恼_性的。

這樣,數(shù)據(jù)鏈路層的主要作用就是加強(qiáng)物理層傳輸原始比特流的功能,將物理層提供的可能出錯(cuò)的物理連接改造成為邏輯上無(wú)差錯(cuò)的數(shù)據(jù)鏈路,使之對(duì)網(wǎng)絡(luò)層表現(xiàn)為一條無(wú)差錯(cuò)的鏈路。在物理層提供服務(wù)的基礎(chǔ)上,數(shù)據(jù)鏈路層還肩負(fù)著為網(wǎng)絡(luò)層提供服務(wù)的責(zé)任,其最基本的服務(wù)是將來(lái)自網(wǎng)絡(luò)層的 IP 數(shù)據(jù)報(bào)封裝成幀,可靠的傳輸?shù)较噜徑Y(jié)點(diǎn)的目標(biāo)網(wǎng)絡(luò)層。

① 封裝成幀

首先了解一下為什么需要封裝成幀:前面說(shuō)了,物理層它只是簡(jiǎn)單的把計(jì)算機(jī)連接起來(lái)并在上面?zhèn)鬏敱忍亓鳎?、1 序列),如果這些 0,1 組合的傳送毫無(wú)規(guī)則的話,計(jì)算機(jī)是解讀不了的。因此,我們需要制定一套規(guī)則來(lái)進(jìn)行 0、1 的傳送,讓計(jì)算能夠讀懂這些序列。

封裝成幀就是:發(fā)送端的數(shù)據(jù)鏈路層接收到上層網(wǎng)絡(luò)層傳過(guò)來(lái)的 IP 數(shù)據(jù)報(bào)后,在其前后部分添加首部、尾部,這樣就構(gòu)成了一個(gè)幀。接收端在收到物理層上交的比特流后,就能根據(jù)首部和尾部的標(biāo)記,從收到的比特流中識(shí)別幀的開(kāi)始和結(jié)束。

把一臺(tái)計(jì)算的的數(shù)據(jù)通過(guò)物理層和鏈路層發(fā)送給另一臺(tái)計(jì)算機(jī),究竟是誰(shuí)發(fā)給誰(shuí)的,計(jì)算機(jī)與計(jì)算機(jī)之間如何區(qū)分,你總得給他們一個(gè)唯一的標(biāo)識(shí)吧?

于是,MAC 地址出現(xiàn)了

② MAC 地址

MAC 地址就是鏈路層地址,長(zhǎng)度為 6 字節(jié)(48 位),**用于唯一標(biāo)識(shí)網(wǎng)絡(luò)適配器(網(wǎng)卡)。**計(jì)算機(jī)之間的數(shù)據(jù)傳送,就是通過(guò) MAC 地址來(lái)唯一尋找、傳送的。

一臺(tái)主機(jī)擁有多少個(gè)網(wǎng)絡(luò)適配器就有多少個(gè) MAC 地址。例如筆記本電腦普遍存在無(wú)線網(wǎng)絡(luò)適配器和有線網(wǎng)絡(luò)適配器,因此就有兩個(gè) MAC 地址。

那么,一臺(tái)計(jì)算機(jī)它是如何知道另一臺(tái)計(jì)算機(jī)的 MAC 地址的呢?這是網(wǎng)絡(luò)層的 ARP 地址解析協(xié)議做的事情。

4. 網(wǎng)絡(luò)層

在 計(jì)算機(jī)網(wǎng)絡(luò)中進(jìn)行通信的兩個(gè)計(jì)算機(jī)之間可能會(huì)經(jīng)過(guò)很多個(gè)數(shù)據(jù)鏈路,也可能還要經(jīng)過(guò)很多通信子網(wǎng)。

網(wǎng)絡(luò)層的任務(wù)就是選擇合適的網(wǎng)間路由和交換結(jié)點(diǎn), 確保數(shù)據(jù)及時(shí)傳送。在發(fā)送數(shù)據(jù)時(shí),網(wǎng)絡(luò)層把運(yùn)輸層產(chǎn)生的報(bào)文段或用戶數(shù)據(jù)報(bào)封裝成分組和包進(jìn)行傳送。

在 TCP/IP 體系結(jié)構(gòu)中,由于網(wǎng)絡(luò)層使用 IP 協(xié)議,因此分組也叫 IP 數(shù)據(jù)報(bào) ,簡(jiǎn)稱數(shù)據(jù)報(bào)。

① IP 協(xié)議

IP 協(xié)議用于屏蔽下層物理網(wǎng)絡(luò)的差異,為上層提供統(tǒng)一的 IP 數(shù)據(jù)報(bào)。

IP 協(xié)議定義的地址,我們稱之為 IP 地址。IP 數(shù)據(jù)報(bào)中含有發(fā)/收方的 IP 地址。

IP 協(xié)議提供無(wú)連接的、不可靠的、盡力的數(shù)據(jù)報(bào)投遞服務(wù)

  • 1)無(wú)連接的投遞服務(wù)

發(fā)送端可于任何時(shí)候自由發(fā)送數(shù)據(jù),而接收端永遠(yuǎn)不知道自己會(huì)在何時(shí)從哪里接收到數(shù)據(jù)。每個(gè)數(shù)據(jù)報(bào)獨(dú)立處理和傳輸, 一臺(tái)主機(jī)發(fā)出的數(shù)據(jù)報(bào)序列,可能取不同的路徑, 甚至其中的一部分?jǐn)?shù)據(jù)報(bào)會(huì)在傳輸過(guò)程中丟失;

  • 2)不可靠的投遞服務(wù)

IP 協(xié)議本身不保證數(shù)據(jù)報(bào)投遞的結(jié)果。在傳輸?shù)倪^(guò)程中,數(shù)據(jù)報(bào)可能會(huì)丟失、重復(fù)、延遲和亂序等, IP協(xié)議不對(duì)內(nèi)容作任何檢測(cè),也不將這些結(jié)果通知收發(fā)雙方;I 數(shù)據(jù)報(bào)的丟失,通過(guò)路由器發(fā) ICMP報(bào)文 告知;必要時(shí),由高層實(shí)體(如TCP)負(fù)責(zé)差錯(cuò)恢復(fù)動(dòng)作。

  • 3)盡力投遞服務(wù)

執(zhí)行數(shù)據(jù)報(bào)的分段和封裝,以適應(yīng)具體的傳輸網(wǎng)絡(luò), 由最終結(jié)點(diǎn)的IP模塊進(jìn)行合段處理

不同物理網(wǎng)絡(luò)對(duì)傳輸?shù)膸?/分組的體積有不同的規(guī)定;當(dāng)數(shù)據(jù)報(bào)長(zhǎng)度 > MTU(最大傳輸單元 MTU—Maximun Transfer Unit )時(shí),需對(duì)數(shù)據(jù)報(bào)分段 。

② ARP 地址解析協(xié)議

OK,有了上面 IP 協(xié)議的知識(shí),我們來(lái)講解一臺(tái)計(jì)算機(jī)它是如何知道另一臺(tái)計(jì)算機(jī)的 MAC 地址的,這就是網(wǎng)絡(luò)層的 ARP 地址解析協(xié)議做的事情。

網(wǎng)絡(luò)層實(shí)現(xiàn)主機(jī)之間的通信,而鏈路層實(shí)現(xiàn)具體每段鏈路之間的通信。因此在通信過(guò)程中,IP 數(shù)據(jù)報(bào)的源地址和目的地址始終不變,而 MAC 地址隨著鏈路的改變而改變。

ARP(Address Resolution Protocol )協(xié)議就可以實(shí)現(xiàn)由 IP 地址得到 MAC 地址。

每個(gè)主機(jī)都有一個(gè) ARP 高速緩存,里面有本局域網(wǎng)上的各主機(jī)和路由器的 IP 地址到 MAC 地址的映射表。

如果主機(jī) A 知道主機(jī) B 的 IP 地址,但是 ARP 高速緩存中沒(méi)有該 IP 地址到 MAC 地址的映射,此時(shí)主機(jī) A 通過(guò)廣播的方式發(fā)送 ARP 請(qǐng)求分組(該分組攜帶自己的 IP 地址 和 MAC 地址 以及 目標(biāo)主機(jī)的 IP 地址),主機(jī) B 收到該請(qǐng)求后會(huì)發(fā)送 ARP 響應(yīng)分組 給主機(jī) A 告知其 MAC 地址,隨后主機(jī) A 向其高速緩存中寫(xiě)入主機(jī) B 的 IP 地址到 MAC 地址的映射。

對(duì)應(yīng)的,RARP 協(xié)議可以實(shí)現(xiàn)由 MAC地址轉(zhuǎn)化為 IP 地址

那么,我們?nèi)绾沃缹?duì)方計(jì)算機(jī)的 IP 地址呢,這是 DNS 協(xié)議做的事情,在應(yīng)用層我們會(huì)詳細(xì)講解。

5. 傳輸層

通過(guò)物理層、數(shù)據(jù)鏈路層以及網(wǎng)絡(luò)層的互相作用,我們已經(jīng)把數(shù)據(jù)成功從計(jì)算機(jī) A 傳送到計(jì)算機(jī) B 了,可是,計(jì)算機(jī) B 里面有各種各樣的應(yīng)用程序,計(jì)算機(jī) B 該如何知道這些數(shù)據(jù)是給哪個(gè)應(yīng)用程序的呢?

所以,我們?cè)趶挠?jì)算機(jī) A 傳數(shù)據(jù)給計(jì)算表 B 的時(shí)候,還得指定一個(gè)端口(Port),以供特定的應(yīng)用程序來(lái)接受處理。即 IP 地址 + 端口號(hào)就可以唯一確定某個(gè)主機(jī)上的某個(gè)應(yīng)用進(jìn)程

也就是說(shuō),網(wǎng)絡(luò)層的功能是建立主機(jī)到主機(jī)的通信,而傳輸層的功能就是建立端口到端口的通信(也可以說(shuō)是進(jìn)程到進(jìn)程之間的通信)

傳輸層最常見(jiàn)的兩大協(xié)議是 TCP 協(xié)議和 UDP 協(xié)議,其中 TCP 協(xié)議與 UDP 最大的不同就是 TCP 提供可靠的傳輸,而 UDP 提供的是不可靠傳輸。

  • 1)用戶數(shù)據(jù)報(bào)協(xié)議 UDP(User Datagram Protocol)

UDP 在傳送數(shù)據(jù)之前不需要先建立連接,遠(yuǎn)程主機(jī)在收到 UDP 報(bào)文后,不需要給出任何確認(rèn)。雖然

UDP 不提供可靠交付,但在某些情況下 UDP 確是一種最有效的工作方式(一般用于即時(shí)通信),比如:QQ 語(yǔ)音、 QQ 視頻 、直播等等

  • 2)傳輸控制協(xié)議 TCP(Transmission Control Protocol)

TCP 提供面向連接的服務(wù)。在傳送數(shù)據(jù)之前必須先建立連接,數(shù)據(jù)傳送結(jié)束后要釋放連接。

TCP 不提供廣播或多播服務(wù)。由于 TCP 要提供可靠的,面向連接的傳輸服務(wù)(TCP 的可靠體現(xiàn)在 TCP 在傳遞數(shù)據(jù)之前,會(huì)有三次握手來(lái)建立連接,而且在數(shù)據(jù)傳遞時(shí),有確認(rèn)、窗口、重傳、流量控制、擁塞控制機(jī)制,在數(shù)據(jù)傳完后,還會(huì)斷開(kāi)連接用來(lái)節(jié)約系統(tǒng)資源。這不僅使協(xié)議數(shù)據(jù)單元的首部增大很多,還要占用許多處理機(jī)資源。TCP 一般用于文件傳輸、發(fā)送和接收郵件、遠(yuǎn)程登錄等場(chǎng)景。

6. 應(yīng)用層

應(yīng)用層最接近于用于,它的任務(wù)就是通過(guò)應(yīng)用進(jìn)程間的交互來(lái)完成特定網(wǎng)絡(luò)應(yīng)用。

應(yīng)用層協(xié)議定義的是應(yīng)用進(jìn)程間的通信和交互的規(guī)則。由于傳輸層傳來(lái)的數(shù)據(jù)五花八門(mén),有 html 格式的,有 mp4 格式等等,所以對(duì)于不同的網(wǎng)絡(luò)應(yīng)用需要不同的應(yīng)用層協(xié)議。在互聯(lián)網(wǎng)中應(yīng)用層協(xié)議很多,如域名系統(tǒng) DNS,支持萬(wàn)維網(wǎng)應(yīng)用的 HTTP 協(xié)議,支持電子郵件的 SMTP 協(xié)議等等。我們把應(yīng)用層交互的數(shù)據(jù)單元稱為報(bào)文。

由于本文的關(guān)鍵就是講解計(jì)算機(jī)之間的通信,所以其他協(xié)議我們就不講了,只講解一下 DNS 協(xié)議是如何將域名轉(zhuǎn)化為 IP 地址的。

DNS 域名解析協(xié)議

域名系統(tǒng) Domain Name System 縮寫(xiě) DNS,是因特網(wǎng)的一項(xiàng)核心服務(wù),它作為可以將域名和 IP 地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù) (這里的分布式數(shù)據(jù)庫(kù)是指,每個(gè)站點(diǎn)只保留它自己的那部分?jǐn)?shù)據(jù)),能夠使人更方便的訪問(wèn)互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的 IP 地址。

域名具有層次結(jié)構(gòu),從上到下依次為:根域名、頂級(jí)域名、二級(jí)域名。

DNS 可以使用 UDP 或者 TCP 進(jìn)行傳輸,使用的端口號(hào)都為 53。

大多數(shù)情況下 DNS 使用 UDP 進(jìn)行傳輸,這就要求域名解析器和域名服務(wù)器都必須自己處理超時(shí)和重傳從而保證可靠性。

域名解析方式:

  • 遞歸查詢

  • 迭代查詢

基本原理:

1)瀏覽器搜索自己的 DNS 緩存,緩存中維護(hù)一張域名與 IP 地址的對(duì)應(yīng)表;

2)若沒(méi)有,則搜索操作系統(tǒng)的 DNS 緩存;

3)若沒(méi)有,則操作系統(tǒng)將域名發(fā)送至本地域名服務(wù)器(遞歸查詢方式),本地域名服務(wù)器查詢自己的 DNS 緩存,查找成功則返回結(jié)果,否則,通過(guò)以下方式迭代查找:

  • 本地域名服務(wù)器向根域名服務(wù)器發(fā)起請(qǐng)求,根域名服務(wù)器返回 com 域的頂級(jí)域名服務(wù)器的地址;

  • 本地域名服務(wù)器向 com 域的頂級(jí)域名服務(wù)器發(fā)起請(qǐng)求,返回權(quán)限域名服務(wù)器地址

  • 本地域名服務(wù)器向權(quán)限域名服務(wù)器發(fā)起請(qǐng)求,得到 IP 地址

4)本地域名服務(wù)器將得到的 IP 地址返回給操作系統(tǒng),同時(shí)自己將 IP 地址緩存起來(lái)

5)操作系統(tǒng)將 IP 地址返回給瀏覽器,同時(shí)自己也將 IP 地址緩存起來(lái)

至此,瀏覽器已經(jīng)得到了域名對(duì)應(yīng)的 IP 地址。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
你們最關(guān)心的42個(gè)計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)問(wèn)答
計(jì)算機(jī)網(wǎng)絡(luò)試題庫(kù)含答案(個(gè)人整理打印版)
辦公自動(dòng)化原理及應(yīng)用筆記第八章
計(jì)算機(jī)基礎(chǔ)知識(shí)2
第二章 TCP/IP簡(jiǎn)介
TCP/IP協(xié)議的概念
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服