計網 --- 域名服務系統:因特網的目錄服務

主機名:

// 主機的一種標識方法如:
cnn.com
www.yahoo.com
gaia.cs.umass.edu
cis.poly.edu

主機名可能由不定長的字母數字組成,路由器難以處理.由于這些原因,
主機也可以使用IP地址(IP address) 進行標識

// 簡略介紹ip地址
// 一個IP地址由4個字節組成,并有著嚴格的層次結構
// 例如:121.7.106.83這樣一個IP地址,其中的每個字節都被句點分隔開來,表示了0~255的十進制數.

DNS提供的服務:

// 識別主機的方式有2種:通過主機或者IP地址
// 人們喜歡便于記憶的主機名標識方式
// 路由器喜歡定長的、有著層次結構的IP地址
// 為了折衷這些需求,就產生了DNS(Domain Name System, DNS).DNS是:
// 1.一個由分層的DNS服務器實現的分布式數據庫;
// 2.一個使得主機能夠查詢分布式數據庫的應用層協議// 注:DNS服務器通常是運行BIND(Berkeley Internet Name Domain)軟件的UNIX機器
// DNS運行在UDP上面,使用端口53

DNS工作機理概述:

// 當某個用戶主機上的一個瀏覽器請求URL www.someschool.edu/index.html頁面時會發生如下:
// ·同一個用戶主機上運行著DNS應用的客戶端
// ·瀏覽器從輸入的URL中提取出主機名www.someschool.edu,并將該主機名傳遞給DNS應用的客戶端
// ·DNS客戶像DNS服務器發送一個包含主機名的請求
// ·DNS客戶最終會收到一份回答報文,其中包含對于該主機的IP地址.
// ·一旦瀏覽器接收到來自DNS的該IP地址,它能夠向位于該IP地址80端口的HTTP服務器進程發起一個TCP連接

主機別名(host aliasing):

// 有些主機可能擁有一個或多個別名,如:
// relay1.west-coast.enterprise.com的主機,可能還有兩個別名
// enterprise.com 和 www.enterprise.com。
// 稱relay1.west-coast.enterprise.com為規范主機名
// 很明顯,主機別名(enterprise.com)更容易記憶.
// 通過DNS可以主機別名查找到對應的規范主機名以及主機的IP地址

負載均衡(load distribution):

// 用于在冗余的服務器之間進行負載分配

DNS的分布式、層次數據庫:

// DNS的一種簡單設計是在因特網上只使用一個DNS服務器,該服務器包含所有的映射...
// 這種設計有很多缺陷(單點故障、通信容量、維護麻煩等),因此采用分布式、層次數據庫// DNS使用了大量的DNS服務器,它們以層次方式組織,并且分布在全世界范圍內.
// 沒有一臺DNS服務器擁有因特網上所有主機的映射(映射分布在所有的DNS服務器上).

DNS大致分為3類:根DNS服務器、頂級域DNS服務器和權威DNS服務器

頂級域(Top_Level Domain, TLD)DNS服務器:

// 這些服務器負責頂級域名如com、org、net、edu和gov
// 以及素有國家的頂級域名如uk、fr、ca和jp

權威DNS服務器:

// 在因特網上具有公共可訪問主機的每個組織機構必須提供公共可訪問的DNS記錄,這些記錄將這些主機的名字映射為IP地址
// 一個組織機構的權威DNS服務器收藏了這些DNS記錄
// 一個組織機構能夠選擇實現它自己的權威DNS服務器以保存這些記錄
// 另一種方法是,該組織能夠支付費用,讓這些記錄存儲在某個服務提供商的一個權威DNS服務器中

本地DNS服務器(local DNS server):

// 每個ISP都有一臺本地DNS服務器(也叫默認名字服務器)
// 當主機與一個ISP連接時,該ISP提供一臺主機的IP地址
// 一臺主機可能有一臺或墮胎本地DNS服務器的IP地址.
// 可以通過訪問Windows或UNIX的網絡狀態窗口來確定本地DNS服務器的IP地址(ipconfig?)// 主機的本地DNS服務器通常"鄰近"本主機.
// 對于某機構的ISP而言,本地DNS服務器可能就與主機在同一個局域網中
// 對于某居民區的ISP來說,本地DNS服務器通常與主機相關不超過幾臺路由器// 當主機發出DNS請求時,該請求被發往本地DNS服務器,它起著代理的作用
// 并將該請求轉發到DNS服務器層次結構中(權威DNS服務器、TLD DNS服務器、根DNS服務器)

更詳細的論述:

// 假設主機cis.poly.edu想知道主機gaia.cs.umass.edu的IP地址
// 設某理工大學的本地DNS服務器為dns.poly.edu
// 設gaia.cs.umass.edu的權威DNS服務器為dns.umass.edu
// (1)主機cis.poly.edu首先向它的本地DNS服務器dns.poly.edu發送一個DNS查詢報文(含主機名gaia.cs.umass.edu)
// (2)本地DNS服務器將該報文轉發到根DNS服務器
// (3)根DNS服務器注意到其edu前綴并向本地DNS服務器返回負責edu的TLD的IP地址列表
// (4)該本地DNS服務器則再次向這些TLD服務器之一發送查詢報文
// (5)該TLD服務器注意到umass.edu前綴,并用權威DNS服務器的IP地址進行響應
// (6)該權威DNS服務器是負責馬薩諸塞大學的dns.umass.edu
// (7)最后本地DNS服務器直接向dns.umass.edu重發查詢報文,dns.umass.edu用gaia.cs.umass.edu的IP地址進行響應
// (8)本地DNS服務器將IP地址返還給端系統,// 得到ip地址后,就可以建立TCP連接了!!!

參考《計算機網絡-自頂向下方法》(原書第6版)P89~P92

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251062.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251062.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251062.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Ansible基礎概述

一、Ansible簡介 Ansible基于Python語言實現,由paramiko和PyYAML兩個關鍵模塊構建。Ansible的編排引擎可以出色地完成配置管理,流程控制,資源部署等多方面工作。Ansible公司負責Ansible開源軟件的維護,管理。一般軟件的更新大概每…

selenium瀏覽器驅動下載地址整理

今天把手頭有的一些關于selenium測試的資源整理了一下,分享出來。 1. 所有版本chrome下載 是不是很難找到老版本的chrome?博主收集了幾個下載chrome老版本的網站,其中哪個下載的是原版的就不得而知了。 http://www.slimjet.com/chrome/google…

DOM-12 【模擬桌面待講評】鼠標事件深入、點擊與拖拽分離、雙擊事件

鼠標事件深入 點擊事件 mousedown mouseupposition: absolute 會將內聯元素變為塊級(比如a)a標簽的協議限定符(偽協議,防止跳轉和刷新,讓href不生效),javascript:;,可以讓點擊和拖…

scrapy的操作

轉載于:https://www.cnblogs.com/mengqingjian/p/8337772.html

http --- HTTPS是在安全的傳輸層上發送的HTTP

HTTPS: // HTTPS是最常見的HTTP安全版本 // 是在安全的傳輸層上發送的HTTP// 將HTTP報文發送給TCP之前,先將其發送給了一個安全層(通過SSL協議實現),對其進行加密.然后再發送給TCP // 在服務器端,通過提取商量好的密鑰進行解密HTTPS方案: // 對Web服務器發起請求時,需要有一種…

Devexpress xaf針對某個用戶登錄后在面板中設置導航無效的解決方法

Devexpress xaf框架生成的項目默認情況下導航欄是顯示在左側,有時候我們用某個賬戶登錄后,發現導航欄無法顯示在左側,操作十分不方便。我們可以去數據庫刪除當前登錄用戶的自定義布局 解決方法如下: 1、查詢PermissionPolicyUser用戶表&#…

DOM-13 【實戰】輸入及狀態改變事件、京東搜索框

模塊化 IIFE window.onload function () {init() }function init() {keySearch()others() // 多人開發的模塊 }var keySearch (function () {var searchKw document.getElementById(J_search_kw),autoKw document.getElementById(J_autoKw),recomKw JSON.parse(document…

吳恩達“機器學習”——學習筆記二

定義一些名詞 欠擬合(underfitting):數據中的某些成分未被捕獲到,比如擬合結果是二次函數,結果才只擬合出了一次函數。 過擬合(overfitting):使用過量的特征集合,使模型過…

Http 概述

Http是可靠的數據傳輸協議。資源Web服務器是Web資源(resource)的宿主。包括靜態文件以及動態的內容。 媒體類型Http對每種需要由web傳輸的對象都打上了名為MIME類型的數據格式標簽。主要的mime類型: text/htmltext/plainimage/jpegimage/gifvideo/quickt…

DOM-14 【實戰】解決事件代理和鼠標移動事件的窘態

鼠標的滑入滑出 案例 事件現象應用場景mouseover/mouseout綁定在父元素時,對她的所有子元素,事件都生效dom結構簡單mouseenter/mouseleave只對她綁定的元素有效,對window綁定無效dom結構簡單mousemove長觸發dom結構復雜// 綁定在父元素上 /…

項目開發的一般流程

項目開發的一般流程 確定項目需求:拿下一個項目編寫《需求說明書》:使用文字和圖片的形式將業務表現清楚。不涉及技術,只涉及業務需求。這個環節要和客戶反復溝通。編寫《概要設計說明書》: 涉及技術的的宏觀性的內容,…

獲取日期的區間數組

Date.prototype.Format function (fmt) { //author: meizz var o { "M": this.getMonth() 1, //月份 "d": this.getDate(), //日 "h": this.getHours(), //小時 "m": this.getMinutes(), //分 "s": this.getSeconds(), /…

javascript --- 再讀作用域和閉包

執行環境: // 定義了變量或函數有權訪問的其他數據,決定了它們各自的行為 // 每個執行環境都有一個與之關聯的變量對象 // 執行環境中定義的所有變量和函數都保存在這個變量中執行環境與函數: // 每個函數都有自己的執行環境,當執行流進入一個函數時,函數的環境就會被推入一個…

DOM-15/16【實戰】鼠標行為預測技術

鼠標預測行為動作復雜,使用事件代理得不償失,在數量有限的情況下,使用循環綁定更好用戶從menu斜著向右下角滑入時,可能是進入main,也可能是要選擇子菜單,在判斷前先做延遲如何判斷用戶進入main的意圖&#…

SQLMAP命令詳解

1.基礎信息 python sqlmap/sqlmap.py -u "http://url/news?id1" --current-user #獲取當前用戶名稱 python sqlmap/sqlmap.py -u "http://www.xxoo.com/news?id1" --current-db #獲取當前數據庫名稱 python sqlmap/sqlmap.py -u "http://www.xxoo.…

Nginx命令大全

sudo nginx #打開 nginx nginx -s reload|reopen|stop|quit #重新加載配置|重啟|停止|退出 nginx nginx -t #測試配置是否有語法錯誤nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]-?,-h : 打開幫助信息 -v : 顯示版本信…

ES6-1 ES6版本過渡歷史

一 歷史 HTML HTML 1, HTML 2, HTML 3 1991-1997 IETF(the Internet Engineering Task Force) 國際互聯網工程任務組1997.1 HTML3.2 W3C JavaScript 1995 liveScript(后改名為JavaScript1996年改名)1996 javascript 1.0 1.1;1997 Jscript1997.6 ECMAScript 1.01998.6 ECMAS…

oracle 數據庫查詢 COALESCE字符函數

功能:返回其參數中的第一個非空表達式,當你要在n個字段中選取某一個非空值 coalesce函數返回參數(列名)中第一個非NULL的字段值,注意不是為空 select COALESCE(t1.a ,t2.a) as a from table_a t1left join table_b t2…

Django-model進階

知識預覽 QuerySet中介模型查詢優化extra整體插入回到頂部QuerySet 可切片 使用Python 的切片語法來限制查詢集記錄的數目 。它等同于SQL 的LIMIT 和OFFSET 子句。 1>>> Entry.objects.all()[:5] # (LIMIT 5)>>> Entry.objects.all()[5:10] # (OFFSE…

vue --- 修飾符.lazy、.number、.trim

.lazy: 會在轉變為change事件中同步 <div id"app"><input type"text" v-model.lazy"message"><p>{{ message }}</p> </div> <script>const app new Vue({el:#app,data: {message: }}) </script> //…