当前位置: 首页 > Web前端 > HTML

Node.js源码中,为什么优先绑定ipv6?【精简知识】

时间:2023-04-03 01:04:15 HTML

写这篇文章是因为阅读Node.js源码的关键环节,看到这行代码的意思是调用listen函数监听端口最后调用了这个函数,所以找到了CVTE视源股份技术经理张师傅,张师傅给我的回复是:于是我点了翻译,确认了大概意思:意思是ipv4socket不能接受ipv6包,我们来看看什么程度说一下ipv4和ipv6的区别:1.地址空间不同。IPv4中IP地址的长度是32位,而IPv6中IP地址的长度是1282位。路由表的大小不同,IPv6的路由表比IPv4更小。3、IPv6的组播支持和流支持比IPv4强。4、安全性不同,IPv6的安全性更高。在使用IPv6网络时,用户可以在网络层对数据进行加密。5、协议扩展不同,IPv6允许协议扩展,IPv4则不允许。打开wireshark抓包,查看ip头信息。0100表示ipv4,0110表示IPv6。当IPv4接口收到一个IPv6数据包时,它会被自动丢弃。IP数据包的版本将在启用IPv6协议的路由器上自动识别,并根据需要进行处理。对于一般的计算机网卡,只要开启IPv6协议就可以处理IPv6数据包。这也印证了英文的后半句:Inthisway,你应该明白源码里为什么这么写了。目前,ipv4和ipv6实现双协议栈通信的方式有以下三种:ipv4和ipv6的区别DualIPlayertechnologyDualIPlayer是保持IPv6和IPv4互操作性最直接的方式。适用于互联网从IPv4向IPv6过渡的初期。具有双IP层的节点成为IPv4/IPv6节点。它具有两种IP协议的完整实现。2.隧道技术隧道技术适用于互联网从IPv4到IPv6的中期过渡。其原理是当两个IPv6网络之间的中间网络的多协议路由器收到源主机的IP包时,将其放入域中的中间网络层数据包中,当到达多协议路由器时在中间网络的另一端再还原源IP包转发给目的主机,这样整个中间网络就像一个隧道。3.Headertranslationtechnology?当互联网中只有少数IPv4节点时(过渡阶段后期),headertranslation技术可以维持IPv6和IPv4节点之间的通信。当向IPv4节点发送消息时,如果路径上的最后一个IPv6/IPv4路由器发现目的地址是一个IPv4映射地址,它将转换报头,用IPv4报头替换IPv6报头,并转发给目的IPv4节点。接下来写一下webAssebmly在项目中的实践以及Node.js的核心源码分析。我认为写得很好。可以点击阅读,谢谢