網絡編程-03大白話OSI七層協議

互聯網的本質就是一系列的網絡協議,這個協議就叫OSI協議(一系列協議),按照功能不一樣,分工不一樣,人爲的分層七層。實際上這個七層是不存在的。沒有這七層的概念,只是人爲的劃分而已。區分出來的目的只是讓你明白哪一層是幹什麼用的。網絡

我的理解做用: 能夠用來指導遇到的網絡問題經過七層協議來找到問題所在tcp

每一層都運行不一樣的協議。協議是幹什麼的,協議就是標準。接口

實際上還有人把它劃成五層、四層。ip

七層劃分爲:應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層。路由

五層劃分爲:應用層、傳輸層、網絡層、數據鏈路層、物理層。開發

四層劃分爲:應用層、傳輸層、網絡層、網絡接口層。效率

一丶物理層

物理層功能:主要是基於電器特性發送高低電壓(電信號),高電壓對應數字1,低電壓對應數字0路由器

中間的物理連接能夠是光纜、電纜、雙絞線、無線電波。中間傳的是電信號,即010101...這些二進制位。互聯網


二丶數據鏈路層

數據鏈路層由來:單純的電信號0和1沒有任何意義,必須規定電信號多少位一組,每組什麼意思udp

數據鏈路層的功能:定義了電信號的分組方式

早期的時候,數據鏈路層就是來對電信號來作分組的。之前每一個公司都有本身的分組方式,後來造成了統一的標準,即以太網協議ethernet

ethernet規定:一組電信號構成一個數據報,叫作'幀',每一數據幀分紅:報頭head和數據data兩部分

 * head包含:(固定18個字節)

  * 發送者/源地址,6個字節

  * 接收者/目標地址,6個字節

  * 數據類型,6個字節

 * data包含:(最短46字節,最長1500字節)

 * 數據報的具體內容:head長度+data長度=最短64字節,最長1518字節,超過最大限制就分片發送

這就像寫信,發送者的地址(源地址)就是你家的地址,接收者地址(目標地址)就是對方的收信地址,你家的路由器就至關於郵局。其實在計算機通訊中的源地址和目標地址指的是Mac地址。

2.2 Mac地址

head中包含的源和目標地址由來:ethernet規定接入internet的設備都必須具有網卡,發送端和接收端的地址即是指網卡的地址,即Mac地址

 * Mac地址:每塊網卡出廠時都被燒製上一個世界惟一的Mac地址,長度爲48位2進制,一般由12位16進制數表示(前六位是廠商編號,後六位是流水線號)

廣播地址

有了Mac地址之後,計算機就能夠通訊了,假設一個教室就是一個局域網(隔離的網絡),這個教室裏面有幾臺計算機.
計算機底層,只要在一個教室裏(一個局域網),都是靠廣播的方式,吼。
廣播出去之後,全部人都聽得見,全部人都會拆開這個包,讀發送者是誰,接收者是誰,只要接收者不是本身就丟棄掉。

注意:在講網絡層以前,其實基於廣播的這種通訊就能夠實現全世界通訊了,你吼一聲,若是全世界是一個局域網,全世界的計算機確定能夠聽得見,從理論上彷佛行得通,若是全世界的計算機都在吼,你想想,這是否是一個災難。所以,全世界不能是一個局域網。因而就有了網絡層。


三丶網絡層

網絡層功能:引入一套新的地址用來區分不一樣的廣播域/子網,這套地址即網絡地址

網絡層定義了一個IP協議,
往外傳的東西交給負責人就能夠了,內部的話上面已經提到,經過廣播的方式,對外的東西廣播失效。教室的負責人就是網關,網關即網絡關口的意思。

Mac地址是用來標識你這個教室的某個位置,IP地址是用來標識你在哪一個教室(哪一個局域網)。
在吼以前怎麼知道對方的Mac地址?這就得靠ARP協議。

注意:網關幫你去找飛哥,但對用戶來講,因爲速度太快咱們根本就感受不到網關的存在。

IP協議
規定了只要是接入互聯網的計算機都必須有一個IP地址
ip地址特色:點分十進制
ip地址最小:0.0.0.0
ip地址最大:255.255.255.255
ip地址目前有兩個版本:IPV4 IPV6(因爲IPV4已經不夠表示目前存在的計算機了 因此推出了IPV6版本)

IP地址是動態分配的


四丶傳輸層

傳輸層的由來:網絡層的IP幫咱們區分子網,以太網層的Mac幫咱們找到主機,而後你們使用的都是應用程序,你的電腦上可能同時開啓qq,暴風影音,等多個應用程序。

那麼咱們經過IP和Mac找到了一臺特定的主機,如何標識這臺主機上的應用程序,答案就是端口,端口即應用程序與網卡關聯的編號。

傳輸層功能:創建端口到端口的通訊

補充:端口範圍0-65535,0-1023爲系統佔用端口

有了Mac地址+IP地址+端口,咱們就能肯定世界上獨一無二的一臺計算機上的應用程序

TCP協議

 * 可靠傳輸,TCP數據包沒有長度限制,理論上能夠無限長,可是爲了保證網絡的效率,一般TCP數據包的長度不會超過IP數據包的長度,以確保單個TCP數據包沒必要再分割。

UDP協議

 * 不可靠傳輸,」報頭」部分一共只有8個字節,總長度不超過65,535字節,正好放進一個IP數據包。


五丶應用層

應用層由來:用戶使用的都是應用程序,均工做於應用層,互聯網是開發的,你們均可以開發本身的應用程序,數據多種多樣,必須規定好數據的組織形式

應用層功能:規定應用程序的數據格式。

例:TCP協議能夠爲各類各樣的程序傳遞數據,好比Email、WWW、FTP等等。那麼,必須有不一樣協議規定電子郵件、網頁、FTP數據的格式,這些應用程序協議就構成了」應用層」。

相關文章
相關標籤/搜索