컴퓨터와 인터넷을 사용하는 모든 사람들에게 익숙한 단어, “localhost”. 그런데 왜 매일 사용하면서도 우리는 그 작동 원리를 잘 모를까요? 이번 글에서는 이 궁금증을 해결하고, localhost가 어떻게 동작하는지 이해할 수 있도록 관련 내용에 대해 자세히 알려드리겠습니다.
localhost의 정의
우리가 localhost라고 말할 때, 이는 내 컴퓨터 자체를 가리키는 주소입니다. 이 주소는 고정적으로 127.0.0.1이라는 IP 주소를 사용합니다. 즉, localhost로 데이터를 전송하면, 이는 외부로 나가지 않고 바로 내 컴퓨터로 돌아옵니다. 마치 혼잣말을 하듯, 내 컴퓨터가 내 말을 듣는 구조인 것이죠.
Network Interface (NI)
네트워크 인터페이스는 컴퓨터가 네트워크에 연결되기 위해 필요한 장치입니다. 와이파이, 랜 카드 등이 이에 해당하죠. 이 장치들은 OS에 의해 인식되고, 각 장치는 고유의 NI 번호를 부여받습니다. 이 번호는 터미널 명령어 ifconfig나 ipconfig /all 등을 통해 확인할 수 있습니다.
Loopback NI
모든 컴퓨터에는 Loopback NI라는 가상의 장치가 있습니다. 이 장치는 실제 물리적 장치가 아니며, 127.0.0.0/8 대역의 IP 주소를 처리합니다. 그 중 127.0.0.1은 가장 많이 사용되는 주소로, 이 주소가 바로 localhost를 의미합니다. 즉, Loopback NI 덕분에 localhost를 사용할 수 있는 것입니다.
localhost의 패킷 흐름
- 앱에서 데이터 전송: 웹 브라우저로 http://127.0.0.1 요청을 보냅니다.
- 로컬로 패킷 전달: TCP/IP 스택을 통해 루프백 NI로 갑니다.
- 서버 앱 요청 수신: 로컬 서버 앱은 요청을 수신하고 응답을 생성합니다.
- 응답 패킷의 루프백 경로: 응답 패킷은 동일한 과정을 거쳐 브라우저로 돌아옵니다.
마무리
localhost는 우리가 매일 사용하는 개념이지만, 그 작동 원리를 이해하면 문제 해결에 큰 도움이 됩니다. 이 글이 여러분의 궁금증을 해결하고, 네트워크에 대한 이해를 높이는 데 도움이 되길 바랍니다.