| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 모임 장소 추천
- Container Registry
- kusitms
- 이펙티브자바
- JPQL
- 도메인 주도 개발 시작하기
- K3S
- springboot
- 한국대학생it경영학회
- 불변객체
- JPA
- Domain Driven Design
- 자바 ORM 표준 JPA 프로그래밍
- java
- ddd
- 최범균
- cicd
- 중간 지점 찾기
- 백엔드
- 모이삼
- Spring
- GitHub Actions
- redis
- 쿠버네티스
- 큐시즘
- 중간 지점 추천
- 중간 장소 추천
- 약속 장소 추천
- 중간 장소 찾기
- 객체지향 쿼리 언어
Archives
- Today
- Total
코딩은 마라톤
[Network] Loopback 루프백 (127.0.0.1, localhost) 본문
Loopback 루프백이란?
루프백은 Loop + Back, 단어 그대로 되돌려 보내는 행위를 의미한다.
이걸 네트워크에 적용해 보면, 데이터를 자기 자신에게 다시 전송하는 메커니즘을 뜻한다.

루프백 주소란?
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를 통해 로컬에서 웹 서버를 띄우고 테스트하기 위해서 항상 접속하는 주소가 있다.

개발을 조금이라도 해봤다면 쉽게 이해할 수 있다. 바로 '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) | 물리적인 케이블을 통해 외부로 전달하지 않음 |