코딩은 마라톤

[Network] Loopback 루프백 (127.0.0.1, localhost) 본문

CS/네트워크

[Network] Loopback 루프백 (127.0.0.1, localhost)

anxi 2025. 12. 13. 20:00

Loopback 루프백이란?

루프백은 Loop + Back, 단어 그대로 되돌려 보내는 행위를 의미한다.

이걸 네트워크에 적용해 보면, 데이터를 자기 자신에게 다시 전송하는 메커니즘을 뜻한다.

forloop의 loop와 동일

 

루프백 주소란?

127.0.0.0에서 시작하여 127.255.255.255로 끝나는 예약된 IP 주소 범위를 말한다.

IPv4 루프백 주소

  • IPv4 범위: 127.0.0.0/8
    • 브로드캐스트 주소: 127.255.255.255
  • 일반적으로 사용되는 루프백 주소: 127.0.0.1 (로컬호스트, localhost로 알려져 있다.)

IPv6 루프백 주소

  • IPv6 범위: ::1

활용 예시: localhost:8080 + 동작 방식

SpringBoot를 통해 로컬에서 웹 서버를 띄우고 테스트하기 위해서 항상 접속하는 주소가 있다. 

Swagger를 사용할 때도 localhost로 접속한다.

 

개발을 조금이라도 해봤다면 쉽게 이해할 수 있다. 바로 'localhost:8080'이다.

 

Nestjs, Spring Boot와 같은 프레임워크를 통해 로컬에서 웹 서버를 띄워 Swagger로 API 테스트할 때 우리는 항상 localhost:8080에 접속한다.

 

루프백 주소를 사용해 외부 네트워크와 연결 없이 로컬 컴퓨터가 스스로에게 요청하고 응답을 받기 위해 루프백 메커니즘을 이용한다.

 

루프백이 localhost:8080에서 작동하는 방식 (OSI 7 Layer)

Layer 계층 루프백 통신 과정
7 응용 (Application) 웹 브라우저(클라이언트)가 HTTP 요청 생성
6 표현 (Presentation) 데이터가 필요한 형식으로 인코딩
5 세션 (Session) 통신 세션 시작
4 전송 (Transport) 브라우저 프로세스가 목적지 포트(8080)를 지정, 데이터는 TCP 세그먼트로 캡슐화
3 네트워크 (Network) IP 계층이 목적지 IP 주소 127.0.0.1을 확인 후 루프백 주소임을 인지하여 라우팅 테이블의 루프백 인터페이스로 경로 지정

📍루프백 인터페이스: 루프백 통신을 가능하게 하는 운영체제 내의 가상 네트워크 인터페이스
2 데이터 링크 (Data Link) 패킷이 외부 LAN 카드로 전달되지 않음으로 사용되지 않음
1 물리 (Physical) 물리적인 케이블을 통해 외부로 전달하지 않음

 

참고