文章目錄
??一、前言
??二、軟體開發架構
??2.1、C/S架構
??2.2、B/S架構
??2.3、服務端與客戶端
??三、ip與埠號
??3.1、IP地址與埠號常識
??3.2、MAC和IP的概念與不同
??四、tcp協議和udp協議
??五、以太網:局域網與交換機
??5.1、什么是局域網
??5.2、什么是交換機
??5.3、拓展網關的概念
??六、單播、多播、廣播
??6.1、單播的特點
??6.2、多播的特點
??6.3、廣播的特點
??七、arp協議
??八、廣域網與路由器
??8.1、什么是廣域網
??8.2、什么是路由器
??九、子網掩碼的概念
??十、基于TCP協議的socket
?
??一、前言
兩臺或多臺電腦之間不同程式的通訊大致分為以下兩種
第一種是應用類:在不同電腦之間要安裝相對應桌面應用才可以進行通訊,比如我們日常使用的QQ微信等
第二種是web類:最常見的就是CSDN,博客園等可以直接在瀏覽器進行訪問的應用
??二、軟體開發架構
??2.1、C/S架構
C/S即:Client與Server ,中文意思:客戶端與服務器端架構,這種架構也是從用戶層面(也可以是物理層面)來劃分的,
這種架構方式有很大的缺點:這里的客戶端一般泛指客戶端應用程式EXE,程式需要先安裝后,才能運行在用戶的電腦上,對用戶的電腦作業系統環境依賴較大,會給用戶帶來極大的不變,下面就引出另一種相對好用的架構方法
??2.2、B/S架構
Browser與Server,中文意思:瀏覽器端與服務器端架構,這種架構是從用戶層面來劃分的,
Browser瀏覽器,其實也是一種Client客戶端,只是這個客戶端不需要大家去安裝什么應用程式,只需在瀏覽器上通過HTTP請求服務器端相關的資源(網頁資源),客戶端Browser瀏覽器就能進行增刪改查,對用戶的電腦作業系統要求相對較少
??2.3、服務端與客戶端
服務端需要一直運行,等待用戶的請求,并將用戶想要的資料及時的回傳給客戶端
客戶端就是用戶想發送請求的時候才向服務端要資料
??三、ip與埠號
??3.1、IP地址與埠號常識
ip相當于一臺機器在網路上的位置,而埠號就是為了找到某臺計算機上的唯一的一個程式
并且我們埠號一般都開在8000之后
??3.2、MAC和IP的概念與不同
不是的同一個意思,也不是同一種型別地址.
雖然MAC和IP地址在咱們電腦里都是以二進制表示的,
(1)MAC地址通常是48位的,
(2)IP地址通常是32位的,用途意義不同,
(1)MAC英文全稱是Media Access Control Addres,MAC地址是網路設備制造商在生產時燒錄在一種閃存芯片里,用來確認網路設備位置的位址,可以理解為物理地址,
(2)IP地址全稱是Internet Protocol Address,是指互聯網協議地址,IP地址是一種統一的地址格式,IP地址為網上的每一個網路和每一臺設備分配一個邏輯地址,
??四、tcp協議和udp協議
TCP(Transmission Control Protocol)可靠的、面向連接的協議(eg:打電話)、傳輸效率低全雙工通信(發送快取&接收快取)、面向位元組流,使用TCP的應用:Web瀏覽器;電子郵件、檔案傳輸程式,
UDP(User Datagram Protocol)不可靠的、無連接的服務,傳輸效率高(發送前時延小),一對一、一對多、多對一、多對多、面向報文,盡最大努力服務,無擁塞控制,使用UDP的應用:域名系統 (DNS);視頻流;IP語音(VoIP),
??五、以太網:局域網與交換機
??5.1、什么是局域網
所謂的局域網,是指在一個特定的區域內,由很多臺計算機之間相互聯成的一個計算機組
??5.2、什么是交換機
“交換機(英文:Switch,意為“開關”)是一種用于電信號轉發的網路設備,它可以為接入交換機的任意兩個網路節點提供獨享的電信號通路,最常見的交換機是以太網交換機,交換機通常是用來解決多臺機器之間的通信問題
??5.3、拓展網關的概念
局域網中的機器想要訪問局域網外的機器,需要通過網關的訪問
網關的優點:
微服務網關介于服務端與客戶端的中間層,所有外部服務請求都會先經過微服務網關客戶只能跟微服務網關進行互動,無需呼叫特定微服務介面,使得開發得到簡化
??六、單播、多播、廣播
??6.1、單播的特點
一個單個的發送者和一個接受者之間通過網路進行的通信,
??6.2、多播的特點
一個發送者和多個接受者之間的通信,
??6.3、廣播的特點
主機之間“一對所有”的通訊模式,網路對其中每一臺主機發出的信號都進行無條件復制并轉發,所有主機都可以接收到所有資訊(不管你是否需要都必須接收,并且只有相對應得一臺才會有反應),
??七、arp協議
地址決議協議,即ARP,是根據IP地址獲取物理地址的一個TCP/IP協議,主機發送資訊時將包含目標IP地址的ARP請求廣播到局域網路上的所有主機,并接識訓傳訊息,以此確定目標的物理地址,
收到回傳訊息后將該IP地址和物理地址存入本機ARP快取中并保留一定時間,下次請求時直接查詢ARP快取以節約資源,
??八、廣域網與路由器
??8.1、什么是廣域網
廣域網(WAN),就是我們通常所說的Internet,它是一個遍及全世界的網路,
??8.2、什么是路由器
路由器是連接因特網中個局域網、廣域網的設備,它根據信道的情況自動選擇和設定路由,以最佳路徑,按前后順序發送信號的設備,路由器英文名Router,路由器是互聯網路的樞紐、“交通警察”,目前路由器已經廣泛應用于各行各業,各種不同檔次的產品已經成為實作各種骨干網內部連接、骨干網間互聯和骨干網與互聯網互聯互通的主力軍,簡單來說,路由器就是一個連接媒介,用來連接一個個小的局域網,
******來擴展一下路由器的概念,路由器(Router)又稱網關設備(Gateway)是用于連接多個邏輯上分開的網路,所謂邏輯網路是代表一個單獨的網路或者一個子網,當資料從一個子網傳輸到另一個子網時,可通過路由器的路由功能來完成,因此,路由器具有判斷網路地址和選擇IP路徑的功能,它能在多網路互聯環境中,建立靈活的連接,可用完全不同的資料分組和介質訪問方法連接各種子網,路由器只接受源站或其他路由器的資訊,屬網路層的一種互聯設備,
??九、子網掩碼的概念
子網掩碼(subnet mask)又叫網路掩碼、地址掩碼、子網路遮罩,它是一種用來指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼,子網掩碼不能單獨存在,它必須結合IP地址一起使用,子網掩碼只有一個作用,就是將某個IP地址劃分成網路地址和主機地址兩部分,
其中IP地址和子網掩碼按位與得到的就是網段地址
??十、基于TCP協議的socket
server.py
import socket sk = socket.socket() #買手機 #sk.bind(('ip','port-埠')) #系結手機卡 '127.0.0.1是回環地址用于同臺電腦不同應用之間的通信' sk.bind(('127.0.0.1',8080)) #系結手機卡 sk.listen() #監聽 等別人給我打電話 conn,addr = sk.accept() #接收到別人的電話, connection 連接 address 地址 conn.recv(1024) #聽別人說話 conn.send(b'i am server') #和別人說話 必須傳一個bytes型別 conn.close() #掛電話 sk.close() #關手機
client.py
import socket sk = socket.socket() #買手機 sk.connect(('127.0.0.1',8080)) #撥號碼 while 1: sk.send(bytes(input('>>>'),encoding='utf-8')) ret = sk.recv(1024).decode('utf-8') if ret == 'Bye': sk.send(b'Bye') break print('from server:{}'.format(ret)) sk.close()
?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/525881.html
標籤:Python
