day 26 網路知識 01
阿新 • • 發佈:2019-01-03
一.
c/s 架構: 客戶端(client)/服務端(server)架構
服務端: 提供服務的
客戶端: 享受服務的
B/S 架構:瀏覽器(browser)/服務端(server)
軟體cs架構:瀏覽器,qq,微信,陌陌等等
硬體cs架構: 印表機
製圖工具: visio, powerdesigner(現在公司主要在用),eu
二. 網路通訊的整個流程***
1.集線器: 將所有的電腦聯通起來,
2.交換機: 升級版的集線器
3.網絡卡: 接收,處理電訊號
4. Mac地址= 實體地址: 1C-1B-0D-74-43-9A 前三位是廠商編號,後三位生產流水號,全球唯一的也就是你網路裝置的身份證號
5.ip地址: iPv4 4個點分十進位制 地址:192.168.12.11 劃分廣播域
ip地主段:192.138.12.0 - 192.168.12.255 同一ip地址段,稱為同一子網,一廣播的形式通訊
6.子網掩碼: 計算是否屬於同一網段,同一子網255.255.255.0
目標ip地址是:192.168.12.16
11000000.10101000.00001100.00010000
255.255.255.0
11111111.11111111.11111111.00000000
11000000.10101000.00001100.00000000
192.168.12.0
7.DHCP協議:自動獲取ip地址
8.Arp協議:通過ip地址獲取mac地址
9.域名: www.jd.com 也就是網址
10.DNS 服務端:{' www.jd.com':173.16.49.0}
11.路由器:轉發訊息,管理內網
路由協議:計算路由轉發的最優路徑
12.埠:表示電腦上的某個應用程式
ip地址+埠 = 能夠唯一鎖定一臺電腦和這個電腦上的某個應用程式
13.閘道器:把關用的,所有對外的請求都要經過閘道器
NAT技術:網路地址轉換,內網ip地址轉換為公網或者說外網的ip地址
三.socket簡單的操作*****
socket:用於網路通訊的模組,獨立的語言,各個語言都有這個.
服務端:
# 匯入socket模組 import socket # 建立socket物件,相當於建立了一個手機 server =socket.socket() #給程式設定一個ip地址和埠號,相當於買個手機卡 ip_port = ('127.0.0.1', 9999) # 繫結ip地址和埠,相當於插卡 server.bind(ip_port) # 監聽ip地址和埠,簡稱開機 server.listen() # 等待建立連線,conn 是連線通道, addr是客戶端的地址 conn, addr = server.accept() # 服務端通過conn連線通道來收發訊息,通過recv方法,recv裡面的引數是位元組(B),2048的意思2048B=1KB from_client_msg = conn.recv(2048) print('客戶端說:', from_client_msg.decode('utf-8')) # 回覆訊息:通過send方法,引數必須是位元組型別的 conn.send('喜歡'.encode('utf-8')) #關閉通道 conn.close() #關閉socket 物件,關機 server.close()
客戶端
# 匯入socket 模組 import socket # 建立一個socket物件 client = socket.socket() # 找到服務端ip地址和埠 server_ip_port = ('127.0.0.1', 9999) # 連線服務端的應用程式,通過connect方法,引數是福區段的ip地址和埠,打電話 client.connect(server_ip_port) # 發訊息,用send方法,但是點用著是client的socket物件 client.send('在幹嘛呢'.encode('utf-8')) from_server_msg = client.recv(2048) print('服務端說:', from_server_msg.decode('utf-8')) client.close()