網(wǎng)絡(luò)編程部分開始,要求對內(nèi)容的宏觀理解的東西更加多了,簡單梳理總結(jié)一下,希望大家多提意見一起完善。本節(jié)內(nèi)容網(wǎng)絡(luò)基礎(chǔ)知識什么是網(wǎng)絡(luò)什
本節(jié)內(nèi)容
網(wǎng)絡(luò)是將我們運行的多臺個人PC,通過有線網(wǎng)或者無線網(wǎng)連接起來,方便多臺電腦之間的數(shù)據(jù)傳輸而出現(xiàn)的,如我們個人PC如果單獨使用的時候,只能當(dāng)成單臺電腦運行單機(jī)軟件,寫寫文檔、看看下載好的電影、玩玩單機(jī)游戲等等,如果此時想和其他使用電腦的人說句話~你只能通過張嘴喊話的方式了;如果電腦聯(lián)網(wǎng)的話,就可以通過飛秋、QQ等各種手段實現(xiàn),常見的網(wǎng)絡(luò)都有哪些呢
網(wǎng)絡(luò)根據(jù)使用的范圍和區(qū)域的不同,劃分了不同的幾個檔次
單機(jī):單機(jī)其實也是一個網(wǎng)絡(luò)環(huán)境,只能訪問當(dāng)前PC的數(shù)據(jù),單機(jī)的網(wǎng)絡(luò)IP地址:127.0.0.1
局域網(wǎng):兩臺或者兩臺以上的電腦,通過交換機(jī)或者路由器進(jìn)行互相連接,在一定的范圍內(nèi)局域網(wǎng)的PC可以實現(xiàn)互相通信的目的;一般情況局域網(wǎng)的PC數(shù)量在2臺到幾千臺PC之間
城域網(wǎng):是一種大型的局域網(wǎng),可以訪問的數(shù)據(jù)信息更多,通常情況下,城域網(wǎng)這個術(shù)語是從城市網(wǎng)絡(luò)抽象出來的,也就是將一個城市中的PC進(jìn)行網(wǎng)絡(luò)連接實現(xiàn)數(shù)據(jù)共享的手段
廣域網(wǎng):通常是指代的跨地域的網(wǎng)絡(luò)通信,一般情況下以國家或者地域為單位,讓數(shù)據(jù)通信更加的廣闊
網(wǎng)絡(luò):其實就是通過運營商提供的一種數(shù)據(jù)通信手段,將不同的PC進(jìn)行連接,實現(xiàn)不同的PC之間數(shù)據(jù)通信為目的的一種手段,根據(jù)網(wǎng)絡(luò)操作的范圍劃分單機(jī)、局域網(wǎng)、城域網(wǎng)、廣域網(wǎng)等不同的網(wǎng)絡(luò)訪問層次結(jié)構(gòu)。
如果有了網(wǎng)絡(luò)之后,網(wǎng)絡(luò)中的所有數(shù)據(jù)都直接可以讓別人訪問的話,就會出現(xiàn)非常嚴(yán)重的數(shù)據(jù)安全問題;
次數(shù)就需要一種手段,將數(shù)據(jù)通過網(wǎng)絡(luò)進(jìn)行共享的同時增加限制訪問權(quán)限;
網(wǎng)絡(luò)編程就是通過編程的手段,讓不同的PC之間可以使用恰當(dāng)?shù)姆绞竭M(jìn)行數(shù)據(jù)的共享,同時添加各種限制權(quán)限讓網(wǎng)絡(luò)數(shù)據(jù)更加安全的一種技術(shù)操作。
在網(wǎng)絡(luò)編程中,會出現(xiàn)一些專業(yè)的術(shù)語名詞,需要簡單了解一下
- 服務(wù)器:專門用于數(shù)據(jù)共享的PC,將數(shù)據(jù)共享給所屬網(wǎng)絡(luò)中其他的PC,其他的PC可以通過網(wǎng)絡(luò)和服務(wù)器提供的訪問手段來訪問服務(wù)器上的數(shù)據(jù),如:淘寶就有自己的服務(wù)器,我們可以通過瀏覽器訪問http://www.taobao.com來訪問淘寶服務(wù)器上的數(shù)據(jù)
- 客戶端:在網(wǎng)絡(luò)中獲取數(shù)據(jù)的PC,當(dāng)我們訪問淘寶服務(wù)器的時候,我們自己的PC就是客戶端
如果一旦多個PC組成一個網(wǎng)絡(luò),就會出現(xiàn)這樣一個問題,通過什么樣的方式來確定某一個PC就是它自己呢,就如同讓你怎么證明你就是你自己一樣,生活中,我們會通過身份證號碼來證明自己就是唯一的自己;網(wǎng)絡(luò)中一般通過IP地址來確定網(wǎng)絡(luò)中的某一個PC
IP地址也是一種網(wǎng)絡(luò)協(xié)議,英文名稱是Internet Protobcal Address,它提供了一種統(tǒng)一的地址格式,為網(wǎng)絡(luò)中的PC分配一個唯一的整數(shù)序列,通常IP地址時一個二進(jìn)制的數(shù)字序列,為了方便我們理解,轉(zhuǎn)換為10進(jìn)制整數(shù),如:01100100.00000100.00000101.00000110就是一個IP地址,轉(zhuǎn)換成十進(jìn)制之后就是:100.4.5.6;如果大家了解過二進(jìn)制的表示方式的話,就能看出來IP地址中的每一組數(shù)據(jù)的范圍都是0~255之間
IP地址的編碼方案:為了區(qū)分不同的機(jī)構(gòu)使用的PC,約定俗稱的將IP地址劃分成了不同的類型,一般有A/B/C/D/E五類
我們已經(jīng)看出來了,IP地址可以表示的PC時期是非常有限的,總共能表示的電腦個數(shù)大概43億個左右,如果一旦PC數(shù)量超出這個范圍就表示不了了;所以在近些年,將原來的這樣的IP地址表示方式,定義為IPv4版本;并且推出了IPv6的表示方式,IPv6可以標(biāo)識更加多的PC;對于這部分的了解,大家有時間的時候可以自己拓展一下。
當(dāng)我們的電腦已經(jīng)處于網(wǎng)絡(luò)中時,就可以進(jìn)行數(shù)據(jù)通信了,但是此時又遇到這樣一個問題;我們在自己的PC上可能同時打開了多個程序:QQ,微信、淘寶,如果我們向淘寶服務(wù)器發(fā)起了數(shù)據(jù)請求,淘寶服務(wù)器返回了我們需要的數(shù)據(jù),那這些數(shù)據(jù)根據(jù)IP地址找到了我們的個人PC,但是數(shù)據(jù)應(yīng)該交個那個應(yīng)用程序呢?
此時,就如同我們從淘寶上買了一件商品,商品通過快遞(網(wǎng)絡(luò))寄送到我們的地址了,但是怎么樣找到對應(yīng)的人呢?答案很簡單:通過我們收貨人姓名來確定收快遞的是誰。在網(wǎng)絡(luò)中我們訪問的數(shù)據(jù),怎么區(qū)分是哪個程序呢,通過端口(Port)來進(jìn)行確定,每一個端口都會對應(yīng)唯一的一個應(yīng)用程序,如瀏覽器訪問的數(shù)據(jù),是通過80端口進(jìn)行數(shù)據(jù)傳輸?shù)?,F(xiàn)TP服務(wù)器是通過21端口進(jìn)行數(shù)據(jù)傳輸?shù)牡鹊?/p>
常見的端口:
端口號 | 描述 |
---|---|
21 | FTP服務(wù)器文件傳輸接口 |
22 | SSH連接端口 |
23 | Telnet連接端口 |
25 | SMTP郵件服務(wù)端口 |
80 | 瀏覽器訪問網(wǎng)頁的端口 |
109 | pop3郵件服務(wù)端口 |
443 | 瀏覽器安全訪問網(wǎng)頁端口 |
1521 | oracle數(shù)據(jù)庫使用端口 |
3306 | mysql數(shù)據(jù)庫使用端口 |
我們有了網(wǎng)絡(luò),有了IP地址,有了端口號Port,已經(jīng)可以實現(xiàn)網(wǎng)絡(luò)中不同的PC上的程序進(jìn)行數(shù)據(jù)通信了,但是數(shù)據(jù)通信沒有問題的前提下又出現(xiàn)了新的問題:不同的PC上的數(shù)據(jù)可能互相不認(rèn)識!
如果現(xiàn)實生活中,每個人都是一個單獨的PC,我們有了手機(jī)就算是有了網(wǎng)絡(luò),端口號就像每個人的手機(jī)號碼一樣都是唯一的,此時可以實現(xiàn)不同的人之間通過PC來進(jìn)行通話了,也就是進(jìn)行數(shù)據(jù)通信了;
如果~你撥出一個號碼~對方接起了你的電話,你倆開始通信,你說的是本地方言,對方說的是阿拉伯語,你們說的話也就是數(shù)據(jù),對方肯定是接收到了,但是~你翻譯不了阿拉伯語,對方也翻譯不了普通話,此時的數(shù)據(jù)通信盡管有了,但是數(shù)據(jù)由于解析不了,就相當(dāng)于無效的通信!
Bingo!如果我們互相約定了,雙方都使用我們大中華的標(biāo)準(zhǔn)普通話進(jìn)行交流,你說的對方聽懂了,對方說的你也聽懂了,這樣才是有效的通信——這里雙方約定使用普通話交流,就是約定了一個通話協(xié)議
如果我們在網(wǎng)絡(luò)中,約定了傳輸數(shù)據(jù)使用什么樣的方式組織數(shù)據(jù),就是網(wǎng)絡(luò)協(xié)議網(wǎng)絡(luò)協(xié)議,就是網(wǎng)絡(luò)數(shù)據(jù)傳輸協(xié)議,簡稱為傳輸協(xié)議,是為網(wǎng)絡(luò)中不同PC和程序之間的有效數(shù)據(jù)通信而制定的一種數(shù)據(jù)組織和傳輸方式
常見的網(wǎng)絡(luò)傳輸協(xié)議要歸結(jié)到國際標(biāo)準(zhǔn)化組織(ISO)制定的開發(fā)系統(tǒng)互聯(lián)模型(OSI)
OSI模型
名稱 | 層次 | 功能 |
---|---|---|
物理層 | 1 | 實現(xiàn)計算機(jī)系統(tǒng)與網(wǎng)絡(luò)間的物理連接 |
數(shù)據(jù)鏈路層 | 2 | 進(jìn)行數(shù)據(jù)打包與解包,形成信息幀 |
網(wǎng)絡(luò)層 | 3 | 提供數(shù)據(jù)通過的路由 |
傳輸層 | 4 | 提供傳輸順序信息與響應(yīng) |
會話層 | 5 | 建立和中止連接 |
表示層 | 6 | 數(shù)據(jù)轉(zhuǎn)換、確認(rèn)數(shù)據(jù)格式 |
應(yīng)用層 | 7 | 提供用戶程序接口 |
常見協(xié)議
我們可以看到,前面了解的IP協(xié)議是底層的一種傳輸協(xié)議;基于IP協(xié)議在主機(jī)層次有TCP點對點的傳輸協(xié)議和UDP的廣播協(xié)議等等,再向上應(yīng)用層有FTP文件傳輸服務(wù)HTTP超文本數(shù)據(jù)傳輸協(xié)議等等。關(guān)于OSI模型和對應(yīng)的數(shù)據(jù)傳輸協(xié)議,大家可以自行了解擴(kuò)展一下。
在后續(xù)的章節(jié)中,我們會針對TCP協(xié)議、UDP協(xié)議的網(wǎng)絡(luò)編程、以及SMTP郵件收發(fā)等給大家做詳細(xì)的介紹
>>>更多VR/AR入門教程:VR入門