• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 相關的下一代協議

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    在TCP/IP 協議 集內,與IP直接或間接互操作的 協議 包括各種應用層 協議 、鏈路層 協議 以及TCP和UDP。本章將探討如何對這些 協議 進行修改或者是否必須修改以適應IPV6。 協議 的層次 TCP/IP 網絡 技術依賴于層次概念。在每一層,兩個實體可以彼此通信,使用
    在TCP/IP協議集內,與IP直接或間接互操作的協議包括各種應用層協議、鏈路層協議以及TCP和UDP。本章將探討如何對這些協議進行修改或者是否必須修改以適應IPV6。

    協議的層次

    TCP/IP網絡技術依賴于層次概念。在每一層,兩個實體可以彼此通信,使用相鄰下層來封裝其數據。應用協議通常從一個節點到另一個節點來定義應用程序彼此通信的方式。來自應用層的數據由傳輸層協議進行封裝,然后再封裝在網際層協議內,最后封裝在鏈路層協議中。

    要理解IPV6對其他層協議的影響,重要的是要理解這些協議如何使用IP。由于如此眾多的系統要依靠大量的TCP/IP網絡技術和應用協議,重要的是對IP的升級不一定要對IP的上層或下層協議進行廣泛的升級。因此,除IPV4之外,大多數現有TCP/IP應用、軟件和硬件只需要進行少量修改,就可以和IPV6一起工作。

    應用層

    萬維網( WWW )和e-mail是當今使用最廣泛的應用。WWW和e-mail客戶必須指向Inte.net 上的服務器才能工作。傳統上這些客戶能夠接受節點的主機名或其IP地址。在使用域名時,可調用域名系統( DNS )來獲得與主機名對應的IP地址,然后在傳輸層和網際層使用。

    對于簡單的應用,很容易使其與IPV6一起工作:可以重寫軟件,使其能接受和正確處理IPV4地址和IPV6地址;或者要求只能按主機名來訪問。前一種方法保留了應用直接對節點尋址的能力,但相對而言比較復雜;而后一種方法只是去掉了大多數用戶不使用甚至不需要的功能。

    但是,考慮到對IPV6提供的安全性、服務質量或其他特性的需要,有些應用希望使用IPV6服務,這樣就需要更廣泛的更新。

    傳輸層

    大多數情況下,IP地址與應用層協議無關,但是與傳輸層協議卻有很大關系。UDP和TCP 的偽頭都使用了源IP地址和目的IP地址,而且TCP電路是由源節點和目的節點的IP地址和端口號來定義的。如果要與IPV6互操作,至少要修改UDP和TCP,以適應1 2 8位IPV6地址。這意味著UDP和TCP需要識別IPV6地址,并能正確計算偽頭。對于TCP,其實現還必須能夠管理基于IPV6地址的電路。

    在第一個IPv6 RFC發布之后,出現了一些顧慮,即需要TCPng來補充IPng。目前TCP在處理移動節點時有一點問題:確定TCP電路需要源節點和目的節點的IP地址。如果在TCP交互期間,一方或雙方的IP地址有所改變,則電路的標識就會出現問題。移動節點從一個網絡地址向另一個網絡地址轉換時就會出現這種情況,例如,火車或汽車上的節點使用無線網絡接入,或連接到網絡的節點在夜間為獲得更好的費率而改變ISP的情形。

    這種問題的產生是由于TCP至少在目前還沒有機制能允許在連接中改變IP地址。如果一個節點收到的TCP段中的源IP地址與此TCP電路在建立時協商的地址不同,該節點將認為這個TCP段是屬于另一個電路的。這意味著移動IP目前還不能支持激活的TCP電路從一個網絡地址向另一個網絡地址轉換。

    TCPng的問題比簡單地允許TCP連接支持網絡地址轉換要復雜許多。問題在于支持這樣的地址轉換將導致安全性漏洞:攻擊者很容易冒充從一個網絡向另一個網絡轉換的節點,如同授權的節點從一個網絡向另一個網絡轉換一樣。解決這樣的問題將要求對TCP進行重大的升級,即需要引入機制使節點在其IP地址改變時能向其他節點證明自己。

    目前,如果移動IP在TCP連接的中間切換網絡,它必須在切換之后重新協商連接。某種意義下,對于支持移動主機的無縫互操作,TCPng是很必要的。

    鏈路層

    與上面層相比,諸如以太網和AT M 之類的鏈路層協議由于IPV6的升級而受到的影響很小。這是由于這些協議只是將上層數據報封裝到鏈路層幀中。但這并不說明IPV6對鏈路層協議毫無影響。例如,ATM 使用類似點到點電路來跨越網絡傳送數據,對于需要將IPV6包交付多個節點的服務,ATM 需要格外注意。關于ATM over IP的詳細信息參見RFC1680(IPng對AT M 服務的支持)和RFC1932(IP over ATM :一個框架文檔)。也可參見IP over ATM 工作組的Internet 草案,其中一些草案涉及Ipv6 over ATM 地址。

    可能受IPV6影響的鏈路層問題還包括路徑M T U發現及地址解析協議( ARP ), 這些協議需要修改以支持128位IPV6地址。

    IPv6域名系統擴展

    Internet應用程序能夠很容易使用,DNS是一個重要因素:它使名字很方便地映射到IP地址。DNS使用分級的名字空間,每一級都有一些服務器幫助將名字映射為地址。主機名可能是諸如
    “host.organization.com”的形式,表示主機 host在域organization.com中。如果organization.com 內的節點要查找host,就查詢本地DNS服務器,該服務器保持著organization.com中的主機的名字和地址信息,它將簡單地查找host,并以host對應的32位IP地址來回答節點的請求。

    如果organization.com之外的節點需要host .organization.com的IP地址,它將查詢自己的本地DNS服務器,這個本地服務器必須查詢保持. com網絡域信息的上一級服務器,然后該上級服務器將請求導向organizatio n.com域的DNS服務器,由這個服務器最終響應,將所請求的IP 地址發送給查詢者的本地DNS服務器,再由該本地DNS服務器將信息傳遞給發出請求的節點。

    到目前為止一切順利。但是DNS最初被設計為用于處理32位IPV4地址。RFC1886( 支持IPV6的DNS擴展)描述了為使DNS支持IPV6而進行的必要的修改。此RFC篇幅很短,它扼要陳述了為使DNS適用于IPV6而進行的三處修改:

    • 建立新的資源記錄類型(稱為AAAA記錄類型),以將名字映射為128位的IPV6地址。IPV4 資源記錄使用A類記錄類型。

    • 建立新域,即.IP6.int,用于增補IPV6主機地址以支持基于地址的查找,即請求節點想了解IPV6地址對應的域名。IPV4地址也有類似設施,即.in-addr.arpa。

    • 必須修改現有的DNS查詢,使之不僅能定位或處理IPV4地址,同樣也能處理IPV4和IPV6 地址共存的情況。

    地址解析協議和鄰居發現

    IPV6不再執行地址解析協議( ARP )或反向地址解析協議( RARP )。在IPV4中,這些協議用于計算IP地址與本地鏈路網絡地址的關聯,換言之,以以太網為例,這些協議將節點的以太網MAC地址鏈接到IP地址。這些協議的必要性在于,節點要計算出將IP包使用鏈路層發往同一本地子網的哪一個節點。

    ARP簡單易行,它可在以太網和任一使用48位MAC地址的網絡媒體上執行,也可用于任意長度的MAC地址。在IPV6中沒有繼續使用ARP有如下原因:首先,ARP依賴于IPV6和使用組播的ICMPv6報文。這意味著,沒有必要為使用ARP的每個不同類型網絡都重新構造ARP, 任一支持IPV6和組播的節點應該也支持鄰居發現。對組播的支持很重要,在鏈路層更是如此。和廣播一樣,組播在諸如以太網之類的支持多路同時訪問同一媒體的網絡上很容易實現。但是,對于所謂的非廣播多址接入( NBMA )網絡,例如ATM 和幀中繼,組播則很難處理。這些NBMA網絡依賴于電路而非包,要求為將接收組播信息的每個節點都建立一條單獨的電路,這導致組播更加復雜。但是只要有機制能提供組播功能,這些網絡上的節點也能夠支持鄰居發現,而無需顯式建立ARP之類的服務。
    RFC1970(IPv6 的鄰居發現)中描述了鄰居發現機制,它提供了幾種不同用途,包括下列方面的支持:

    • 路由器發現。即幫助主機來識別本地路由器。

    • 前綴發現。節點使用此機制來確定指明鏈路本地地址的地址前綴以及必須發送給路由器轉發的地址前綴。

    • 參數發現。此機制幫助節點確定諸如本地鏈路M T U之類的信息。

    • 地址自動配置。用于IPV6節點自動配置。

    • 地址解析。替代了ARP和RARP,幫助節點從目的IP地址中確定本地節點(即鄰居)的鏈路層地址。

    • 下一跳確定??捎糜诖_定包的下一個目的地,即,可確定包的目的地是否在本地鏈路上。如果在本地鏈路,下一跳即是目的地;否則,包需要選路,下一跳即是路由器,鄰居發現可用于確定應使用的路由器。

    • 鄰居不可達檢測。鄰居發現可幫助節點確定鄰居(目的節點或路由器)是否可達。

    • 重復地址檢測。鄰居發現可用于幫助節點確定它想使用的地址在本地鏈路上是否已被占用。

    • 重定向。有時節點選擇的轉發路由器對于待轉發的包而言并非最佳。這種情況下,該轉發路由器可以對節點進行重定向,以將包發送給更佳的路由器。例如,節點將發往Internet的包發送給為節點的內聯網服務的默認路由器,該內聯網路由器可以對節點進行重定向,以將包發送給連接在同一本地鏈路上的Internet路由器。

    鄰居發現通過定義特殊的I C M P報文類型來執行,這些報文包括:
    • 路由器通告。要求路由器周期性地通告其可用性,以及用于配置的鏈路和Internet參數。這些通告包含對所使用的網絡地址前綴、建議的逐跳極限值及本地MTU的

    指示,也包括指明節點應使用的自動配置類型的標志。

    • 路由器請求。主機可以請求本地路由器立即發送其路由器通告。路由器必須周期性發送這些通告,但是在收到路由器請求報文時,不必等待下一個預定傳送時間到達,而應立即發出通告。

    • 鄰居通告。節點在收到鄰居請求報文的請求或其鏈路層地址改變時,發出鄰居通告報文。

    • 鄰居請求。節點發送鄰居請求報文來請求鄰居的鏈路層地址,以驗證它先前所獲得并保存在高速緩存中的鄰居鏈路層地址的可達性,或者驗證它自己的地址在本地鏈路上是唯一的。

    • 重定向。路由器發送重定向報文以通知主機,對于特定目的地自己不是最佳路由器。路由器通過組播來發送其路由器通告報文,這樣同一鏈路上的節點可以構造自己的可用默認路由器列表。鄰居發現也可以用于實現其他目標,包括:
    • 鏈路層地址變化。對同一網絡,節點可以有多個接口,如果節點得知自己的鏈路層地址改變,就可以通過發送幾個組播包來將其地址改變通知其他節點。

    • 入境負載均衡。應注意,接受大量業務流的節點可能有多個網絡接口,使用鄰居發現,所有這些接口都可以用一個IP地址來代表。通過讓路由器在發送其路由器通告包時省略源鏈路層地址,可以實現路由器負載均衡。此時,查找該路由器的節點每次想要發送包給該路由器時,都必須執行鄰居發現,而該路由器就可以選擇接受包的鏈路層接口來響應此節點。

    • 任意點播地址。正如第6章所述,任意點播地址表示單播地址的集合,發送給該任意點播地址的包將交付給這些地址中的任一個。通常任意點播地址用于標識提供同樣服務的節點集,即,將包發送給一個任意點播地址的節點并不在意由節點集中的哪一個來響應。因為任意點播地址的多個成員都可能響應對其鏈路層地址的請求,鄰居發現機制要求節點應預計到可能收到多個響應,并能正確地處理。

    • 代理通告。如果一個節點不能正確響應鄰居發現請求,鄰居發現機制允許用另一個節點來代表該節點。例如,一個代理服務器可以代表移動IP節點。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>