廣義的講,網關在各種網絡中都存在,在各層都存在。從物理層的放大器和中繼器,到二層的橋接技術,到三層的路由器,到四層的TCP/HTTP代理,到SIP代理,ALG,以及說不清楚層的NAT,防火牆,DPI等,無所不在。
近日,在ipbaobao忽悠做IPv6化的物聯網時,即把IPv6延伸到物聯網的感知延伸層,對於網關問題出現了激烈的爭論。
支持着認爲IPv6延伸到物聯網,好處多多,尤其是無需或簡化了最麻煩的傳感網和互聯網之間的網關(參見我的相關博文)。
反對IPv6者認爲,把IPv6延伸到傳感器時,6LoWPAN是要對IPv6的包頭進行壓縮的,即不是原來的普通IPv6了,因此在傳感器網絡和IPv6大網之間,仍然是需要網關的。
Ipbaobao認爲,雙方的共識是在傳感器網絡和互聯網之間需要一個網關,區別只是在於什麼樣的網關。兩者所說的網關,存在着天壤之別。
1. 前者的網關是無狀態,後者的網關是有狀態的。狀態有否看似區別很小,其實很大。就像面向連接的技術中網關(網絡)是有狀態的,無連接的技術中網關(網絡)是無狀態的,看似不起眼的變化,帶來的是革命性的影響。
IP是無狀態的/無連接的,帶來的是互聯網的巨大成功。
WWW是一種RESTful技術,是無狀態的,也取得了巨大成功。
無狀態網關的另外一個案例,就是清華大學提出的IVI技術,本質上是一種無狀態的翻譯IPv4和IPv6的技術。
2. 前者的網關基本不需要做上層的翻譯,後者可能需要。而且即使翻譯,也是無狀態的。
當然,無狀態的代價也肯定是有的,這符合辯證法。“狀態”從網關中消失了(不可能全消失,像路由器中還需要路由表那樣),那“狀態”就需要出現在別的地方,比如載荷中,比如終端上,由此帶來了其他新問題。