2010年8月15日星期日

开始IPv6

开始接触IPv6了,在linux的机子上配了下,发现了link-local这个地址,可以直接从MAC地址转换过来(EUI-64),但在局域网内的通信,貌似用这个地址还不行,仅能ping通;后来,自己配了个global地址,还加了下路由,通信ok了。

初步有一个设想:在支持IPv6的机子上,监听某个端口,地址为IPv6的::(unspecified address), 如果当前为IPv6的网络,那一切通信以IPv6进行;反之,如果当前是IPv4的网络,且本机配置了IPv4的地址,那其他IPv4的主机连接时,会以IPv4映射IPv6的地址形式在netstat里显示,如::ffff:172:16:197:80,那tcp的话,之间的通信应该没问题,内核会进行这之间的地址转化,那同样的,udp应该也ok吧。当然,只考虑了单播,组播应该更复杂些,同时兼容IPv4和IPv6,How? 进一步,如果要实现基于链路的PF_PACK接收组播,又该如何兼容呢?

恩,环境也很重要;没环境,只能纸上谈兵了。

没有评论:

发表评论