본문 바로가기

CS & ITS

IP주소 127.0.0.1과 Localhost, 0.0.0.0의 차이점

이 문서의 내용

    127.0.0.1과 Localhost

    127.0.0.1루프백(Loopback) 주소라고 부르는 IP 주소입니다. 루프백 주소는 로컬 호스트(Localhost)라고도 부릅니다.

    루프백 주소를 사용하는 서버는 해당 PC와 물리적으로 분리되어 있는 다른 PC로부터 패킷을 받을 수 없습니다.

    더보기

    루프백 주소를 사용하는 서버는 서버 PC 내부에서의 패킷만 처리 할 수 있습니다.

    따라서 테스트 환경에서 개인 작업용 서버를 띄우거나, 프로덕션 환경에서 호스트 내부 간의 통신만을 허용하기 위한 목적으로 사용됩니다.

    테스트 환경에서의 개인 서버 프로덕션 환경에서의 서버
    외부 네트워크로부터 패킷을 받을 필요가 없는 경우입니다. 외부와의 통신을 의도적으로 단절하고,
    루프백 주소를 통한 호스트 내부의 서버 간 통신만을 허용합니다.

    IPv4와 IPv6에서의 로컬 호스트

    로컬 호스트는 IPv4와 IPv6에서 다른 대역폭을 갖습니다.

    IPv4의 경우 127.0.0.1 ~ 127.255.255.255까지 127.0.0.0/8의 IP 대역을 루프백 주소로 사용 할 수 있습니다.

    IPv4에서 선택 할 수 있는 루프백 주소가 많지만, 일반적으로는 127.0.0.1을 루프백 주소로 사용합니다.

    반면 IPv6에서는 ::1/128 IP 주소만 루프백 주소로 사용 할 수 있습니다.

    0.0.0.0

    IP 주소 0.0.0.0은 호스트에서 사용 할 수 있는 모든 IP 주소를 의미합니다.

    어떤 호스트는 Ethernet, Wi-Fi, Bluetooth 등 2개 이상의 IP 주소를 가질 수 있습니다.

    이때 IP 주소 0.0.0.0으로 개설된 서버는 호스트가 사용하는 모든 IP 주소(127.0.0.1과 같은 루프백 주소를 포함)로부터 수신되는 패킷을 받을 수 있습니다.

    더보기

    호스트가 모든 IP 주소를 사용하므로, 내부 IP와 외부 IP 역시 포함됩니다.

    따라서 루프백 주소와 달리 다른 호스트의 패킷을 수신 할 수 있습니다.

    IPv6 환경에서의 0.0.0.0은 *::을 사용합니다.

    정리 및 복습

    • 127.0.0.1루프백 주소, 로컬 호스트는 모두 같은 의미로 사용됩니다.
    • 루프백 주소는 127.0.0.1 ~ 127.255.255.255에 해당하는 127.0.0.0/8의 IP 대역폭을 사용 할 수 있지만, 일반적으로 127.0.0.1을 의미합니다.
    • 0.0.0.0은 호스트가 사용하는 모든 IP주소를 의미하며, 루프백 주소 역시 포함됩니다.
    • 루프백 주소는 외부 호스트의 접근을 차단하지만, 0.0.0.0은 외부 호스트에서 접근 가능합니다.
    • IPv4에의 루프백 주소는 IPv6에서 ::1/128이며, IPv4에서의 0.0.0.0 주소는 IPv6에서 *::입니다.