iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0

講完了網路的基礎知識之後,各位應該記憶都回來了,那接著要先講常常用到,但沒什麼存在感的DNS。
為什麼要先講它呢?這是因為在Kubernetes中,所有的容器之間相互通訊基本上都是透過 domain name,但是網路封包必須透過IP才能進行通訊,因此便需要 DNS 來進行轉換。因此了解 DNS 對之後的 Kubernetes 網路是有相當的幫助的。

那講道 DNS ,首先需要來介紹什麼是 Domain name ,也就是所謂的域名。
通常域名的結構如 google.com 這樣(://的後面直到下一個/中間,最前面的是通訊協議),
而我們向 DNS 詢問 google.com 的 IP 時, DNS 會先對域名進行解析,
而域名的解析需要從最後面開始,並以 . 進行分隔,
因此 google.com 第一個被解析的是 com 的部分,這部分也被稱為頂級域名(Top-level Domain, TLD),是由ICANN(網際網路名稱與數位位址分配機構)分配給不同國家或機構進行使用。
這時 DNS 就會向 root DNS Server 詢問 com Server 的 IP(嚴格來說,域名最後面應該有個點,像這樣 google.com.,但通常最後面的點會被省略)

接著 DNS 會再向負責 com 的 DNS Server 詢問 google.com Server 的 IP
這樣我們的 DNS 就得到了 google.com Server 的 IP 了,我們的 DNS Server 就會像我們回復 google.com Server 的 IP。

話說我曾經問過我學長一個頗白癡的問題,大概過程如下:

我:以上流程都是都是找負責對應 domain 的 DNS Server ,那它們是怎麼互相尋找的,如:各個 DNS 是怎麼找到 root DNS Server 的?還有我們是怎麼找到 DNS 讓它出去詢問的?
學長:就哈扣寫死,像我們都會設 8.8.8.8 ,就是這樣,這沒辦法(兩手一攤)。

恩~~,果然又是哈扣

那今天就到這裡,明天在接著介紹其他網路相關的東西。


上一篇
Day 03 Linux 中的網路
下一篇
Day 05 憑證是什麼?
系列文
Kubernetes 中關於網路的二三事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言