亚洲免费一级高潮_欧美极品白嫩视频在线_中国AV片在线播放_欧美亚洲日韩欧洲在线看

您現(xiàn)在所在的位置:首頁 >學習資源 > Python全棧+人工智能入門教材 > Python基礎入門教程30:企業(yè)級開發(fā)進階2網(wǎng)絡編程

Python基礎入門教程30:企業(yè)級開發(fā)進階2網(wǎng)絡編程

來源:奇酷教育 發(fā)表于:

網(wǎng)絡編程部分開始,要求對內(nèi)容的宏觀理解的東西更加多了,簡單梳理總結一下,希望大家多提意見一起完善。本節(jié)內(nèi)容網(wǎng)絡基礎知識什么是網(wǎng)絡什

網(wǎng)絡編程部分開始,要求對內(nèi)容的宏觀理解的東西更加多了,簡單梳理總結一下,希望大家多提意見一起完善。

本節(jié)內(nèi)容

  • 網(wǎng)絡基礎知識
    什么是網(wǎng)絡
    什么是網(wǎng)絡編程
    IP地址是什么鬼
    端口號又是什么鬼
    據(jù)說還有個網(wǎng)絡傳輸協(xié)議
  • TCP編程
  • UDP編程

1. 網(wǎng)絡傳輸協(xié)議

1.1. 什么是網(wǎng)絡

網(wǎng)絡是將我們運行的多臺個人PC,通過有線網(wǎng)或者無線網(wǎng)連接起來,方便多臺電腦之間的數(shù)據(jù)傳輸而出現(xiàn)的,如我們個人PC如果單獨使用的時候,只能當成單臺電腦運行單機軟件,寫寫文檔、看看下載好的電影、玩玩單機游戲等等,如果此時想和其他使用電腦的人說句話~你只能通過張嘴喊話的方式了;如果電腦聯(lián)網(wǎng)的話,就可以通過飛秋、QQ等各種手段實現(xiàn),常見的網(wǎng)絡都有哪些呢

網(wǎng)絡根據(jù)使用的范圍和區(qū)域的不同,劃分了不同的幾個檔次
單機:單機其實也是一個網(wǎng)絡環(huán)境,只能訪問當前PC的數(shù)據(jù),單機的網(wǎng)絡IP地址:127.0.0.1
局域網(wǎng):兩臺或者兩臺以上的電腦,通過交換機或者路由器進行互相連接,在一定的范圍內(nèi)局域網(wǎng)的PC可以實現(xiàn)互相通信的目的;一般情況局域網(wǎng)的PC數(shù)量在2臺到幾千臺PC之間
城域網(wǎng):是一種大型的局域網(wǎng),可以訪問的數(shù)據(jù)信息更多,通常情況下,城域網(wǎng)這個術語是從城市網(wǎng)絡抽象出來的,也就是將一個城市中的PC進行網(wǎng)絡連接實現(xiàn)數(shù)據(jù)共享的手段
廣域網(wǎng):通常是指代的跨地域的網(wǎng)絡通信,一般情況下以國家或者地域為單位,讓數(shù)據(jù)通信更加的廣闊

網(wǎng)絡:其實就是通過運營商提供的一種數(shù)據(jù)通信手段,將不同的PC進行連接,實現(xiàn)不同的PC之間數(shù)據(jù)通信為目的的一種手段,根據(jù)網(wǎng)絡操作的范圍劃分單機、局域網(wǎng)、城域網(wǎng)、廣域網(wǎng)等不同的網(wǎng)絡訪問層次結構。

1.2. 什么是網(wǎng)絡編程

如果有了網(wǎng)絡之后,網(wǎng)絡中的所有數(shù)據(jù)都直接可以讓別人訪問的話,就會出現(xiàn)非常嚴重的數(shù)據(jù)安全問題;
次數(shù)就需要一種手段,將數(shù)據(jù)通過網(wǎng)絡進行共享的同時增加限制訪問權限;

網(wǎng)絡編程就是通過編程的手段,讓不同的PC之間可以使用恰當?shù)姆绞竭M行數(shù)據(jù)的共享,同時添加各種限制權限讓網(wǎng)絡數(shù)據(jù)更加安全的一種技術操作。

在網(wǎng)絡編程中,會出現(xiàn)一些專業(yè)的術語名詞,需要簡單了解一下

  • 服務器:專門用于數(shù)據(jù)共享的PC,將數(shù)據(jù)共享給所屬網(wǎng)絡中其他的PC,其他的PC可以通過網(wǎng)絡和服務器提供的訪問手段來訪問服務器上的數(shù)據(jù),如:淘寶就有自己的服務器,我們可以通過瀏覽器訪問http://www.taobao.com來訪問淘寶服務器上的數(shù)據(jù)
  • 客戶端:在網(wǎng)絡中獲取數(shù)據(jù)的PC,當我們訪問淘寶服務器的時候,我們自己的PC就是客戶端

1.3. 網(wǎng)絡數(shù)據(jù)傳輸:ip地址

如果一旦多個PC組成一個網(wǎng)絡,就會出現(xiàn)這樣一個問題,通過什么樣的方式來確定某一個PC就是它自己呢,就如同讓你怎么證明你就是你自己一樣,生活中,我們會通過身份證號碼來證明自己就是唯一的自己;網(wǎng)絡中一般通過IP地址來確定網(wǎng)絡中的某一個PC


網(wǎng)絡中通過IP地址來確定某個唯一的電腦

IP地址也是一種網(wǎng)絡協(xié)議,英文名稱是Internet Protobcal Address,它提供了一種統(tǒng)一的地址格式,為網(wǎng)絡中的PC分配一個唯一的整數(shù)序列,通常IP地址時一個二進制的數(shù)字序列,為了方便我們理解,轉換為10進制整數(shù),如:01100100.00000100.00000101.00000110就是一個IP地址,轉換成十進制之后就是:100.4.5.6;如果大家了解過二進制的表示方式的話,就能看出來IP地址中的每一組數(shù)據(jù)的范圍都是0~255之間

IP地址的編碼方案:為了區(qū)分不同的機構使用的PC,約定俗稱的將IP地址劃分成了不同的類型,一般有A/B/C/D/E五類


IP地址分類

我們已經(jīng)看出來了,IP地址可以表示的PC時期是非常有限的,總共能表示的電腦個數(shù)大概43億個左右,如果一旦PC數(shù)量超出這個范圍就表示不了了;所以在近些年,將原來的這樣的IP地址表示方式,定義為IPv4版本;并且推出了IPv6的表示方式,IPv6可以標識更加多的PC;對于這部分的了解,大家有時間的時候可以自己拓展一下。

1.4. 網(wǎng)絡數(shù)據(jù)傳輸:端口號

當我們的電腦已經(jīng)處于網(wǎng)絡中時,就可以進行數(shù)據(jù)通信了,但是此時又遇到這樣一個問題;我們在自己的PC上可能同時打開了多個程序:QQ,微信、淘寶,如果我們向淘寶服務器發(fā)起了數(shù)據(jù)請求,淘寶服務器返回了我們需要的數(shù)據(jù),那這些數(shù)據(jù)根據(jù)IP地址找到了我們的個人PC,但是數(shù)據(jù)應該交個那個應用程序呢?


數(shù)據(jù)請求過程

此時,就如同我們從淘寶上買了一件商品,商品通過快遞(網(wǎng)絡)寄送到我們的地址了,但是怎么樣找到對應的人呢?答案很簡單:通過我們收貨人姓名來確定收快遞的是誰。在網(wǎng)絡中我們訪問的數(shù)據(jù),怎么區(qū)分是哪個程序呢,通過端口(Port)來進行確定,每一個端口都會對應唯一的一個應用程序,如瀏覽器訪問的數(shù)據(jù),是通過80端口進行數(shù)據(jù)傳輸?shù)?,F(xiàn)TP服務器是通過21端口進行數(shù)據(jù)傳輸?shù)牡鹊?/p>

常見的端口:

端口號 描述
21 FTP服務器文件傳輸接口
22 SSH連接端口
23 Telnet連接端口
25 SMTP郵件服務端口
80 瀏覽器訪問網(wǎng)頁的端口
109 pop3郵件服務端口
443 瀏覽器安全訪問網(wǎng)頁端口
1521 oracle數(shù)據(jù)庫使用端口
3306 mysql數(shù)據(jù)庫使用端口

1.5. 網(wǎng)絡數(shù)據(jù)傳輸:網(wǎng)絡傳輸協(xié)議

我們有了網(wǎng)絡,有了IP地址,有了端口號Port,已經(jīng)可以實現(xiàn)網(wǎng)絡中不同的PC上的程序進行數(shù)據(jù)通信了,但是數(shù)據(jù)通信沒有問題的前提下又出現(xiàn)了新的問題:不同的PC上的數(shù)據(jù)可能互相不認識!

如果現(xiàn)實生活中,每個人都是一個單獨的PC,我們有了手機就算是有了網(wǎng)絡,端口號就像每個人的手機號碼一樣都是唯一的,此時可以實現(xiàn)不同的人之間通過PC來進行通話了,也就是進行數(shù)據(jù)通信了;
如果~你撥出一個號碼~對方接起了你的電話,你倆開始通信,你說的是本地方言,對方說的是阿拉伯語,你們說的話也就是數(shù)據(jù),對方肯定是接收到了,但是~你翻譯不了阿拉伯語,對方也翻譯不了普通話,此時的數(shù)據(jù)通信盡管有了,但是數(shù)據(jù)由于解析不了,就相當于無效的通信!
Bingo!如果我們互相約定了,雙方都使用我們大中華的標準普通話進行交流,你說的對方聽懂了,對方說的你也聽懂了,這樣才是有效的通信——這里雙方約定使用普通話交流,就是約定了一個通話協(xié)議
如果我們在網(wǎng)絡中,約定了傳輸數(shù)據(jù)使用什么樣的方式組織數(shù)據(jù),就是網(wǎng)絡協(xié)議

網(wǎng)絡協(xié)議,就是網(wǎng)絡數(shù)據(jù)傳輸協(xié)議,簡稱為傳輸協(xié)議,是為網(wǎng)絡中不同PC和程序之間的有效數(shù)據(jù)通信而制定的一種數(shù)據(jù)組織和傳輸方式

常見的網(wǎng)絡傳輸協(xié)議要歸結到國際標準化組織(ISO)制定的開發(fā)系統(tǒng)互聯(lián)模型(OSI)

OSI模型

名稱 層次 功能
物理層 1 實現(xiàn)計算機系統(tǒng)與網(wǎng)絡間的物理連接
數(shù)據(jù)鏈路層 2 進行數(shù)據(jù)打包與解包,形成信息幀
網(wǎng)絡層 3 提供數(shù)據(jù)通過的路由
傳輸層 4 提供傳輸順序信息與響應
會話層 5 建立和中止連接
表示層 6 數(shù)據(jù)轉換、確認數(shù)據(jù)格式
應用層 7 提供用戶程序接口

常見協(xié)議


網(wǎng)絡傳輸常見協(xié)議

我們可以看到,前面了解的IP協(xié)議是底層的一種傳輸協(xié)議;基于IP協(xié)議在主機層次有TCP點對點的傳輸協(xié)議和UDP的廣播協(xié)議等等,再向上應用層有FTP文件傳輸服務HTTP超文本數(shù)據(jù)傳輸協(xié)議等等。關于OSI模型和對應的數(shù)據(jù)傳輸協(xié)議,大家可以自行了解擴展一下。

在后續(xù)的章節(jié)中,我們會針對TCP協(xié)議、UDP協(xié)議的網(wǎng)絡編程、以及SMTP郵件收發(fā)等給大家做詳細的介紹

>>>更多VR/AR入門教程:VR入門