기존의 IPv4 도트 쿼드 표기법은 루프백 인터페이스의 웹 서버 예에서와 같이 주소와 포트를 콜론으로 구분합니다.
127.0.0.1:80
그러나 IPv6 표기법을 사용하면 주소 자체에 콜론이 포함될 수 있습니다. 예를 들어, 다음은 짧은 형식의 루프백 주소입니다.
::1
IPv6 주소 / 포트 엔드 포인트의 텍스트 표현으로 포트 (또는 기능상 동등한 기능)가 어떻게 표현됩니까?
답변
그들은 오늘날과 거의 동일하게 작동합니다. 그러나 []
IP 주위에 포함시켜야 합니다.
예를 들면 다음과 같습니다. http://[1fff:0:a88:85a3::ac1f]:8001/index.html
Wikipedia는 IPv6에 대한 꽤 좋은 기사를 가지고 있습니다 : http://en.wikipedia.org/wiki/IPv6#Addressing
답변
IPv6에 사용 된 프로토콜은 IPv4의 프로토콜과 동일합니다. 두 버전간에 변경된 유일한 것은 주소 지정 체계 인 DHCP [DHCPv6] 및 ICMP [ICMPv6]입니다. 따라서 기본적으로 포트 범위 (0-65535)를 포함하여 TCP / UDP 관련 사항은 변경되지 않습니다.
편집 : 포트 0은 TCP에서 예약 된 포트이지만 존재합니다. RFC793 참조
답변
그들은 동일하지 않습니까? 이제 나는 자신에 대한 자신감을 잃고 있지만 실제로 IPv6은 단지 주소 변경이라고 생각했습니다. TCP 및 UDP는 여전히 IPv4에 따라 처리됩니다.
답변
포트는 tcp와 udp의 일부만 가지고 있다고 확신합니다. 새로운 IP 프로토콜을 사용하더라도 정확히 동일합니다.
답변
위키는 지적 IPv6 주소의 구문 콜론을 포함하고, 고정 된 길이의 분석을 방지하는 간단한 형태를 가지므로, 사용자가 []와 어드레스 부를 구분하는 것이있다. 이것은 홀수 구문 분석 오류를 완전히 피합니다.
( Peter Wone 이 원본 질문을 편집 한 내용 에서 발췌 )
답변
가장 좋은 참조는 []의 사용법이 정의 된 URL의 리터럴 IPv6 주소 형식입니다 .
또한 프로그래밍 및 코드, 특히 Java 용 인 경우 Inet6 의미의 Inet4 주소 사용 및 기타 경우에 Inet6Address java / net / URL 정의에 대한 클래스를 읽는 것이 좋습니다 . 필자의 경우 IPv4 매핑 주소 :: ffff : wxyz 형식의 IPv6 주소는 IPv4 주소를 나타내는 데 사용되어 내 문제도 해결되었습니다. 기본 프로그램이 IPv4 및 IPv6 노드와 통신 할 때 동일한 주소 데이터 구조와 동일한 소켓을 사용할 수 있습니다. Amazon 클라우드 Linux 박스 기본 설정의 경우입니다.