传统的IPv4点分四元组符号用冒号分隔端口地址,如环回接口上的Web服务器示例所示:
127.0.0.1:80
但使用IPv6表示法时,地址本身可以包含冒号。例如,这是环回地址的简写形式:
::1
端口(或其功能等价物)如何以IPv6地址/端口端点的文本表示形式表示?
答案 0 :(得分:165)
他们的工作方式与今天几乎相同。但是,请确保在您的IP周围添加[]
。
例如:http://[1fff:0:a88:85a3::ac1f]:8001/index.html
维基百科有一篇关于IPv6的非常好的文章:http://en.wikipedia.org/wiki/IPv6#Addressing
答案 1 :(得分:27)
IPv6中使用的协议与IPv4中的协议相同。两个版本之间唯一改变的是寻址方案,DHCP [DHCPv6]和ICMP [ICMPv6]。所以基本上,TCP / UDP相关的任何东西,包括端口范围(0-65535)都保持不变。
编辑:端口0是TCP中的保留端口,但确实存在。见RFC793
答案 2 :(得分:5)
维基百科points out,IPv6地址的语法包括冒号,并且有一个防止固定长度解析的简短形式,因此您必须用[]分隔地址部分。这完全避免了奇怪的解析错误。
(摘自an edit Peter Wone对原始问题。)
答案 3 :(得分:4)
他们是一样的,不是吗?现在我对自己失去了信心,但我真的认为IPv6只是一种解决方案。 TCP和UDP仍然在IPv4下进行寻址。
答案 4 :(得分:4)
我很确定端口只有tcp和udp的一部分。即使您使用新的IP协议,它也完全相同
答案 5 :(得分:4)
我想说最好的参考是Format for Literal IPv6 Addresses in URL's,其中定义了[]的用法。
另外,如果是编程和代码,特别是Java,我会建议读取Class for Inet6Address java/net/URL definition,其中详细介绍了Inet6内容和其他情况下Inet4地址的使用情况。对于我的情况,IPv4映射地址的形式:: ffff:w.x.y.z,对于IPv6地址用于表示IPv4地址也解决了我的问题。它允许本机程序在与IPv4和IPv6节点通信时使用相同的地址数据结构和相同的套接字。亚马逊云Linux盒默认设置就是这种情况。
答案 6 :(得分:3)
我不确定你得到了什么。 TCP和UDP层结构相同。顾名思义,IPV6是关于IP层的增强而不是TCP或UDP层。