名字—地址映射

名字—地址映射

在訪問一個命名實體之前,必須首先獲得該實體的網際地址。這個過程稱為名字映射。

名字映射可看成是一個由實體名到網際地址(包括孤立網的情況, 此時網路號 0)的映象。它分為靜態和動態兩種方式。靜態連線方式是將命名實體的地址嵌入訪問實體的系統內。

動態連線方式是將實體名嵌入系統,且由NBP實現動態地址映象。這種方式又進一步分成兩種形式:動態先映射和動態後映射。前者是指用戶的節點進網時就實現名字映射; 後者則是指每次訪問命名實體時才實現名字映射

基本介紹

  • 中文名:名字—地址映射
  • 外文名:name-to-address mapping
  • 分類:靜態映射和動態映射
  • 方法:DNS,WINS;,LMHOSTS
  • 實質:實際名到網際地址映像
  • 相關協定:Apple Talk、NBP等
名字地址映射,基本技術,背景,網路可見實體,實體名,名字目錄和表,別名與計數器,名字信息套接字,名字—IP位址映射,域名系統DNS,WINS,LMHOSTS 檔案,名字解析映射,現有系統,新系統設計,系統具體實現,

名字地址映射

在訪問一個命名實體之前,必須首先獲得該實體的網際地址。這個過程稱為名字映射。
名字映射可看成是一個由實體名到網際地址(包括孤立網的情況, 此時網路號 0)的映象。它分為靜態和動態兩種方式。靜態連線方式是將命名實體的地址嵌入訪問實體的系統內。
動態連線方式是將實體名嵌入系統,且由NBP實現動態地址映象。這種方式又進一步分成兩種形式:動態先映射和動態後映射。前者是指用戶的節點進網時就實現名字映射; 後者則是指每次訪問命名實體時才實現名字映射。由於節點進網到實體訪問的過程中,網路拓撲結構可能會發生變化,這樣節點地址也將隨之變化。因此,動態先映射可能會導致使用過時或不正確的網路資源。採用動態後映射方式則可避免出現這種錯誤。不過,採用動態後映射要求每次訪問實體時都要進行映射,這樣勢必會增大回響時間。如果網際網的實體地址變動較頻繁,採用動態後映射的方式是比較合適的。

基本技術

背景

在網路系統中,為了進行通信和資源共享,名字扮演著重要的角色。沒有名字或命名策略,網路幾乎無法正常工作。在網際網環境下,如象區域或簇、信關或橋、網路、節點、套接字乃至用戶進程等都需要有自己的名字。如何命名,對於不同的網路系統,可能會採用不同的策略。
在Apple Talk協定中,網路信包交換的地址,均採用數字代碼(網路號、節點號、套接字號)表示。這對習慣於使用字元代碼的計算機操作員來說是很不方便的。為此,協定中成提供某種機制以實現字元代碼到數字代碼的變換。名字映射協定(NBP)柏主要功能正是實現這種變換的。引入NBP的另一個目的還在於APP Talk使用動態方式分配節點號,這樣,網路軟體就不能直接使用同絡地址訪問網路資源。在引入NBP後,網路軟體則可以使用名字,在NBP實現名字到網路實際地址映象後,完成對網路資源的訪問。下面,我們簡要介紹一下名字映射所涉及到的某些主要技術問題。

網路可見實體

同絡可見實體(NVE)(Network-Visible Entities)是指網路上可訪問的實體。例如,網際同中所有的套接字用戶均是NVE;網路節點不是NVE,但節點中可供使用的服務都是NV B_列印伺服器算不上NVE,但是列印服務程式作為伺服器請求偵聽套接字用戶卻是一個NVE。類似地, 網路操作員不是NVE,但他在一個檔案伺服器中可以擁有一個電子信箱,l而這個信箱就是一個NVE,並具有一個網路地址。

實體名

NVE 可以(但並非必須)為自己分配一個名字,即實體名。實體名由一串字元組成。一個實體可擁有多個名字(剮名)。一個實體名由對象、類型和區域三個域拘成。各域之間由“:”和“@”分隔開,其格式為:
object:type@ zone
其中,對象反映了一個實體的基本名字;類型反映了實休的基本屬性。一個實體也可以有若干個屬性。例如,一個列印服務程式可以有若干個屬性:印表機類型(點陣、雷射)、列印紙類型及大小等。所以實體名到套接字的映象,還應提供實體屬性查找服務。區域反映r實體所在的區域名。所謂區域,意指網際網中由全體AppleTMk阿構成的集合中的任意子集。一 個Apple Talk只能屬於一個區域,所有區域的並集則構成阿際網的Apple Talk集 。一個區域中的多個Apple Talk並不一定要在網際網的拓撲結構中鄰接。在實體名中使用區域, 主要是為了加快NBP在網際網中的實現速度。實體名中每個域l長度最大可達32 。object和type域可用“=” 表示任何可能的值zone域可使用 ,表示預設值(即本地域)。例如, :Maibox@#表本地區域具有Maibox類型的所有實體。

名字目錄和表

在網路系統中,每個節點都將維護一張名字表(NT), 它存有本節點所有實體的實體名到實體網際地址的映象(稱之為NBP元組)。網際網中所有節點名字表的並集將構成該網際網的名字目錄(ND)。ND實際上是一個實體名到實體地址映象的分散式資料庫,它分布在所有包含命名實體的節點上。

別名與計數器

NBP允許一個實休具有多個名字。所有這些別名都必須作為一個獨立項存放在NT中。為簡化和加快查找NT時,區分別名的能力,NT中的每一項還專門設有一個計數器。它占有一個位元組,由NBP內部產生,但不能被NBP訪問。計數器實際 h相當予一個標識符,NT中各實體 名均具有唯一的計數值。

名字信息套接字

NBP擁有一個靜態分配的套接字,即名字信息套接字(NIs)以及NIS的監聽程式。該監聽程式負責維護節點的名字表,接收並處理來自節點內部或網路發來的名字查詢請求。

名字—IP位址映射

隨著Internet 的發展,TCP/ IP 通訊協定已日益成為企業內部網路協定標準,組建TP/ IP 網路首先遇到的問題之一就是解決名字與IP 地址的映射問題。在名字與IP 地址的映射問題上,Windows NT4. 0 提供了幾種方法。一種是廣泛套用於Internet 的DNS;另一種是WINS;第三種是LMHOSTS檔案。

域名系統DNS

域名系統是一個分散式主機信息資料庫,整個網路按照組織結構或管理範圍、邏輯地分解成為一個層次結構,形成一個倒立的域名樹,其頂部是根,根名是空標記,根以下的節點都有一個標記名,稱為域(Do2main) , 如圖1 所示。域名就是從根到當前域所經過的所有節點的標記名、從左到右排列、並用“. ”進行分隔的標記串,如:epg. edu. cn。
域名系統域名系統
DNS 採用Client/ Server 機制,提出查詢請求的DNS。工作站為Client 方,而提供所需數據的DNS 伺服器稱為域名伺服器(Name Server) 。在DNS 伺服器資料庫中記錄著DNS 伺服器的配置。DNS 伺服器是以區(Zone)為單位來管理的(注意不是以Domain 為單位) ,一台伺服器可以管理一個或多個區,一個區也可以同時由多個DNS 伺服器管理。在DNS 伺服器中,包含所管理的區中的所有數據,例如:區內主機名與IP 地址的映射表等等。對DNS 伺服器的配置,主要是建立DNS 資料庫檔案,這些檔案保存著名字—IP 地址的對應數據。

WINS

在TCP/ IP 網路中,解決名字與IP 地址的映射可利用DNS 方式,但這種方式有一個最大的缺點,那就是系統管理員必須以手工方式建立和維護資料庫檔案,增加了系統管理員的負擔。
微軟的WINS(WindowsInternet Name Service) 可以自動建立資料庫檔案, 當WINS 工作站啟動時,自動將自己的計算機名與IP 地址加入到WINS 伺服器的資料庫中。如果主機的IP 地址因故更改,則下次啟動時會重新登記到WINS 伺服器中;當WINS 工作站註銷時,WINS 伺服器也會自動將此工作站設定為已釋放 。WINS採用客戶/ 伺服器(Client/ Server) 機制,WINS工作站之間相互通訊時,它們就向WINS 伺服器詢問對方的IP 地址,由WINS 伺服器從資料庫中查詢其IP位址送給WINS 工作站。
在NT 網路上,只有WINS 工作站可以直接通過WINS 伺服器進行名字解析,而非WINS 工作站要通過廣播方式取得其它工作站的IP 地址,但廣播信息無法跨越其它網段,因此,利用廣播來查詢其它網段中主機的IP 地址, 必須通過WINS 代理(WINS proxy) 。當WINS代理收到同一網段內的非WINS 工作站查詢IP位址的廣播信息後,它就轉向WINS 伺服器查詢,並將查詢結果送回非WINS 工作站。如果在同一網段內沒有WINS 伺服器可供查詢,WINS 代理會跨越路由器(Router) ,向其它網段內WINS 伺服器查詢。
任何一台Windows for Workgroups3. 11、WindowsNT3. 5x 和WindowsNT4 ,0 的計算機都可以設定為WINS 代理。WINS 工作站與非WINS 工作站通訊可通過WINS伺服器查詢IP 地址,但必須將非WINS 工作站的IP 地址以靜態映射方式輸入WINS 伺服器資料庫中。
NT4. 0 WINS 伺服器不是預設安裝,需要時可安裝。安裝過程同DNS。WINS 伺服器可利用“WINS 管理器”進行配置和管理WINS 服務。

LMHOSTS 檔案

在TCP/ IP 網路中,LMHOSTS 檔案也是解決名字解析的方法之一。LMHOSTS 檔案是一個純文本檔案,保存在%Systemroot % \ System32 \ Drivers \ etc 目錄中。LMHOSTS 檔案保存著計算機名與IP 地址的對應數據。
這些數據需系統管理員手工建立,當工作站的IP 地址或名字更改時,必須修改LMHOSTS 檔案中的相應數據項。LMHOSTS 檔案中除了本網內計算機名與IP 地址的對應數據外,還可以包含其它網段內的名字與IP 地址的對應數據。
當計算機的Microsoft TCP/ IP 協定安裝後,已默認啟用查詢LMHOSTS 檔案的功能,且LMHOSTS 檔案已經建立,如果真的要啟用它,還需輸入相應數據。如不想啟用此功能,可通過“開始—→設定—→控制臺—→網路協定—→TCP/ IP —→屬性—→WINS 地址—→啟用LMHOSTS 查詢”選項來停用此功能。
LMHOSTS 檔案分布在全網每一台計算機上,當NT網路中的計算機安裝了TCP/ IP 協定後,如果不啟用DNS 和WINS 查詢IP 地址,首先利用廣播方式查詢IP位址,若查詢的計算機位於其它網段,廣播方式無效,轉而查詢LMHOSTS 檔案;如果NT網路啟用了WINS 功能,首先向WINS 伺服器查詢IP 地址,若查詢失敗,改為廣播方式,再失敗,才查詢LMHOSTS 檔案。

名字解析映射

現有系統

在名字解析映射中,DNS一直扮演著重要的角色,只要用戶提供一個域名,它可以將其解析為一個IP返回。一體化網路服務解析映射模組的設計宗旨是設計一個全新的解析映射機制,在繼承DNS優點的基礎上,克服DNS所存在的一些固有缺點。

新系統設計

圖為名字解析映射系統,它是一個重疊結構,主要由3層組成:中繼層、實現層和維護層。其中,中繼層的主要功能是控制用戶的接入,以及處理用戶註冊或查詢資源名字的請求。實現層和維護層聯合工作,實現了各種資源名字的註冊與查找,其中實現層維護一個Chord系統,而維護層維護一個向量空間(向量空間是指某一個伺服器知道該層其他伺服器的所有信息)。
名字解析映射系統名字解析映射系統

系統具體實現

中繼層上各節點分別與實現層上1~3個節點相連,通過這些相連的節點進入系統註冊或獲取服務所需的連線信息。實現層維護一個Chord環,該層中的各節點維護兩組表項——父節點表項和路由表項。其中路由表項與原Chord算法中實現方式一致(,而父節點表項內容為管理該節點的維護層節點ID。維護層維護兩組表項—— 區域表項和管理表項,區域表項用於維護實現層的一部分連續區域,管理表項用於指示在這個區域內有哪幾個節點存活。
簡單的名字解析映射系統簡單的名字解析映射系統

相關詞條

熱門詞條

聯絡我們