返回首頁
當前位置: 主頁 > 其他教程 > 電腦教程 >

一種通用的需求驅動的IPv6地址生成方案管理系統設計與實現

時間:2018-04-17 00:06來源:Office教程學習網 www.npmwc.tw編輯:麥田守望者

隨著互聯網用戶數量的急速增長,IPv4地址空間已不再滿足互聯網的發展需求,互聯網工程任務組(IETF)設計了新的網絡層協議IPv6用于替換IPv4協議.IPv6協議128比特的地址長度增大了地址空間,并增加了新的地址自動配置方式.

  從2011年開始,IPv6協議的部署進入加速階段.截止到2016年4月,全球1281個頂級域名服務器中有1253個實現對IPv6的支持[1],占比達97.8%.全球BGP路由表中活躍的IPv6路由數量已達到2.9萬條.

  IPv6地址作為IPv6協議的基礎,其生成方案一直是人們關注的重點.目前有很多已成為IETF標準的或在研究領域未標準化的IPv6地址生成方案.RFC 4291[2]將全局可路由單播地址劃分為路由前綴和接口標識兩個主要組成部分.一些IPv6地址生成方案重新編碼了IPv6的前綴生成方式,目的主要是聚合路由.Oliveira等人[3]將地理位置信息和服務提供商信息編碼到地址中,實現了按照地理位置聚合路由的方案GIRO(Geographically informed inter-domain routing).Yin等人[4]提出的ISPSG (Internet Service Provider-separated geographic-based addressing)方案提供了一個支持與服務提供商獨立的地址的解決路由聚合問題的方案.大多數的地址生成方案是用于生成接口標識的.IEE EUI-64標識[5]是用48比特的IEEE 802 MAC地址生成接口標識的簡單的方案,這種方案存在隱私泄露和安全問題.因此,RFC4941中提出的臨時地址方案[6]通過使用哈希算法擴展了EUI-64標識并以一定頻率變換主機地址以達到保護用戶隱私的目的,但同時也使網絡管理變得復雜.CGA(Crypto-graphically Generated Address)地址[7]與用戶的公鑰綁定,用于在SEND協議中驗證地址擁有者的身份.NIDTGA(Network Identity and Time Generated Address)方案[8]使用地址生成服務器和NID管理服務器在地址中嵌入了用戶網絡身份標識(NID)和時間,在NID追溯服務器的幫助下,我們可以利用地址追溯用戶以實現網絡更細粒度的管理.CAM[9]和SUCV[10]兩個協議使用哈希加密的地址用于解決MIPv6協議中的安全問題.2014年,RFC 7217[11]引入了一種新的穩定的語義不透明的地址生成方案,該方案用于替換默認的IEEE EUI-64標識符并且不會犧牲用戶的隱私性和安全性.剩余的地址生成方案是一些不明確關注地址的路由前綴和接口標識的分界的方案,通常是將IPv4地址等標識映射或轉換為IPv6地址的方案,例如SIIT[12]、IVI[13]等.根據功能承載的位置,我們將目前典型的IPv6地址生成方案劃分為三類:前64比特、后64比特、跨64比特,如表1所示.同時,我們也可以根據地址生成方案的具體需求劃分地址生成方案,如表2所示.

  但是并非所有方案都被有效地使用,人們往往是根據操作系統所使用的方案或DHCPv6協議使用的地址生成方案而使用相應的IPv6地址.如何充分利用已有的IPv6地址生成方案滿足不同網絡在不同時期的不同地址生成方案需求成為一個重要的問題.

  本文從需求角度分析目前已有的典型的IPv6地址生成方案,解析需求在地址上的作用域以及需求之間的關系,進而提出了一種分層的IPv6地址生成方案管理系統,為現有地址生成方案的靈活部署、動態切換以及新的地址生成方案的統一設計提供了有效的支持.

1 需求分析

  任何地址生成方案都是為了滿足網絡中的特定需求而設計的.這些需求主要包括快速經濟地生成地址、保護用戶的隱私、驗證用戶的身份、追溯用戶的身份、便于聚合路由、過渡轉換等.本節對需求的作用域和需求間的相互關系進行了分析.

  1.1 需求作用域

  需求驅動方案設計,明確地址生成方案的設計需求能夠讓我們更加準確地理解已有的地址生成方案.通過調研分析,我們發現目前的地址生成方案主要集中在IPv6地址接口標識符(后64比特)的設計.我們認為其中的主要原因如下:

  1、設計子網前綴的生成方案往往不夠實用.在目前的互聯網路由體系背景下,修改前綴生成和分配的方案往往不能有效的進行部署.因此,目前幾乎沒有可用的前綴生成標準.

  2、當前的形式也不適合部署前綴生成方案.目前并非所有的互聯網提供商都大范圍地部署了IPv6,很多連續的IPv6地址塊也已分配給不同的國家和地區.要部署前綴生成方案往往涉及到收回已分配的前綴并統一重新分配,這會導致前綴生成方案面臨測試困難和部署困難的問題.

  3、目前主要的跨64比特的方案主要是一些過渡方案,將IPv4地址轉換為IPv6地址.當IPv6在世界范圍內全面部署后,這些方案將不會被使用.

  根據表2,我們總結了目前已有的較為典型的IPv6地址生成方案的設計需求:快速經濟地生成地址、保護用戶的隱私、驗證用戶的身份、追溯用戶的身份、便于聚合路由、過渡轉換.

  由于上述設計需求中既包含了作用于地址前綴的需求,也包含了作用于接口標識的需求,還包含了作用于地址中間部分的需求.因此,對于一個給定的需求,應當如何判斷此需求在IPv6地址中的作用位置呢?為此我們引入需求作用域來解決這個問題.

  所謂需求作用域是指在特定尋址模式下,某一特定需求在網絡中某一層的標識中的作用位置.例如,在當前的路由尋址模式下,IPv6地址生成方案的設計需求在IPv6地址中的作用位置就是需求作用域的一種體現.根據需求作用域的定義,我們可以確定需求作用域是在標識符、路由尋址模式和設計需求的輸入下,經過需求作用函數作用得出的結果.用形式化的語言表述為:

  其中,i表示網絡中某一層的標識符,m表示該層標識符的路由尋址模式,r表示設計需求,Lr表示設計需求r的需求作用域,f代表需求作用函數.

  為了求出需求r的作用域,我們首先需要考慮標識符i和尋址模式m的作用域.顯然,標識符i的作用域就是其本身.如給定一個n比特的標識符i,其作用域表達式如公式(2)所示:

  而尋址模式m的作用域可用公式(3)描述:

  其中,如果尋址模式并不作用在標識符i上,則k和l均為默認值-1;否則,k和l滿足:,即標識符i中的第k至l比特用于尋址.

  于是,我們可以得出Lr的表達式(4):

  其中“-”代表從被減數的作用域中去除減數的作用域部分.

  根據需求作用域的定義與求解方法,我們可以計算出前述的六種需求的作用域,如表3所示.

  1.2 需求關系

  根據需求作用域,我們可以明確一個需求在標識符上的作用位置,這也為我們確定需求之間的關系提供了基礎.同時明確多個需求之間的關系也為我們設計新的滿足多個需求的方案提供了可能.

  1.2.1 完全兼容

  如果兩個設計需求在標識中的作用域之間不存在交集,則稱這兩個需求是完全兼容的.例如便于聚合路由的需求和保護隱私的需求的作用域之間不存在交集,因此這兩個需求是完全兼容的.

  1.2.2 完全沖突

  如果兩個設計需求在標識中的作用域完全相同,則稱這兩個需求是完全沖突的.例如驗證用戶身份的需求和追溯用戶身份的需求的作用域完全相同,因此這兩個需求是完全沖突的.

  1.2.3 部分兼容

  如果兩個設計需求在標識中的作用域不相同但存在交集,則稱這兩個需求是部分兼容的.例如快速經濟生成地址的需求和過渡轉換的需求的作用域之間不相同但存在交集,因此這兩個需求是部分兼容的. 2 通用的需求驅動的IPv6地址生成方案管理系統

  為了管理和充分利用已有的IPv6地址生成方案,我們設計了一個通用的需求驅動的IPv6地址生成方案管理系統.該系統由IPv6地址生成方案的設計需求驅動,分為三個邏輯層次:需求層、功能層和資源層,如圖1所示.需求層用于確定系統所選需求,并將配置的需求對全網進行消息通告.功能層包含地址生成以及需求處理的功能模塊.資源層包含具體地址生成方案使用的地址池.

  圖1 系統分層邏輯結構圖

  2.1 需求生成器

  在需求層中,需求生成器用于管理各種方案的特定需求.需求生成器在全網中通告管理員配置的需求,而其他功能模塊根據該通告進行相應的功能初始化,使得整個系統表現為部署了某一個地址生成方案.值得注意的是,為了防止需求生成器的消息通告被偽造或重放攻擊,需求生成器需要在通告消息中添加防范機制,如在消息中嵌入時間信息并進行簽名.

  2.2 地址生成器

  在功能層中,地址生成器負責生成滿足管理員所配置需求的地址,是本系統的核心功能模塊.地址生成器又分為分布式地址生成器和集中式地址生成器.其中分布式地址生成器位于每臺想要獲取地址的主機上,例如主機上實現無狀態地址生成或包含DHCPv6客戶端功能的系統程序;集中式地址生成器則通過特定服務器為每臺主機分配地址,例如DHCPv6服務器.地址生成器在接收到需求生成器通告的管理員配置的需求信息后,首先檢測該通告信息的合法性.如果通告信息合法,則地址生成器完成功能初始化;否則,忽略該通告消息.

  2.3 特征管理器

  大多數地址生成方案往往都在地址中嵌入了用戶的特征信息,如IEEE EUI-64標識符在地址中嵌入了MAC地址,CGA地址中嵌入用戶的公鑰,NIDTGA地址中嵌入了用戶的NID.有些嵌入信息用戶不關心,沒有管理的必要.但是有些特征信息很重要,我們需要對這些特征信息進行管理,并且為其他功能的實現提供便利.特征管理器就是用于管理具體方案中使用到的嵌入IPv6地址中的特征信息的實體,可以配合特征利用器完成相應查詢功能,同時也可以配合其他功能模塊完成特定任務.特征管理器應設定白名單機制并僅接受合法來源的信息查詢,同時消息傳遞也需要進行相應的加密保護.

  2.4 特征利用器

  由于方案中嵌入特征信息,部分方案涉及到對該消息的使用.特征利用器負責解析出嵌入地址中的特征信息或者利用已有信息進行驗證,完成需求定義的功能,如NIDTGA方案中的利用地址進行用戶身份追溯,也可以查詢并利用特征管理器的特征信息.特征利用器也需根據具體方案配置合理的使用機制. 3 實驗與評價

  3.1 實驗結果

  我們按照圖2的網絡拓撲部署本文提出的地址生成方案管理系統,在本系統中實現和比較了三種典型的地址生成方案:IEEE EUI-64標識符、RFC4941中提出的臨時地址方案、NIDTGA方案.針對以上每種方案,我們在本系統中分別測試了100次配置地址的時間,并與原方案作了比較.實驗結果如表4所示,我們發現在本系統中地址生成方案的性能并未降低,本系統是有效的.

  圖2 系統部署圖

  3.2 部署經濟性 

  由于NIDTGA方案是最復雜的地址生成方案,我們以NIDTGA為例說明如何快速部署本系統.我們僅需要將地址生成服務器、NID管理服務器和NID追溯服務器分別替換為本系統的集中式地址生成器、特征管理器和特征利用器,然后添加需求生成器,更新系統每部分功能即可.當系統中添加了多種地址生成方案時,我們甚至可以生成具有多功能的地址,即同時部署多個需求兼容的方案.因此,本系統用一套設備可部署多個地址生成方案,表現出良好的部署經濟性.

  3.3 可管理性

  本系統包含多種地址生成方案以便管理多種需求.如果一個網絡想要改變絡的地址生成方式,則可以直接在需求生成器中切換至預設好的對應方案的需求.例如,圖3為從IVI實例切換到NIDTGA實例的過程.在這個過程中,我們僅需在需求生成器中切換絡所選需求即可完成絡內的地址生成方案的切換.因此,本系統中的方案具有良好的可管理性.

  圖3 系統方案切換示意圖

  3.4 可擴展性

  對于本系統的可擴展性,我們定義為在本系統中新增一個地址生成方案不會導致系統性能明顯降低或管理復雜度增大.對于一個新增方案,我們僅需要按照地址生成器、特征管理器和特征利用器劃分該方案的功能,然后將各部分的功能添加至系統對應部分中,最后在需求生成器中添加該方案的需求選項即可.簡言之,為本系統添加一個新方案時,我們僅需要更新每層對應功能.因此,本系統有較好的可擴展性.

  4 結語

  本研究通過對現有IPv6地址生成方案的設計需求進行分析,提出了需求驅動的IPv6地址生成方案管理系統,為充分靈活的利用現有地址生成方案來滿足不同網絡在不同時期根據不同需求提供了可能,并為新的滿足特定需求的IPv6地址生成方案的設計提供了通用的設計架構.在下一步工作中,我們將進一步細分地址生成方案的需求,獲取最基本的原子需求集合,組合基本原子需求以生成新的滿足特定需求的地址生成方案,并實現自動生成地址生成方案的系統.

  參考文獻

  [1] IPv6 domains, http://bgp.he.net/ipv6-progress-report.cgi.

  [2] Hinder R. Deering S. RFC-2006 IP Version 6 Addressing Architecture [S]. IETF, 2006.

  [3] Oliveira R, Lad M, Zhang B, et al. Geographically informed inter-domain routing[C]//Network Protocols, 2007. ICNP 2007. IEEE International Conference on. IEEE, 2007: 103-112.

  [4] Yin X, Wu X, Chon K, et al. ISPSG: Internet Service Provider-separated geographic-based addressing and routing[C]//GLOBECOM Workshops, 2009 IEEE. IEEE, 2009: 1-6.

  [5] Crawford M. RFC2464-1998 Transmission of IPv6 packets over ethernet networks[S], IETF, 1998.

  [6] Narten T, Draves R, Krishnan S. RFC4941-2007 Privacy extensions for stateless address autoconfiguration in IPv6[S]. IETF, 2007.

  [7] Aura T. RFC3972-2005 Cryptographically generated addresses (CGA) [S]. IETF, 2005.

  [8] Liu Y, Ren G, Wu J, et al. Building an IPv6 address generation and traceback system with NIDTGA in Address Driven Network[J]. Science China Information Sciences, 2015, 58(12): 1-14.

  [9] O‘shea G, Roe M. Child-proof authentication for MIPv6 (CAM)[J]. ACM SIGCOMM Computer Communication Review, 2001, 31(2): 4-8.

  [10] Montenegro G, Castelluccia C. Statistically unique and cryptographically verifiable (SUCV) identifiers and addresses[C]//In Proceedings of the 9th Annual Network and Distributed System Security Symposium. NDSS 2002, 2002.

  [11] Gont F. RFC7217-2014 A Method for Generating Semantically Opaque Interface Identifiers with IPv6 Stateless Address Autoconfiguration (SLAAC)[S], IETF, 2014.

  [12] Li X, Bao C, Baker F. RFC6145-2011 IP/ICMP Translation Algorithm[S], IETF, 2011.

  [13] Bao C, Huitema C, Bagnulo M, et al. RFC6052-2010 IPv6 Addressing of IPv4/IPv6 Translators[S], IETF, 2010.

  作者單位:何林、任罡、劉瑩為清華大學網絡科學與空間研究院,何林為清華大學計算機科學與技術系

------分隔線----------------------------
標簽(Tag):IPv6地址生成方案管理系統
------分隔線----------------------------
推薦內容
猜你感興趣
全民欢乐捕鱼官网充值 湖北11选5破解 双色球机选号码 17125期双色球号码预测 黑龙江11选5万能码 股票配资 牛市快讯每天推送 贵州11选5号码推荐 免费炒股软件 河南11选5开奖直播玩法 福彩了3d计划软件 注册就100提现 双色球复式中奖计算器 云南11选5前三直开奖 双色球历史比较器 吉林11选5遗漏 足球彩票手机软件官方 和零点棋牌一样的棋牌