1. CS架構 CS架構其實在我們身邊比比皆是,手機里的app大多都是CS架構,比如騰訊作為服務端為你提供視頻,你得下個騰訊視頻客戶端才能看它的視頻。 這裡的騰訊視頻是客服端client,騰訊也有一個自己的服務端server 這種自己開創一個客服端的方式叫做CS架構。 CS架構的好處是:可以自定義發 ...
1. CS架構
CS架構其實在我們身邊比比皆是,手機里的app大多都是CS架構,比如騰訊作為服務端為你提供視頻,你得下個騰訊視頻客戶端才能看它的視頻。
這裡的騰訊視頻是客服端client,騰訊也有一個自己的服務端server
這種自己開創一個客服端的方式叫做CS架構。
CS架構的好處是:可以自定義發送數據的格式與方式
2. BS架構
BS架構其實也是CS架構中的一種,只不過需要我們獨立開發的客戶端變成了瀏覽器,我們就不需要再去開發客服端了!
BS架構的好處是:省去了開發客戶端,都是必須按照瀏覽器的
3. 網路通信協議
3.1 什麼是網路
沒有網路的話,如果我需要另一臺電腦上的一些小視頻、小音頻,我就需要拿個U盤跑到那台機器上,把那台機器上的東西拷貝下來,這就有個問題,如果我離那臺電腦很遠,我就需要耗費很大的精力去到那臺電腦旁邊。
這樣顯示是很不方便的,網路的產生就是為瞭解決上述問題,網路=物流鏈接介質+互聯網通信協議,網路間的通信能夠實現跨地域傳輸數據
3.2 osi的七層協議(重點)
osi的七層分別是:應用層、傳輸層、網路層、數據鏈路層、物理層
每層的協議是指規定傳輸數據的組織格式
格式:頭部+數據部分
這裡其實可以把數據部分看成是一個包裹,頭部當成包裹上的面單,兩台電腦之間的數據傳輸其實就是封包和拆包的過程。
1.物理層
一組物理層數據稱之為:位(Bit)
物理層負責發送電信號0/1
單純的電信號毫無意義,必須要對其進行分組
2.數據鏈路層:ethernet乙太網協議
數據鏈路層定義了電信號分組的方式
數據鏈路層有幾個規定:
規定1:一組數據組稱之為一個數據幀
規定2:數據幀分為兩部分——>頭+數據
頭部包含了源地址,目標地址,數據類型等等,頭部的地址是mac地址
數據包含的是網路層傳來的整體內容
規定3:但凡接入互聯網的主機必須有一塊網卡。每塊網卡在出廠前都會燒制好一個全世界獨一無二的mac地址
註意:電腦通信基本靠吼,即乙太網協議的工作方式是廣播
3.網路層:IP協議
網路層是用來劃分廣播域的
每一個廣播域但凡需要接通到外部,一定需要一個網關幫內部的電腦轉發包到公網
網關與外界通信走的是路由協議
網路層也有幾項規定:
1.一組數據稱之為一個數據包
2.數據包分為兩部分——>頭+數據
頭部包含:源地址,目標地址,數據類型等等,頭部的地址是ip地址
數據包含的是傳輸層傳來的整體內容
總結:
1.ip地址+mac地址 =》標識世界上獨一無二的一臺電腦
2.ip地址也可以標識世界上獨一無二的電腦
3.ip+(mac)+port 標識世界上獨一無二的電腦上的基於網路通信的軟體
4.傳輸層:tcp/udp協議=》基於埠的協議
埠的範圍是0-65535,其中0-1023是系統占用埠
4.1 基於tcp通信協議
基於tcp協議通信之前,必須建立一個雙向通信的鏈接,這就需要提供三次握手,建立鏈接為傳輸數據做準備,它是一個可靠的傳輸。
通信完畢時需要斷開鏈接,這時需要四次揮手
4.2 基於udp的通信協議
不需要和服務端建立連接,直接發送數據,所以這種方式是不可靠的,數據容易丟失,一般像廣播、直播這樣的就是udp
5.應用層
在應用層可以自定義協議,格式為:頭部+數據部分
頭部的長度必須固定,因為接收端需要通過頭部獲取需要接收數據的詳細信息