上一篇: 正規表達式案例練習 | 手把手教你入門Python之九十二 下一篇: 網絡通信原理及通信方式 | 手把手教你入門Python之九十四 本文來自于千鋒教育在阿裡雲開發者社群學習中心上線課程 《Python入門2020最新大課》 ,主講人姜偉。
網絡通信
簡單來說,網絡是用實體鍊路将各個孤立的工作站或主機相連在一起,組成資料鍊路,進而達到資源共享和通信的目的。
使用網絡的目的,就是為了聯通多方然後進行通信,即把資料從一方傳遞給另外一方。
前面的學習編寫的程式都是單機的,即不能和其他電腦上的程式進行通信。為了讓在不同的電腦上運作的軟體,之間能夠互相傳遞資料,就需要借助網絡的功能。
- 使用網絡能夠把多方連結在一起,然後可以進行資料傳遞
- 所謂的網絡程式設計就是,讓在不同的電腦上的軟體能夠進行資料傳遞,即程序之間的通信
ip位址
生活中的位址指的就是,找到某人或某機關或與其通信的指定地點。在網絡程式設計中,如果一台主機想和另一台主機進行溝通和共享資料,首先要做的第一件事情就是要找到對方。在網際網路通信中,我們使用IP位址來查詢到各個主機。

ip位址:用來在網絡中标記一台電腦,比如192.168.1.1;在本地區域網路上是唯一的。
ip位址的分類
每一個IP位址包括兩部分:網絡位址和主機位址。IP位址通常由點分十進制(例如:192.168.1.1)的方式來表示,IP位址要和子網路遮罩(用來區分網絡位和主機位)配合使用。
A類位址
一個A類IP位址由1位元組的網絡位址和3位元組主機位址組成,網絡位址的最高位必須是“0”,
位址範圍:1.0.0.1-126.255.255.254
子網路遮罩:255.0.0.0
二進制表示為:00000001 00000000 00000000 00000001 - 01111110 11111111 11111111 11111110
可用的A類網絡有126個,每個網絡能容納1677214個主機
B類位址
一個B類IP位址由2個位元組的網絡位址和2個位元組的主機位址組成,網絡位址的最高位必須是“10”,
位址範圍:128.1.0.1-191.255.255.254
子網路遮罩:255.255.0.0
二進制表示為:10000000 00000001 00000000 00000001 - 10111111 11111111 11111111 11111110
可用的B類網絡有16384個,每個網絡支援的最大主機數為256的2次方-2=65534台。
C類位址
一個C類IP位址由3位元組的網絡位址和1位元組的主機位址組成,網絡位址的最高位必須是“110”
範圍:192.0.1.1-223.255.255.254
子網路遮罩:255.255.255.0
二進制表示為: 11000000 00000000 00000001 00000001 - 11011111 11111111 11111110 11111110
C類網絡可達2097152個,每個網絡支援的最大主機數為256-2=254台
D類位址
D類IP位址第一個位元組以“1110”開始,它是一個專門保留的位址,并不指向特定的網絡,目前這一類位址被用在多點廣播(Multicast)中。
E類位址
以“1111”開始,為将來使用保留,僅作實驗和開發用。
私有位址
在這麼多網絡IP中,國際規定有一部分IP位址是用于我們的區域網路使用,也就是屬于私網IP,不在公網中使用的,它們的範圍是:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
注意事項:
- 每一個位元組都為0的位址(“0.0.0.0”)對應于目前主機。
- IP位址中的每一個位元組都為1的IP位址(“255.255.255.255”)是目前子網的廣播位址。
- IP位址中凡是以“1111”開頭的E類IP位址都保留用于将來和實驗使用。
- IP位址中不能以十進制“127”作為開頭,該類位址中數字127.0.0.1到127.255.255.255用于回路測試,如:127.0.0.1可以代表本機IP位址,用 http://127.0.0.1 就可以測試本機中配置的Web伺服器。
- 網絡ID的第一個8位組也不能全置為“0”,全“0”表示本地網絡。