網絡基礎之七層概念

最近學習高併發及負載均衡,不得不先了解網絡基礎原理,爲了之後方便,在此整理筆記,若有不一樣看法,歡迎指正json

1、簡單介紹

七層模型,也稱爲OSI(Open System Interconnection)參考模型,是國際標準化組織(ISO)制定的一個用於計算機或通信系統間互聯的標準體系。它是一個七層的、抽象的模型體,不只包括一系列抽象的術語或概念,也包括具體的協議。
ISO 就是 Internationalization Standard Organization(國際標準組織)。瀏覽器

2、模式優勢

創建七層模型的主要目的是爲解決異種網絡互連時所遇到的兼容性問題。它的最大優勢是將服務、接口和協議這三個概念明確地區分開來:服務說明某一層爲上一層提供一些什麼功能,接口說明上一層如何使用下層的服務,而協議涉及如何實現本層的服務;這樣各層之間具備很強的獨立性,互連網絡中各實體採用什麼樣的協議是沒有限制的,只要向上提供相同的服務而且不改變相鄰層的接口就能夠了。網絡七層的劃分也是爲了使網絡的不一樣功能模塊(不一樣層次)分擔起不一樣的職責,從而帶來以下好處:   
● 減輕問題的複雜程度,一旦網絡發生故障,可迅速定位故障所處層次,便於查找和糾錯;   
● 在各層分別定義標準接口,使具有相同對等層的不一樣網絡設備能實現互操做,各層之間則相對獨立,一種高層協議可放在多種低層協議上運行;   
● 能有效刺激網絡技術革新,由於每次更新均可以在小範圍內進行,不需對整個網絡動大手術;   
● 便於研究和教學。服務器

3、功能介紹

4、白話簡述數據傳輸流程

應用層,是離用戶最接近的一層,及用戶軟件、瀏覽器;網絡

表示層,表示什麼樣的形式傳輸數據,json字符串?xml?二進制編碼?併發

--------------------應用層負載均衡

會話層,長鏈接?,短鏈接?仍是直接發送?高併發

傳輸層,具體傳輸方式,過程學習

-------------------傳輸控制層編碼

網絡層,尋址,找目標在哪兒spa

------------------網絡層

鏈路層,創建鏈路鏈接

物理層,經過什麼介質傳輸,衛星?網線?無線?

-----------------鏈路層

 

用戶傳輸數據到服務器,應用層首先要根據TCP\IP協議將數據封爲數據包,就是報文,加上服務器IP端口號,準確的說多是服務器VIP的地址,而後傳輸控制層控制此請求和服務器之間的三次握手和四次分手,這個是基於TCP協議(面向鏈接、可靠的數據流傳輸),UDP(非面向鏈接的、不可靠的數據流傳輸)不須要,而後數據包丟給網絡層,網絡層根據服務器IP地址尋找位置,因爲通常服務器和客戶端並不在同一個網段內,因此網絡層會根據路由表掩碼按位與計算出該地址的下一跳(下一跳確定是在同一局域網),而後鏈路層根據ARP協議及數據表找出下一跳Mac地址,過程會用到交換機廣播,而後繼續封裝數據到物理層,到主機接收請求,返回接收請求確認包

瀏覽器找kernel內核創建鏈接,也就是找4層的傳輸控制層,此時內核建立握手第一個數據包,走網絡層尋找下一跳,而後到鏈路層,鏈路層再阻塞按ARP協議廣播,返回一個MAC地址,而後封裝數據包,繼續傳輸數據包到服務器傳輸控制層,服務器同樣返回確認包到客戶端傳輸控制層,控制層再次發送確認包到服務端控制層,此時二者創建好鏈接,開闢資源,客戶斷控制層向上返回請求真實數據包,服務器拋出線程,交互到四次分手,期間三次握手到四次分手都是點對點

相關文章
相關標籤/搜索