다음을 통해 공유


Teredo 통해 요청된 트래픽 수신

Microsoft 인터넷 Explorer 및 Microsoft Outlook과 같은 많은 애플리케이션은 인터넷에 대한 연결만 시작합니다. 이러한 애플리케이션의 경우 Teredo 다른 IPv6 인터페이스가 없는 경우 IPv6을 통해 원활한 연결을 제공할 수 있습니다. 또한 이전 Microsoft Windows XP SP2(서비스 팩 2) 및 Windows Server 2003 플랫폼의 Teredo 인터페이스를 통해 요청된 트래픽을 수신할 수 있습니다.

다음 설명서에서는 이러한 애플리케이션이 연결을 달성하는 방법과 Teredo 사용되는 상황을 설명합니다.

대상 주소 가져오기

애플리케이션은 DNS(Domain Name System) 또는 PNRP(피어 이름 확인 프로토콜)와 같은 다양한 방법을 사용하여 대상 주소를 가져오려고 시도합니다. 애플리케이션은 이러한 방법을 사용하여 여러 IPv4 및 IPv6 IP 주소를 가져올 수 있습니다. IP 주소를 가져오는 데 사용되는 일반적인 API에는 Windows XP API GetHostByName 및 새 Windows Vista API GetAddrInfo가 포함됩니다. 예를 들어 getAddrInfo API와 ai_family 매개 변수를 사용하여 addrinfo/protocol 힌트로 AF_INET6 설정하면 사용자가 특히 IPv6 주소에 대한 DNS 서버를 쿼리할 수 있습니다. DNS_TYPE_AAAA 형식의 DnsQuery API를 사용하여 AAAA 레코드에 대한 DNS 서버를 쿼리할 수도 있습니다.

연결 설정

Teredo 설정된 연결은 다른 IPv6 연결처럼 처리되므로 'seamless'로 설명됩니다. 애플리케이션의 프로그래밍은 Teredo 인터페이스를 활용할 수 있도록 특별히 고려할 필요가 없습니다. Teredo 인터페이스 간에 연결이 설정된 경우 6to4 및 기타 네이티브 인터페이스의 일반적인 릴레이 라우터는 필요하지 않습니다. 그러나 Teredo IPv6 연결에 대한 최후의 수단 전환 기술로 설계되었습니다.

참고

제공된 호스트 이름이 IPv4 주소로만 확인되면 Teredo 사용되지 않습니다.

 

애플리케이션이 IPv6 주소를 사용하여 대상에 연결하려고 하면 다음이 발생합니다.

  • 애플리케이션은 GetAdaptersAddresses API를 호출하여 IPv6 주소 목록을 가져옵니다. Windows Vista 스택은 RFC 3484에 지정된 정렬 순서에 따라 모든 인터페이스 목록을 반환합니다. 따라서 IPv6 및 6to4 IPv6 인터페이스가 Teredo 인터페이스 앞에 나열됩니다. 그러나 네이티브 IPv6 또는 6to4 연결을 사용할 수 없는 경우 Teredo 유일한 IPv6 지원 인터페이스가 나열됩니다.

    애플리케이션은 Windows Vista 스택에서 제공하는 모든 인터페이스를 사용할 수 있지만 반환되는 인터페이스 목록의 순서는 가장 자주 Teredo 마지막으로 시도됩니다.

  • Windows Vista가 Teredo 인터페이스를 통해 연결을 시도하기 전에 운영 체제는 IPv6 주소가 안정화되었는지 확인합니다. 이 작업은 나가는 연결에 대해 자동으로 수행되며 애플리케이션에 대한 중요한 고려 사항이 아닙니다. 주소 안정성을 보장하기 위해 애플리케이션이 필요한 경우 NotifyStableUnicastIpAddressTable API를 호출하여 Teredo 주소가 안정적인지 확인할 수 있습니다.

  • Teredo 인터페이스는 대상의 다른 Teredo 인터페이스에 연결을 시도합니다. Teredo 인터페이스가 없으면 호스트별 릴레이를 통해 네이티브 또는 6to4 대상 주소로 연결이 설정됩니다.

인터넷 연결을 시작하는 애플리케이션이 원치 않는 트래픽을 수신할 수도 있습니다. 자세한 내용은 Teredo 통해 원치 않는 트래픽 수신을 참조하세요.

WSAConnectByName API 사용

WSAConnectByName API를 호출하면 애플리케이션이 정확한 IP 주소를 지정하는 대신 대상 이름에 연결할 수 있습니다. Windows Vista 스택은 IPv4보다 IPv6을 선호하므로 먼저 IPv6 주소에 대한 연결 시도가 이루어집니다.

WSAConnectByName API를 호출하면 다음 순서로 가져온 모든 대상 IP 주소가 정렬됩니다.

  • 네이티브 IPv6 주소
  • 6to4 IP 주소
  • IPv4 주소
  • Teredo 주소

대상 주소가 내부적으로 정렬되면 대상 주소에 대한 로컬 호스트에서 사용할 수 있는 최상의 경로에 따라 대상에 대한 연결이 시도됩니다. 정렬된 주소의 순서에 따라 대상 이름이 IPv4 및 Teredo 주소로 확인되면 IPv4 주소가 연결을 설정하는 데 사용됩니다.

WSAConnectByName API는 내부적으로 작동하여 주소 간에 가장 일치하는 항목을 찾습니다. 이 시도는 로컬 호스트 및 대상 주소에서 사용할 수 있는 경로를 기반으로 합니다.

현재 인터넷에서 Teredo 릴레이가 없기 때문에 네이티브 IPv6 주소에 대한 연결은 Teredo 인터페이스를 통해 성공할 가능성이 낮습니다. WSAConnectByName이 호출되면 Teredo 사용 가능한 유일한 IPv6 지원 인터페이스인 경우 Windows Vista에서 AAAA 쿼리를 실행하지 않습니다. 이렇게 하면 네이티브 IPv6 주소가 대상으로 가져오지 않고 IPv4를 통해 연결이 시도되며 성공 가능성이 가장 높습니다. Teredo 유일한 IPv6 지원 인터페이스인 경우 IPv6 주소를 가져오려면 애플리케이션이 AAAA 레코드에 대해 DnsQuery API를 명시적으로 사용해야 합니다.