| 路由器怎么设置 路由器全部怎么安装 路由器怎么设置 路由器亮红灯哪种故障 路由器登录入口和光猫的区别 路由器怎么重启 路由器怎么连接 路由器桥接教程详细 路由器干什么用:ipv4与ipv6如何转换xp怎么把ipv4改为ipv6 一、ipv4与ipv6如何转换 IPv4:是互联网协议的第四版,同时也是第一个被广泛使用,构成现今互联网技术的基石的协议; IPv6:是互联网工程任务组设计的用于替代现行版本IPv4的下一代IP协议;目前IP协议的版本号是IPv4,它的下一个版本就是IPv6. ipv4与ipv6地址如何转换的python解决办法 源码如下:(需要用到twisted.python.compat及struct和python socket方法) import struct,socket #import twisted.python.compat #导入twisted.python.compat 更方便 # ipv4数字地址 def ipv4_to_string(ipv4): ipv4_n = socket.htonl(ipv4) data = struct.pack('I', ipv4_n) ipv4_string = socket.inet_ntop(socket.AF_INET, data) return ipv4_string def ipv4_from_string(ipv4_string): data = socket.inet_pton(socket.AF_INET, ipv4_string) ipv4_n = struct.unpack('I', data) ipv4 = socket.ntohl(ipv4_n[0]) return ipv4 def ipv4_readable2int(ipv4): return int(ipv4) def ipv4_int2readable(ipv4): return str(ipv4) # ipv6用四个整数(tuple或用,分开的字符串)表示 def ipv6_to_string(ipv6): ipv6_n = (socket.htonl(ipv6[0]), socket.htonl(ipv6[1]), socket.htonl(ipv6[2]), socket.htonl(ipv6[3])) data = struct.pack('IIII', ipv6_n[0], ipv6_n[1], ipv6_n[2], ipv6_n[3]) ipv6_string = socket.inet_ntop(socket.AF_INET6, data) return ipv6_string def ipv6_from_string(ipv6_string): data = socket.inet_pton(socket.AF_INET6, ipv6_string) ipv6_n = struct.unpack('IIII', data) ipv6 = (socket.ntohl(ipv6_n[0]), socket.ntohl(ipv6_n[1]), socket.ntohl(ipv6_n[2]), socket.ntohl(ipv6_n[3])) return ipv6 def ipv6_tuple2readable(ipv6): return str(ipv6[0]) + ',' + str(ipv6[1]) + ',' + str(ipv6[2]) + ',' + str(ipv6[3]) def ipv6_readable2tuple(ipv6): return tuple(ipv6.split(',')) #win32 下实现 inet_pton 和 inet_nto def inet_ntop(family, ipstr): if family== socket.AF_INET: return socket.inet_ntoa(ipstr) elif family== socket.AF_INET6: v6addr = ':'.join(('%02X%02X' % (ord(i), ord(j))) for i,j in zip(ipstr[::2], ipstr[1::2])) return v6addr #www.iplaypy.com def inet_pton(family, addr): if family== socket.AF_INET: return socket.inet_aton(addr) elif family== socket.AF_INET6: if '.' in addr: # a v4 addr v4addr = addr[addr.rindex(':')+1:] v4addr = socket.inet_aton(v4addr) v4addr = map(lambda x: ('%02X' % ord(x)), v4addr) v4addr.insert(2, ':') newaddr = addr[:addr.rindex(':')+1] + ''.join(v4addr) return inet_pton(family, newaddr) dbyts = [0]* 8 # 8 groups grps = addr.split(':') for i,v in enumerate(grps): if v: dbyts[i] = int(v, 16) else: for j, w in enumerate(grps[::-1]): if w: dbyts[7-j] = int(w, 16) else: break break return ''.join( (chr(i//256) + chr(i%256)) for i in dbyts) else: raise RuntimeError("What family?") IPv4的地址如何转换为IPv6的地址 IPv4地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),通常我们以10进制表示。 例如192.168.1.1就是一个10进制的IPv4地址,如果用2进制表示,则为11000000 10101000 00000001 00000001这里设计的2进制与10进制的计算方法比较简单,这里就不再阐述。 那么由IPv4的地址转换为IPv6的地址怎么转换呢?这里有2种表示方法: 第一种 比较简单的。 例如还是IPv4的192.168.1.1 转换成IPv6的地址,则为::192.168.1.1 。 就是在IPv4的地址前添加::即可,不需要经过计算。 第二种 标准的IPv6地址,需要经过计算。 首先,需要将IPv4的地址转换成2进制的,然后再由2进制的数,每4位为一组,转换成16进制的,最后再转换为IPv6地址。 举例说明,192.168.1.1,10进制表示为192.168.1.1,2进制表示为11000000 10101000 00000001 00000001,16进制表示为C0 A8 01 01,IPv6地址为0:0:0:0:0:0:C0A8:0101.下表会更加清晰。 二、xp怎么把ipv4改为ipv6 XP下的配置方法与2003下配置方法基本相同。 只是XP下必须先安装上IPV6协议,并且至少升级至SP1.配置过程如下: 1、安装IPV6协议 C:\>ipv6 install 2 、查看端口信息 首先使用 ipv6 if 指令查看各接口状态,一般情况下,你会看到如下显示: Interface 4 (site 1): 本地连接 …… Interface 3 (site 1): 6-over-4 Virtual Interface …… Interface 2 (site 0): Tunnel Pseudo-Interface …… Interface 1 (site 0): Loopback Pseudo-Interface …… Interface 4 是本地的实际端口,其他三个都是虚拟端口,值得注意的是 Interface 2 ,它是 Auto-Tunnel 的端口,在接入配置中我们要用到。 3、如果是在纯IPV6网络(或IPV6和IPV4双栈网络)中,你就可以自动获得IPV6地址,可以访问IPV6网站了。 你也可以设置固定的IPV6地址,方法如下: C:\>netsh netsh>interface ipv6 netsh interface ipv6>add address "本地连接" fe80:a520:1314::1 /* 设定固定的IPv6地址,“本地连接”是指你的机上建立的某个连接的名称 */ netsh interface ipv6>add dns "本地连接" 2001:251:e101:0::2 /* 设定IPv6 DNS地址 */ 4、如果你是在IPV4网络中,你需要与IPV6网络进行隧道连结。 需要对端用户的配合来建立隧道,对端可以是网络中心的路由(交换)器,也可以是另收到其他维修同行的一台PC机。 无论如何,以下信息都是必须的: 。 你的可路由到对端的IPV4地址,假定为 210.35.168.100 。 对端的IPV4地址,假定为 210.35.240.24 。 对端的IPV6地址,假定为 2001:250:6C01:1000::1 。 对端分配给你的IPV6地址,假设为 2001:250:6C01:1000::2 本端配置如下: 配置隧道: ipv6 ifcr v6v4 210.35.168.100 210.35.240.24 为本机配置 ipv6 地址: ipv6 adu 4/2001:250:6c01:100::2 注: 第4个Interface端口的地址设为2001:250:6c01:100::2,这种配置的时候,一般指定为实际存在的Interface号,如果只有一块网卡的话,应该是4号Interface。 */ 为本机配置路由: ipv6 rtu ::/0 4/2001:250:6c01:100::1 对端(服务端)如果是网络中心,请看路由器配置。 如果对端也是PC机,根据系统不同,按本站所列各操作系统的配置方法配置。 5、如果要用WindowsXP做路由器, 则还需要打开其他接口的转发功能. 例如, 如果接口4是你的网卡, 你所在的局域网就是挂在这块网卡下的, 那么你还需要打开它的转发功能: ipv6 ifc 4 forwards 根据需要,你可能还愿意打开某些接口的路由广播功能 6、测试: ping隧道对端地址,能ping通即配置成功。 ping 2001:250:6c01:100::1 |
|Archiver|手机版|家电维修论坛
( 蜀ICP备19011473号-4 川公网安备51102502000164号 )
GMT+8, 2025-11-9 20:55 , Processed in 0.177292 second(s), 17 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.