[Network, C#] 공인 IP와 사설 IP의 차이

Arthur·2023년 10월 7일
0
post-thumbnail

사설(Private) IP와 공인(Public) IP란?


공인IP : 인터넷 업체가 사용자에게 할당하며 공유기가 인터넷과 통신하도록 하는 외부 IP주소
사설IP : 공유기가 노트북, 스마트 TV, 휴대폰 등 홈 네트워크에 연결된 장치에 할당한 내부 IP 주소



공인 IP

  • 공인 IP 주소는 사용자의 전체 네트워크에 적용되기에 동일한 인터넷 연결을 사용하는 장치는 IP 주소를 공유하게 됩니다.
  • 네트워크가 공동으로 사용하는 IP 주소라는 점에서 공용 IP 주소라고도 합니다.

사설 IP

  • 로컬 네트워크에서 할당되며 다른 네트워크의 IP 주소와 중복될 수 있습니다.
  • 사설 IP 주소는 각자의 내부 네트워크에서 사용되기에 다른 네트워크의 IP 주소와 중복 되더라도 문제가 없습니다.


[사설 IP] CMD 창에서 확인하는 방법


CMD 창에서 IP를 확인하는 법은 아주 간단합니다.
위 사진과 같이 ipconfig 이라는 명령어만 입력해주면 됩니다.

IPv4 주소 라고 적혀 있는 부분이 사설 IP입니다.



[사설 IP] C# 코드로 확인하는 방법


// 로컬 컴퓨터의 TCP/IP 상의 컴퓨터 호스트 이름의 값을 가져옵니다.
string host = Dns.GetHostName();

// 호스트명에 대한 IP 정보를 가져옵니다.
IPHostEntry ipHost = Dns.GetHostEntry(host);

// 호스트에 대한 복수 IP 주소를 IPAddress[] 배열 형태에서의 값을 출력합니다.
foreach (IPAddress ip in ipHost.AddressList)
{
    Console.WriteLine(ip);
}


[공인 IP] 웹 사이트에서 확인하는 방법


네이버에서 '내 ip' 라고 검색해도 나오지만 아래의 링크에 접속하면 쉽게 확인할 수 있습니다.

https://ip.pe.kr/



[공인 IP] C# 코드로 확인하는 방법


string publicIp = new WebClient().DownloadString("http://ipinfo.io/ip").Trim();

http://ipinfo.io
위 사이트는 사용자가 접속한 아이피로 위치를 파악할 수 있는 사이트입니다.
사이트를 들어가면 Json 형식으로 공인 IP와 위치 값 데이터를 줍니다.

http://ipinfo.io/ip
IP 값만 필요하면 위 링크를 통해서 데이터를 가져올 수 있습니다.

위 사이트를 사용해서 C#에서 쉽게 공인 IP를 가져올 수 있습니다.



작성하면서 느낀 점


아주 간단한 내용이지만 상당히 중요하다고 생각해서 글로 작성해봤습니다.

네트워크 강의를 들어보면 IP 주소에 대한 내용도 한 세션을 차지하는데,
우선 위 개념을 알고 IP 관련 강의를 들으면 더욱 도움이 될 것 같습니다.

실 생활에서 자주 보이는 공유기, 컴퓨터, 핸드폰 등을 통해 알 수 있는 정보이기 때문에 더 이해가 쉬웠습니다.



참고 자료


  • 진짜 ip 주소 찾는 방법 (192.x.x.x는 진짜 ip 주소가 아니다.) => 링크
  • 유튜브 비즈앤컴 - 공인IP와 사설IP 차이점 => 링크
  • 유튜브 얄팍한 코딩사전 - IP주소를 알아봅시다! (Feat. 공인/사설/고정/유동IP, 포트포워딩, DMZ, DDNS) => 링크
  • C# 사설IP와 공인IP 구하는 방법 (GetHostEntry / WebClient 사용) => 링크
  • NordVPN - 공인 IP, 사설 IP… 다양한 IP 유형의 차이는? => 링크
profile
기술에 대한 고민과 배운 것을 회고하는 게임 서버 개발자의 블로그입니다.

0개의 댓글