컴퓨터 네트워크 수업을 수강하며 소켓프로그래밍 실습을 하였다.

TCP / UDP 방식을 통해 간단하게 데이터 패킷을 송수신하는 프로그램을 만들었다.

이 때 IP를 입력하여 데이터 패킷을 전송하는데, 이때 의문이 생겼다.

평소에 ip주소는 공유기내에서는 같다고 알고 있었는데, 같은 네트워크 상에서는 어떻게 통신을 할까?

답의 시작은 우리가 통상적으로 쓰이는 ip주소는 2개로 나뉜다는 것 이었다.

공인ip와 사설ip로 나뉜다.

 

1. 공인 IP (Public IP)

인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP(인터넷 서비스 공급자)가 제공하는 IP 주소이다.

공용 IP 주소라고도 불리며 외부에 공개되어 있는 IP 주소이다.

  • 공인 IP는 전세계에서 유일한 IP 주소를 갖는다
  • 공인 IP 주소가 외부에 공개되어 있기에 인터넷에 연결된 다른 PC로부터의 접근이 가능하다.

 

2. 사설 IP (Private IP)

일반 가정이나 회사 내 등에 할당된 네트워크의 IP 주소이다.

  • IPv4의 주소부족으로 인해 서브넷팅된 IP이기 때문에 라우터에 의해 로컬 네트워크상의 PC 나 장치에 할당된다.

 

3. 사설 IP와 공인 IP의 차이

💻➡🌏 : 사설 IP를 할당받은 스마트폰 혹은 개인 PC가 데이터 패킷을 인터넷으로 전송하면, 라우터(공유기)가 해당 사설 IP를 공인 IP로 바꿔서 전송한다.

🌏➡💻 : 인터넷에서 오는 데이터 패킷의 목적지도 해당하는 사설 IP로 변경한 후 개인 스마트폰 혹은 PC에 전송한다.

 

내가 실습했던 UDP와 TCP 프로그램은 같은 네트워크 상에서, 즉 사설 IP로 통신하는 프로그램이었다.

따라서 같은 네트워크 상에서 다른 기기들은 공인 IP가 같을지라도, 각각 고유의 사설 IP를 부여 받기 떄문에, 무리없이 통신이 가능했던 것이었다.

 

 

4. 고정 IP와 유동 IP

고정 IP란?

  • 컴퓨터에 고정적으로 IP가 한번 부여되면 IP를 반납하기 전까지는 다른 장비에 부여할 수 없는 IP 주소를 말한다.

유동 IP란?

  • 장비에 고정적으로 IP를 부여하지 않고 컴퓨터를 사용할 때 남아 있는 IP 중에서 돌아가면서 부여하는 IP를 뜻한다.

인터넷 상에서 서버를 운영하고자 할 때는 공인 IP를 고정 IP로 부여해야 한다는 것이 중요하다. 즉, 공인 IP를 부여받지 못하면 다른 사람이 내 서버에 접속할 수가 없고, 고정 IP를 부여하지 않으면 내 서버가 아닌 다른 사람의 서버로 접속이 될 수도 있기 때문이다.

반면에 우리가 집에서 사용하는 인터넷 서비스 업체는 각 가정마다 공인 IP를 유동 IP로 부여하고, 공유기 내부에서는 사설 IP를 유동 IP로 부여하는 것이 일반적이라고 보면 될 것이다.

 

출처 : 공인(Public) && 사설(Private) IP의 차이점 (velog.io)

+ Recent posts