■ Maxim公司 Robert M. Muchsel
IP節(jié)點的可尋址空間越來越緊張。雖然232(大約40億)個IPv4地址還沒有完全分配,但是,預計在未來的幾年內(nèi)所有地址將被完全占用。下一代IP — IPv6將地址空間擴展到了2128,遠遠超出了人們的想象,在我們居住星球的每平方米就可提供6.67 x 1023個地址。這將保證未來的所有設備都可獲得自己唯一的地址。擁有了足夠的地址就不再需要網(wǎng)絡地址轉(zhuǎn)換(NAT)、臨時性地址租賃和其它用于保存嚴格限量分配的IPv4地址的組裝機。盡管臺式機、服務器及其它傳統(tǒng)的網(wǎng)絡設備占有明顯優(yōu)勢,但預計不同領域的網(wǎng)絡設備將會有大幅度的增長,大多數(shù)小型設備將會改變互聯(lián)網(wǎng)的命運。新潮網(wǎng)絡用戶總是集中在諸如GPRS、UMTS蜂窩電話或PDA的無線或移動設備,另外還包括一些嵌入式設備,如:監(jiān)視器、傳感器和智能節(jié)點,它們幾乎能夠嵌入到任何系統(tǒng),從汽車到水表。
IPv6不僅擴展了地址空間,它檢查IP使配置過程簡單化、自動化(嵌入式應用的另一需求);它使IP更堅固、可擴展、可移動,增強了安全性和所支持服務的品質(zhì),簡化、加速了路由。困擾IPv4的嚴峻問題是:最初分配IPv4地址的方式幾乎是隨機的,無法阻止路由表主干線的增長。IPv6要好一些,重建IP并逐步替代IPv4將獲得許多優(yōu)點。雙IPv4/IPv6網(wǎng)絡堆棧支持混合環(huán)境,允許向IPv6的逐步過渡。亞洲(特別是日本)是最先采納IPv6的區(qū)域之一,因為這個區(qū)域在最初分配IPv4地址時變化不大。印度和中國的互聯(lián)網(wǎng)用戶無論是相對數(shù)量、還是絕對數(shù)量,都是預期增長最快的國家。考慮到它的優(yōu)勢和幾個國家的政府管理層采納的計劃,IPv6變得更加重要。它在很長一段時間停留在樣機階段,現(xiàn)在已成為大多數(shù)操作系統(tǒng)的一個標準部件,例如:Microsoft Windows XP和Sun SolarisTM 8/9等。
本文簡單介紹IPv6,描述如何運用駐留在DS80C400微控制器內(nèi)部的硅軟件包開發(fā)IPv6網(wǎng)絡。
IPv6概述
地址
IPv6自動可配置功能的關鍵在于使用地址的方式,128位的IPv6地址劃分為64位前綴(網(wǎng)位或子網(wǎng))和64位主機位。前綴,也代表地址的范圍,可以由網(wǎng)絡供應商或路由器廣播分配,也可以放置在鏈接或網(wǎng)站上。在以太網(wǎng)中,主機位通常由設備唯一的MAC地址(按照IEEE EUI-64格式)產(chǎn)生。這意味著IPv6節(jié)點一旦接通將配合一個有效的IP地址操作。為實現(xiàn)全球通信,節(jié)點需要申請或收聽路由器包括前綴以及前綴與EUI-64組合的廣播。與附加在IPv4的DHCP所不同的是:所有IPv6節(jié)點能夠自行配置,即使在沒有服務器的條件下。
IPv6地址用十六進制數(shù)表示,16位為一組。例如:3ffe:aaaa:bbbb:cccc:260:8ff:fe8d:6ee9,是一個全球范圍的地址從用戶的角度看,這些較長的地址通常隱藏在DNS名的背后,如www.maxim-ic.com。為了提供IPv6地址,需要一個具有IPv6功能的DNS服務器?砂凑辗独篒N AAAA 3ffe:aaaa:bbbb:cccc:260:8ff:fe8d:6ee9在DNS上建立一個IPv6地址登錄替代用于IPv4的IN A記錄,不存在原理性的新概念。由于IPv6地址的前綴預計變化比較頻繁,所以,建議使用DNS。網(wǎng)絡的重新編號比IPv4簡單的多,甚至能夠自動實現(xiàn)。
IPv6有單播地址和多播地址。此外,還定義了一種新型的隨播地址目的文件類型。一個作用到隨播IP的包被傳送給若干個主機中最近或最好的主機。隨播有助于通過路由改善負載平衡。
協(xié)議
盡管IPv6毫無更改地保留了UDP和TCP的高層協(xié)議,IP包的報頭必須加以修改以符合更大的地址,需要對它進行清理、整齊地排列成64位,始終保持固定的長度以便路由;由于更高層協(xié)議已經(jīng)帶有包括IP報頭部分的校驗和,所以IP報頭的校驗和被取消。一個有趣的更改是利用相鄰發(fā)現(xiàn)協(xié)議(NDP)替代APR,NDP是新型ICMPv6的一部分。替代地址解析需要向整個區(qū)域申請的廣播方式,IPv6按照排除了這些廣播的方式映射多播組和IPv6地址,確保節(jié)點(幾乎)只接收它們感興趣的數(shù)據(jù)流。有關ICMPv6和多播的詳細內(nèi)容請參考www.ipv6.org。
圖1 網(wǎng)絡啟動時,DS80C400利用了IPv6的自動配置特性
DS80C400中的TCP/IP片上DS80C400硅軟件包(ROM)包含了經(jīng)過現(xiàn)場驗證的、最新修訂版的Dallas TCP/IP堆棧。硅軟件包還包括一個小的操作系統(tǒng)和所有開發(fā)小型C或匯編語言TCP/IP網(wǎng)絡客戶或僅帶有128kB外部存儲器的服務器系統(tǒng)所需要的便利功能。當需要簡單、快速地開發(fā)某種應用或需要擴展Java的某項性能,如目標序號時,DS80C400還可用于TINI Java 運行時間環(huán)境。駐留C或匯編語言的支撐通過BSD和工業(yè)標準、交叉平臺接口等函數(shù)實現(xiàn),如:socket()、bind()、listen()、accept()、connect()、send()等。TINI Java環(huán)境緊緊跟隨JDK 1.1.8、并支持全部java.net包;可以使用任何支持Java的編譯器。TINI執(zhí)行標準的Java程序和字節(jié)代碼。除了支持網(wǎng)絡應用外,DS80C400硅軟件包還可實現(xiàn)網(wǎng)絡導入功能,跳過TFTP加載應用,支持IPv4的DHCP,甚至自配置IPv6上更簡單的TFTP。圖1分別描述了IPv4和IPv6上的DS80C400網(wǎng)絡導入。網(wǎng)絡引導裝入器可通過DS80C400的引腳或通過引導裝入器串口的用戶命令調(diào)用。
DS80C400的IPv6
DS80C400硅軟件包支持加入網(wǎng)絡所需要的IPv6功能,符合“Minimum Requirements of IPv6 for Low-Cost Network Appliances”草案?紤]到嵌入式器件的資源緊縮,我們沒有寄希望于用嵌入式器件實現(xiàn)包括安全、移動IP和路由的所有IPv6功能。由于IPv6逐步被人們采納還需要經(jīng)過幾年的時間,因此,DS80C400網(wǎng)絡堆棧集成了IPv4和IPv6雙堆棧。由于DS80C400支持兩種協(xié)議,它提供了在現(xiàn)存IPv4網(wǎng)絡上傳送IPv6的通道(6over4)。必要時它通過路由器傳送數(shù)據(jù)包,本身并不需要執(zhí)行協(xié)議間的轉(zhuǎn)換。
例1是DS80C400運行在TINI1.1 Java環(huán)境下的范例,表示一個能夠處理IPv4和IPv6請求的、簡單的多徑網(wǎng)絡服務器的片段。從示例中看不到IPv6的特定代碼,因為它們根本就不存在。應用可以毫不費力地從IPv4端口轉(zhuǎn)向IPv6端口;僅需檢查輸入的IP地址,可能只需調(diào)用針對該目的提供的TINI 1.1功能。TINI 1.1 Java環(huán)境添加了Java 2 SE 1.4 Inet6Address類支持IPv6。不需要其它用戶可見的更改,其它所有更改均隱藏在現(xiàn)場背后。
結(jié)語
作為IP協(xié)議的評估和調(diào)整,IPv6顯得越來越重要,尤其是對于一個成功的嵌入式器件網(wǎng)絡更是至關重要。IPv6提供沒有限制的IP地址數(shù)量、自動配置和通用的流線型IP協(xié)議。
DS80C400使得編寫支持IPv4和IPv6網(wǎng)絡的應用更簡單。IPv6為所有新的應用提供了引人注目的優(yōu)勢!
摘自 電子產(chǎn)品世界