開發與維運

網絡通信

本文來自於千鋒教育在阿里雲開發者社區學習中心上線課程《Python入門2020最新大課》,主講人姜偉。

網絡通信

簡單來說,網絡是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數據鏈路,從而達到資源共享和通信的目的。

使用網絡的目的,就是為了聯通多方然後進行通信,即把數據從一方傳遞給另外一方。

前面的學習編寫的程序都是單機的,即不能和其他電腦上的程序進行通信。為了讓在不同的電腦上運行的軟件,之間能夠互相傳遞數據,就需要藉助網絡的功能。

  • 使用網絡能夠把多方鏈接在一起,然後可以進行數據傳遞
  • 所謂的網絡編程就是,讓在不同的電腦上的軟件能夠進行數據傳遞,即進程之間的通信

ip地址

生活中的地址指的就是,找到某人或某機關或與其通信的指定地點。在網絡編程中,如果一臺主機想和另一臺主機進行溝通和共享數據,首先要做的第一件事情就是要找到對方。在互聯網通信中,我們使用IP地址來查詢到各個主機。
image.png

ip地址:用來在網絡中標記一臺電腦,比如192.168.1.1;在本地局域網上是唯一的。

image.png

ip地址的分類

每一個IP地址包括兩部分:網絡地址和主機地址。IP地址通常由點分十進制(例如:192.168.1.1)的方式來表示,IP地址要和子網掩碼(用來區分網絡位和主機位)配合使用。
image.png

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

注意事項:

  1. 每一個字節都為0的地址(“0.0.0.0”)對應於當前主機。
  2. IP地址中的每一個字節都為1的IP地址(“255.255.255.255”)是當前子網的廣播地址。
  3. IP地址中凡是以“1111”開頭的E類IP地址都保留用於將來和實驗使用。
  4. IP地址中不能以十進制“127”作為開頭,該類地址中數字127.0.0.1到127.255.255.255用於迴路測試,如:127.0.0.1可以代表本機IP地址,用 http://127.0.0.1 就可以測試本機中配置的Web服務器。
  5. 網絡ID的第一個8位組也不能全置為“0”,全“0”表示本地網絡。

配套視頻

Leave a Reply

Your email address will not be published. Required fields are marked *