網際網路
網際網路協定位址(IP Address)、網域名稱系統(DNS)
嗨!我是寶拉
在微軟工作的軟體工程師
讓我們來聊聊網際網路是如何運作的吧!
我的工作需要使用網路來和其他人溝通
但回溯到 1970 年代的時候,還沒有標準的作法
在 Vint Cerf 與 Bob Khan 發明了網路通訊協定之後
才讓(網際網路)這樣的溝通方式得以實現
這項發明,成為了網際網路的重要基礎
網際網路(Internet)是一堆的小型網路構成
它將地球上數十億的設備連接在一起。
你可能是使用筆電或手機透過 Wi-Fi 上網
Wi-Fi 則連結到網際網路服務供應商(ISP)
ISP 則透過數十萬互相連結的網路
讓你與世界上數十億的裝置得以連接
多數人沒有注意到的一點是:網際網路其實是一種設計哲學
網際網路也是由一組協定來表現的結構體系
一個通訊協定是由一組大家公認的規則和標準組成
如果所有參與者都同意使用,就能讓彼此順利的溝通
網際網路「實際上」如何運作,反而沒那麼重要。
更重要的是:
它的設計哲學能夠讓網際網路調整與納入新的通訊技術
這是因為新的通訊技術只需要配合協定,
就能以某種方式使用網際網路
各式各樣的設備在網際網路世界裡,都擁有一個獨一無二的位址
這些網路位址就是一組數字,
很類似電話號碼或街道地址
這個網路位址,在一個範圍的網路內,對每個電腦或設備而言都是獨一無二的
這就好比多數的住家或公司行號都有郵件地址。
你不知需認識對方,就能寄信給他
但你需要知道他的地址,以及該如何正確的書寫地址
如此一來,這封信才能透過郵政系統送達到目的地
在網際網路裡,電腦的位址系統有類似的作用
這形成了最重要的通訊協定之一:
網際網路協定(Internet Protocol),簡稱: IP
電腦的位址也因此稱為:IP 位址
瀏覽網站等於是:你的電腦向另一部電腦徵求資訊
你的電腦向另一台電腦的IP位址發送訊息,
同時也附帶著自己的IP位址
所以,另一台電腦就知道要回覆訊息到什麼地方
你也許有看過 IP 位址,
它其實就是一連串的數字!
這些數字是由「層級」所構成
就像住家地址有:國家、城市、街道、門牌號碼那樣
IP位址也可分為許多部分
與所有的數位資料一樣,每一個數字都是以位元(bit)所表示
典型的IP位址的長度是32位元,每一個部分則有8位元
前面的數字,通常可識別裝置所在的國家或區域
接下來表示:子網域
最後則表示:特定裝置的位址
這個版本的IP協定,稱為 IPv4
它是在1973年所設計,並且在80年大初期被廣泛使用
提供了超過40億個獨一無二的位址,讓裝置連接到網際網路
但是網際網路遠比 Vint Cerf 想像的更為普遍
40億個不同的位址仍然不夠!
我們正處於轉換到更長的 IP 協定(IPv6)的過渡期中
IPv6 的每一個位址的長度為 128 位元,
可提供超過 340 x 10^33 個不同的位址
這個數量多到足夠讓地球上每一顆沙子都有自己的IP位址!
大多數的人不曾見過或關心 IP 網路位址
網域名稱系統(DNS)
可讓網域名稱(www.example.com)與對應的IP位址,關聯在一起
你的電腦會使用 DNS 查詢網域名稱,來取得對應的 IP 位址
IP 位址則用來讓你的電腦,能夠連結到網際網路上的目的地
看個例子...
(聲音ㄧ:嗨!我想要前往 www.code.org)
(伺服器一:嗯... 我不知道那個網域的 IP 位址,讓我問一下)
(伺服器一:嗨,有人知道 code.org 要怎麼去嗎?)
(伺服器二:耶,我知道,它就是在 174.129.14.120)
(伺服器一:喔!讚讚,謝拉!我要把它記下來保存,以免之後我又需要它)
(伺服器一:嘿!這是你需要的 IP 位址)
(聲音ㄧ:好喔!謝謝拉!)
要如何設計一個系統能讓:
數十億個裝置,都能在茫茫網站大海中,找到正確的那一個呢?
只有一台 DNS 伺服器, 一定無法處理所有裝置的查詢請求
解決方法是:讓所有的 DNS 伺服器以「分散式階層」串聯在一起
並且以區域分開,針對主要的網域(.org, .com, .net)分開負責
DNS 起初是為了政府與教育機關而設計的開放且公開的通訊協定
因為 DNS 的開放特性,它很容易受到網路攻擊的影響。
有一種攻擊稱為:偽造 DNS 紀錄(DNS spoofing)
這是指:駭客入侵一台 DNS 伺服器,並且將網域名稱修改對應到錯誤的 IP 位址
如此,攻擊者就能把人們傳送到「冒名頂替」的假網站
如果這發生在你身上,你會信以為真的使用這個假網站,讓你受到更多問題的傷害。
網際網路非常巨大,且每天都不斷擴大。
然而,DNS 以及 網際網路協定 都被設計可以持續擴充
無論網際網路會成長到多麽巨大!