天天看點

自學網絡協定(四):OSI第三層——網絡層的作用(上)

正文

讓我們再次“瞻仰”一下這張意義重大的圖:

自學網絡協定(四):OSI第三層——網絡層的作用(上)

經過前面的學習,我們已經知道了如何使連接配接到同一網絡(即,區域網路)的機器互相通信。

那麼,這些區域網路中的機器如何與外部機器進行通信呢?

我們從一開始到現在一直在使用“網絡”一詞,那麼網絡到底有何含義呢?

OSI第3層及其作用·初窺

由上圖,OSI第3層,即大名鼎鼎的“網絡層”。相較于其他幾層,這個名字有些“言簡意赅”了,倒是我們少見的名字和作用一緻的了。

網絡層的作用就是互連網絡 —— 這使我們能從一個網絡向另一個網絡發送消息。

但是,如何做才能将消息發送到我們沒有直接連接配接到的網絡中(的電腦中)呢?

由前幾節的學習,我們不難得出:網絡之間也是互連的,就像一條鍊 這樣的結論。

其實,所謂Internet就像一個由很多網絡組成的更龐大的網絡。

我們可以認為:網際網路好像一間大房子,而互連的網絡就像這個大房子裡的房間一樣。從廚房到卧室,我們要經過幾個房間。

對網絡來說也是一樣。為了從“我的卧室”到達網際網路上的一個網站(例如:GitHub)的主機所在的網絡,我們要經過許多個中間網絡。

而網絡層将允許我通過其他網絡加入網際網路上的任何網絡 —— 我的電腦将通過網絡逐漸連接配接到另一個網絡上的電腦。

我們可以通過指令行來示範一下:(用我自己的個人網站(cjxnsb.cn/mxcf/index.html)的主機名www.cjxnsb.cn來測試)

自學網絡協定(四):OSI第三層——網絡層的作用(上)

關于這個指令,還可以說道說道:

在Linux系統中,我們輸入的是traceroute指令

咳咳,好像扯哪去了,,,

回到開始的問題:到底什麼是網絡呢?

要了解網絡是什麼,我們将從了解網絡層的一個極為重要的概念開始說起——和第2層有一個MAC位址一樣,在第3層也有一個位址,它要比MAC位址複雜的多。

第三層的辨別符——IP位址

我們目前隻知道一個位址,也就是 OSI 第二層的 MAC 位址,MAC 位址是用于我們的本地網絡(區域網路)。

我們不免有這些疑問:

  • 在網際網路上,我們的網絡和其他網絡是如何被辨別以便區分的呢?
  • 如何辨別網絡呢?用位址來辨別嗎?還是用名字來辨別呢?
  • 如果需要有一個位址來辨別網絡,還需要另一個位址來辨別網絡中的機器,那麼是否意味着在 OSI 第 3 層裡需要兩個位址呢?

我們所有問題的答案都将在第 3 層的位址:IP 位址 中找到。

合二為一的兩個位址:

我們将通過學習 IP 位址來回答之前提出的幾個問題。

IP 位址實際上是網絡和機器的位址。

更确切地說,IP 位址的一部分代表網絡的位址,另一部分代表機器的位址。

那麼,IP 位址是怎麼表示的呢?

IP 位址編碼為 32 位(也就是 4 個位元組,因為我們之前說過 8 位二進制位(也就是 bit 位)是 1 個位元組)。當然了,這是針對 IPv4(IP 協定第 4 版)的位址來說的;如果是 IPv6(IP 協定第 6 版)的位址,那麼就不止 32 位了,而是 128 位。

IPv6 的位址是類似這樣的:​

​2001:0db8:85a3:0000:1319:8a2e:0370:7344​

我們這裡暫時不讨論 IPv6 的位址,因為比較複雜。

本課下面所說的 IP 位址,都預設是指 IPv4 格式的 IP 位址。

2019 年 11 月 26 日,是人類網際網路時代值得紀念的一天,全球近 43 億個 IPv4 位址正式耗盡,我們即将向 IPv6

時代邁進。

為了簡化 IP 位址的讀寫,計算機科學家們選擇使用點分十進制表示法來編寫 IP 位址。用以點分隔的 4 個位元組來表示 IP 位址,每個位元組的數字是用十進制來表示的,範圍從 0 到 255(因為一個位元組是 8 個二進制位,2 的 8 次方是 256,而 256 - 1 = 255)。

繼續閱讀