網(wǎng)絡(luò)編程(一)計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)

一、計(jì)算機(jī)網(wǎng)絡(luò)按照其規(guī)模劃分
計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ).png

上述網(wǎng)絡(luò)都是私有網(wǎng)絡(luò),隨著這種私有網(wǎng)絡(luò)的逐漸增多,人們開(kāi)始嘗試將多個(gè)私有網(wǎng)絡(luò)連接在一起,組成更大的私有網(wǎng)絡(luò),這種網(wǎng)絡(luò)又逐漸發(fā)展演變成為互聯(lián)網(wǎng)為公眾所使用。

連接到互聯(lián)網(wǎng)后,計(jì)算機(jī)之間的通信已不再局限于公司或部門內(nèi)部,而是能夠與互聯(lián)網(wǎng)中的任何一臺(tái)計(jì)算機(jī)進(jìn)行通信。互聯(lián)網(wǎng)作為一門新興技術(shù),極大地豐富了當(dāng)時(shí)以電話、郵政以及傳真為主的通信手段,逐漸被人們所接受。

二、網(wǎng)絡(luò)發(fā)展的七個(gè)階段
網(wǎng)絡(luò)發(fā)展的七個(gè)階段

三、協(xié)議

在計(jì)算機(jī)網(wǎng)絡(luò)與信息通信領(lǐng)域里,人們經(jīng)常提及“協(xié)議”一詞?;ヂ?lián)網(wǎng)中常用的具有代表性的協(xié)議有IP、TCP、HTTP等。

各種網(wǎng)絡(luò)體系及協(xié)議

協(xié)議就是計(jì)算機(jī)與計(jì)算機(jī)之間通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)通信時(shí)事先達(dá)成的一種“約定”。這種“約定”使那些由不同廠商的設(shè)備、不同的CPU以及不同的操作系統(tǒng)組成的計(jì)算機(jī)之間,只要遵循相同的協(xié)議就能夠?qū)崿F(xiàn)通信。反之,如果所使用的協(xié)議不同,就無(wú)法實(shí)現(xiàn)通信。

四、分組交換協(xié)議

分組交換是指將大數(shù)據(jù)分割為一個(gè)個(gè)叫做包(Packet)的較小單位進(jìn)行傳輸?shù)姆椒ā?/p>

分組通信

計(jì)算機(jī)通信會(huì)在每一個(gè)分組中附加上源主機(jī)地址和目標(biāo)主機(jī)地址送給通信線路。這些發(fā)送端地址、接收端地址以及分組序號(hào)寫(xiě)入的部分稱為“報(bào)文首部”。

一個(gè)較大的數(shù)據(jù)被分為多個(gè)分組時(shí),為了標(biāo)明是原始數(shù)據(jù)中的哪一部分,就有必要將分組的序號(hào)寫(xiě)入包中。接收端會(huì)根據(jù)這個(gè)序號(hào),再將每個(gè)分組按照序號(hào)重新裝配為原始數(shù)據(jù)。

通信協(xié)議中,通常會(huì)規(guī)定報(bào)文首部應(yīng)該寫(xiě)入哪些信息、應(yīng)該如何處理這些信息。相互通信的每一臺(tái)計(jì)算機(jī)則根據(jù)協(xié)議構(gòu)造報(bào)文首部、讀取首部?jī)?nèi)容等。為了雙方能正確通信,分組的發(fā)送方和接收方有必要對(duì)報(bào)文首部和內(nèi)容保持一致的定義和解釋。

五、OSI參考模型

為了解決上述問(wèn)題,ISO(International Organization forStandards,國(guó)際標(biāo)準(zhǔn)化組織。) 制定了一個(gè)國(guó)際標(biāo)準(zhǔn)OSI(Open Systems Interconnection,開(kāi)放式通信系統(tǒng)互聯(lián)參考模型。) ,對(duì)通信系統(tǒng)進(jìn)行了標(biāo)準(zhǔn)化?,F(xiàn)在,OSI所定義的協(xié)議雖然并沒(méi)有得到普及,但是在OSI協(xié)議設(shè)計(jì)之初作為其指導(dǎo)方針的OSI參考模型卻常被用于網(wǎng)絡(luò)協(xié)議的制定當(dāng)中。

OSI七層網(wǎng)絡(luò)模型.png

在7層OSI模型中,如何模塊化通信傳輸?

發(fā)送方從第7層、第6層到第1層由上至下按照順序傳輸數(shù)據(jù),而接收端則從第1層、第2層到第7層由下至上向每個(gè)上一級(jí)分層傳輸數(shù)據(jù)。每個(gè)分層上,在處理由上一層傳過(guò)來(lái)的數(shù)據(jù)時(shí)可以附上當(dāng)前分層的協(xié)議所必須的“首部”信息。然后接收端對(duì)收到的數(shù)據(jù)進(jìn)行數(shù)據(jù)“首部”與“內(nèi)容”的分離,再轉(zhuǎn)發(fā)給上一分層,并最終將發(fā)送端的數(shù)據(jù)恢復(fù)為原狀。

通信與七個(gè)分層

六、地址

通信傳輸中,發(fā)送端和接收端可以被視為通信主體。它們都能由一個(gè)所謂“地址”的信息加以標(biāo)識(shí)出來(lái)。

以TCP/IP為例,在通信中使用MAC地址、IP地址、端口號(hào)等信息作為地址標(biāo)識(shí)。甚至在應(yīng)用層中,可以將電子郵件地址作為網(wǎng)絡(luò)通信的地址。

地址的兩個(gè)特性:唯一性層次性。
1)唯一性:
一個(gè)地址必須明確地表示一個(gè)主體對(duì)象。在同一個(gè)通信網(wǎng)絡(luò)中不允許有兩個(gè)相同地址的通信主體存在。

2)層次性:
當(dāng)?shù)刂返目倲?shù)越來(lái)越多時(shí),如何高效地從中找出通信的目標(biāo)地址將成為一個(gè)重要的問(wèn)題。為此人們發(fā)現(xiàn)地址除了具有唯一性還需要具有層次性。

IP地址由網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)兩部分組成。即使通信主體的IP地址不同,若主機(jī)號(hào)不同,網(wǎng)絡(luò)號(hào)
相同,說(shuō)明它們處于同一個(gè)網(wǎng)段。

IP地址:4段十進(jìn)制,共32位二進(jìn)制,如:192.168.1.1 二進(jìn)制就是:11000000|10101000|00000001|00000001

子網(wǎng)掩碼可以看出有多少位是網(wǎng)絡(luò)號(hào),有多少位是主機(jī)號(hào): 255.255.255.0 二進(jìn)制是:11111111 11111111 11111111 00000000

網(wǎng)絡(luò)號(hào)24位,即全是1 主機(jī)號(hào)8位,即全是0

129.168.1.1 /24 這個(gè)、24就是告訴我們網(wǎng)絡(luò)號(hào)是24位,也就相當(dāng)于告訴我們了子網(wǎng)掩碼是:11111111 11111111 11111111 00000000即:255.255.255.0

172.16.10.33/27 中的/27也就是說(shuō)子網(wǎng)掩碼是255.255.255.224 即27個(gè)全1 ,11111111 11111111 11111111 11100000

七、網(wǎng)絡(luò)構(gòu)成(計(jì)算機(jī)連接網(wǎng)絡(luò))

主要設(shè)備
1)網(wǎng)卡

任何一臺(tái)計(jì)算機(jī)連接網(wǎng)絡(luò)時(shí),必須要使用網(wǎng)卡,全稱為網(wǎng)絡(luò)接口卡(NIC)。
網(wǎng)絡(luò)接口卡:集成了連接局域網(wǎng)功能的設(shè)備。有時(shí)會(huì)被集成到計(jì)算機(jī)的主板中,有時(shí)也可以單獨(dú)插入擴(kuò)展槽使用,有時(shí)也被叫做網(wǎng)絡(luò)適配器、網(wǎng)卡、LAN卡。

2)中繼器

中繼器(Repeater)是在OSI模型的第1層——物理層面上延長(zhǎng)網(wǎng)絡(luò)的設(shè)備。由電纜傳過(guò)來(lái)的電信號(hào)或光信號(hào)經(jīng)由中繼器的波形調(diào)整和放大再傳給另一個(gè)電纜。

3)網(wǎng)橋/2層交換機(jī)

網(wǎng)橋是在OSI模型的第2層——數(shù)據(jù)鏈路層面上連接兩個(gè)網(wǎng)絡(luò)的設(shè)備。

它能夠識(shí)別數(shù)據(jù)鏈路層中的數(shù)據(jù)幀(與分組數(shù)據(jù)意思大致相同,但是在數(shù)據(jù)鏈路層中通常習(xí)慣稱為幀。),并將這些數(shù)據(jù)幀臨時(shí)存儲(chǔ)于內(nèi)存,再重新生成信號(hào)作為一個(gè)全新的幀轉(zhuǎn)發(fā)給相連的另一個(gè)網(wǎng)段,由于能夠存儲(chǔ)這些數(shù)據(jù)幀,網(wǎng)橋能夠連接傳輸速率完全不同的數(shù)據(jù)鏈路,并且不限制連接網(wǎng)段的個(gè)數(shù)。

數(shù)據(jù)鏈路的數(shù)據(jù)幀中有一個(gè)數(shù)據(jù)位叫做FCS(用CRC(CyclicRedundancy Check,循環(huán)冗余校驗(yàn)碼)方式校驗(yàn)數(shù)據(jù)幀中的位。有時(shí)由于噪音導(dǎo)致通信傳輸當(dāng)中數(shù)據(jù)信號(hào)越來(lái)越弱,而這種CRC正是用來(lái)檢查數(shù)據(jù)幀是否因此而受到破壞的。) ,用以校驗(yàn)數(shù)據(jù)是否正確送達(dá)目的地。網(wǎng)橋通過(guò)檢查這個(gè)域中的值,將那些損壞的數(shù)據(jù)丟棄,從而避免發(fā)送給其他的網(wǎng)段。此外,網(wǎng)橋還能通過(guò)地址自學(xué)機(jī)制過(guò)濾功能控制網(wǎng)絡(luò)流量(網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)報(bào)文的數(shù)量。) 。

地址自學(xué)機(jī)制:這里所說(shuō)的地址是指MAC地址、硬件地址、物理地址以及適配器地址,也就是網(wǎng)絡(luò)上針對(duì)NIC分配的具體地址。網(wǎng)橋會(huì)根據(jù)地址自學(xué)機(jī)制來(lái)判斷是否需要轉(zhuǎn)發(fā)數(shù)據(jù)幀。

這類功能是OSI參考模型的第2層(數(shù)據(jù)鏈路層)所具有的功能。為此,有時(shí)也把網(wǎng)橋稱作2層交換機(jī)(L2交換機(jī))

有些網(wǎng)橋能夠判斷是否將數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)給相鄰的網(wǎng)段,這種網(wǎng)橋被稱作自學(xué)式網(wǎng)橋。這類網(wǎng)橋會(huì)記住曾經(jīng)通過(guò)自己轉(zhuǎn)發(fā)的所有數(shù)據(jù)幀的MAC地址,并保存到自己里的內(nèi)存表中。由此,可以判斷哪個(gè)網(wǎng)段中包含持有哪類MAC地址的設(shè)備。

4)路由器/3層交換機(jī)

路由器是在OSI模型的第3層——網(wǎng)絡(luò)層面上連接兩個(gè)網(wǎng)絡(luò)、并對(duì)分組報(bào)文進(jìn)行轉(zhuǎn)發(fā)的設(shè)備。網(wǎng)橋是根據(jù)物理地址(MAC地址)進(jìn)行處理,而路由器/3層交換機(jī)則是根據(jù)IP地址進(jìn)行處理的。由此,TCP/IP中網(wǎng)絡(luò)層的地址就成為了IP地址

5)4~7層交換機(jī)

4~7層交換機(jī)負(fù)責(zé)處理OSI模型中從傳輸層至應(yīng)用層的數(shù)據(jù)。如果用TCP/IP分層模型來(lái)表述 ,4~7層交換機(jī)就是以TCP等協(xié)議的傳輸層及其上面的應(yīng)用層為基礎(chǔ),分析收發(fā)數(shù)據(jù),并對(duì)其進(jìn)行特定的處理。

可以作為負(fù)載均衡器帶寬控制、廣域網(wǎng)加速器、特殊應(yīng)用訪問(wèn)加速以及防火墻(控制非法訪問(wèn))

6)網(wǎng)關(guān)

網(wǎng)關(guān)是OSI參考模型中負(fù)責(zé)將從傳輸層到應(yīng)用層的數(shù)據(jù)進(jìn)行轉(zhuǎn)換和轉(zhuǎn)發(fā)的設(shè)備。它與4~7層交換機(jī)一樣都是處理傳輸層及以上的數(shù)據(jù),但是網(wǎng)關(guān)不僅轉(zhuǎn)發(fā)數(shù)據(jù)還負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,它通常會(huì)使用一個(gè)表示層或應(yīng)用層網(wǎng)關(guān),在兩個(gè)不能進(jìn)行直接通信的協(xié)議之間進(jìn)行翻譯,最終實(shí)現(xiàn)兩者之間的通信。

典型的例子就是互聯(lián)網(wǎng)郵件手機(jī)郵件之間的轉(zhuǎn)換服務(wù)?;ヂ?lián)網(wǎng)與手機(jī)之間設(shè)置了一道網(wǎng)關(guān)。網(wǎng)關(guān)負(fù)責(zé)讀取完各種不同的協(xié)議后,對(duì)它們逐一進(jìn)行合理的轉(zhuǎn)換,再將相應(yīng)的數(shù)據(jù)轉(zhuǎn)發(fā)出去。

此外,在使用WWW(World Wide Web,萬(wàn)維網(wǎng))時(shí),為了控制網(wǎng)絡(luò)流量以及出于安全的考慮,有時(shí)會(huì)使用代理服務(wù)器(ProxyServer)。這種代理服務(wù)器也是網(wǎng)關(guān)的一種,稱為應(yīng)用網(wǎng)關(guān)。有了代理服務(wù)器,客戶端與服務(wù)器之間無(wú)需在網(wǎng)絡(luò)層上直接通信,而是從傳輸層到應(yīng)用層對(duì)數(shù)據(jù)和訪問(wèn)進(jìn)行各種控制和處理。防火墻就是一款通過(guò)網(wǎng)關(guān)通信,針對(duì)不同應(yīng)用提高安全性的產(chǎn)品。

八、現(xiàn)代網(wǎng)絡(luò)組成

在計(jì)算機(jī)網(wǎng)絡(luò)中,有著類似高速公路的部分,他們被稱為骨干核心網(wǎng)絡(luò)。通常會(huì)使用高速路由器進(jìn)行數(shù)據(jù)的快速傳輸。

網(wǎng)絡(luò)中相似于高速公路出入口的部分被稱為邊緣網(wǎng)絡(luò)

連接邊緣網(wǎng)絡(luò)的部分被稱為接入層匯聚層。骨干網(wǎng)專注于業(yè)務(wù)快速傳輸和穩(wěn)定性。

邊緣網(wǎng)絡(luò)的常用設(shè)備多為2層交換機(jī)3層交換機(jī)。

互聯(lián)網(wǎng)網(wǎng)絡(luò)

文章內(nèi)容摘自:圖解TCP/IP(第五版)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容