1.2 向DNS服務(wù)器查詢Web服務(wù)器的IP地址

1.2.1 IP地址的基本知識(shí)

  1. 生成http請(qǐng)求消息后,下一步就是根據(jù)域名查詢IP地址。
  2. TCP/IP的結(jié)構(gòu)就是由茫茫多的子網(wǎng)通過路由器連接起來(lái)組成一個(gè)大的網(wǎng)絡(luò),在網(wǎng)絡(luò)中每個(gè)設(shè)備都會(huì)被分配一個(gè)地址,地址包括子網(wǎng)號(hào)和主機(jī)號(hào),網(wǎng)絡(luò)號(hào)可以理解為子網(wǎng)號(hào),主機(jī)號(hào)可以理解為設(shè)備在子網(wǎng)內(nèi)的編號(hào),整個(gè)地址的整體稱為IP地址。
  3. IP地址是一串32比特的數(shù)字,8比特為一組分成4組,分別用十進(jìn)制表示然后再用圓點(diǎn)隔開。
  4. 區(qū)分IP地址網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)的附加信息稱為子網(wǎng)掩碼,子網(wǎng)掩碼為1的部分表示網(wǎng)絡(luò)號(hào),為0的部分表示主機(jī)號(hào)。
    10.11.12.13/255.255.255.0 與IP地址主題相同格式的子網(wǎng)掩碼
    10.11.12.13/24 采用網(wǎng)絡(luò)號(hào)比特?cái)?shù)表示子網(wǎng)掩碼的方法
    10.11.12.0/24 主機(jī)號(hào)部分比特全部為0,表示的不是單臺(tái)設(shè)備,而是整個(gè)子網(wǎng)
    10.11.12.255/24 主機(jī)號(hào)部分全部為1,表示對(duì)整個(gè)子網(wǎng)進(jìn)行廣播

1.2.2 域名和IP地址并用的理由

  1. TCP/IP網(wǎng)絡(luò)是通過IP地址來(lái)確定通信對(duì)象的,因此必須知道IP地址才能發(fā)消息。
  2. 網(wǎng)絡(luò)中使用域名是因?yàn)橛蛎菼P地址容易記住。
  3. 傳送數(shù)據(jù)時(shí)用IP地址,是因?yàn)镮P地址一共只占用4個(gè)字節(jié),相比域名的幾十甚至幾百個(gè)字節(jié),減少了路由器的負(fù)擔(dān),也提高了傳送數(shù)據(jù)的效率。再者,域名不是定長(zhǎng)數(shù)據(jù),而處理長(zhǎng)度不定的數(shù)據(jù)要比處理長(zhǎng)度固定的數(shù)據(jù)復(fù)雜。
  4. DNS:Domain Name System,域名服務(wù)系統(tǒng)。最重要的功能是通過名稱查詢IP地址,通過IP地址查詢名稱。

1.2.3 Socket庫(kù)提供查詢IP地址的功能

  1. 計(jì)算機(jī)向DNS服務(wù)器發(fā)出查詢需要有DNS客戶端,又稱為DNS解析器或解析器,通過DNS查詢IP地址的操作稱為域名解析。
  2. 解析器實(shí)際上是一段程序,包含在操作系統(tǒng)的Socket庫(kù)中。庫(kù)就是一堆通用程序組件的集合
  3. Socket庫(kù)包含的程序組件可以讓其他應(yīng)用程序調(diào)用操作系統(tǒng)的網(wǎng)絡(luò)功能,解析器就是苦衷的其中一種程序組件。

1.2.4 通過解析器向DNS服務(wù)器發(fā)出查詢

  1. 只需要在應(yīng)用程序中調(diào)用解析器提供的域名解析方法,即可完成IP地址查詢。
    例如:<內(nèi)存地址> = gethostbyname("www.lab.glasscom.com");
  2. 根據(jù)域名查詢IP地址時(shí),瀏覽器會(huì)使用Socket庫(kù)中的解析器。

1.2.5 解析器的內(nèi)部原理

  1. 網(wǎng)絡(luò)應(yīng)用程序調(diào)用解析器時(shí),程序的控制流程轉(zhuǎn)移到解析器內(nèi)部,解析器得到IP地址并寫入應(yīng)用程序指定的內(nèi)存地址后,控制流程回到應(yīng)用程序。
  2. http消息是用文本編寫,DNS消息是二進(jìn)制數(shù)據(jù)。
  3. DNS服務(wù)器的IP地址是作為TCP/IP的一個(gè)設(shè)置項(xiàng)目事先設(shè)置好的。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容