Tcp 端口如何与IPv6配合使用?

Tcp 端口如何与IPv6配合使用?,tcp,udp,ipv6,ports,Tcp,Udp,Ipv6,Ports,传统的IPv4虚线四元表示法使用冒号将地址与端口分开,如环回接口上的Web服务器示例所示: 127.0.0.1:80 但是使用IPv6表示法,地址本身可以包含冒号。例如,这是环回地址的缩写形式: ::1 端口(或其等效功能)如何以IPv6地址/端口端点的文本表示形式表示 它们是一样的,不是吗?现在我对自己失去了信心,但我真的认为IPv6只是一个解决问题的改变。TCP和UDP仍然在IPv4下寻址。IPv6中使用的协议与IPv4中的协议相同。两个版本之间唯一改变的是寻址方案,DHCP[DHCPv

传统的IPv4虚线四元表示法使用冒号将地址与端口分开,如环回接口上的Web服务器示例所示:

127.0.0.1:80
但是使用IPv6表示法,地址本身可以包含冒号。例如,这是环回地址的缩写形式:

::1

端口(或其等效功能)如何以IPv6地址/端口端点的文本表示形式表示

它们是一样的,不是吗?现在我对自己失去了信心,但我真的认为IPv6只是一个解决问题的改变。TCP和UDP仍然在IPv4下寻址。

IPv6中使用的协议与IPv4中的协议相同。两个版本之间唯一改变的是寻址方案,DHCP[DHCPv6]和ICMP[ICMPv6]。因此,基本上,任何与TCP/UDP相关的内容,包括端口范围(0-65535)都保持不变


编辑:端口0是TCP中的保留端口,但它确实存在。请参见

我非常确定端口在tcp和udp中只占一部分。因此,即使使用新的IP协议,情况也完全相同,它们的工作原理与今天几乎相同。但是,请确保在IP中包含
[]

例如:

Wikipedia有一篇关于IPv6的非常好的文章:

Wikipedia认为IPv6地址的语法包含冒号,并且有一个简短的形式,可以防止固定长度的解析,因此您必须用[]分隔地址部分。这完全避免了奇怪的解析错误


(摘自made到原始问题。)

我认为最好的参考是定义[]的用法


另外,如果是为了编程和代码,特别是Java,我建议阅读以下内容:详细介绍Inet6中Inet4地址的用法以及其他案例。在我的例子中,IPv6地址的形式::ffff:w.x.y.z的IPv4映射地址用于表示IPv4地址也解决了我的问题。它允许本机程序在与IPv4和IPv6节点通信时使用相同的地址数据结构和相同的套接字。Amazon cloud Linux Box默认设置就是这样。

这不仅仅是地址更改。它应该带来一些很酷的特性(例如全局多播)。但是是的,它对上层是透明的,它“只是”地址的改变。你所说的是寻址:)但它让人们担心/困惑的原因是网络设计将“寻址”视为地址,“服务”视为端口号。但是在TCP或UDP中,如果两者都没有,你就无法做任何事情,因此大多数人都试图让套接字级别的寻址正常工作,并且不明白为什么人们一直在编或更改分隔符:空格、点、冒号、磅号?所以,是的,我可以看到IPv6让人们担心。DCCP和SCTP也有端口,但SCTP中的端口有点不同,因为有额外的关联标识符。