- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在为 C++ 库编写一个 python 包装器,它通过 IPv6 链接本地地址进行网络通信。要初始化库,必须选择网络接口(interface)。这是通过所需接口(interface)的链路本地地址完成的。
在 C++ 方面,我们使用 boost address_v6 objects .在 python 端 ipaddress.IPv6Address似乎是绝配。
但是我没有找到在 python 端指定接口(interface)范围 id 的方法。
ip = ipaddress.IPv6Address('fe80::3c4e:6a7:3f57:4cbc%12')
给出错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python34\lib\ipaddress.py", line 1835, in __init__
self._ip = self._ip_int_from_string(addr_str)
File "C:\Python34\lib\ipaddress.py", line 1664, in _ip_int_from_string
raise AddressValueError("%s in %r" % (exc, ip_str)) from None
ipaddress.AddressValueError: Only hex digits permitted in '4cbc%12' in 'fe80::3c4e:6a7:3f57:4cbc%12'
如果没有范围 ID,IPv6 链路本地通信几乎是不可能的。
我是否遗漏了什么,或者是将 IPv6 链路本地接口(interface)地址指定为字符串的最佳方式吗?
最佳答案
我建议在所有有意义的情况下使用与 Python 套接字模块相同的结构。即使使用您的 native 库意味着不会使用 Python 套接字模块,但如果某些数据结构在两者之间兼容,它仍然是有益的。
为了表示 IP 地址,Python 套接字模块确实使用了字符串。该字符串可以在适当的时候包含范围 ID。
为此,Python 套接字模块还需要表示套接字地址,它使用由四个字段组成的元组。例如,它可以是:
('ff02::2%eth0', 80, 0, 2)
请注意,此表示有点多余,因为范围 ID 在 IP 地址内指定为 %eth0
和 2
(元组的最后一个元素) .
关于python - python ipaddress.IPv6Address 实例中的范围 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29040788/
目前部署在 Kubernetes 中的服务,通过 Calico BGP 将 Service 与集群外网络打通,并在外部的 nginx 中配置 Service 地址对外进行服务暴露。经过一段时间的观察
如发现here , 有一种新的 kube 服务是 IPVS 并且有很多负载均衡算法。 唯一的问题是我没有找到指定这些算法的位置。 我的理解: rr:循环法->循环调用后端pod lc:最少连接-> 将
我想尝试这种新的代理模式以及它为我们的一些应用程序提供的各种调度程序。到目前为止,我一直无法找到更改默认模式的方法 iptables至 ipvs在 GKE 节点上。 每个人都说通过--proxy-mo
我想在现有集群中为 IPVS 启用 Kube-proxy 模式。目前,它在 IPtables 上运行。如何在不影响现有工作负载的情况下将其更改为 IPVS? 我已经安装了所有必需的模块来启用它。另外,
我正在开发的应用程序作为 Kubernetes 集群中的部署运行。为此部署创建的 Pod 分布在集群中的各个节点上。我们的应用程序一次只能处理一个 TCP 连接,并且会拒绝进一步的连接。目前,我们使用
我是一名优秀的程序员,十分优秀!