python全棧開發_day30_OSI七層協議和c/s架構

1.網絡編程
軟件開發架構
c/s架構
c:客戶端
s:服務端
b/s架構
b:瀏覽器
s:服務器
手機端:好像C/S架構比較火,其實否則,微信小程序,支付寶第三方接口
統一接口!
pc端:b/s比較火
本質:b/s其實也是c/s

服務端:24小時不間斷提供服務,誰來我就服務誰
客戶端:想體驗服務的時候,就去找服務端體驗服務

前端

學習網絡編程 >>> 開發cs架構的軟件
併發編程,前端,數據庫,框架 >>> 開發bs架構的軟件

起源於:美國軍事!!!
想實現遠程數據傳輸

如何實現遠程溝通交流?
電話插電話線
大屁股電腦插網線
筆記本電腦無線網卡

要想實現遠程通訊,第一個須要具有的條件就是:物理鏈接介質

不一樣國家的人交流須要有一個公共的語言做爲媒介 >>> 英文
計算機於計算機要想實現遠程通訊,光有物理鏈接介質是不夠,
他們也須要一個共同的標準 >>> 協議

OSI七層協議(模型)!
應用層
表示層
會話層
傳輸層
網絡層
數據鏈路層
物理鏈接層

咱們只須要了解五層
應用層
傳輸層
網絡層
數據鏈路層
物理鏈接層

1.物理鏈接層:
實現計算機之間物理鏈接,傳輸的數據都是01010的二進制
電信號工做原理:電只有高低電平

2.數據鏈路層("以太網協議"!):
1.規定了二進制數據的分組方式
2.規定了只要是接入物聯網的計算機,都必須有一塊網卡!
網卡上面刻有世界惟一的編號:
每塊網卡出廠時都被燒製上一個世界惟一的mac地址,
長度爲48位2進制,一般由12位16進制數表示(前六位是廠商編號,後六位是流水線號)
咱們管網卡上刻有的編號叫電腦的>>>mac地址
----->上面的兩個規定其實就是 "以太網協議"!

基於以太網協議通訊:通訊基本靠吼!!!
弊端:廣播風暴

交換機:若是沒有交換機,你的電腦就變成了馬蜂窩,有了交換機以後,全部的電腦只須要有一個網卡鏈接交換機
便可實現多臺電腦之間物理鏈接


3.網絡層(IP協議)
規定了計算機都必須有一個ip地址
ip地址特色:點分十進制
有兩個版本ipv4和ipv6 爲了可以兼容更多的計算機
最小:0.0.0.0
最大:255.255.255.255
IP協議能夠跨局域網傳輸

ip地址可以惟一標識互聯網中獨一無二的一臺機器!



4.傳輸層(端口協議)
TCP,UDP基於端口工做的協議!
其實計算機之間通訊實際上是計算機上面的應用程序於應用之間的通訊
端口(port):惟一標識一臺計算機上某一個基於網絡通訊的應用程序
端口範圍:0~65535(動態分配)
注意:0~1024一般是歸操做系統分配的端口號
一般狀況下,咱們寫的軟件端口號建議起在8000以後
flask框架默認端口5000
django框架默認端口8000
mysql數據庫默認端口3306
redis數據庫默認端口6379
注意:一臺計算機上同一時間一個端口號只能被一個應用程序佔用

小總結:
IP地址:惟一標識全世界接入互聯網的獨一無二的機器
port端口號:惟一標識一臺計算機上的某一個應用程序
ip+port :可以惟一標識全世界上獨一無二的一臺計算機上的某一個應用程序

補充:
arp協議:根據ip地址解析mac地址


應用層(HTTP協議,FTP協議):



TCP協議(流式協議,可靠協議)
三次握手四次揮手
三次握手建鏈接

四次揮手斷鏈接

星軌mysql

相關文章
相關標籤/搜索