문제

IPv4를 사용하여 약간의 UDP 예제 프로그램이 작성되었습니다. 코드를 IPv6으로 변경하면 여전히 IPv4 주소가있는 리스너를 사용하는 사람과 통신 할 수 있습니까? 나는 포팅 예제를보고 있었다

http://ou800doc.caldera.com/en/sdk_netapi/sockc.portipv4appipv6.html

코드를 간단히 변경하면 코드가 작동하는지 또는 결투 스택 모드로 작성 해야하는지 확실하지 않습니다.

도움이 되었습니까?

해결책

예, 아니오 ... IPv6에는 완전히 다른 주소 지정이 포함되어 있으므로 대체 헤더 및 구조 크기를 사용하려면 앱을 다시 코딩해야합니다.

그러나 IPv4 주소 범위는 IPv6 내에서 사용할 수 있으며 구문은 표준 주소 (예 :: 10.11.12.13) 전에 두 개의 콜론을 추가하는 것입니다. 당신은 또한 수 IPv6 패킷 내에 IPv4 주소를 포함시킵니다.

다른 팁

도움 없이는 아닙니다 IPv4/IPv6 게이트웨이 네트워크에서, 심지어 커뮤니케이션은 일반적인 문제 네트워크 주소로 번역 게이트웨이로 소개됩니다. 이와 같은 결정에 직면 한 프로그래머에 대한 전통적인 조언은 IPv4와 IPv6을 동시에 지원하는 것이 좋습니다.

IPv4와 IPv6은 본질적으로 서로 호환되지 않습니다.
몇 가지 기본 이유 :

  • 주소 공간은 완전히 다릅니다 (IPv6에는 128 비트 주소가 있고 IPv4에는 32 개의 비트 주소가 있습니다).
  • IPv6의 프로토콜 헤더는 IPv4의 프로토콜 헤더처럼 보이지 않습니다. IPv6 패킷을 IPv4로 구문 분석하려고하면 말도 안됩니다.

이것의 명백한 결과는 IPv6 소켓을 열면 IPv4 소켓을 사용하여들을 수 없다는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top