标签: ipv6

IPv6查找数据结构

patricia trie是众所周知的推荐数据结构,用于存储IPv4分配/分配和执行查找.

这对IPv6地址也是如此吗?只是更深/更高的trie来容纳额外的96位?特里仍然是帕特里夏,还是一个不同的基数特里?

ipv4 ipv6 trie data-structures

6
推荐指数
1
解决办法
1531
查看次数

如何通过Linux中的specfic接口发送组播数据包

尝试了所有可能的方法无法找到解决此问题的方法.我有一台带有两个接口eth0和eth2的机器.我想要所有ff38:40:2001:dead:beef:cafe ::/96包继续使用eth2.我尝试了以下所有,但是当我做ping6 ff38:40:2001:dead:beef:cafe :: 1数据包总是在eth0上.我尝试过但没有工作的东西(例如,数据包仍然在eth0上发布).

$> route add --inet6 ff38:40:2001:dead:beef:cafe::/96 gw 2003::100 dev eth2
$> route add --inet6 ff38:40:2001:dead:beef:cafe::/96 dev eth2
$> route add --inet6 ff38:40:2001:dead:beef:cafe::/96 metric 1 gw 2003::100 dev eth2
Run Code Online (Sandbox Code Playgroud)

我的路由表是

[root@dev ~]# route --inet6  |grep eth0
fe80::/64                                   *                                       U     256    0        0 eth0
ff00::/8                                    *                                       U     256    0        0 eth0

[root@dev ~]# route --inet6  |grep eth2
2003::/64                                   *                                       U     256    68       0 eth2
fe80::/64                                   *                                       U     256    0        0 eth2
ff38:40:2001:dead:beef:cafe::/96            2003::100                               UG    1      0        0 eth2 …
Run Code Online (Sandbox Code Playgroud)

linux routing multicast ipv6

6
推荐指数
1
解决办法
1万
查看次数

C#Directory.Exists ipv6版本

我正在使用Directory.Exists(uncPath)UNC路径,现在如果我使用标准IPv6地址则失败.是否有代码可以处理所有格式的unc - ipv4/ipv6/machiname.

目前我将我的ipv6地址转换为类似的东西2001-0-234-c1ab-0-a0-aabc-3e.ipv6-literal.net并且它可以工作,但是Ipv6本身可以用多种格式表示.我需要能处理所有格式的东西.

c# ipv6

6
推荐指数
1
解决办法
201
查看次数

CIDR表示法中IPV6地址的正则表达式

我正在尝试编写一个lex模式,这将允许我识别IPV6地址,包括带有CIDR表示法的IPV6地址.我使用的模式如下所示.

IPV4ADDRESS_CIDR [ \t]*(((2(5[0-5]|[0-4][0-9])|[01]?[0-9][0-9]?)\.){3}(2(5[0-5]|[0-4][0-9])|[01]?[0-9][0-9]?)(\/(3[012]|[12]?[0-9])))[ \t]*
IPV4ADDRESS      [ \t]*(([[:digit:]]{1,3}"."){3}([[:digit:]]{1,3}))[ \t]*
hex4             ([[:xdigit:]]{1,4})
hexseq           ({hex4}(:{hex4})*)
hexpart          ({hexseq}|({hexseq}::({hexseq}?))|::{hexseq})
IPV6ADDRESS      [ \t]*({hexpart}(":"{IPV4ADDRESS})?)[ \t]*
IPV6ADDRESS_CIDR [ \t]*(IPV6ADDRESS)(\/(1[01][0-9]|12[0-8]|[0-9]{1,2}))[ \t]*
Run Code Online (Sandbox Code Playgroud)

IPV6ADDRESS_CIDR的正则表达式没有按预期工作.我正在测试

2001:1234::5678:5:6:7:8/64 
Run Code Online (Sandbox Code Playgroud)

它似乎没有正确识别它.我在这里犯了一些错误?

regex lex ip-address ipv6 cidr

6
推荐指数
1
解决办法
1132
查看次数

IPv6地址作为电子邮件地址的域部分

我正在尝试测试我写的一个新的电子邮件验证功能,基于这个.,但有一些小的调整.

从大量有效和无效条目中,该函数只找到一个假阴性 - 一个具有IPv6地址而不是域的地址.

user@[IPv6:2001:db8:1ff::a0b:dbd0]
Run Code Online (Sandbox Code Playgroud)

来源是这个维基百科页面:电子邮件地址

但是,System.Net.IPAddress无法解析IPv6:2001:db8:1ff::a0b:dbd0,我在RFC4291中找不到任何IPv6前缀的引用.

显然,IPv6:2001:db8:1ff::a0b:dbd0它不是有效的IPv6地址,但在电子邮件地址中是否有效?或维基百科错了?

实际的电子邮件是否应该user@[2001:db8:1ff::a0b:dbd0]知道?

email ip email-validation ipv6

6
推荐指数
1
解决办法
1653
查看次数

使用IPv6地址和javascript从网页获取HTML

我想知道是否有办法使用JavaScript从IPv6地址获取httpGet请求.

我在家用计算机上使用cooja建立了一个虚拟网状网络,每个节点都有一个IPv6地址,aaaa::0212:740x:000x:0x0x其中x是节点号.

使用普通的jquery请求时:

$.ajax({ url: url,
 success: function(data) 
 {console.log(data); } 
});
Run Code Online (Sandbox Code Playgroud)

一个网站,例如http://www.random.org/intergers/?etc,将获得一个随机数并记录下来,但是当输入一个ipv6地址,即[aaaa :: 0212:740x:000x:0x0x]时并没有给我任何回报,没有错误,没有反应,没有.

任何人都可以对这个问题有所了解吗?

javascript http ipv6

6
推荐指数
1
解决办法
933
查看次数

Flask应用程序中的双IPv4和IPv6支持

是否可以运行Flask来侦听IPv4和IPv6(即双IP堆栈)?据我检查,可以使用以下方式在IPv4中运行:

app.run(host='0.0.0.0', port=port, debug=True)
Run Code Online (Sandbox Code Playgroud)

或使用IPv6

app.run(host='::', port=port, debug=True)
Run Code Online (Sandbox Code Playgroud)

但是我没有找到同时在两者中运行的方法(可以让我的Flask应用程序的实例监听IPv4而另一个实例监听IPv6,但两者都不能监听同一个端口).

谢谢!

更新(附加信息):

接着Sander Steffann的评论(谢谢!),我已经开始在IPv6中监听我的应用了:

* Running on http://[::]:1028/
* Restarting with reloader
Run Code Online (Sandbox Code Playgroud)

然后使用IPv6和IPv4 curls进行测试:

curl -g [::1]:1028/notify
curl 127.0.0.1:1028/notify
Run Code Online (Sandbox Code Playgroud)

分别获得:

::1 - - [10/Feb/2014 12:04:51] "GET /notify HTTP/1.1" 200 -
::ffff:127.0.0.1 - - [10/Feb/2014 12:05:03] "GET /notify HTTP/1.1" 200 -
Run Code Online (Sandbox Code Playgroud)

我对第二行的解释是"某人"(操作系统?Flask所依赖的底层网络库?)正在将IPv4请求转换为IPv6请求.但是,据我所知,在经典的双栈设置中支持IPv4"本机"是不一样的,即我本来期望有什么能够解决这个问题(这是我运行应用程序时得到的Running on http://0.0.0.0:1028/)()

127.0.0.1 - - [10/Feb/2014 12:05:03] "GET /notify HTTP/1.1" 200 -
Run Code Online (Sandbox Code Playgroud)

ipv6 flask

6
推荐指数
1
解决办法
5071
查看次数

IPv6绑定失败

我有一个服务器实现,我需要2个独立的套接字 - 1个IPv4套接字套接字监听特定的IPv4地址和服务器端口X,以及一个IPv6套接字监听特定的IPv6地址和相同的服务器端口X.IPv4和IPv6地址打开相同的界面.

    memset(&sin, 0, sizeof(sin));
    sin.sin_family      = AF_INET;
    sin.sin_addr.s_addr = htonl(v4addr);
    sin.sin_port        = htons(tcp_port);
Run Code Online (Sandbox Code Playgroud)

我正在使用evconnlistener_new_bind创建ipv4套接字并绑定到它.对于IPv6侦听器,代码如下.

    memset(&sin6, 0, sizeof(sin6));
    sin6.sin6_family      = AF_INET6;
    memcpy(sin6.sin6_addr.s6_addr, v6addr_bytes, IPV6_ADDR_LEN);
    sin6.sin6_port        = htons(tcp_port);

    fd = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP);
    evutil_make_socket_nonblocking(fd)
    setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, (void*)&on, sizeof(on))
    setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, (void*)&on, sizeof(on))
    evutil_make_listen_socket_reuseable(fd)   /* Libevent call to set SO_REUSEADDR */
    evutil_make_socket_nonblocking(fd)        /* Libevent call to set fd non-blocking */ 
    bind(fd, (const struct sockaddr *)&sin6, sizeof(sin6))
Run Code Online (Sandbox Code Playgroud)

当我将fd绑定到特定的ipv6地址时,我会间歇地看到绑定失败.

绑定v6失败sin6 3ffe :: a00:513 - 错误99 - 无法分配请求的地址

我尝试了gdb,但每次我gdb,绑定成功.

我不确定为什么我会看到这个问题.有人可以帮忙吗?

c sockets linux ipv6

6
推荐指数
1
解决办法
1671
查看次数

如何在C/C++中减去两个IPv6地址(128位数)?

我正在存储sockaddr_in6支持四个32位数组addr [4]的IP地址.基本上是一个128位的数字.

我正在尝试计算给定IPv6范围内的IP数量(两者之间的IP数).所以这是使用两个长度为4的数组从一个减去另一个的问题.

问题是因为没有128位数据类型,我无法转换为十进制.

万分感谢!

c c++ networking ipv6

6
推荐指数
1
解决办法
764
查看次数

支持仅IPv6网络应该注意哪些事项?

关于苹果关于iPv6 -only网络的公告,我有一些疑问.

https://developer.apple.com/news/?id=05042016a

1)如果我的应用程序已经上传而没有支持ipv6,会发生什么?

2)我正在使用旧的Reachability类,它会创建任何问题吗?

3)我正在使用使用NSURLConnection的ASIHTTP库.

4)如果我的代码中没有使用任何静态iP,但我的服务器支持iPV4,那么它会造成任何麻烦吗?

谢谢

ipv6 reachability ios

6
推荐指数
1
解决办法
297
查看次数