반응형
127.0.0.1(루프백 주소, Loopback Address)
- 자기 자신을 가리키는 IP 주소로, 루프백 주소라고 부른다.
- 네트워크 인터페이스를 거치지 않고 자신의 로컬 네트워크 스택을 통해서만 통신한다.
- 물리적인 네트워크 인터페이스 카드(NIC)를 사용하지 않으며, 소프트웨어적으로만 처리된다.
사용 목적
- 네트워크 프로그램 개발 및 테스트 (예: 웹 서버, 데이터베이스 서버 등)
- 자기 자신과의 네트워크 연결 테스트
0.0.0.0(와일드카드 주소, Wildcard Address)
- 일반적으로 모든 네트워크 인터페이스를 의미하는 주소로 사용된다.
- 특정한 네트워크 인터페이스에 국한되지 않고, 모든 사용 가능한 네트워크 인터페이스를 의미한다.
- 서버가 바인딩(bind)될 때, 모든 IP 주소에서 들어오는 요청을 수락하도록 설정할 때 사용된다.
- 네트워크 인터페이스가 아직 할당되지 않았거나, IP 주소가 없는 경우에도 0.0.0.0을 사용하여 의미를 전달할 수 있다.
사용 목적
- 네트워크 서비스가 모든 IP에서 들어오는 요청을 수락하도록 설정할 때
- 특정한 네트워크 인터페이스가 없거나 아직 설정되지 않은 경우(예: 부팅 중 IP 할당 전)
- 방화벽 및 네트워크 라우팅 설정에서 특정하지 않은 모든 주소를 나타낼 때
localhost(로컬 호스트, Localhost)
- localhost는 127.0.0.1을 가리키는 도메인 네임(domain name)이다.
- localhost라는 이름은 /etc/hosts 또는 C:\Windows\System32\drivers\etc\hosts 파일에서 127.0.0.1로 매핑되어 있다.
- 네트워크 인터페이스를 거치지 않고, 로컬 컴퓨터에서만 동작한다.
사용 목적
- 자기 자신과의 네트워크 연결을 위한 테스트
- 개발 환경에서 로컬 서버를 실행할 때
- 보안상의 이유로 외부 접근을 막고, 내부에서만 접근하도록 설정할 때
각각의 특징을 정리
정리하자면
평소에 어렴풋하게만 알고있던 개념들에 대해서 한번 짚고 넘어가는 시간이 되었으면 좋겠다.
- 127.0.0.1 : 자기 자신을 가리키는 루프백 주소
- 0.0.0.0 : 모든 네트워크 인터페이스에서 요청을 수락하는 용도로 사용
- localhost : 127.0.0.1을 가리키는 도메인 네임
'프로그래밍' 카테고리의 다른 글
리눅스(Linux) 프로세스(Process) 생성 및 종료 (0) | 2025.01.31 |
---|---|
SSH 키 생성을 위한 두 가지 방법 PuTTYgen vs OpenSSH (0) | 2025.01.17 |
더 나쁜 것이 더 좋습니다? Worse is better (0) | 2025.01.13 |
C# Web API 구조 - 비동기, 멀티스레드, 쓰레드 풀 (1) | 2025.01.03 |
도메인 주도 개발(Domain-Driven Development) 모델과 모델링 (1) | 2024.11.20 |
댓글