[네트워크] Host 자신을 가리키는 IP주소

Robert.Yang·2023년 5월 14일
1

Network

목록 보기
21/59
post-thumbnail

이 포스트는 널널한 개발자님 강의를 참조하여 작성한 포스트입니다.

Host 자신을 가리키는 IP주소

IP주소중에 아주 특별한 주소가 있다. 브로드캐스트만큼이나 아주 특별한데 바로 127.0.0.1이다. 인터넷이라는것은 다른 컴퓨터와 통신하기 위한것인데 예를 들어 어떤 PC가 있다면 이 PC IP주소가 있을것이고 그리고나서 인터넷 저 너머 어딘가에 또 다른 서버가 있다고 하면 이 서버의 IP주소를 알아가지고 통신을 하는 것이 일반적이다. 이 IP주소 자체는 기본적으로 Remote 주소인데 즉, 원격지 주소이다. 그런데 이 관리적인 측면에서 브로드캐스트 주소를 애기했는데 이거 말고 내가 나 자신한테 접속할때도 있다. 이게 무슨소리냐면 다음과 같다.

host가 내가 나한테 접속해야만 할때 여기서 접속하는 주체는 프로세스이다. 즉, 인터넷을 사용하는거는 PC가 아니고 정확히는 이 PC에서 실행중인 프로세스가 인터넷을 쓰는 것이다. 즉, 프로세스들이 내 프로세스들간에 통신을 해야할때 나한테 접속한다고 표현하고 그래서 그 때 쓸 수 있는 주소가 127.0.0.1이고 이것은 Loopback Address라고 한다.


이것을 좀 더 구체적으로 보면 위 그림과 같다. 예를 들어 어떤 PC가 있는데 PC IP주소가 192.169.0.10라고 했다면 어떤 프로세스1(Client)가 동작중인데 이 클라이언트가 어떤 소켓을 열어서 TCP 통신을 하겠다고 하고 프로세스2(Server)도 소켓을 열어서 연결을 받기위해 수신대기를 하고 있다 해보자. 그럼 기본적으로 서버는 이 PC 밖에서 연결이 와서 그 연결을 받아주려는 서버일텐데 이렇게만 연결을 하는게 아니라 클라이언트가 서버와 연결을 할 수 있는 것이다. 여기서 봐야할께 클라이언트가 서버에 접속할때 IP주소를 자기 자신 IP로 할 수 있지만 IP주소를 특정하지 말고 127.0.0.1로 연결을 할 수 있다. 이렇게 하면 장점이 IP주소가 변경이 되고 연결이 항상 유지될 수 있어서 좋다. 또한 이런 것을 IPC통신이라 하는데 이것은 패킷이 아래로 내려가지 않고 프로세스간 정보를 주거니 받거니 한다.

profile
모든 것을 즐길 줄 아는 개발자, 양성빈입니다.

0개의 댓글