软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)
閱讀目錄
一、網絡編程
一、網絡編程
軟件開發架構
- C/S架構
C:客戶端 想體驗服務的時候才會去找服務端體驗服務
S:服務端 24小時不間斷的提供服務,即時監聽,隨時待命
- B/S架構
B:瀏覽器 想體驗服務的時候才會去找服務端體驗服務
S:服務端 24小時不間斷的提供服務,即時監聽,隨時待命
實際上B/S架構也是C/S架構的一種
-------------------------------------------------------------------- 注:如果你對python感興趣,我這有個學習Python基地,里面有很多學習資料,感興趣的+Q群:895817687 -------------------------------------------------------------------- 兩種事物要想相互通信最基本的方式是通過一個規定好的協議去執行,然后就能得到有效溝通(通信),比如不同國家的人要想互相通話就得有個全球的語言標準——英語,全世界基本語言就是英語,我們知道都懂英語,就能和全世界任何懂英語的人進行溝通交流了。同樣的,計算機要想與計算機溝通交流也得需要這么一個規范,也就是前提條件,所有計算機都執行這個前提條件后,就能互相愉快的傳輸信息了
這個規范就是:OSI七層協議(Open System Interconnection)
在python里面我們需要了解五層就可以了:
應用層
傳輸層
網絡層
數據鏈路層
物理層
接下來從下至上分別說說各層的作用
1、物理層:
實現計算機之間的物理連接,傳輸數據通過0101的二進制,0或1分別代表高電頻和低電頻
電信號工作原理:高低電頻
2、數據鏈路層:
如果只是01010101010這種二進制高低電頻的電信號之間傳輸是遠遠不夠的,因為我們根本不知道他們的含義,或者說獲取數據該怎么取正確讀取,所以在物理層上面就規定了一個數據鏈路層,也就是我們聽過的‘以太網協議’
協議規定:
1—二進制數據的分組方式
一組電信號構成一個數據包,叫做‘幀’
每一數據幀分成:報頭head和數據data兩部分
2—只要是接入互聯網的計算機,都必須有一塊網卡!
網卡上面在出廠的時候就刻有世界唯一的編號,這個編號就叫 mac地址
長度為48位2進制,通常由12位16進制數表示(前六位是廠商編號,后六位是流水線號)
類似這種:C8-5B-76-D6-EE-F1
特別強調:其實有了物理層和數據鏈路層的話,就可以實現基本的網絡通信了,即基于以太網協議通信,這種通信基本靠吼!!!
實現過程類似這樣:比如電腦A要找電腦B通信,電腦就會把這個‘我要找mac地址為***的電腦,信息廣播出給所有的電腦,所有已經連接的電腦就會聽到,只有mac地址匹配的電腦B才會得到相應與電腦A通信。
弊端:廣播風暴
這里還有一個事情需要去做,一臺電腦和另外一臺電腦通信可以連一根網線,那一臺電腦和多態電腦通信呢,豈不是多臺電腦都需要來一個網線插到那一臺電腦上,這樣的做肯定是不符合現實的。所以就有了交換機
交換機:如果沒有交換機,你的電腦就變成了馬蜂窩,有了交換機之后,所有的電腦只需要有一個網卡連接交換機
即可實現多臺電腦之間物理連接
3、網絡層:(IP協議)
通過交換機只能實現局域網中的電腦之間的通信,要想一個計算機與局域網以外的任何一個局域網里的電腦實現數據傳輸的話,就需要引入網絡層了,也就是ip協議
IP協議規定:計算機必須有一個ip地址
ip地址的特點:點分十進制
有兩個版本:ipv4和ipv6
最小0.0.0.0
最大255.255.255.255
ip協議可以跨局域網傳輸
ip地址能夠唯一標識互聯網中獨一無二的一臺機器
這里有個arp協議:根據ip地址解析mac地址
4、傳輸層(端口協議)
TCP,UDP基于端口的工作協議
計算機之間的通信本質上來說是計算機上面的應用程序之間的通信,我們知道了ip是電腦標識的唯一,那么電腦上我們實際上使用的是操作系統(本質上也是軟件),應用程序來實現網絡通信(數據傳輸)的話同時進行是否會打架呢?
這里就引出端口,端口就是唯一標識一臺計算機上某個基于網絡通信的通道
注意:一臺計算機上同一時間一個端口號只能被一個應用程序占用
小結:
ip地址:唯一標識全世界接入互聯網的獨一無二的機器
port端口號:某一時間段,唯一標識一臺計算機上的某一個應用程序
ip+port:能夠唯一標識全世界上獨一無二的一臺計算機上的某個應用程序
TCP協議:(流式協議,可靠協議)
三次握手四次揮手
三次握手:建立連接
四次揮手:斷開連接
TCP協議是一種安全的協議:變現在:建立連接后才可以傳輸數據,數據傳輸完成后才能斷開連接。
總結
以上是生活随笔為你收集整理的软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基础知识:字符编码
- 下一篇: 进程池、线程池、回调函数、协程