네트워크 주소 공간

에뮬레이터는 앱에 복잡한 모델링 및 테스트 환경을 설정하는 데 사용할 수 있는 다목적 네트워킹 기능을 제공합니다. 이 페이지에서는 에뮬레이터 네트워크 아키텍처 및 기능을 소개합니다.

각 인스턴스의 가상 라우터는 10.0.2/24 네트워크 주소 공간을 관리합니다.

  • 라우터가 관리하는 모든 주소는 10.0.2.xx 형식이며 여기서 xx는 숫자입니다.

다음 표는 이 공간 내의 주소가 에뮬레이터나 라우터에 의해 미리 할당되는 방식을 보여줍니다.

네트워크 주소 설명
10.0.2.1 라우터 또는 게이트웨이 주소
10.0.2.2 호스트 루프백 인터페이스의 특수 별칭 (개발 머신의 127.0.0.1)
10.0.2.3 첫 번째 DNS 서버
10.0.2.4, 10.0.2.5, 10.0.2.6 두 번째, 세 번째, 네 번째 DNS 서버(선택사항)
10.0.2.15 이더넷을 사용하여 연결된 경우의 에뮬레이션된 기기 네트워크
10.0.2.16 Wi-Fi를 사용하여 연결된 경우의 에뮬레이트된 기기 네트워크입니다.
127.0.0.1 에뮬레이션된 기기 루프백 인터페이스

Wi-Fi 외에도 이더넷을 사용하여 연결할 때 실행 중인 모든 에뮬레이터 인스턴스에서 동일한 주소 할당이 사용됩니다. 즉, 컴퓨터에서 인스턴스 두 개가 동시에 실행되는 경우 각각 자체 라우터가 있고 그 뒤에는 IP 주소 10.0.2.15가 있습니다. 인스턴스는 라우터에 의해 격리되며 같은 네트워크에서 서로를 감지할 수 없습니다. 에뮬레이터 인스턴스가 TCP/UDP를 통해 통신하도록 하는 방법에 관한 자세한 내용은 에뮬레이터 인스턴스 상호 연결하기를 참고하세요.

개발 머신의 주소 127.0.0.1은 에뮬레이터의 루프백 인터페이스에 상응합니다. 개발 머신 루프백 인터페이스에서 실행 중인 서비스에 액세스하려면 특수 주소 10.0.2.2를 대신 사용하세요.

에뮬레이션된 기기의 미리 할당된 주소는 Android Emulator에 따라 다르며 실제 기기에서는 다를 수 있습니다 (특히 라우터나 방화벽 뒤에서 네트워크 주소가 변환될 가능성도 매우 높음).

로컬 네트워킹 제한

에뮬레이터에서 실행되는 Android 앱은 워크스테이션에서 사용 가능한 네트워크에 연결될 수 있습니다. 그러나 앱은 하드웨어에 직접 연결되는 것이 아니라 에뮬레이터를 통해 연결되며 에뮬레이터는 워크스테이션에서 일반 앱처럼 작동합니다. 이로 인해 몇 가지 제한이 발생할 수 있습니다.

  • 에뮬레이션된 기기와의 통신이 머신에서 실행 중인 방화벽 프로그램에 의해 차단될 수 있습니다.
  • 머신이 연결된 다른 (물리적) 방화벽 또는 라우터에 의해 에뮬레이션된 기기와의 통신이 차단될 수 있습니다.

개발 머신의 네트워크 환경에서 이러한 연결을 허용하는 경우 에뮬레이터의 가상 라우터는 에뮬레이션된 기기의 모든 아웃바운드 TCP 및 UDP 연결과 메시지를 처리할 수 있습니다. 호스트 운영체제 및 네트워크에 따라 적용되는 제한을 제외하고 포트 번호 또는 범위에 기본적으로 지정된 제한은 없습니다.

환경에 따라 에뮬레이터는 'ping'에 사용되는 ICMP와 같은 다른 프로토콜을 지원하지 못할 수도 있습니다. 에뮬레이터는 IGMP를 지원하지 않습니다. 예를 들어 사용자는 ping 명령어를 사용하여 호스트 머신이나 LAN의 다른 기기를 핑할 수 없습니다.