国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

這篇具有很好參考價(jià)值的文章主要介紹了「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

「前言」文章是關(guān)于網(wǎng)絡(luò)編程方面的,今天內(nèi)容大致是網(wǎng)絡(luò)基礎(chǔ),講解下面開(kāi)始!

「歸屬專(zhuān)欄」網(wǎng)絡(luò)編程

「主頁(yè)鏈接」個(gè)人主頁(yè)

「筆者」楓葉先生(fy)

目錄

一、計(jì)算機(jī)網(wǎng)絡(luò)背景

1.1?網(wǎng)絡(luò)發(fā)展

1.2?認(rèn)識(shí) "協(xié)議"

二、網(wǎng)絡(luò)協(xié)議初識(shí)

2.1 協(xié)議分層

2.2 OSI七層模型

2.3?TCP/IP五層(或四層)模型

三、網(wǎng)絡(luò)傳輸基本流程

3.1?局域網(wǎng)的兩臺(tái)主機(jī)通信

3.2?跨網(wǎng)絡(luò)的兩臺(tái)主機(jī)通信

四、網(wǎng)絡(luò)中的地址管理

4.1?認(rèn)識(shí)IP地址

4.2?認(rèn)識(shí)MAC地址


一、計(jì)算機(jī)網(wǎng)絡(luò)背景

1.1?網(wǎng)絡(luò)發(fā)展

獨(dú)立模式:計(jì)算機(jī)之間相互獨(dú)立

在早期的時(shí)候,計(jì)算機(jī)之間是相互獨(dú)立的,此時(shí)如果多個(gè)計(jì)算機(jī)要協(xié)同完成某種業(yè)務(wù),那么就只能等一臺(tái)計(jì)算機(jī)處理完后再將數(shù)據(jù)傳遞給下一臺(tái)計(jì)算機(jī),然后下一臺(tái)計(jì)算機(jī)再進(jìn)行相應(yīng)的業(yè)務(wù)處理,效率非常低下。

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

比如:

  • 小松負(fù)責(zé)終端A:小松正在運(yùn)行業(yè)務(wù)①,完成后把數(shù)據(jù)送到運(yùn)行業(yè)務(wù)②時(shí)移動(dòng)到B主機(jī)前
  • 小竹負(fù)責(zé)終端B:在小松處理完之前處于等待狀態(tài)
  • 小梅負(fù)責(zé)終端C:在小松、小竹都處理完前處于等待狀態(tài)

這種計(jì)算機(jī)之間相互獨(dú)立會(huì)導(dǎo)致:數(shù)據(jù)不一致、協(xié)作困難等問(wèn)題

網(wǎng)絡(luò)互聯(lián):多臺(tái)計(jì)算機(jī)連接在一起,完成數(shù)據(jù)共享

這時(shí)就有人設(shè)法將這些計(jì)算機(jī)連接在一起,當(dāng)某個(gè)業(yè)務(wù)需要多臺(tái)計(jì)算機(jī)協(xié)同完成時(shí),就可以將共享的數(shù)據(jù)放到服務(wù)器中進(jìn)行集中管理,此時(shí)各個(gè)計(jì)算機(jī)就都能獲取到這些共享的數(shù)據(jù),所以各個(gè)業(yè)務(wù)在處理就能隨時(shí)進(jìn)行切換了?

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

隨著計(jì)算機(jī)的增多,便產(chǎn)生了局域網(wǎng)和廣域網(wǎng)

局域網(wǎng)LAN(local area network?): 計(jì)算機(jī)數(shù)量更多了, 通過(guò)交換機(jī)和路由器連接在一起

  • 后來(lái)這樣的網(wǎng)絡(luò)雛形逐漸發(fā)展,連入這個(gè)網(wǎng)絡(luò)中的機(jī)器變得越來(lái)越多,于是就出現(xiàn)了局域網(wǎng)的概念
  • 在局域網(wǎng)中有一種設(shè)備叫做交換機(jī),交換機(jī)主要完成局域網(wǎng)內(nèi)數(shù)據(jù)的轉(zhuǎn)發(fā)工作,也就是在局域網(wǎng)內(nèi)將數(shù)據(jù)從一臺(tái)主機(jī)轉(zhuǎn)發(fā)給另一臺(tái)主機(jī)
  • 各個(gè)局域網(wǎng)之間通過(guò)路由器連接起來(lái),路由器主要完成數(shù)據(jù)的路由轉(zhuǎn)發(fā)工作

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

廣域網(wǎng)WAN(Wide area network):將遠(yuǎn)隔千里的計(jì)算機(jī)都連在一起

各個(gè)局域網(wǎng)之間通過(guò)路由器相互連接在一起,便組成了一個(gè)更大的網(wǎng)絡(luò)結(jié)構(gòu),我們將其稱(chēng)之為廣域網(wǎng)。實(shí)際局域網(wǎng)和廣域網(wǎng)是一種相對(duì)的概念,我們也可以將廣域網(wǎng)看作一個(gè)比較大的局域網(wǎng)

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

一臺(tái)計(jì)算機(jī)內(nèi)部本質(zhì)也是一個(gè)小型的網(wǎng)絡(luò)結(jié)構(gòu)

計(jì)算機(jī)體系結(jié)構(gòu)中有網(wǎng)絡(luò),二網(wǎng)絡(luò)也有自己的體系結(jié)構(gòu)?

1.2?認(rèn)識(shí) "協(xié)議"

什么是協(xié)議??

"協(xié)議" 是一種約定,,通信雙方只要曾經(jīng)做過(guò)某種約定,之后就可以使用這種約定來(lái)完成某種事情。而網(wǎng)絡(luò)協(xié)議是通信計(jì)算機(jī)雙方必須共同遵從的一組約定,因此我們一定要將這種約定用計(jì)算機(jī)語(yǔ)言表達(dá)出來(lái),此時(shí)雙方計(jì)算機(jī)才能識(shí)別約定的相關(guān)內(nèi)容

比如:

在零幾年的時(shí)候,家庭里面經(jīng)常用的電話(huà)是座機(jī)電話(huà),?零幾年的時(shí)候花費(fèi)還很貴

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

  • 假設(shè)張三在上初中,學(xué)校離家里比較近,每個(gè)星期都可以回家,可以當(dāng)面詢(xún)問(wèn)下一周的零花錢(qián),這個(gè)過(guò)程是面對(duì)面很方便
  • 假設(shè)在零幾年,張三在上大學(xué),距離家里面很遠(yuǎn),每個(gè)月只能打電話(huà)向家里面要生活費(fèi),打電話(huà)的過(guò)程就是很浪費(fèi)錢(qián)的過(guò)程,于是張三跟家里面做了一個(gè)約定:電話(huà)零響兩聲代表沒(méi)錢(qián)了,需要打錢(qián)給我了;電話(huà)鈴響三聲才代表有事找家里面...
  • 這個(gè)電話(huà)鈴聲代表著不同的含義,而這個(gè)含義雙方不用解釋?zhuān)p方早就已經(jīng)有共識(shí)了,這個(gè)約定可以錢(qián)少“通話(huà)”的成本

對(duì)比到計(jì)算機(jī):

  • 張三上初中:兩臺(tái)相近的計(jì)算機(jī)通信成本不是很高
  • 張三上大學(xué):兩臺(tái)計(jì)算機(jī)的相距距離很遠(yuǎn),比如一個(gè)在云南,一個(gè)在北京,這時(shí)就會(huì)引入了新的問(wèn)題:通信的距離變長(zhǎng)了,代表著通信的成本提高了。
  • 為了減少通信成本,計(jì)算機(jī)定制了協(xié)議

注:所有的網(wǎng)絡(luò)問(wèn)題:本質(zhì)都是傳輸距離變長(zhǎng)了

協(xié)議應(yīng)該由誰(shuí)來(lái)定制?

  • 在當(dāng)前這個(gè)互聯(lián)網(wǎng)時(shí)代,計(jì)算機(jī)生產(chǎn)商有很多,計(jì)算機(jī)操作系統(tǒng)也有很多,計(jì)算機(jī)網(wǎng)絡(luò)硬件設(shè)備更是多種多樣,那我們是如何讓這些不同廠商之間生產(chǎn)的計(jì)算機(jī)能夠相互順暢的通信的呢?這時(shí)候就需要有人站出來(lái),約定一個(gè)共同的標(biāo)準(zhǔn),并且讓大家都來(lái)遵守這個(gè)標(biāo)準(zhǔn),這就是網(wǎng)絡(luò)協(xié)議。
  • 而那個(gè)站出來(lái)的人一定是該領(lǐng)域當(dāng)中的佼佼者,因?yàn)榫W(wǎng)絡(luò)協(xié)議的定制本質(zhì)就是規(guī)則的定制,你要站出來(lái)制定規(guī)則那么一定要同行業(yè)的其他人都認(rèn)可你。比如5G標(biāo)準(zhǔn)的定義,華為就是那個(gè)站出來(lái)的人,華為在通信領(lǐng)域已經(jīng)具備很強(qiáng)的通信能力了,在這個(gè)行業(yè)里它就是所謂的佼佼者。
  • 正所謂“一流的企業(yè)做標(biāo)準(zhǔn),二流的企業(yè)做品牌,三流的企業(yè)做產(chǎn)品”。但是標(biāo)準(zhǔn)的定制有一部分是公益性、開(kāi)源性的,它制定標(biāo)準(zhǔn)的目的是為了讓我們的世界變得更好;而標(biāo)準(zhǔn)的定制還有一部分是具有一定盈利性質(zhì)的,當(dāng)你需要使用這項(xiàng)技術(shù)時(shí)就會(huì)收取部分專(zhuān)利費(fèi),此時(shí)就能將曾經(jīng)做的技術(shù)投入進(jìn)行變現(xiàn)

計(jì)算機(jī)之間的傳輸媒介是光信號(hào)和電信號(hào)。通過(guò) "頻率" 和 "強(qiáng)弱" 來(lái)表示 0 和 1 這樣的信息. 要想傳遞各種不同的信息, 就需要約定好雙方的數(shù)據(jù)格式

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

通信的兩臺(tái)主機(jī), 約定好協(xié)議就可以了么??

不可以,你有你定制的協(xié)議,我有我定制的協(xié)議,大家的協(xié)議都互不相同,依舊是無(wú)法正常通信,這些計(jì)算機(jī)都應(yīng)該要遵守同一個(gè)標(biāo)準(zhǔn)?

二、網(wǎng)絡(luò)協(xié)議初識(shí)

  • 計(jì)算機(jī)生產(chǎn)廠商有很多;
  • 計(jì)算機(jī)操作系統(tǒng), 也有很多;
  • 計(jì)算機(jī)網(wǎng)絡(luò)硬件設(shè)備, 還是有很多;
  • 如何讓這些不同廠商之間生產(chǎn)的計(jì)算機(jī)能夠相互順暢的通信?? 就需要有人站出來(lái),約定一個(gè)共同的標(biāo)準(zhǔn),大家都來(lái)遵守,這就是 網(wǎng)絡(luò)協(xié)議

2.1 協(xié)議分層

理解分層

  • 分層設(shè)計(jì)方面的優(yōu)勢(shì):每一層都有自己特定的功能 -- 低耦合
  • 一般我們的分層依據(jù):功能比較集中,耦合度比較高的模塊,分為一層 -- 高內(nèi)聚

比如在打電話(huà),人與人之間通信使用的是漢語(yǔ),我們可以將其稱(chēng)為語(yǔ)言層;而電話(huà)和電話(huà)之間通信使用的是電話(huà)協(xié)議,我們可以將其稱(chēng)之為通信設(shè)備層?

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

?后來(lái)隨著科技的發(fā)展,我們都用上了智能手機(jī),此時(shí)我們下層使用的通信設(shè)備變了,或是這部電話(huà)賣(mài)到了其他國(guó)家,此時(shí)上層使用的通信語(yǔ)言變了,但我們?nèi)匀豢梢哉贤?/p>

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

在這個(gè)例子中, 我們的協(xié)議只有兩層; 但是實(shí)際的網(wǎng)絡(luò)通信會(huì)更加復(fù)雜, 需要分更多的層次

分層最大的好處在于“封裝”,在分層情況下,將某層的協(xié)議進(jìn)行替換后,通信雙方之間是不會(huì)受到影響的?

兩臺(tái)主機(jī)要通信,必須要解決一下的幾個(gè)問(wèn)題:

1、把數(shù)據(jù)包交付給自己直接相連的下一臺(tái)主機(jī)

比如:張三北京到云南騎自行車(chē)旅游,首先張三得具備到下一站的能力,誰(shuí)提供這個(gè)能力:自行車(chē);同理數(shù)據(jù)包想要交付到下一臺(tái)直接相連的主機(jī),首先要具備交付這個(gè)能力

2、要有路徑選擇的能力

?張三目標(biāo)是云南,路途中會(huì)經(jīng)過(guò)許許多多個(gè)站,如何選擇下一個(gè)站,這是一個(gè)問(wèn)題,只有具備了選擇這個(gè)能力,張三才能一站站往下跳,張三才會(huì)有可能到云南(不考慮導(dǎo)航),數(shù)據(jù)包也是如此

3、容錯(cuò)糾錯(cuò)能力

數(shù)據(jù)包傳輸?shù)较乱徽疽灿锌赡茏咤e(cuò), 或者數(shù)據(jù)包丟了,就需要重新發(fā)送該數(shù)據(jù)包,所以需要有一定的容錯(cuò)糾錯(cuò)能力

4、解決應(yīng)用方面的問(wèn)題

結(jié)合1、2、3 點(diǎn)的能力,數(shù)據(jù)包已經(jīng)具備到達(dá)另一臺(tái)千里之外的主機(jī)的能力。張三去云南是手段,不是目的,玩才是張三的目的;數(shù)據(jù)包也是如此,從一臺(tái)主機(jī)送到另一臺(tái)主機(jī)是手段,數(shù)據(jù)表解決自己應(yīng)用方面的問(wèn)題才是數(shù)據(jù)包的目的

這四個(gè)問(wèn)題就是網(wǎng)絡(luò)要解決的問(wèn)題,每一個(gè)問(wèn)題都以高內(nèi)聚低耦合的方式進(jìn)行分層,一層狀的形式劃分成諾干層。

這也是為什么網(wǎng)絡(luò)會(huì)劃分成諾干層次的原因,每一層都有自己匹配的協(xié)議,每一層的協(xié)議都是解決自己的問(wèn)題

2.2 OSI七層模型

  • OSI(Open System Interconnection,開(kāi)放系統(tǒng)互連)七層網(wǎng)絡(luò)模型稱(chēng)為開(kāi)放式系統(tǒng)互聯(lián)參考模型,是一個(gè)邏輯上的定義和規(guī)范;
  • 把網(wǎng)絡(luò)從邏輯上分為了7層。每一層都有相關(guān)、相對(duì)應(yīng)的物理設(shè)備,比如路由器,交換機(jī);
  • OSI 七層模型是一種框架性的設(shè)計(jì)方法,其最主要的功能使就是幫助不同類(lèi)型的主機(jī)實(shí)現(xiàn)數(shù)據(jù)傳輸;
  • 它的最大優(yōu)點(diǎn)是將服務(wù)、接口和協(xié)議這三個(gè)概念明確地區(qū)分開(kāi)來(lái),概念清楚,理論也比較完整. 通過(guò)七個(gè)層次化的結(jié)構(gòu)模型使不同的系統(tǒng)不同的網(wǎng)絡(luò)之間實(shí)現(xiàn)可靠的通訊;
  • 但是,它既復(fù)雜又不實(shí)用,所以下面按照TCP/IP四層模型來(lái)講解
分層名稱(chēng) 功能 每層功能概覽
7 應(yīng)用層 針對(duì)特定應(yīng)用的協(xié)議 「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1
6 表示層 設(shè)備固有數(shù)據(jù)格式和網(wǎng)絡(luò)標(biāo)準(zhǔn)數(shù)據(jù)格式的轉(zhuǎn)換 「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1
5 會(huì)話(huà)層 通信管理、負(fù)責(zé)建立和斷開(kāi)通信連接(數(shù)據(jù)流動(dòng)的邏輯通路)、管理傳輸層以下的分層 「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1
4 傳輸層 管理兩個(gè)節(jié)點(diǎn)之間的數(shù)據(jù)傳輸、負(fù)責(zé)可靠性傳輸(確保數(shù)據(jù)被可靠地傳送到目標(biāo)地址) 「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1
3 網(wǎng)絡(luò)層 地址管理與路由選擇 「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1
2 數(shù)據(jù)鏈路層 互聯(lián)設(shè)備之間傳送和識(shí)別數(shù)據(jù)幀 「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1
1 物理層 以0/1代表電壓的高低以及燈光的閃滅、界定連接器和網(wǎng)線(xiàn)的規(guī)格 「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

?實(shí)際上再工程實(shí)踐中,發(fā)現(xiàn)根本用不到這么多的層,所以把 5、6、7層合并成了一層:應(yīng)用層

  • 數(shù)據(jù)鏈路層解決的是第一個(gè)問(wèn)題:把數(shù)據(jù)包交付給自己直接相連的下一臺(tái)主機(jī)的問(wèn)題
  • 網(wǎng)絡(luò)層解決的是第二個(gè)問(wèn)題:要有路徑選擇的能力
  • 傳輸層解決的是第三個(gè)問(wèn)題:容錯(cuò)糾錯(cuò)能力
  • 應(yīng)用層解決的是第四個(gè)問(wèn)題:解決應(yīng)用方面的問(wèn)題

應(yīng)用層(三層)一般是由用戶(hù)決定的,比如微信,它默認(rèn)提供了數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層;而應(yīng)用層由用戶(hù)決定,加微信好友是會(huì)話(huà)層,用什么語(yǔ)言交流是表示層。

因?yàn)楣こ虒?shí)踐中發(fā)現(xiàn)的問(wèn)題,所以重新對(duì)層數(shù)進(jìn)行了劃分

2.3?TCP/IP五層(或四層)模型

TCP/IP通訊協(xié)議采用了5層的層級(jí)結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來(lái)完成自己的需求

如果是TCP/IP四層模型則去掉物理層,一般都叫TCP/IP四層模型

注:TCP/IP是一組協(xié)議的代名詞,它還包括許多協(xié)議,組成了TCP/IP協(xié)議簇

  • 物理層: 負(fù)責(zé)光/電信號(hào)的傳遞方式. 比如現(xiàn)在以太網(wǎng)通用的網(wǎng)線(xiàn)(雙絞 線(xiàn))、早期以太網(wǎng)采用的的同軸電纜(現(xiàn)在主要用于有線(xiàn)電視)、光纖, 現(xiàn)在的wifi無(wú)線(xiàn)網(wǎng)使用電磁波等都屬于物理層的概念。物理層的能力決定了最大傳輸速率、傳輸距離、抗干擾性等. 集線(xiàn)器(Hub)工作在物理層
  • 數(shù)據(jù)鏈路層: 負(fù)責(zé)設(shè)備之間的數(shù)據(jù)幀的傳送和識(shí)別. 例如網(wǎng)卡設(shè)備的驅(qū)動(dòng)、幀同步(就是說(shuō)從網(wǎng)線(xiàn)上檢測(cè)到什么信號(hào)算作新幀的開(kāi)始)、沖突檢測(cè)(如果檢測(cè)到?jīng)_突就自動(dòng)重發(fā))、數(shù)據(jù)差錯(cuò)校驗(yàn)等工作. 有以太網(wǎng)、令牌環(huán)網(wǎng), 無(wú)線(xiàn)LAN等標(biāo)準(zhǔn). 交換機(jī)(Switch)工作在數(shù)據(jù)鏈路層
  • 網(wǎng)絡(luò)層: 負(fù)責(zé)地址管理和路由選擇。例如在IP協(xié)議中,通過(guò)IP地址來(lái)標(biāo)識(shí)一臺(tái)主機(jī),并通過(guò)路由表的方式規(guī)劃出兩臺(tái)主機(jī)之間的數(shù)據(jù)傳輸?shù)木€(xiàn)路(路由)。?路由器(Router)工作在網(wǎng)路層
  • 傳輸層: 負(fù)責(zé)兩臺(tái)主機(jī)之間的數(shù)據(jù)傳輸。如傳輸控制協(xié)議 (TCP),能夠確保數(shù)據(jù)可靠的從源主機(jī)發(fā)送到目標(biāo)主機(jī)
  • 應(yīng)用層: 負(fù)責(zé)應(yīng)用程序間溝通,如簡(jiǎn)單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠(yuǎn)程訪(fǎng)問(wèn)協(xié)議(Telnet)等。網(wǎng)絡(luò)編程主要就是針對(duì)應(yīng)用層

物理層補(bǔ)充

光電信號(hào)分兩種:

  • 數(shù)字信號(hào):比較適合家庭使用,方便家庭的電子設(shè)備進(jìn)行解釋?zhuān)酚善鬟M(jìn)行二進(jìn)制解釋
  • 模擬信號(hào):比較適合網(wǎng)絡(luò)傳輸,遠(yuǎn)距離傳輸

光電信號(hào)是會(huì)衰減的,衰減到一定層度就沒(méi)有了?

?集線(xiàn)器:該硬件的作用是,對(duì)光電信號(hào)進(jìn)行放大,有了這個(gè)集線(xiàn)器光電信號(hào)就可以進(jìn)行遠(yuǎn)距離傳輸了。交換機(jī)后面談

在物理層上工作的還有調(diào)試解調(diào)器

調(diào)試解調(diào)器:就是我們?nèi)粘Kf(shuō)的“貓”,“光貓”

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

不是真貓哈

?「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

補(bǔ)充其他一些知識(shí):

光纖:是一種用于傳輸光信號(hào)的電信傳輸媒介,白色的是玻璃絲,非常細(xì),很容易斷(圖中放大了玻璃絲)

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

光纖直接連的就是我們所說(shuō)的“光貓”

貓的功能就是把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),或者是把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)

貓連接的就是路由器,路由器真正識(shí)別的才是0 1序列,路由器幫我們構(gòu)建局域網(wǎng)

網(wǎng)線(xiàn)(雙絞線(xiàn)):常用于傳輸信號(hào),白色的是雙絞線(xiàn)水晶頭

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

每個(gè)硬件設(shè)備自身內(nèi)部都存在大量的寄存器

從數(shù)據(jù)鏈路層開(kāi)始就是已經(jīng)屬于軟件了

TCP/IP與OSI七層模型各層的對(duì)比:

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

  • 下面幾層幾乎是沒(méi)有區(qū)別的(紅色),操作系統(tǒng)對(duì)應(yīng)的是傳輸層和網(wǎng)絡(luò)層,數(shù)據(jù)鏈路層和物理層都是對(duì)應(yīng)在驅(qū)動(dòng)層的,而TCP/IP協(xié)議當(dāng)中的應(yīng)用層就對(duì)應(yīng)到OSI七層協(xié)議當(dāng)中的應(yīng)用層、表示層和會(huì)話(huà)層?
  • 傳輸層和網(wǎng)絡(luò)層是OS自己內(nèi)部實(shí)現(xiàn)的,所有的OS都要遵守這兩層,只要是聯(lián)網(wǎng)的一定是遵守這兩層
  • 傳輸層往上會(huì)提供一批網(wǎng)絡(luò)的系統(tǒng)調(diào)用接口,以便應(yīng)用層的調(diào)用(OS不相信任何人),而這些網(wǎng)絡(luò)的系統(tǒng)調(diào)用接口全部被整合進(jìn)了文件系統(tǒng)里面,也就是說(shuō)未來(lái)使用的網(wǎng)絡(luò)系統(tǒng)調(diào)用接口一定是跟文件的系統(tǒng)調(diào)用接口一起使用的。以后我所寫(xiě)的網(wǎng)絡(luò)代碼都是在應(yīng)用層中

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

為什么叫TCP/IP四層模型?

  • 傳輸層最具有代表性的協(xié)議就是:TCP協(xié)議,網(wǎng)絡(luò)層最具有代表性的協(xié)議就是:IP協(xié)議,這兩個(gè)協(xié)議是重中之重,這種地位是OS給的,每一個(gè)OS里面這兩層必須是TCP/IP,后面也要重點(diǎn)學(xué)這兩個(gè)協(xié)議

物理層我們考慮的比較少. 因此很多時(shí)候也可以稱(chēng)為 TCP/IP四層模型

一般而言

  • 對(duì)于一臺(tái)主機(jī), 它的操作系統(tǒng)內(nèi)核實(shí)現(xiàn)了從傳輸層到物理層的內(nèi)容;
  • 對(duì)于一臺(tái)路由器, 它實(shí)現(xiàn)了從網(wǎng)絡(luò)層到物理層;
  • 對(duì)于一臺(tái)交換機(jī), 它實(shí)現(xiàn)了從數(shù)據(jù)鏈路層到物理層;
  • 對(duì)于集線(xiàn)器, 它只實(shí)現(xiàn)了物理層

但是并不絕對(duì). 很多交換機(jī)也實(shí)現(xiàn)了網(wǎng)絡(luò)層的轉(zhuǎn)發(fā); 很多路由器也實(shí)現(xiàn)了部分傳輸層的內(nèi)容(比如端口轉(zhuǎn)發(fā))

:現(xiàn)在的路由器已經(jīng)干到了應(yīng)用層,但是工作主要還是在網(wǎng)絡(luò)層

三、網(wǎng)絡(luò)傳輸基本流程

協(xié)議報(bào)頭

  • 協(xié)議每一層都有報(bào)頭,協(xié)議通常是通過(guò)協(xié)議報(bào)頭來(lái)進(jìn)行表達(dá);每一份數(shù)據(jù)最終在被發(fā)送或者在不同的協(xié)議層中,都要有自己的報(bào)頭

什么是報(bào)頭?

  • 報(bào)頭本質(zhì)也是一種數(shù)據(jù)。
  • 比如,你在淘寶上買(mǎi)一個(gè)水杯,但實(shí)際到了的時(shí)候,會(huì)多出一個(gè)快遞盒子和快遞單,這兩個(gè)并不是你想要的,多出的快遞盒子和快遞單就是一個(gè)報(bào)頭,也就是說(shuō),往網(wǎng)絡(luò)發(fā)送數(shù)據(jù)包,實(shí)際上會(huì)多一點(diǎn)點(diǎn)東西,這些東西就是報(bào)頭,每一層協(xié)議都有自己的報(bào)頭

局域網(wǎng)通信

  • 兩臺(tái)局域網(wǎng)的主機(jī)能夠直接進(jìn)行通信
  • 每一臺(tái)主機(jī)都有自己的“名字”:每一臺(tái)主機(jī)都有網(wǎng)卡,每一張網(wǎng)卡都有自己的地址,這個(gè)地址稱(chēng)為MAC地址,表明自己在局域網(wǎng)中的唯一性?

局域網(wǎng)通信原理(以太網(wǎng))

主機(jī)Mac1,向Mac7發(fā)送 “hello”,在這個(gè)局域網(wǎng)上的主機(jī)都能收到 “hello” 這個(gè)數(shù)據(jù)包,但是 “數(shù)據(jù)包” 只有與匹配的MAC地址才會(huì)真正收到這個(gè)數(shù)據(jù)包,其他主機(jī)進(jìn)行匹配MAC地址失敗,失敗則直接丟棄數(shù)據(jù)包

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

3.1?局域網(wǎng)的兩臺(tái)主機(jī)通信

兩臺(tái)計(jì)算機(jī)通過(guò)TCP/IP協(xié)議通訊的過(guò)程如下所示:

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

數(shù)據(jù)包封裝和分用?

  • 不同的協(xié)議層對(duì)數(shù)據(jù)包有不同的稱(chēng)謂,在傳輸層叫做段(segment),在網(wǎng)絡(luò)層叫做數(shù)據(jù)報(bào) (datagram),在鏈路層叫做幀(frame).
  • 應(yīng)用層數(shù)據(jù)通過(guò)協(xié)議棧發(fā)到網(wǎng)絡(luò)上時(shí),每層協(xié)議都要加上一個(gè)數(shù)據(jù)首部(header),稱(chēng)為封裝(Encapsulation).
  • 首部信息中包含了一些類(lèi)似于首部有多長(zhǎng), 載荷(payload)有多長(zhǎng), 上層協(xié)議是什么等信息.
  • 數(shù)據(jù)封裝成幀后發(fā)到傳輸介質(zhì)上,到達(dá)目的主機(jī)后每層協(xié)議再剝掉相應(yīng)的首部,根據(jù)首部中的 "上層協(xié)議字段" 將數(shù)據(jù)交給對(duì)應(yīng)的上層協(xié)議處理?
  • 報(bào)文 = 報(bào)頭 + 有效載荷

當(dāng)用戶(hù)A要將數(shù)據(jù) “hello” 發(fā)送給另一臺(tái)主機(jī)B,該數(shù)據(jù)需要先通過(guò)網(wǎng)絡(luò)協(xié)議棧進(jìn)行封裝:(自頂向下)

  • 數(shù)據(jù)包報(bào)先交給應(yīng)用層,應(yīng)用層添加上對(duì)應(yīng)應(yīng)用層協(xié)議的報(bào)頭信息后,將數(shù)據(jù)再交給傳輸層
  • 傳輸層收到數(shù)據(jù)包后,再添加上對(duì)應(yīng)傳輸層協(xié)議的報(bào)頭信息,并將數(shù)據(jù)繼續(xù)向下進(jìn)行交付
  • 網(wǎng)絡(luò)層收到數(shù)據(jù)包后,再添加上對(duì)應(yīng)網(wǎng)絡(luò)層協(xié)議的報(bào)頭信息,接著將數(shù)據(jù)包再交給鏈路層
  • 鏈路層收到數(shù)據(jù)包后,最后再添加上對(duì)應(yīng)鏈路層協(xié)議的報(bào)頭信息,至此數(shù)據(jù)封裝完畢

下圖為數(shù)據(jù)封裝的過(guò)程:

注:用戶(hù)數(shù)據(jù)就是用戶(hù)發(fā)送的數(shù)據(jù)

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

數(shù)據(jù)封裝完畢后就可以通過(guò)局域網(wǎng)將其發(fā)送給對(duì)端主機(jī)了(上圖中是以太網(wǎng)),而當(dāng)對(duì)端主機(jī)收到數(shù)據(jù)后,對(duì)應(yīng)也需要通過(guò)網(wǎng)絡(luò)協(xié)議棧對(duì)該數(shù)據(jù)進(jìn)行解包與分用:(自底向上)

注:只有B主機(jī)會(huì)受到數(shù)據(jù)包,其他主機(jī)全部丟棄?

  • 鏈路層收到數(shù)據(jù)包后,先將數(shù)據(jù)包中對(duì)應(yīng)鏈路層協(xié)議的報(bào)頭信息提取出來(lái),然后將剩下的數(shù)據(jù)包交給網(wǎng)絡(luò)層
  • 網(wǎng)絡(luò)層收到該數(shù)據(jù)包后,再將數(shù)據(jù)包中對(duì)應(yīng)網(wǎng)絡(luò)層協(xié)議的報(bào)頭信息提取出來(lái),然后將剩下的數(shù)據(jù)包繼續(xù)向上進(jìn)行交付
  • 傳輸層收到該數(shù)據(jù)包后,再將數(shù)據(jù)包中對(duì)應(yīng)傳輸層協(xié)議的報(bào)頭信息提取出來(lái),然后將剩下的數(shù)據(jù)包再交付給應(yīng)用層
  • 應(yīng)用層收到數(shù)據(jù)包后,最后將數(shù)據(jù)包中對(duì)應(yīng)應(yīng)用層協(xié)議的報(bào)頭信息提取出來(lái),至此便完成了數(shù)據(jù)包的解包與分用

下圖為數(shù)據(jù)分用的過(guò)程:

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

或者

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

任何一臺(tái)主機(jī)在發(fā)送數(shù)據(jù)之前,該數(shù)據(jù)包都要先自頂向下貫穿協(xié)議棧來(lái)完成數(shù)據(jù)包的封裝,在這個(gè)過(guò)程中,每一層協(xié)議都會(huì)添加上對(duì)應(yīng)的報(bào)頭信息;而任何一臺(tái)主機(jī)收到數(shù)據(jù)包后,都要先自底向上貫穿協(xié)議棧來(lái)完成數(shù)據(jù)包的解包和分用,在這個(gè)過(guò)程中,每一層協(xié)議都會(huì)將對(duì)應(yīng)的報(bào)頭信息提取出來(lái)

報(bào)文 = 報(bào)頭 + 有效載荷

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

在網(wǎng)絡(luò)協(xié)議中,我們可以認(rèn)為同層協(xié)議在直接通信,也可以理解成為向下交付,這是兩種不同的認(rèn)知。比如,A和B在QQ聊天,A和B都認(rèn)為他們?cè)谥苯油ㄐ?

如何識(shí)別報(bào)頭和有效載荷??

別人發(fā)過(guò)來(lái)的數(shù)據(jù)包,自己主機(jī)接收后就是一坨字符串01序列,如何如何識(shí)別報(bào)頭和有效載荷

獲取報(bào)頭大小的方法通常有兩種:

  1. 定長(zhǎng)報(bào)頭。顧名思義就是報(bào)頭的大小是固定的。
  2. 自描述字段。報(bào)頭當(dāng)中提供了一個(gè)字段,用來(lái)表示報(bào)頭的長(zhǎng)度

實(shí)際上每個(gè)協(xié)議都要提供一種方法,讓我們獲取到報(bào)頭的大小,這樣我們才能在解包時(shí)將報(bào)頭與有效載荷進(jìn)行分離

如何判斷有效載荷交付給上層的哪個(gè)協(xié)議?

網(wǎng)絡(luò)協(xié)議棧的每一層都可能會(huì)對(duì)應(yīng)多種協(xié)議,即便將報(bào)頭與有效載荷分離了,那當(dāng)前層應(yīng)該將有效載荷交付給上層對(duì)應(yīng)的哪個(gè)協(xié)議呢?

實(shí)際在每種協(xié)議的報(bào)頭當(dāng)中,幾乎都會(huì)包含一個(gè)字段,表明我們應(yīng)該把分離出來(lái)的有效載荷交付給上層的哪個(gè)協(xié)議,這就是分用的過(guò)程

協(xié)議共性

  • 提供一個(gè)將報(bào)頭與有效載荷分離的方法。
  • 協(xié)議當(dāng)中必須包含一個(gè)字段,表明應(yīng)該將有效載荷交付給上層的哪個(gè)協(xié)議。

實(shí)際當(dāng)我們要學(xué)習(xí)一種協(xié)議的時(shí)候,首先就應(yīng)該明確這兩點(diǎn),因?yàn)楫?dāng)我們?cè)诮獍臅r(shí)候必須將報(bào)頭與有效載荷分離,而當(dāng)我們?cè)诜钟玫臅r(shí)候必須知道應(yīng)該將有效載荷交付給上層的哪個(gè)協(xié)議

常見(jiàn)的局域網(wǎng):以太網(wǎng)、令牌環(huán)網(wǎng)、無(wú)線(xiàn)LAN

注:無(wú)線(xiàn)LAN是以太網(wǎng)的變種,但是沒(méi)有以太網(wǎng)使用廣泛?

在任意時(shí)刻只允許一臺(tái)主機(jī)在局域網(wǎng)中發(fā)送消息,否則發(fā)生碰撞

什么是碰撞??

當(dāng)主機(jī)A在向主機(jī)B發(fā)送數(shù)據(jù)時(shí),其他主機(jī)彼此之間可能也正在進(jìn)行通信,比如主機(jī)A跟主機(jī)B在通信,主機(jī)B與主機(jī)C也在通信...

同一局域網(wǎng)中的所有主機(jī)在通信時(shí),使用的都是一個(gè)共同的網(wǎng)絡(luò)資源,因此如果局域網(wǎng)內(nèi)的多臺(tái)主機(jī)同時(shí)進(jìn)行通信,此時(shí)這些數(shù)據(jù)之間就可能會(huì)相互干擾。

每一個(gè)局域網(wǎng)都可以看作是一個(gè)碰撞域,如果某個(gè)主機(jī)發(fā)送出去的數(shù)據(jù)與其他主機(jī)發(fā)送的數(shù)據(jù)之間產(chǎn)生了干擾,我們就稱(chēng)這兩臺(tái)主機(jī)在該碰撞域中發(fā)生了碰撞

如何看待局域網(wǎng)中的網(wǎng)絡(luò)資源??

站在系統(tǒng)的角度,網(wǎng)絡(luò)資源就是共享資源,臨界資源?

發(fā)生碰撞后是如何處理的?

重傳數(shù)據(jù):如果發(fā)生了碰撞,數(shù)據(jù)包將被丟失或損壞,發(fā)送方將需要重新發(fā)送數(shù)據(jù)包,以確保接收方正確地收到數(shù)據(jù),等等

什么是令牌環(huán)網(wǎng)??

令牌環(huán)網(wǎng)是使用一個(gè)令牌在網(wǎng)絡(luò)上流轉(zhuǎn)以控制網(wǎng)絡(luò)中節(jié)點(diǎn)的訪(fǎng)問(wèn)權(quán)限(令牌是一個(gè)特殊的數(shù)據(jù)包)。在令牌環(huán)網(wǎng)中,節(jié)點(diǎn)被連接成一個(gè)環(huán)形,每個(gè)節(jié)點(diǎn)都可以發(fā)送數(shù)據(jù),但只有擁有令牌的節(jié)點(diǎn)可以發(fā)送數(shù)據(jù)(相當(dāng)于互斥鎖)。當(dāng)一個(gè)節(jié)點(diǎn)擁有令牌時(shí),它可以發(fā)送數(shù)據(jù)到相鄰的節(jié)點(diǎn),然后傳遞令牌給下一個(gè)節(jié)點(diǎn)。這種方式可以有效地控制網(wǎng)絡(luò)中各節(jié)點(diǎn)的訪(fǎng)問(wèn)和通信,同時(shí)避免了數(shù)據(jù)沖突和重復(fù)發(fā)送的問(wèn)題。

以太網(wǎng)名字的由來(lái)(簡(jiǎn)述)

“以太網(wǎng)”這個(gè)名字實(shí)際來(lái)源于物理學(xué),在早期的時(shí)候,很多科學(xué)家都認(rèn)為任何信息的傳播都是需要媒介的,因此物理學(xué)家們就認(rèn)為光的傳播也是需要媒介的。這時(shí)物理學(xué)家們就發(fā)現(xiàn)了一個(gè)問(wèn)題:既然光能夠從太陽(yáng)傳播到地球上,那么在這個(gè)傳播的過(guò)程中一定需要某種媒介,但太陽(yáng)和地球之間不是絕對(duì)真空的狀態(tài)嗎?

此時(shí)物理學(xué)家們就提出了一個(gè)“以太假說(shuō)”,認(rèn)為宇宙空間并不是真空的,而是填充滿(mǎn)了一種叫做“以太”的物質(zhì)的,此時(shí)“以太”就可以作為光傳播的媒介。但后來(lái)經(jīng)過(guò)實(shí)驗(yàn)后發(fā)現(xiàn),“以太”這種物質(zhì)實(shí)際上是不存在的。

其中在這個(gè)故事線(xiàn)當(dāng)中有兩個(gè)人是與計(jì)算機(jī)學(xué)科相關(guān)的,一個(gè)人叫做圖靈,另一個(gè)叫做馮諾依曼,這兩個(gè)人當(dāng)時(shí)也是參與了這場(chǎng)討論的,因?yàn)樗麄儾粌H是計(jì)算機(jī)科學(xué)家,同時(shí)也是數(shù)學(xué)家。

經(jīng)過(guò)后來(lái)的發(fā)展,在局域網(wǎng)產(chǎn)生之后就需要對(duì)局域網(wǎng)進(jìn)行命名,而在局域網(wǎng)命名的時(shí)候人們就將其命名為“以太網(wǎng)”。因?yàn)槲覀冊(cè)?jīng)在物理學(xué)上認(rèn)為“以太”就是傳送物質(zhì)的介質(zhì),也就是說(shuō)“以太”是具有某種通信能力的,雖然“以太”在物理學(xué)上驗(yàn)證是不存在的,但現(xiàn)在在計(jì)算機(jī)領(lǐng)域我們做出來(lái)了這樣一種東西,它也是能夠傳播物質(zhì)(信息)的,同時(shí)也為了紀(jì)念之前的“以太假說(shuō)”,于是早期的局域網(wǎng)標(biāo)準(zhǔn)就被命名為了“以太網(wǎng)”,有點(diǎn)嘲諷的意味...

3.2?跨網(wǎng)絡(luò)的兩臺(tái)主機(jī)通信

跨局域網(wǎng)的兩臺(tái)主機(jī)之間是如何進(jìn)行通信(同一種類(lèi)型的局域網(wǎng)通信)

局域網(wǎng)之間都是通過(guò)路由器連接起來(lái)的,因此一個(gè)路由器至少能夠橫跨兩個(gè)局域網(wǎng)。而這些被路由器級(jí)聯(lián)局域網(wǎng)都認(rèn)為,該路由器就是本局域網(wǎng)內(nèi)的一臺(tái)主機(jī),因此路由器可以和這些局域網(wǎng)內(nèi)的任意一臺(tái)主機(jī)進(jìn)行直接通信

比如局域網(wǎng)1當(dāng)中的主機(jī)A想要和局域網(wǎng)2當(dāng)中的主機(jī)B進(jìn)行通信,那么主機(jī)A可以先將數(shù)據(jù)發(fā)送給路由器,然后路由器再將數(shù)據(jù)轉(zhuǎn)發(fā)給局域網(wǎng)2當(dāng)中的主機(jī)B,其中封裝,解包分用與同一個(gè)局域網(wǎng)內(nèi)的兩臺(tái)主機(jī)相似,也就是上面所談的

跨局域網(wǎng)的兩臺(tái)主機(jī)之間是如何進(jìn)行通信(不同類(lèi)型的局域網(wǎng)通信)

局域網(wǎng)可能采用的是不同的通信標(biāo)準(zhǔn),比如局域網(wǎng)1采用的是以太網(wǎng),而局域網(wǎng)2采用的卻是令牌環(huán)網(wǎng),如何進(jìn)行通信??

由于以太網(wǎng)和令牌環(huán)網(wǎng)是不同的通信標(biāo)準(zhǔn),它們給數(shù)據(jù)添加的報(bào)頭也是不一樣的,因此令牌環(huán)網(wǎng)當(dāng)中的主機(jī)無(wú)法對(duì)以太網(wǎng)當(dāng)中的數(shù)據(jù)幀進(jìn)行解包,反過(guò)來(lái)也是如此。

這種情況實(shí)際是由路由器來(lái)處理的,路由器是工作在網(wǎng)絡(luò)層的一個(gè)設(shè)備(路由器必須要有兩個(gè)網(wǎng)絡(luò)接口,因?yàn)槁酚善髦辽贆M跨兩個(gè)網(wǎng)絡(luò))

數(shù)據(jù)要從局域網(wǎng)1發(fā)送到局域網(wǎng)2時(shí),路由器收到局域網(wǎng)1的數(shù)據(jù)后,會(huì)先將以太網(wǎng)對(duì)應(yīng)的報(bào)頭進(jìn)行解包,然后將剩下的有效載荷向上交付給網(wǎng)絡(luò)層,在網(wǎng)絡(luò)層進(jìn)行一系列數(shù)據(jù)分析后,再將數(shù)據(jù)包進(jìn)行再一次封裝,再交付給鏈路層,此時(shí)在鏈路層當(dāng)中就會(huì)給該數(shù)據(jù)包添加上令牌環(huán)對(duì)應(yīng)的報(bào)頭信息,然后再將該數(shù)據(jù)發(fā)送到局域網(wǎng)2當(dāng)中,此時(shí)該數(shù)據(jù)就能夠在令牌環(huán)網(wǎng)當(dāng)中傳輸了
「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

這種方式能夠屏蔽底層的差異,這就是 “IP” 的第一個(gè)優(yōu)勢(shì)。對(duì)于通信主機(jī)雙方的IP層及其往上的協(xié)議來(lái)說(shuō),它們并不需要關(guān)心底層采用的是以太網(wǎng)還是令牌環(huán)網(wǎng),它們認(rèn)為只要填寫(xiě)了源IP地址和目的IP地址就能夠?qū)?shù)據(jù)發(fā)送出去,因此現(xiàn)在主流的網(wǎng)絡(luò)也叫做“IP網(wǎng)絡(luò)”

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1??

四、網(wǎng)絡(luò)中的地址管理

在網(wǎng)絡(luò)中有兩個(gè)常用的地址:IP地址和MAC地址

4.1?認(rèn)識(shí)IP地址

IP協(xié)議有兩個(gè)版本, IPv4和IPv6.后序凡是提到IP協(xié)議, 沒(méi)有特殊說(shuō)明的, 默認(rèn)都是指IPv4

  • IP地址是在IP協(xié)議中, 用來(lái)標(biāo)識(shí)網(wǎng)絡(luò)中不同主機(jī)的地址;
  • 對(duì)于IPv4來(lái)說(shuō), IP地址是一個(gè)4字節(jié), 32位的整數(shù);
  • 我們通常也使用 "點(diǎn)分十進(jìn)制" 的字符串表示IP地址, 例如 192.168.0.1 ; 用點(diǎn)分割的每一個(gè)數(shù)字表示一個(gè)字節(jié), 范圍是 0 - 255
  • IP地址通常在廣域網(wǎng)中使用,準(zhǔn)確來(lái)說(shuō),IP地址既可以在局域網(wǎng)中使用也可以在廣域網(wǎng)中使用

還有另一個(gè)版本的IPv6的原因是:IPv4的IP地址不夠用了,IPv6用128個(gè)比特位來(lái)標(biāo)識(shí)IP地址,16字節(jié)

注:IPv4和IPv6不兼容

4.2?認(rèn)識(shí)MAC地址

  • MAC地址用來(lái)識(shí)別數(shù)據(jù)鏈路層中相連的節(jié)點(diǎn);
  • 長(zhǎng)度為48位, 6個(gè)字節(jié). 一般用16進(jìn)制數(shù)字加上冒號(hào)的形式來(lái)表示(例如: 08:00:27:03:fb:19)
  • 在網(wǎng)卡出廠時(shí)就確定了, 不能修改. mac地址通常是唯一的(虛擬機(jī)中的mac地址不是真實(shí)的mac地址, 可能會(huì)沖突; 也有些網(wǎng)卡支持用戶(hù)配置mac地址)
  • MAC地址通常在局域網(wǎng)中使用

ifconfig

ifconfig 是Linux中的一個(gè)命令,它用于顯示和配置網(wǎng)絡(luò)接口的信息

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

我們用到的大部分局域網(wǎng)都是以太網(wǎng)標(biāo)準(zhǔn),其中 ether 對(duì)應(yīng)就有”以太“的意思,而 ether 后面的這個(gè)地址就是當(dāng)前云服務(wù)器所對(duì)應(yīng)的MAC地址。但實(shí)際云服務(wù)器上的MAC地址可能不是真正的MAC地址,該MAC地址可能虛擬技術(shù)模擬模擬出來(lái)的

inet 的地址暫且理解為IP地址

「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1

注:以上所有知識(shí)只為搭建起網(wǎng)絡(luò)框架,幫助理解網(wǎng)絡(luò)

--------------------- END ----------------------文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-481728.html

「 作者 」 楓葉先生
「 更新 」 2023.6.13
「 聲明 」 余之才疏學(xué)淺,故所撰文疏漏難免,
          或有謬誤或不準(zhǔn)確之處,敬請(qǐng)讀者批評(píng)指正。

到了這里,關(guān)于「網(wǎng)絡(luò)編程」第一講:初識(shí)網(wǎng)絡(luò)_網(wǎng)絡(luò)基礎(chǔ)1的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【網(wǎng)絡(luò)編程】Linux網(wǎng)絡(luò)編程基礎(chǔ)與實(shí)戰(zhàn)第三彈——網(wǎng)絡(luò)名詞術(shù)語(yǔ)

    數(shù)據(jù)包從源地址到目的地址所經(jīng)過(guò)的路徑,由一系列路由節(jié)點(diǎn)組成。 某個(gè)路由節(jié)點(diǎn)為數(shù)據(jù)包選擇投遞方向的選路過(guò)程。 路由器工作原理 路由器是連接因特網(wǎng)中各局域網(wǎng)、廣域網(wǎng)的設(shè)備,它會(huì)根據(jù)信道的情況自動(dòng)選擇和設(shè)定路由,以最佳路徑,按前后順序發(fā)送信號(hào)的設(shè)備。

    2024年02月08日
    瀏覽(25)
  • 【Linux網(wǎng)絡(luò)編程】網(wǎng)絡(luò)基礎(chǔ)一

    【Linux網(wǎng)絡(luò)編程】網(wǎng)絡(luò)基礎(chǔ)一

    從今天開(kāi)始我們將要從系統(tǒng)橫跨到網(wǎng)絡(luò)的學(xué)習(xí)了,因此有些書(shū)我們就可以讀起來(lái)了。 操作系統(tǒng) 原理: 《操作系統(tǒng)精髓與設(shè)計(jì)原理》、《現(xiàn)代操作系統(tǒng)》 Linux原理方面的書(shū) : 《Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)》–陳莉君、《深入理解Linux內(nèi)核》(選讀–不作為重點(diǎn)) Linux編程方面的書(shū): 《

    2024年04月15日
    瀏覽(21)
  • linux【網(wǎng)絡(luò)編程】之網(wǎng)絡(luò)基礎(chǔ)

    linux【網(wǎng)絡(luò)編程】之網(wǎng)絡(luò)基礎(chǔ)

    “協(xié)議” 是一種約定 軟件設(shè)計(jì)方面的優(yōu)勢(shì)—低耦合 分層依據(jù):功能比較集中,耦合度較高的模塊—高內(nèi)聚 每一層都要解決特定的問(wèn)題 每一層都有自己匹配的協(xié)議,每一層協(xié)議都解決自己的問(wèn)題 OSI(Open System Interconnection,開(kāi)放系統(tǒng)互連)七層網(wǎng)絡(luò)模型稱(chēng)為開(kāi)放式系統(tǒng)互聯(lián)參

    2024年02月04日
    瀏覽(33)
  • 【Linux網(wǎng)絡(luò)編程一】網(wǎng)絡(luò)基礎(chǔ)1(網(wǎng)絡(luò)框架)

    【Linux網(wǎng)絡(luò)編程一】網(wǎng)絡(luò)基礎(chǔ)1(網(wǎng)絡(luò)框架)

    本篇開(kāi)始總結(jié)網(wǎng)絡(luò)知識(shí),系統(tǒng)部分到此結(jié)束。 網(wǎng)絡(luò)的本質(zhì)就是在獲取和生產(chǎn)數(shù)據(jù),而系統(tǒng)的本質(zhì)就是在處理數(shù)據(jù)。從網(wǎng)絡(luò)中獲取到數(shù)據(jù)利用系統(tǒng)調(diào)用來(lái)處理數(shù)據(jù)。而網(wǎng)絡(luò)的本質(zhì)也就是文件,我往文件里寫(xiě),就是往網(wǎng)卡里寫(xiě),往網(wǎng)卡里寫(xiě),就是往網(wǎng)絡(luò)里寫(xiě)。 我們?cè)谏钪卸际?/p>

    2024年02月19日
    瀏覽(16)
  • Linux網(wǎng)絡(luò)編程 網(wǎng)絡(luò)基礎(chǔ)知識(shí)

    Linux網(wǎng)絡(luò)編程 網(wǎng)絡(luò)基礎(chǔ)知識(shí)

    目錄 1.網(wǎng)絡(luò)的歷史和協(xié)議的分成 2.網(wǎng)絡(luò)互聯(lián)促成了TCP/IP協(xié)議的產(chǎn)生 3.網(wǎng)絡(luò)的體系結(jié)構(gòu) 4.TCP/IP協(xié)議族體系 5.網(wǎng)絡(luò)各層的協(xié)議解釋 6.網(wǎng)絡(luò)的封包和拆包 7.網(wǎng)絡(luò)預(yù)備知識(shí)? ? ? Internet-\\\"冷戰(zhàn)\\\"的產(chǎn)物 1957年十月和十一月,前蘇聯(lián)先后歐兩顆”Spuinik”衛(wèi)星上天 1958年美國(guó)總統(tǒng)艾森豪威爾向

    2024年02月10日
    瀏覽(26)
  • 網(wǎng)絡(luò)編程 tcp udp http編程流程 網(wǎng)絡(luò)基礎(chǔ)知識(shí)

    網(wǎng)絡(luò)編程 tcp udp http編程流程 網(wǎng)絡(luò)基礎(chǔ)知識(shí)

    OSI分層:應(yīng)用層 表示層 會(huì)話(huà)層 傳輸層 網(wǎng)絡(luò)層 數(shù)據(jù)鏈路層 物理層 tcp/ip: 應(yīng)用層 傳輸層 網(wǎng)絡(luò)層 數(shù)據(jù)鏈路 ip地址:唯一標(biāo)識(shí)一臺(tái)主機(jī) ipv4 32位 ipv6 128位 尋址 可以反映物理上的一個(gè)變化 MAC地址:48 固化在計(jì)算機(jī)中 ip地址又兩部分構(gòu)成:網(wǎng)絡(luò)號(hào)+主機(jī)號(hào) 端口號(hào):標(biāo)識(shí)一個(gè)應(yīng)用程序

    2024年02月13日
    瀏覽(39)
  • 《3.linux應(yīng)用編程和網(wǎng)絡(luò)編程-第8部分-3.8.網(wǎng)絡(luò)基礎(chǔ)》 3.8.1.網(wǎng)絡(luò)通信概述 3.8.3.網(wǎng)絡(luò)通信基礎(chǔ)知識(shí)2

    《3.linux應(yīng)用編程和網(wǎng)絡(luò)編程-第8部分-3.8.網(wǎng)絡(luò)基礎(chǔ)》 3.8.1.網(wǎng)絡(luò)通信概述 3.8.3.網(wǎng)絡(luò)通信基礎(chǔ)知識(shí)2

    ????進(jìn)程間通信: 管道 、 信號(hào)量、 共享內(nèi)存, 技術(shù)多,操作麻煩 ? ??線(xiàn)程就是解決 進(jìn)程間 通信 麻煩的事情,這是線(xiàn)程的 優(yōu)勢(shì) 3.8.1.網(wǎng)絡(luò)通信概述 3.8.1.1、從進(jìn)程間通信說(shuō)起: 網(wǎng)絡(luò)域套接字socket , 網(wǎng)絡(luò)通信其實(shí)就是位于網(wǎng)絡(luò)中不同主機(jī)上面? ? ? ? ? ? ? ? ? ?的?

    2024年02月15日
    瀏覽(27)
  • 學(xué)習(xí)網(wǎng)絡(luò)編程N(yùn)o.1【網(wǎng)絡(luò)基礎(chǔ)知識(shí)】

    學(xué)習(xí)網(wǎng)絡(luò)編程N(yùn)o.1【網(wǎng)絡(luò)基礎(chǔ)知識(shí)】

    北京時(shí)間:2023/8/4/22:40,天蒼蒼野茫茫,風(fēng)吹造地見(jiàn)牛羊,此時(shí)心潮澎湃,非常開(kāi)心,啊哈哈哈!因?yàn)榫驮趧倓偽覀兘K于把系統(tǒng)編程方面的知識(shí)給學(xué)完了,啊哈哈哈!真是功夫不負(fù)有心人呀!嗚嗚嗚,仰天而泣,算了,不能發(fā)神經(jīng),哈哈!今天把最后一節(jié)有關(guān)多線(xiàn)程知識(shí)的課

    2024年02月14日
    瀏覽(27)
  • Java網(wǎng)絡(luò)編程基礎(chǔ)

    Java網(wǎng)絡(luò)編程基于TCP/UDP協(xié)議的基礎(chǔ)之上,TCP/IP協(xié)議是一個(gè)協(xié)議簇。里面包括很多協(xié)議的,UDP只是其中的一個(gè), 之所以命名為T(mén)CP/IP協(xié)議,因?yàn)門(mén)CP、IP協(xié)議是兩個(gè)很重要的協(xié)議,就用他兩命名了。那么首先我們先介紹一下TCP和UDP的特點(diǎn): 1.TCP(Transmission Control Protocol,傳輸控制協(xié)議

    2024年02月08日
    瀏覽(27)
  • NIO基礎(chǔ) - 網(wǎng)絡(luò)編程

    NIO基礎(chǔ) - 網(wǎng)絡(luò)編程

    non-blocking io 非阻塞 IO 1.1 Channel Buffer channel 有一點(diǎn)類(lèi)似于 stream,它就是讀寫(xiě)數(shù)據(jù)的 雙向通道 ,可以從 channel 將數(shù)據(jù)讀入 buffer,也可以將 buffer 的數(shù)據(jù)寫(xiě)入 channel,而之前的 stream 要么是輸入,要么是輸出,channel 比 stream 更為底層 常見(jiàn)的 Channel 有 FileChannel DatagramChannel SocketCh

    2024年02月02日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包