亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
慕課專欄

目錄

索引目錄

網絡協議那些事兒

原價 ¥ 68.00

立即訂閱
02 互聯網的創立,OSI七層模型
更新時間:2020-02-13 13:45:03
加緊學習,抓住中心,寧精勿雜,寧專勿多。 —— 周恩來

內容簡介

  1. 前言
  2. 如何通信
  3. OSI 七層模型
  4. 總結

1. 前言

上一課,我們初步了解了互聯網的一點歷史,也體會到了互聯網的重要性。

這一課我們就來學習:OSI 七層模型。

上一課說到,2019 年全球有近 44 億網民,大約每 2 人里就有一人使用互聯網,互聯網的規模已經是超乎想象般宏大。

你也許會問:

  • 我們怎么實現在這么多的機器之間通信呢 ?
  • 怎么才能不在這“數據的迷宮”里失去方向呢 ?

不用擔心,我們一起來學習,以期待找到問題的答案。

首先我們來理解互聯網是怎么創建的,以及使用什么規范來很好地組織這么多信息。

2. 如何通信

設想一下,假如你可以在任何時候和任何人通信,豈不是很棒 ?是的,這就是互聯網的初衷。

平時,當我們身處一個 10 人小組,會感到表達自己的觀點有些困難。如果是 100 人,就更困難。假如有 1000 人,那幾乎就聽不到你說話了。

但是互聯網就是要向不可能挑戰,要能夠做到:在任何時刻,同時和任何人通信。

當然了,要達到這個目的,必須要建立一個復雜的通信系統,使得各臺機器之間能夠相互對話。

但是這樣的一個通信模型如何構建呢?

我們可以從最熟悉的通信方式開始理解。

來盤點一下一般的通信方式吧:

  • 說話
  • 打電話
  • 郵件
  • 手機(通話、短信、微信等等)
  • 飛鴿傳書( →_→ )
  • 等等

接下來,讓我們試著來理解,在這些通信方式中,有哪些基本要素是我們通信活動所必不可少的。

在說話這種通信方式里,我們需要:

  • 說話者
  • 聽話者
  • 傳聲媒介(空氣)

打電話的方式,跟說話是類似的,但我們還需要一個在說話和電子學之間的中介。

實際上,我們要把說話的聲音轉成電信號,電信號通過電話線等傳播介質到達接收者那一端,然后轉為聲音被聽見。在這里有一個信息的封裝。

我們可以舉郵件的例子來看一下這個封裝信息的系統,在郵件收發時我們需要:

  • 寄件人
  • 收件人
  • 傳播介質(信)
  • 容器(信封)
  • 中介(郵局)

是不是慢慢能理解我們通信需要什么條件了?

那么問題又來了:

  • 我們對電腦也能這樣應用嗎?
  • 怎么才能讓大家可以同時發出訊息呢?
  • 我們能夠即時和地球另一端的某人通信嗎?

接下來我們就看一下網絡的先驅者們如何把人類通信的原理“應用”到電腦的通信中。

他們把所有研究的成果重組,創立了一個標準,所有連到互聯網的人都要遵守,這個標準就是:OSI 七層模型。

3. OSI 七層模型

OSI 七層模型,聽上去是不是很帥?這個標準誕生在 1984 年,只比我早了 3 年出生(不小心暴露了自己的年齡…)。

聰明如你也許已經注意到了:這個標準比互聯網的出現晚了很久。

原因很簡單:
OSI 七層模型是在人們有了不少機器之間通信的經驗之后才能夠誕生的。因此這個標準不僅能夠適用于現有的通信,也適用于將來的通信及其可能的演進。它的目的是使通信標準化,以保證機器最大化的演進潛力和協同工作能力。

聽起來很不錯,但是到底 OSI 七層模型是什么?。?/p>

OSI 七層模型是一個標準,規定了機器(主要是電腦)之間如何通信。因此假如你想要讓你的洗碗機和洗衣機通信的話,就需要遵從 OSI 模型,或者至少從 OSI 模型獲得啟發。這意味著需要遵從分層的通信方式。

這里的層(“層”的英語是 layer)又是什么呢?

OSI 模型是一個分層的模型,就是說它分為幾個部分,每一部分稱為一層,每一層扮演固定的角色,就如下圖所示:

圖片描述

上圖中,我們可以看到 OSI 有 7 層,每一層名字都不一樣。從下到上分別是:

  1. Physical layer(物理層)
  2. Data Link layer(數據鏈路層)
  3. Network layer(網絡層)
  4. Transport layer(傳輸層)
  5. Session layer(會話層)
  6. Presentation layer(表示層)
  7. Application Layer(應用層)

暫時對這些名稱有點懵是正常的。但請放心,我們慢慢學習。

關于如何巧記這 7 層,有一個小口訣:

All People Seem To Need Data Processing
翻譯成英語是“似乎所有人都需要數據處理”。這一句話由七個英語單詞組成,每一個的首字母正好是按第 7 層到第 1 層的首字母的順序。

當然,除了這句話,也有人想出其它有意思的小口訣來幫助記憶 OSI七層模型。剛才那句話是從第 7 層到 第 1 層的順序,有人想出下面的這句話,是從第 1 層到第 7 層的:

Please Do Not Throw Sausage Pizza Away
翻譯成英語是“請不要扔掉香腸比薩”。這一句話由七個英語單詞組成,每一個的首字母正好是按第 1 層到第 7 層的首字母的順序。

好吧,你也可以自己想出喜歡的記憶方式。我個人還是比較喜歡第一個句子,畢竟提到了 data processing(數據處理),跟我們的 OSI 模型還比較貼合。

看到這里你也許又會發問:“為什么 OSI 模型是 7 層,不是 17 層或者 250 層?”

還記得之前提到的嗎?
我們知道:如果要通信,需要有固定數目的組分,比如 發送者,接收者,語言等等。
網絡的先驅者們設計了用于構建通信系統的主要元素,他們發現數目定為 7 最合適(“好吧,你厲害你說什么都對…”)。OSI 的每一層都有特定的分工,這 7 層合起來就可以使一臺機器和另一臺通信。

下面我們來看一下這 7 層各自的細節:

第 1 層或者物理層(Physical layer):

  • 名字:物理層
  • 作用:為通信提供傳播媒介
  • 輔助作用:沒有
  • 相關設備:集線器(也就是常說的 Hub)

第 2 層或者數據鏈路層(Data Link layer):

  • 名字:數據鏈路層
  • 作用:使局域網中的機器互相連接
  • 輔助作用:偵測傳輸錯誤
  • 相關設備:交換機(也就是常說的 Switch)

第 3 層或者網絡層(Network layer):

  • 名字:網絡層
  • 作用:使各個網絡相互連接
  • 輔助作用:分割傳輸的數據包
  • 相關設備:路由器(也就是常說的 Router)

第 4 層或者傳輸層(Transport layer):

  • 名字:傳輸層
  • 作用:管理應用程序的連接
  • 輔助作用:保證連接的有效建立
  • 相關設備:沒有

第 5 層或會話層(Session layer):

  • 我們不在乎!

是的,你沒有看錯:我們不在乎第 5 層。

在第 4 層以上的,除了第 7 層,我們都不在乎。當然了,我也有些夸大。但是第 5 層和第 6 層不在本課程考慮范圍之內。

原因很簡單:
OSI 七層模型是一個理論模型,今天的互聯網使用的實際模型是 TCP/IP 模型,而后者不使用 OSI 的第 5 層和第 6 層,因此我們無視它們。

好,我想你應該理解了。當然了,第 7 層我們需要考慮。其實正是為了這第 7 層上的應用程序我們才大費周章,構建這個模型。

是的,第 7 層就是“老大”,是“終極 Boss”,就得伺候著,就是這么任性…

第 7 層或者應用層(Application layer):

  • 名字:應用層
  • 作用:沒有
  • 輔助作用:沒有
  • 相關設備:代理(也就是常說的 Proxy)

什么?第 7 層竟然沒有作用!那“伺候”它干嘛?說白了,這一層就是展示我們構建通信架構所要服務的所有應用程序。

因此,我們會把重心放在提供服務和引導數據傳遞的第 1 - 4 層,當然第 7 層也會花時間去講。其實,還有一種說法是把 1 - 4 層合稱為“網絡層”。因為正是這 4 層負責引導數據從一臺機器傳遞到另一臺機器,以供機器上的屬于第 7 層的應用程序使用。

圖片描述

在深入理解這 4 層之前,很有必要提一下使用 OSI 模型的兩個原則:

  1. 每一層都是相對獨立的;
  2. 每一層只能和相鄰的層通信。

1. 每一層都是相對獨立的

其所產生的影響是某一層所用的信息不能被另一層使用。例如,對于某些有一定網絡知識的讀者來說,應該知道 IP 地址是屬于第 3 層的,就不能被另外的層所使用。

這樣規定的好處是可以方便通信方式的變革。

想象一下,今天你使用互聯網,雖然你可能并不了解它的原理,但實際上你使用的是第 3 層的 IPv4(Internet Protocol Version 4,互聯網協議第四版)這個協議。未來,我們將從 IPv4 演進到 IPv6(互聯網協議第六版。相比第四版的 32 位地址空間,可以達到 128 位地址空間)。這時,假如我們除了第 3 層以外,在另一些層中也用到了 IPv4,那我們除了要改第 3 層的協議,我們也要改其它凡是用到 IPv4 協議的層,就會很麻煩。

保持各層的相對獨立性可以使得我們改換一層所關聯的協議時,無需更改其它的層。

2. 每一層只能和相鄰的層通信

為了理解這個原則,我們必須了解機器是怎么利用 OSI 模型來通信的。

想象以下場景:

你坐在電腦前,打開你的瀏覽器。你在瀏覽器的地址欄里輸入一個網址,按下回車鍵,那個網站就出現了。

雖然你并不知情,但其實你就在使用 OSI 模型。

大體來說,位于 OSI 第 7 層的應用程序(此處是瀏覽器),與第 1 - 4 層(合稱“網絡層”)對話,以便這 4 層把機器上的應用程序所要的信息從遠端的機器上(比如 google.com 的服務器)傳輸過來。

在一個傳輸過程中,我們會跨越 OSI 模型的各層,從上到下:

圖片描述

由此可見,多虧了第 2 個原則,我們能保證在信息的傳輸過程中,OSI 模型的各層都會被跨越,也就保證每一層的作用都能得到實現。當然了,差不多是這樣。因為實際上對于互聯網,OSI 模型是一個理論模型,第 7 層其實是跳過 5、6 層而直接和底下 4 層通信的。所以是 7 -> 4 -> 3 -> 2 -> 1

4. 總結

  1. OSI 七層模型是一個規范,其規定了機器之間如何通信;

  2. OSI 模型是一個理論模型,互聯網實際使用的是 TCP/IP 模型;

  3. OSI 模型有 7 層;

  4. 每一層都有一個特定的作用;

  5. 第 1 - 4 層合稱為“網絡層”;

  6. 每一層相對獨立;

  7. 每一層只能和相鄰的層通信;

  8. 當傳輸數據時,我們從 OSI 的最上層遍歷到最下層;在另一個機器那里,則是相反的方向,從最下層到最上層。

}
立即訂閱 ¥ 68.00

你正在閱讀課程試讀內容,訂閱后解鎖課程全部內容

千學不如一看,千看不如一練

手機
閱讀

掃一掃 手機閱讀

網絡協議那些事兒
立即訂閱 ¥ 68.00

舉報

0/150
提交
取消