軟件開發的架構
咱們瞭解的涉及到兩個程序之間通信的應用大體能夠分爲兩種:html
第一種是應用類:qq、微信、網盤、優酷這一類是屬於須要安裝的桌面應用python
第二種是web類:好比百度、知乎、博客園等使用瀏覽器訪問就能夠直接使用的應用web
這些應用的本質其實都是兩個程序之間的通信。而這兩個分類又對應了兩個軟件開發的架構~編程
C/S架構
C/S即:Client與Server ,中文意思:客戶端與服務器端架構,這種架構也是從用戶層面(也能夠是物理層面)來劃分的。瀏覽器
這裏的客戶端通常泛指客戶端應用程序EXE,程序須要先安裝後,才能運行在用戶的電腦上,對用戶的電腦操做系統環境依賴較大。緩存
B/S架構
B/S即:Browser與Server,中文意思:瀏覽器端與服務器端架構,這種架構是從用戶層面來劃分的。服務器
Browser瀏覽器,其實也是一種Client客戶端,只是這個客戶端不須要你們去安裝什麼應用程序,只需在瀏覽器上經過HTTP請求服務器端相關的資源(網頁資源),客戶端Browser瀏覽器就能進行增刪改查。微信
計算機網絡的發展及基礎概念
問題:網絡究竟是什麼?計算機之間是如何通訊的?網絡
早期:聯機
以太網局域網交換機
廣播
主機之間「一對全部」的通信模式,網絡對其中每一臺主機發出的信號都進行無條件複製並轉發,全部主機均可以接收到全部信息(無論你是否須要),因爲其不用路徑選擇,因此其網絡成本能夠很低廉。有線電視網就是典型的廣播型網絡,咱們的電視機其實是接受到全部頻道的信號,但只將一個頻道的信號還原成畫面。在數據網絡中也容許廣播的存在,但其被限制在二層交換機的局域網範圍內,禁止廣播數據穿過路由器,防止廣播數據影響大面積的主機。架構
ip地址與ip協議
- 規定網絡地址的協議叫ip協議,它定義的地址稱做ip地址,普遍採用v4版本即ipv4,它表示網絡地址由32位2進製表示
- 範圍0.0.0.0-255.255.255.255
- 一個ip地址一般寫成四段十進制數 例:127.0.0.1
mac地址
mac地址:每塊網卡出廠時都被燒製上一個世界惟一的mac地址,長度爲48位2進制,一般由12位16進制數表示(前六位是廠商編號,後六位是流水線號
arp協議 ——查詢IP地址和MAC地址的對應關係
廣域網與路由器
路由器
局域網
局域網(Local Area Network,LAN)是指在某一區域內由多臺計算機互聯成的計算機組。通常是方圓幾公里之內。局域網能夠實現文件管理、應用軟件共享、打印機共享、工做組內的日程安排、電子郵件和傳真通訊服務等功能。局域網是封閉型的,能夠由辦公室內的兩臺計算機組成,也能夠由一個公司內的上千臺計算機組成
子網掩碼
所謂」子網掩碼」,就是表示子網絡特徵的一個參數。它在形式上等同於IP地址,也是一個32位二進制數字,它的網絡部分所有爲1,主機部分所有爲0。好比,IP地址172.16.10.1,若是已知網絡部分是前24位,主機部分是後8位,那麼子網絡掩碼就是11111111.11111111.11111111.00000000,寫成十進制就是255.255.255.0。
知道」子網掩碼」,咱們就能判斷,任意兩個IP地址是否處在同一個子網絡。方法是將兩個IP地址與子網掩碼分別進行AND運算(兩個數位都爲1,運算結果爲1,不然爲0),而後比較結果是否相同,若是是的話,就代表它們在同一個子網絡中,不然就不是。
1
2
3
4
5
|
轉化成二進制
print
(
bin
(
172
))
# 0b10101100
print
(
bin
(
16
))
# 0b10000
print
(
bin
(
10
))
# 0b1010
print
(
bin
(
1
))
# 0b1
|
IP協議的做用主要有兩個,一個是爲每一臺計算機分配IP地址,另外一個是肯定哪些地址在同一個子網絡。
多態機器之間的通訊:
- mac:機器的惟一標識
- 網卡:一個計算機上的硬件 這個硬件出廠的時候就被分配了一個mac地址
- ip地址 :比mac好記,可以按照區域來區分(區分你在哪個局域網內)
- 協議 : 在傳輸過程當中規定位數 順序等等傳輸規則的內容
- 交換機 : 局域網內多臺機器之間的通訊
- arp協議 :經過ip地址找到mac地址
局域網概念:
- 路由器:可以作局域網與局域網之間的通訊
- 網關ip:在一臺機器對局域網外的地址進行訪問的時候使用的出口ip
- 端口 : 幫助咱們找機器上的對應服務 0-65535 慣用的端口號 80,8000以後
ip的保留字段:
- 0.0.0.0-255.255.255.255
- 10.0.0.0-10.255.255.255
- 172.16.0.0-172.31.255.255
- 192.168.0.0-192.168.255.255
本地的迴環地址:127.0.0.1 別的人找不到你 只有你本身這臺機器能找到你本身
全網段地址:0.0.0.0 誰均可以訪問你