Search

#005 #루프백 주소 127.0.0.1 설명

이해를 위한 전제조건

1. 강의실이 있다고 가정하자. 이 강의실 외부(공인)IP10.5.5.5이다. 2. 강의실 내부에는 3대의 컴퓨터가 있고, 그 중에 하나가 내 컴퓨터라고 가정하자.
Java
복사

강의실 내 컴퓨터에는 공인 IP가 없다.

위의 그림과 같이 강의실 내부에 컴퓨터는 공인 IP가 없다. 그러면 이 컴퓨터들은 어떻게 외부에서 접근이 가능하게 되는 걸까??

포트 포워딩 ( Port-Fowarding )

설명 외부에서 내 컴퓨터에 접근할려면 포트포워딩으로 접근할 수 있는데, 포트 포워딩이랑 강의실의 공인IP + 포트번호에 내컴퓨터의 사설 IP를 매핑 시켜논 ARP테이블을 확인하고 찾을 수 있게 된다.

NAT ( Network Address Translation ) 테이블 확인

설명 강의실 라우터에는 포트번호와 사설네트워크가 매핑이 된 테이블이 있다. 이를 NAT 테이블이라고 부르고, 또는포트 포워딩 규칙이라고도 한다. 여기에 매핑된 사설 네트워크 주소를 가지고 내 컴퓨터에 접근할 수 있다.

내가 내 컴퓨터에 접근하기 위해 강의실 공인 IP를 사용한다면???

내가 내 컴퓨터에 접근하기 위해 강의실 공인 IP를 사용해서 포트 포워딩으로 접근할 수 있다. 그럼 어떤 일이 벌어지게 될까???
설명 내가 내 컴퓨터에 URL로 접근하기 위해서 만약 강의실 공인 IP와 포트번호 ( 10.5.5.5:8081 )를 사용한다면??? 나의 요청은 강의실을 빠져나가서 >> 제일 가까운 기지국을 갔다가 >> 아이피가 강의실인 걸 확인하고 >> 다시 강의실로 돌아와서 >> 포트 포워딩 하고 >> NAT 테이블 확인하고 >> 내컴퓨터로 다시 오게 되는 미친짓을 하게 되는 것이다. 이런 비효율적인 통신을 하지 않기 위해서 사설 네트워크와 루프백이라는 개념이 존재한다.

내가 내 컴퓨터에 접근하기 위해 사설 네트워크를 사용한다면???

내 컴퓨터에서 강의실 공인 아이피로 내컴퓨터를 찾는 것보다는 조금 더 효율적인 접근 방법이지만… 아래 설명을 보자.

사설 네트워크란?

사설 네트워크는 주로 가정이나 소규모 네트워크에서 사용되는 IP주소이다. 공인 IP주소와는 달리 외부 인터넷에서 직접 접근할 수 없다. 이 사설 네트워크를 위해 192.168로 시작하는 IP주소를 사용하는데 서브넷 마스크를 통해서 어디서 어디까지 호스트의 주소범위 인지를 분별 할 수 있다. 복잡하니까 다음에 따로 설명하기로 하고 192.168로 시작하는 주소는 강의실 내부의 사설 네트워크이구나 라고 생각하자.

내 컴퓨터에서 사설 네트워크 주소를 사용할 때, 동작과정

내 컴퓨터에서 현재 나의 사설 네트워크 주소인 192.168.0.2 로 URL요청을 하게 되면, 나의 요청은 강의실 라우터까지 갔다가, 192.168을 확인하고 사설 네트워크임을 분별한다. 그렇게 되면 이 요청은 강의실 바깥으로 나가지 않고 다시 내부에서 해당 주소를 찾아서 내 컴퓨터에 접근하게 된다. 공인 IP를 사용하는 것보다는 효율적이지만 내 컴퓨터에 접근하는 경우에는 더 효율적인 방법이 있다.

루프백 주소로 내 컴퓨터에 접근하기

루프백 주소란??
루프백 주소는 자기 자신을 가리키는 주소이다. 즉, 이 주소로 보내는 모든 데이터는 네트워크를 거치지 않고 자기자신에게 돌아온다.
이를 통해 네트워크를 테스트 해보거나, 디버깅할 때 주로 사용된다.
IPv4에서의 루프백 주소의 범위는 127.0.0.0 ~ 127.255.255.255 인데, 가장 많이 사용되는 주소는 127.0.0.1이다.

루프백 주소 동작 모습

설명
루프백 주소는 자기 자신을 가르키기 때문에, 요청은 내 컴퓨터를 빠져나가지 않고 다시 내 컴퓨터로 돌아온다.
이 개념을 이해하기 위해 위의 사설 네트워크 / 공인 IP / 포트포워딩 / NAT 같은 개념이 필요했다.