偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

域名系統(tǒng)的前世今生:一文讀懂互聯(lián)網(wǎng)的“門牌號”

網(wǎng)絡 網(wǎng)絡管理
幸運的是,互聯(lián)網(wǎng)有許多好人,DNS 是互聯(lián)網(wǎng)的基礎設施。惡意 DNS 并不常見,所以你在瀏覽互聯(lián)網(wǎng)時不需要過于擔心。

IP 協(xié)議的責任是網(wǎng)絡互聯(lián),它在 MAC 層之上運行,使用 IP 地址將 MAC 地址轉換為四位數(shù),抽象出物理網(wǎng)卡的 MAC 地址,從而開發(fā)出許多“新玩法”。

例如,它被分為五種類型:A、B、C、D 和 E;公共和私有地址;子網(wǎng)掩碼分段。只要每個小網(wǎng)絡都同意 IP 地址的概念,無論它們在 MAC 層有多么不同,它們都可以訪問 TCP/IP 協(xié)議棧,并最終匯聚到整個互聯(lián)網(wǎng)中。

然而,隨著越來越多的計算機連接到互聯(lián)網(wǎng),IP 地址的缺點暴露出來。主要問題是它“不夠用戶友好”。盡管它比 MAC 地址的十六進制數(shù)稍好,但仍然難以記住和輸入。

如何解決這個問題?

解決方案在于“以火攻火”,在 IP 地址之上添加另一層抽象,將數(shù)值 IP 地址轉換為更有意義且易于記住的名稱。這引入了一種字符串級別的新玩法。于是,DNS(域名系統(tǒng))應運而生。

域名的形式

域名是一個分層結構,由多個用‘.’分隔的單詞組成。最右邊的單詞是頂級域名,其次是二級域名,層級從右向左遞減。

最左邊的部分是主機名,通常用于指示主機的用途。例如,“www”表示 Web 服務,“mail”表示郵件服務。不過,這并不是絕對的,關鍵是讓我們容易記住。

域名不僅是 IP 地址的替代品,還有許多其他用途。

在像 Apache 和 Nginx 這樣的 Web 服務器中,域名可以用來識別虛擬主機,并確定哪個虛擬主機提供外部服務。例如,在 Nginx 中可以使用 server_name 指令:

server {
    listen 80;                       
    server_name  time.geekbang.org;  
    ...
}

域名本質上是一個命名空間系統(tǒng),使用多級域名來劃分不同的國家、地區(qū)、組織、公司和部門。每個域名都是唯一的,可以作為身份標識。

例如,假設公司 A 有一個名叫 Garb 的人,公司 B 也有一個名叫 Joe 的人。他們可以分別稱為 “Garb.Company A” 和 “Joe.Company B”。即使公司 B 也有一個名叫 Garb 的人,他們也可以被標記為 “Garb.Company B”,從而有效解決重復命名的問題。

由于這個特性,域名已擴展到其他應用領域。例如,Java 的包機制使用域名作為命名空間,但順序相反。如果極客時間要開發(fā)一個 Java 應用程序,其包名可能是 org.geekbang.time。

在 XML 中,URI 被用作命名空間,這間接涉及域名的使用。

域名解析

就像訪問主機需要將 IP 地址轉換為 MAC 地址一樣,域名也需要轉換為 IP 地址。這個過程稱為域名解析。

目前,全球有數(shù)十億個網(wǎng)站,數(shù)十億的互聯(lián)網(wǎng)用戶,每天在網(wǎng)絡上發(fā)生的 HTTP 流量是天文數(shù)字。大多數(shù)請求在訪問網(wǎng)站時是基于域名的,這使得 DNS 成為互聯(lián)網(wǎng)的一個重要基礎設施,必須確保穩(wěn)定、可靠、快速和高效的域名解析。

DNS 的核心系統(tǒng)是一個三層樹狀分布式服務,對應域名的結構:

  1. 根域名服務器:管理頂級域名服務器并返回諸如 com、net、cn 等服務器的 IP 地址;
  2. 頂級域名服務器:管理其各自域下的權威域名服務器;例如,com 頂級域名服務器可以返回 apple.com 服務器的 IP 地址;
  3. 權威域名服務器:管理其域下主機的 IP 地址;例如,apple.com 的權威域名服務器可以返回 www.apple.com 的 IP 地址。

圖片圖片

其中,根域名服務器至關重要。它必須是眾所周知的,否則對下層服務器的討論是不可能的。目前,全球共有 13 組根域名服務器,擁有數(shù)百個鏡像以確??稍L問性。

有了這個系統(tǒng),任何域名都可以在這個樹結構中從上到下查詢。就像從右到左順序遍歷域名,最終獲得相應的 IP 地址。

例如,如果你想訪問 www.apple.com,你需要進行三次查詢:

  1. 訪問根域名服務器,它會提供 com 頂級域名服務器的地址。
  2. 訪問 com 頂級域名服務器,然后它會提供 apple.com 域名服務器的地址。
  3. 最后,訪問 apple.com 的域名服務器以獲得 www.apple.com 的地址。

盡管核心 DNS 系統(tǒng)是全球分布的,具有強大而穩(wěn)定的服務能力,但如果全世界的互聯(lián)網(wǎng)用戶都涌入這個系統(tǒng),即使不會因擁堵導致癱瘓,訪問速度也會變慢。

因此,除了核心 DNS 系統(tǒng)之外,還有兩種方法可以緩解域名解析的壓力并更快地獲得結果——主要通過緩存。

首先,許多大公司和網(wǎng)絡運營商建立了自己的 DNS 服務器,作為用戶 DNS 查詢的代理,而不是直接通過核心 DNS 系統(tǒng)訪問。這些“野生”服務器稱為 “非權威名稱服務器” ,可以緩存以前的查詢結果,這樣如果記錄已經(jīng)存在,就不需要再次發(fā)送查詢,而是可以直接返回相應的 IP 地址。

這些 DNS 服務器的數(shù)量遠遠超過核心系統(tǒng)中的服務器,而且大多數(shù)地理上靠近用戶。一些知名的 DNS 服務器包括 Google 的 8.8.8.8、Microsoft 的 4.2.2.1、CloudFlare 的 1.1.1.1。

其次,操作系統(tǒng)也會緩存 DNS 解析結果,這樣當你再次在瀏覽器中輸入 www.apple.com 時,不會回到更高層次查詢,而是直接從操作系統(tǒng)本地獲取其 IP 地址。

此外,操作系統(tǒng)中有一個特殊的主機映射文件,通常是一個可編輯的文本文件。在 Linux 中,它位于“/etc/hosts”,在 Windows 中,它位于 C:\WINDOWS\system32\drivers\etc\hosts。如果操作系統(tǒng)無法在緩存中找到 DNS 記錄,它會查找此文件。

有了上述野生 DNS 服務器、操作系統(tǒng)緩存和 hosts 文件,許多域名解析工作可以輕松地在本地或本地計算機上解決。這不僅方便了用戶,還減輕了各級 DNS 服務器的壓力,大大提高了效率。

下圖提供了當前 DNS 架構的一個相當全面的表示。

111111111111

在 Nginx 中,有一個名為“resolver”的配置指令,用于配置 DNS 服務器。如果沒有它,Nginx 將無法查詢域名對應的 IP,因此無法反向代理到外部網(wǎng)站。

resolver 8.8.8.8 valid=30s;  # 指定 Google's DNS,緩存 30 秒。

域名的新玩法

有了域名和穩(wěn)定的解析系統(tǒng),我們現(xiàn)在可以實現(xiàn)比僅使用 IP 地址更多的新玩法。

重定向

第一個也是最簡單的方法是重定向。因為域名取代了 IP 地址,外部服務可以保持相同的域名,而主機的 IP 地址可以自由更改。當需要下線或遷移主機時,可以更改 DNS 記錄以將域名指向另一臺機器。

例如,如果你有一個服務器為 buy.tv,需要臨時維護關機,可以通知 DNS 服務器:“我的 buy.tv 域名地址已更改。以前是 1.2.3.4,現(xiàn)在是 5.6.7.8,請更新。”然后,DNS 將修改其內部的 IP 映射關系,使得任何對 buy.tv 的請求不再發(fā)送到主機 1.2.3.4,而是由 5.6.7.8 處理,確保業(yè)務服務不間斷。

內部 DNS

第二種方法涉及利用 bind9 或其他開源軟件設置內部 DNS 作為名稱服務器,因為域名是命名空間。這樣,我們可以對所有內部開發(fā)的服務使用域名;例如,數(shù)據(jù)庫服務可以使用 mysql.inner.app,產(chǎn)品服務可以表示為 goods.inner.app。當啟動網(wǎng)絡通信時,不再需要硬編碼 IP 地址,而是可以直接使用域名,這也結合了第一種方法的優(yōu)點。

負載均衡

第三種方法結合了前兩種方法——基于域名實現(xiàn)負載均衡。

這有兩種方法可以實現(xiàn),可以結合使用:

  • 第一種方法是因為域名解析可以返回多個 IP 地址,所以一個域名可以對應多臺主機??蛻舳私邮盏蕉鄠€ IP 地址后,可以使用輪詢算法將請求順序發(fā)送到服務器,從而實現(xiàn)負載均衡。
  • 第二種方法是配置域名解析的內部策略,返回離客戶端最近的主機或當前服務質量最好的主機。這樣,DNS 端將請求分配到不同的服務器,實現(xiàn)負載均衡。

上述所有內容都是關于可信賴的 DNS。如果存在一些惡意 DNS 服務器,它們還可以篡改域名,進行更多的惡意活動。這里有兩個例子:

  • 域名屏蔽,域名不解析,直接返回錯誤,阻止你獲取 IP 地址,從而無法訪問網(wǎng)站;
  • 域名劫持,又稱域名污染,當你想訪問網(wǎng)站 A 時,DNS 返回給你的是網(wǎng)站 B。

幸運的是,互聯(lián)網(wǎng)有許多好人,DNS 是互聯(lián)網(wǎng)的基礎設施。惡意 DNS 并不常見,所以你在瀏覽互聯(lián)網(wǎng)時不需要過于擔心。

這些是域名中的一些技巧和知識,了解這些有助于更好地使用和管理域名,提高互聯(lián)網(wǎng)的使用體驗。

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2022-03-13 18:27:09

Redis數(shù)據(jù)庫開源

2020-05-15 15:29:36

Stata數(shù)據(jù)分析

2023-08-27 21:02:14

2018-05-31 09:46:04

車聯(lián)網(wǎng)智能交通ITS

2019-01-16 09:56:27

2019-05-22 17:34:16

代碼開發(fā)工具

2022-07-07 18:03:15

網(wǎng)絡協(xié)議網(wǎng)絡通信

2021-04-19 10:13:25

互聯(lián)網(wǎng)數(shù)據(jù)技術

2018-05-31 09:26:04

2023-05-07 07:52:34

系統(tǒng)地址解碼

2024-04-24 16:32:35

人工智能智能鎖

2023-02-18 18:33:08

計算機前世今生

2010-06-21 17:17:19

2009-10-26 10:42:12

2021-09-13 22:34:56

區(qū)塊鏈新基建數(shù)字化轉型

2019-04-24 12:30:36

2017-06-09 08:49:49

2017-08-31 15:54:52

2019-08-26 15:06:13

域名系統(tǒng)DNS
點贊
收藏

51CTO技術棧公眾號