天天看點

《萬物互聯》——2.4 了解網絡連接配接

本節書摘來異步社群《萬物互聯》一書中的第2章,第2.4節,作者:【美】 michael miller(米勒),更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

對于物聯網中每個需要與其他裝置通信的裝置,都必須通過某種網絡連接配接。當兩個及以上的裝置互相連接配接就形成了網絡,通常是為了傳輸或分享資料或别的什麼通信目的。

當我們讨論物聯網的時候,網絡連接配接一般是無線的。這主要是出于實踐上的考慮,因為用電線彼此連接配接數以億萬計的智能裝置會很困難,甚至是根本不可能的。如果用無線方式把裝置彼此連接配接、連接配接到中心集線器或者連接配接到網際網路,那就相對容易得多。

在傳統的網絡中,無論是無線還是有線,一般每個裝置都不是直接與其他裝置連接配接的。這就是說,你起房間的電腦不是直接和你辦公室的那個電腦通信的,你的智能手機也不是和你用于上網的數據機直接相連的。

相反,網絡中的每個裝置都是直接連接配接到一個叫做路由器的中心集線器的。如圖2.3所示,所有需要發送的資料通過一個個路由器逐級到達另一個裝置或者網際網路。(假設路由器本身就連接配接到網際網路,一般是通過某種數據機連接配接。)有些人管這個叫做中心輻射模式,這也正是今天多數家庭和辦公室中所采用的模式。

《萬物互聯》——2.4 了解網絡連接配接

為了友善傳輸,資料是切割成碎片然後通過網絡傳輸的。當你發送一個檔案到一個網絡上或者給網際網路上的另一個裝置的時候,整個檔案并不是一下子傳輸過去的。相反地,這個檔案被分割成很多小資料包,以防止在傳輸大量的資料的時候阻塞連接配接。資料包最後會在某個合适的網絡裝置上組裝起來,如圖2.4所示。

為了完成這種解包/傳輸/組裝的過程,所有的網絡硬體必須一同遵照一種預先定義的網絡傳輸協定。這些規則決定了資料是如何通過網絡傳輸的。

今天事實上的标準,無論是網際網路還是區域網路(lan)連接配接,都使用tcp/ip(transmission control protocol/ internet protocol)。這個協定中的ip部分提供了控制資料包在從一個網絡路由到另一個網路的标準規則集。而這個協定中的tcp部分支援了兩個裝置之間的通信部分;它處理網絡資訊并将其翻譯成你的網絡可以了解的形式。換句話說,ip設定了規則而tcp翻譯了那些規則。

《萬物互聯》——2.4 了解網絡連接配接

這就是實際的情況。我們假設一個場景,即你想從你家庭辦公室的電腦複制一份檔案到你家裡的電腦。當你點選了“複制”按鈕,tcp建立了兩台電腦之間的連接配接,然後ip執行這些通信規則并連接配接兩台電腦的端口。因為tcp已經為傳輸準備了資料,ip就處理這個檔案,将其分割成小塊(資料包),并把每個資料包添加一個標頭,以便確定它能找到該去的地方。tcp資料包也會被打上标簽,标明它所攜帶的資料的類型和包的大小。

下一步,ip把資料包轉換成一種标準形式并從第一台電腦發送到第二台電腦。當第二台電腦收到資料包之後,tcp按照包的原始形态翻譯出來并把所有的資料包組合成一個檔案。

為了實作tcp/ip,網絡中的每個裝置都需要根據恰當的資訊正确地配置。特别是,每個裝置都需要配置設定一個本地的ip位址,以便讓網絡來認識這個裝置。

一個ip位址就是一個數字的标簽,有點類似街道門牌号碼,但是全都是數字的。在今天的網際網路上,一個ip位址是一個32位的數字,用一種“點+位址”的方式表述,即四組被點分隔的數字,比如:

每個十進制數字代表一串八個二進制數字——0和1。位址的第一部分代表網絡位址,而随後的部分代表本地裝置的位址(也叫做主機位址)。

一個路由器如果要明白需要将哪個資料傳輸到哪個裝置上,就必須用到ip位址。如圖2.5所示,tcp/ip向路由器廣播資料,用特定的ip位址來區分資料的接收者。路由器讀到ip位址然後轉發這個資料到這個位址的計算機上。

《萬物互聯》——2.4 了解網絡連接配接

連接配接到今天的網際網路上的每個伺服器或裝置都會被配置設定一個自己的ip位址。在未來的物聯網世界裡,每個單一的裝置,不管多小,也必須要被配置設定ip位址。

這就産生了一個問題,由于需要聯網的裝置數量巨大,很容易就将超過可用的ip位址數量——至少在目前的ipv4(也就是ip協定的第4版)中是這樣。ipv4提供了大約43億的唯一位址,其中的大部分已經被配置設定給了已有裝置。

解決方案就是盡快普及下一代網際網路協定,ipv6。(你沒看錯,它直接從第4版跳到了第6版。)這個協定擴充到了理論上多達340個100萬的11次幂的位址——也就是340個千億的千億的千億,遠遠超過所有可能的物聯網裝置所需要的位址。有理由相信,沒有ipv6,物聯網是不可能實作充分部署的。

注意

ipv6是通過把32位的位址擴充到128位來獲得更多的位址的。這就像把3位的十進制數字變成了12位的十進制資料——當你采用更多位數的時候肯定會得到更多可能的數字。

繼續閱讀