로컬호스트란 무엇이며 127.0.0.1과 어떻게 다른가요?

네트워크 장치가 모두 연결 해제된 상태에서도 컴퓨터는 일종의 네트워크를 통해 통신할 수 있습니다. 이를 “루프백”이라고 하며, 유닉스 머신은 가상 네트워크 장치를 통해 자신에게서 자신으로 네트워크 통신을 송수신할 수 있습니다. 컴퓨터는 자신에게 메시지를 보낼 수 있어, 작동하는 네트워크 없이도 네트워크 스타일의 통신을 허용합니다.

127.0.0.1이란 무엇인가요?

127.0.0.1은 가장 일반적으로 사용되는 루프백 IP 주소입니다. 이는 루프백 기능을 위해 특별히 사용되는 1,600만 개 이상의 IP 주소의 예약 블록의 일부입니다. 루프백은 컴퓨터가 네트워킹 연결 프로토콜을 사용하여 자신과 통신할 수 있게 합니다.

광범위하게 추상화하면, 루프백은 단일 엔드포인트와 네트워크 연결을 생성하는 가상 네트워킹 장치로, 이는 동일한 장치인 컴퓨터에서 시작하고 끝난다는 것을 의미합니다. 실제로 루프백 장치는 위에서 보듯이 ipconfig에서 lo라는 이름으로 나타납니다. 루프백 주소는 주로 문제 해결(거울을 보는 것과 유사)이나 네트워크 인터페이스를 통해 로컬 리소스에 접근하는 데 사용됩니다.

또한 읽어보세요: Nginx를 리버스 프록시로 사용하는 방법

로컬호스트란 무엇인가요?

difference-localhost-127-0-0-1-networking

“로컬호스트”는 원래 서버에 연결되는 통신 포트를 설명합니다. 이는 네트워크 연결이 “자기 자신으로 루프백”되도록 하여, 그러한 네트워크가 존재하지 않거나 사용할 수 없을 때 네트워크 연결을 에뮬레이트할 수 있게 합니다. 실제로 로컬호스트는 사용 및 논의에서 127.0.0.1과 동의어로 취급됩니다. 그러나 그들이 엄밀히 동일하지 않다는 점을 기억하는 것이 중요합니다.

운영 체제는 사용자가 입력한 텍스트 문자열을 탐색 가능한 IP 주소로 변환하기 위해 DNS 요청을 하기 전에 HOSTS 파일에서 별칭이나 리디렉션 규칙을 확인합니다. 표준 기본값으로 구성된 시스템에서는 URI의 “로컬호스트”가 IPv4에서는 127.0.0.1로, IPv6에서는 ::1로 해결됩니다. 그러나 루프백 주소는 이 두 개보다 훨씬 더 많습니다. 루프백 주소를 위해 예약된 IP 주소 블록은 127.0.0.0에서 127.255.255.255까지 확장됩니다.

대부분의 경우 로컬호스트는 위에서 언급한 대로 HOSTS 파일의 리디렉션 규칙 덕분에 127.0.0.1로 해결됩니다. 그러나 경우에 따라 로컬호스트가 다른 IP 주소에 매핑될 수 있습니다. 따라서 로컬호스트는 해당 블록의 어떤 IP 주소로도 지정될 수 있으며, 동일하게 작동합니다.

결론: 로컬호스트와 127.0.0.1의 차이점은 무엇인가요?

대부분의 머신에서 로컬호스트와 127.0.0.1은 기능적으로 동일합니다. 그러나 로컬호스트는 IP 주소에 대한 레이블이며 주소 자체는 아닙니다. 로컬호스트는 다른 IP 주소를 가리킬 수 있습니다. 실제로 예약된 주소 블록 외부의 IP 주소로도 지정될 수 있습니다. HOSTS 파일은 신경 쓰지 않으며 이를 막지 않습니다. 그러나 이는 시스템의 중요한 기능을 손상시키고 로컬호스트 연결에 의존하는 모든 앱을 충돌시킬 것입니다.

127 블록의 주소는 루프백 주소 블록을 위해 선택되었는데, 이는 이진 주소 값 00000001에서 01111111까지의 마지막 클래스 A 주소 블록이기 때문입니다. IPv6에서는 루프백 주소가 첫 번째 주소인 0:0:0:0:0:0:0:1이며, 가장 자주 축약형인 ::1로 표현됩니다.

Windows에서 Unix 시스템으로 전환하는 경우 루프백이 사실상 로컬호스트와 동의어라는 것을 알 수 있습니다. HOSTS 파일을 사용하여 “루프백”을 127.0.0.1로 리디렉션할 수 있지만, 이는 다른 것보다 텍스트 교체에 가깝습니다.