互聯網的本質就是一系列的網絡協議,這個協議就叫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地址。
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數據包的長度不會超過IP數據包的長度,以確保單個TCP數據包沒必要再分割。
* 不可靠傳輸,」報頭」部分一共只有8個字節,總長度不超過65,535字節,正好放進一個IP數據包。
應用層由來:用戶使用的都是應用程序,均工做於應用層,互聯網是開發的,你們均可以開發本身的應用程序,數據多種多樣,必須規定好數據的組織形式
應用層功能:規定應用程序的數據格式。
例:TCP協議能夠爲各類各樣的程序傳遞數據,好比Email、WWW、FTP等等。那麼,必須有不一樣協議規定電子郵件、網頁、FTP數據的格式,這些應用程序協議就構成了」應用層」。