‘壹’ 在实现IPV6中的难题
要真正实现IPv6网络的大规模商业化,需要规范网管接口相关标准,将网管系统逐步过渡到基于纯IPv6网络的管理。
IPv6网络管理遭遇难题
IPv6网络最显着的特点在于128位的地址,这样趋于无穷大的地址范围,拓扑管理的实现变得更加复杂,原来的工具不能解决问题。同时,由于IPv6无状态地址自动配置的技术和组播地址类型实现的变化,配置管理部分需要考虑IPv6独特的地址分配技术。另一个问题是: 性能管理、流量管理和故障管理基本依赖于SNMP(简单网络管理协议)、流统计(比如Netflow协议)工具和ICMP等协议和技术,IPv6网络设备必须能够支持,但是目前各个厂商的网络设备对这些协议支持的接口不统一,使网络管理平台需要对不同的设备建立不同的网络管理软件。这些都是保证IPv6网络的健康发展需迫切解决的问题。
目前IPv4和IPv6共存情况下存在两种IPv6网络接入方式: 双栈网络(Dual stack IPv6 & IPv4 networks)和纯IPv6网络(IPv6 only networks),前者接入投资比较小,而且目前很多网络设备厂商支持双栈接入,所以双栈是主要接入方式; 在国际和国内大的IPv6实验网络中,也有部分区域是纯IPv6线路和设备,这样对网络管理的要求就比较高。由于双栈使用IPv4的网络线路和设备,可以采用设备的IPv4网管协议进行管理; 但是纯IPv6网络发展是趋势,IPv6网络管理协议研究同样非常重要。
网络管理协议和技术
简单网络管理协议(SNMP)是目前TCP/IP网络中应用最广泛的网络管理协议,是网络管理事实上的标准。它不仅指简单的网络管理协议本身,而且代表采用SNMP协议的网络管理框架,根据对网络管理业务的细化,出现了v1,v2和v3三个版本,目前普遍使用的是SNMPv2版本。管理信息库Mib是一个信息存储库,它包含了管理代理中的有关配置和性能的数据,是网络管理的基础。
1998年定义的RFC2465定义IP地址为ipv6 Address,长度为16个字节,目前厂商Cisco、Juniper和华为的双栈路由器大部分都以这个RFC进行IPv6 Mib的支持,这样就可以通过从IPv6的Mib库访问流量等信息。
2000年开始,IP地址的定义就开始一致,RFC2851中对IP地址的定义为{inetAddressType,inetAddress},使用IP地址类型来区分v4和v6网络。随后2002年RFC3291替代了RFC2851,对IP地址的定义增加了InetAddressPre-fixLength、InetPortNumber和InetAutonomousSystemNumber这三个字段;在2005年RFC4001替代了RFC3291,增加了InetZoneIndex、InetScopeType和InetVersion三个字段,这样IP地址的定义逐渐统一和完整起来。
Netflow协议是基于流的管理协议,由Cisco公司提出并在Cisco路由器和其他厂商的路由设备上得到实现,在流量分析和计费管理上被广泛采用。目前普遍使用的是v5版本,最后出现的版本v9采用模版的形式,定义Netflow流的数据报字段更加灵活,在双栈网络设备上,可以使用Netflow v9进行IPv6网络层流量信息的发送; 在双栈网络下使用Netflow v9进行流量分析(如图2)。
业界对IPv6网络管理的支持
Cisco公司的私有Mib库支持RFC 2465,从Mib的接口流量层面还不能区分v4和v6的流量,即没有端口统计的Mib,流量可以在设备上输入show interface accounting看到。Juniper设备也支持RFC2465,而且有IPv4和IPv6两个流量计数Oid。
Cisco公司从IOS12.3(7)T版本开始就支持IPv6的Netflow统计,可以从网络数据转发中获得IPv6的流(Flow),并使用Netflow v9进行数据报封装,但是仍旧通过IPv4网络进行传送。Juniper公司目前还不支持这一功能。
构建IPv6网络管理平台涉及到网络性能管理、流量管理、故障管理、配置管理和拓扑管理等方面。目前商用的网络管理平台生产厂商也在积极地推进IPv6网络管理模块。HP公司的NNM (Network Node Manager)网络管理模块可以执行IPv6网络拓扑发现的功能; Cisco公司的CiscoWorks产品在2006年实现对IPv6设备的SNMP和Syslog进行监测; CA公司的Spectrum网络管理部分支持IPv6 Mib的监控和拓扑发现。
在免费的网络性能和流量管理软件方面,流量监测软件MRTG的改进版本,可通过IPv4的SNMP协议来获得v6的Mib流量等信息。Argus、Nagios 和Ntop等监测网络服务的最新版本中间已经加入了IPv6的监测。
端到端的性能测量软件Iperf从iperf-1.7.0版本开始支持IPv6流量的产生,通过设置-V参数发生IPv6数据报,测量 IPv6环境下的带宽、丢包率、抖动、TCP窗口尺寸等,同时也产生了专门测量IPv6的工具Iperf6。测量网络延迟工具Fping软件增加了Ipv6版本,安装后会产生fping和fping6两种获得延迟的工具,IPv4的地址必须作为fping的参数,IPv6的地址必须作为fping6的参数,从这一点来说还没有统一的命令接口产生。
网络安全管理 包分析工具如Ethereal、 tcpmp 或 Ntop新版本可以分析IPv6的流量并解析包结构,可作为IPv6网络构建时的测试工具。
配置管理 Rancid软件可以对路由器上的配置实现全面的管理和备份,目前最新版本支持IPv6配置信息的管理,同时要求Rancid到本地保存和分析的服务器能够对IPv6的配置进行识别和分类,正确保存到数据库中。
拓扑管理 按网络的规模,拓扑发现可分为以下3类:
■ 骨干拓扑: IPv6下显示骨干拓扑的工具为ASPathTree,由意大利电信实验室开发完成。它可以显示BGP4+的拓扑结构、BGP4+的路由表生成,并生成HTML页面。
■ 局域网拓扑: IPv6下局域网拓扑发现的工具主要依靠ICMPv6和邻居发现协议。由于IPv6比IPv4网络有更大的规模,同时一个主机可能涉及多个IP地址,IPv6下的局域网拓扑发现更加复杂。
■ 多播网络拓扑: Mtrace6是一个用于发现IPv6多播网络拓扑的工具。这个工具是Mtrace的IPv6版本,也就是多播网络的traceroute。
计费管理 Netflow v9提供了IPv6流的捕获和统计功能,同时要求服务器对Netflow数据报中关于地址和Nexthop等的分析进行修改,尽量和IPv4的数据集成到统一的数据库中。
故障管理 软件Looking-glass主要监测路由表状态和应用服务状态,目前有perl版本和java版本。
‘贰’ C语言中,IPv4和IPv6地址用什么数据格式存储
ipv4中的ip地址长度才为32位 ,实际上还会包含报头、版本号、记录上层信息的数据结构等等。不是一个数据类型就可以表示的,都是采用结构体的形式。
有兴趣可以看看Tcp_ip协议(共3卷)。
‘叁’ 有没有做过IPV6存储到数据库的
网络改造和数据库无关,不需要更改。应用程序是用tcp连接mysql的,只要网络畅通就可以了。
‘肆’ java存放ipv6的ip用什么数据类型
强烈建议用String类型存储。如果是int,long型转String的话,用String.valueOf()。或者他们直接+“”就可已转String了。用String类型来存储数据以后更改格式也容易。
‘伍’ 各位大侠们,如果从IPv4升级到IPv6 Mysql数据库需要做哪些修改
网络改造和数据库无关,不需要更改。应用程序是用tcp连接mysql的,只要网络畅通就可以了。
‘陆’ 数据库中怎么存储IP地址
access中记录用户ip的方法:
'获取访问者的IP
ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
set rs=server.CreateObject("adodb.recordset")
sql = "select * from xiaoyewl_yzm where yzip='"&ip&"' and DATEDIFF('d',now(),sj)=0" '先查询数据库里有没有
rs.open sql,conn,3,2
if rs.eof or rs.bof then '数据库无当天IP则写入
rs.addnew
now_time = now '获取登陆时间(服务器时间)
rs("yzip") = ""&ip&""
rs("yzcs") = 1
rs("sj") = now_time
rs.update
end if
rs.close
‘柒’ 华为手机ipv6怎么设置
你好
随着5G、物联网等新兴技术领域的发展,IP空间需求巨大,IPv6成为万物互联的基础,势在必行;华为云作为IPv6成熟商用开拓者,针对金融、广电、媒资等不同行业推出IPv6解决方案,助力企业平滑升级到IPv6基础架构。本文带您十分钟了解华为云IPv6。
一、华为云IPv6解决方案:IPv6-EIP和IPv6-双栈
1. IPv6-EIP
简单来说,IPv6-EIP就是申请一个弹性公网IP(EIP),此EIP既有一个IPv4地址,又有一个IPv6地址。当然也可以将已有的IPv4 EIP开启IPv6转换。开启IPv6转换后,此EIP将提供IPv4和IPv6弹性公网IP地址,原有IPv4业务可以快速为IPv6用户提供访问能力。
IPv6-EIP的原理如上图所示:前端网络改造成能够同时支持IPv4和IPv6终端访问的双栈网络,后端业务网络和应用暂不改造,在后端网络和前端网络之间部署NAT64网络转换(即华为云IPv6-EIP),将前端IPv6地址转换为后端IPv4地址;客户内部业务网络侧实现“零”改造支持IPv6。
2.IPv6-双栈
相较于IPv6-EIP,IPv6-双栈进行的IPv6改造更加彻底和复杂。IPv6双栈为实例提供两个不同版本的IP地址:IPv4地址和IPv6地址,这两个IP地址不仅可以被其它网络访问,也可以主动访问其他IP,是所谓的“真”IPv6。
IPv6-双栈的原理如上图所示:前端接入网络改造成能够同时支持IPv4和IPv6终端访问的双栈网络,企业后端应用系统也改造成双栈,网络端到端支持IPv4和IPv6的业务接入。
3.IPv6-EIP和IPv6-双栈的异同
如果做个形象的比喻,我们可以这么理解:
IPv4——“法语”
IPv6——“英语”
IPv4和IPv6是两门不同的“语言”,二者之间不可直接进行通信。如果把IPv4比作法语,把IPv6比作英语,一个只会其中一门语言的人是无法理解另外一门语言的,IPv4地址也不可与IPv6地址直接通信。
IPv6-EIP——“英语”-“法语”翻译器
IPv6-EIP相当于在两个人之间加了一个“英语”-“法语”翻译器,可以将IPv6地址NAT成IPv4地址。但是这个翻译器的翻译功能是单向的,只支持将外部网络的IPv6地址转换为IPv4地址。
IPv6-双栈——既懂法语又懂英语的人
IPv6-双栈相当于将后端的服务器训练成了一个既能理解法语也能理解英语的人,服务器不仅能“听懂”IPv4和IPv6,也能主动进行IPv4和IPv6访问。
4.如何选择IPv6-EIP和IPv6-双栈?
如果只需要为使用IPv6客户端的用户提供访问服务,则可使用:IPv6-EIP或者IPv6-双栈。推荐使用IPv6-EIP,更加简单便捷。
如果应用既需要为使用IPv6终端的用户提供访问服务,又需要对这些访问来源进行数据分析处理,则必须使用IPv6-双栈。
如果应用系统与其他系统(例如:数据库系统)、应用系统之间需要使用IPv6进行访问,则必须使用IPv6-双栈。
二、如何使用华为云IPv6-EIP和IPv6-双栈
1. IPv6-EIP使用指导
1)IPv6-EIP目前正在公测中,目前已支持华南-广州、华北-北京一、华北-北京四、华东-上海二、华东-上海一,使用前请确认是否已申请IPv6-EIP公测。可以在管理控制台选择“网络 > 弹性公网IP”,单击“IPv6 EIP”进入公测申请页面。
2)使用方法
a)购买EIP时开启IPv6转换,如下图所示:
或者购买后在EIP界面“更多”处开启IPv6转换:
b) EIP绑定的ECS的安全组出入方向放通198.19.0.0/16。
如果ECS所在的子网设置了网络ACL,ACL中同样要放通198.19.0.0/16。
因为IPv6 弹性公网IP采用NAT64技术,入方向的源IP地址经过NAT64转换后,会从IPv6地址转换为198.19.0.0/16之间的某个IPv4地址,源端口随机,目的IP为本机的内部私有IPv4地址,目的端口不变。
如果在后端服务器内抓包,可以看到源IP确实是198.19.0.0/16网段的一个地址,如下图:
3)功能验证
如何测试IPv6-EIP是否能被访问?可以使用Ping探测网站进行ping测试,如图:
由于IPv6的广域网尚未成熟,出现少量丢包属于正常现象,可以忽略。
2. IPv6-双栈使用指导
1) 重点说明
a) IPv6-双栈目前正在公测中,使用前请确认是否已申请了IPv6-双栈公测。公测期间,只有选择如下类型的ECS才能体验IPv6-双栈,请务必选择支持的区域和规格:
“华北-北京四”区域,“可用区2”:sn3;
“华东-上海一”区域,“可用区1”:c3,m3,“可用区2”:c3。
b) 当前IPv6-双栈仅支持按带宽计费(按流量计费正在开发中)。
2) 使用方法
IPv6-双栈要在VPC侧、ECS侧和镜像侧三方面进行配置。
a) 申请公测。
b) 进行VPC侧配置:
创建IPv6子网,开启子网的IPv6功能:
添加IPv6安全组规则和ACL规则:
IPv6代表所有IP地址的IP:::/0(冒号为英文冒号),对应IPv4的0.0.0.0/0。
IPv6地址的表示方法:八组四位16进制,可以省略前导0,::代表一系列0。
购买共享带宽:
c) 进行ECS侧配置:
购买指定region指定机型的ECS:
“华北-北京四”区域,“可用区2”:sn3;
“华东-上海一”区域,“可用区1”:c3,m3,“可用区2”:c3。
如果出现上述提示则说明选择的机型可以使用IPv6-双栈,选择“自动分配IPv6地址”。
d) 进行镜像侧配置,根据不同的操作系统配置IPv6:
以常见的CentOS公共镜像为例,手动获取IPv6地址:
下载对应系统版本的工具ipv6-setup-rhel。执行命令:wget https://ecs-instance-driver.obs.cn-north-1.myhwclouds.com/ipv6/ipv6-setup-rhel
添加执行权限:chmod +x ipv6-setup-rhel
指定一个网卡设备,配置动态获取IPv6地址:./ipv6-setup-rhel --dev eth0
执行ifconfig eth0,如果能看到与console网卡界面一致IPv6地址,即说明配置成功:
更多操作系统的配置可以参考:https://support.huaweicloud.com/ims_faq/ims_faq_0046.html
3)功能验证
被访问连通性测试:同IPv6-EIP。
访问连通性测试:ping常见的支持IPv6访问的网站,比如ping6 http://www.qq.com
望采纳祝你好运
‘捌’ 手机ipv6怎么设置方法
手机ipv6怎么设置方法iphone手机怎么设置IPv6?很多苹果手机用户想要设置IPv6网络,大家通过设置ipv6 DNS可以有效解决苹果手机访问ipv6网络问题。
1.点击iphone手机桌面设置,进入设置界面。
2.点击选中自己连接的WiFi,点击后面的叹号,进入无线网络设置。
3.点击配置DNS。在配置DNS中,选择“手动”,点击添加服务器。
4.在手机键盘英文状态下,输入IPV6DNS,比如8.8.8.8和2001:4860:4860::8888,点击存储即可。
以上是关于iphone手机怎么设置ipv6的介绍,相比IPv4地址空间,IPV6地址长度为128位,增加了2^128-2^32个;灵活的IP报文头部格式,简化了报文头部格式,支持更多的服务类型;允许协议继续演变,增加新的功能,使之适应未来技术的发展。
西部数码网站提供IPv6转换服务,无需改造现有架构,即可快速让现有IPv4业务系统具备IPv6终端和用户访问能力。还有支持IPv6的云服务器,满足广大用户对于ipv6访问的需求。
‘玖’ ip数据报在电脑是怎么存储的
如果是IPv4类型,那么将IP转为INT UNSIGNED存储在数据库能节约内存,INET_ATON()和INET_NTOA()可以管理ip地址在字符串和数字值之间的转换。
‘拾’ 如何转换的IPv6从二进制存储在MySQL-php,mysql,ipv6
下面是函数我从和DECIMAL(39,0)格式转换IP地址。他们是inet_ptod和inet_dtop为“呈现到十进制”和“十进制到演示文稿”。它需要IPv6和在PHP
bcmath时支持。 /**
* Convert an IP address from presentation to decimal(39,0) format suitable for storage in MySQL
*
* @param string $ip_address An IP address in IPv4, IPv6 or decimal notation
* @return string The IP address in decimal notation
*/
function inet_ptod($ip_address)
{
// IPv4 address
if (strpos($ip_address, ':') === false && strpos($ip_address, '.') !== false) {
$ip_address = '::' . $ip_address;
}
// IPv6 address
if (strpos($ip_address, ':') !== false) {
$network = inet_pton($ip_address);
$parts = unpack('N*', $network);
foreach ($parts as &$part) {
if ($part < 0) {
$part = bcadd((string) $part, '4294967296');
}
if (!is_string($part)) {
$part = (string) $part;
}
}
$decimal = $parts[4];
$decimal = bcadd($decimal, bcmul($parts[3], '4294967296'));
$decimal = bcadd($decimal, bcmul($parts[2], '18446744073709551616'));
$decimal = bcadd($decimal, bcmul($parts[1], '79228162514264337593543950336'));
return $decimal;
}
// Decimal address
return $ip_address;
}
/**
* Convert an IP address from decimal format to presentation format
*
* @param string $decimal An IP address in IPv4, IPv6 or decimal notation
* @return string The IP address in presentation format
*/
function inet_dtop($decimal)
{
// IPv4 or IPv6 format
if (strpos($decimal, ':') !== false || strpos($decimal, '.') !== false) {
return $decimal;
}
// Decimal format
$parts = array();
$parts[1] = bcdiv($decimal, '79228162514264337593543950336', 0);
$decimal = bcsub($decimal, bcmul($parts[1], '79228162514264337593543950336'));
$parts[2] = bcdiv($decimal, '18446744073709551616', 0);
$decimal = bcsub($decimal, bcmul($parts[2], '18446744073709551616'));
$parts[3] = bcdiv($decimal, '4294967296', 0);
$decimal = bcsub($decimal, bcmul($parts[3], '4294967296'));
$parts[4] = $decimal;
foreach ($parts as &$part) {
if (bccomp($part, '2147483647') == 1) {
$part = bcsub($part, '4294967296');
}
$part = (int) $part;
}
$network = pack('N4', $parts[1], $parts[2], $parts[3], $parts[4]);
$ip_address = inet_ntop($network);
// Turn IPv6 to IPv4 if it's IPv4
if (preg_match('/^::\d+.\d+.\d+.\d+$/', $ip_address)) {
return substr($ip_address, 2);
}
return $ip_address;
}