1-2:网络初识之了解OSI和TCP/IP及网络分层(物理层,数据链路层,网路层,传输层,应用层)
文章目錄
- 一:生活中的協議分層
- (1)生活中的分層1——漢堡包
- (2)生活中的分層2——打電話
- 二:網絡分層
- (1)OSI七層模型
- (2)TCP/IP分層模型
一:生活中的協議分層
(1)生活中的分層1——漢堡包
漢堡包屬于一種快餐,之所以稱之為快餐,是因為它的制作效率高,在一定時間內可以滿足不同口感,搭配出不同風格的食物。之所以這樣是因為漢堡包采用了分層結構,想要替換哪一步就替換那一部分,每一層與每一層互不干擾
這樣帶來的好處就是解耦,在軟件設計中我們經常提到高內聚,低耦合,漢堡包所做的目的就是這樣,我們學習C++也是這樣,在C語言中所有代碼都是通過調用接口完成,耦合性太強,中間一旦一個環節出現錯誤,滿盤皆輸。但是增加了類之后,類于類之間互不干擾,就像STL中的vector,它可以放自定義類型,vector一定能保證它的插入刪除接口是不出現錯誤的,那么最終如果仍然產生問題的話,就一定是你的自定義了類型有問題了
(2)生活中的分層2——打電話
如下圖,有兩個人通過通信設備進行交談。在這個過程中,他們使用的語言協議作為麥克風的音頻輸入,在通信設備那一層轉換為電信號,然后將電信號傳送到另一個人的通信設備,再向上轉化為我們可識別的內容,依次完成通信
上圖中反應的就是:上層需要使用下層接口完成通信,而下層需要將數據通過某種方式翻譯后反饋給上層
如下圖,在實際生活中,我們與人交談可以使用座機也可以使用手機,并且在通信設備不變的情況下,也可以使用英語交流(前提是雙方都采用這種“協議”)
這樣做帶來的好處就是下層只負責能將數據正確翻譯給上層,而上層負責會使用這些接口(就像會使用手機一樣),依次達到通信
上面的例子其實只涉及到了兩層,實際的協議分層相較它還是比較復雜的,但是所體現的思想是一致的。
二:網絡分層
(1)OSI七層模型
OSI將協議分為如下7層,協議規定了每一層各自的作用,也就是說每一層應該干什么
需要注意的是這只是一種參考模型,實際的網絡協議如TCP/IP在設計時思想上基本一致,但是還是存在區別
- 物理層:負責0,1比特流(0,1序列)與電壓的高低,光的閃滅之間的互換
- 數據鏈路層:負責物理層面上互連的,節點之間的通信傳輸。關鍵設備就是交換機
- 網絡層:解決跨網絡的通信問題,主要負責尋址和路由選擇。關鍵設備就是路由器
- 傳輸層:保證傳輸的穩定,可靠和效率等問題
- 會話層:負責建立和斷開通信連接,以及數據的分割等數據傳輸相關的管理
- 表示層:主要負責數據格式的轉換
- 應用層:為應用程序提供服務并規定應用程序通信的相關細節
也就是說按照OSI的規定,完成通信應該是下面這樣的
(2)TCP/IP分層模型
OSI規定的七層模型太過負責,所以TCP/IP協議將網絡分為了下面5層(TCP/IP協議是一組協議的集合的代表,只不過這兩個協議太過著名,就以他們的名字命名了)。
在TCP/IP協議中,每一層都呼叫它的下一層所提供的網絡或者接口完成自己的需求。
- 物理層: 負責光/電信號的傳遞方式. 比如現在以太網通用的網線(雙絞 線)、早期以太網采用的的同軸電纜(現在主要用于有線電視)、光纖, 現在的wifi無線網使用電磁波等都屬于物理層的概念。物理層的能力決定了最大傳輸速率、傳輸距離、抗干擾性等. 集線器(Hub)工作在物理層.
- 數據鏈路層:: 負責設備之間的數據幀的傳送和識別. 例如網卡設備的驅動、幀同步(就是說從網線上檢測到什么信號算作新幀的開始)、沖突檢測(如果檢測到沖突就自動重發)、數據差錯校驗等工作. 有以太網、令牌環網, 無線LAN等標準. 交換機(Switch)工作在數據鏈路層.
- 網絡層:: 負責地址管理和路由選擇. 例如在IP協議中, 通過IP地址來標識一臺主機, 并通過路由表的方式規劃出兩臺主機之間的數據傳輸的線路(路由). 路由器(Router)工作在網路層.
- 傳輸層:: 負責兩臺主機之間的數據傳輸. 如傳輸控制協議 (TCP), 能夠確保數據可靠的從源主機發送到目標主機.
- 應用層:: 負責應用程序間溝通。如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網絡遠程訪問協議(Telnet)等我們的網絡編程主要就是針對應用層
可以看出:OSI參考模型注重“通信協議必要的功能是什么”,TCP/IP則強調“在計算機上實現協議應該開發哪種程序”。也就是說操作系統承擔了網絡協議中非常重要的角色
總結
以上是生活随笔為你收集整理的1-2:网络初识之了解OSI和TCP/IP及网络分层(物理层,数据链路层,网路层,传输层,应用层)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Junit简单实现
- 下一篇: Jmeter-获取响应结果中参数出现的次