로컬 IP 주소는 공개 IP 주소와 어떻게 구분됩니까?

로컬 IP 주소는 공개 IP 주소와 어떻게 구분됩니까?

ping과 같은 도구나 tcp/ip 프로토콜을 사용하는 다른 도구는 예를 들어 192.168.1.1 또는 10.0.0.1이 로컬 IP 주소이고 8.8.8.8 또는 74.142.23.95가 공개 IP 주소라는 것을 어떻게 알 수 있습니까? 192.168.xx 및 10.0.xx는 로컬 사용을 위해 보존되도록 하드코드되어 있습니까?

답변1

글쎄, 그들은예약된~에 의해RFC 1918개인 네트워크에서 사용하기 위해.

그러나 그것은 실제로별로 중요하지 않습니다. RIPE 등에서 "공용" IP 주소 블록을 얻어 개인 네트워크에 사용하면 모든 것이 계속 작동합니다. 예약은 관리자가 문제 없이 자신의 개인 네트워크를 설정할 수 있도록 정치적인 이유로만 필요합니다.

다음과 같은 도구ping 상관 안해주소가 "개인"인지, "로컬"인지, "공용"인지 여부입니다. 그들은 단순히 주어진 주소로 패킷을 보내고 OS는라우팅 테이블다음에 어디로 보낼지 결정하세요.

10.2.3.4/16예를 들어 Windows에서 IP 주소 (넷마스크 형식: 255.255.0.0) 및 게이트웨이를 사용하여 이더넷 카드를 구성하면 10.2.0.1라우팅 테이블에 다음 항목이 추가됩니다.

  • 10.2.3.4/32(넷마스크 255.255.255.255) 인터페이스Loopback

    (자신의 주소는 항상 루프백 인터페이스를 통해 라우팅되며 네트워크로 이동하지 않습니다.)

  • 10.2.0.0/16(넷마스크 255.255.0.0) 인터페이스Local Area Connection

    (자신의 서브넷에 있는 주소는 정의에 따라 로컬 주소입니다.)

  • 0.0.0.0/0(넷마스크 0.0.0.0)를 게이트웨이로10.2.0.1

    (다른 모든 것은 로컬이 아닙니다.)

다시 말해서,당신이 OS에게 말했어요범위 내의 모든 주소 10.2.0.0/16는 로컬이고 OS가 모든 것을 처리합니다.


라우팅 테이블을 보려면:

  • Linux에서는 ip route(IPv4) 및 ip -6 route(IPv6)
  • Windows의 경우 route print(≥XP의 경우 IPv4, ≥Vista의 경우 v4/v6 모두)
  • Windows XP netsh interface ipv6 show route(IPv6)
  • Windows, Linux, BSD 및 기타 Unix 계열 netstat -r -n(IPv4)
  • Linux 및 일부 Unix 계열 netstat -r -n -6(IPv6)

동일한 도구를 사용하여 라우팅 테이블을 편집할 수 있습니다. 예를 들어, 모두 172.16.0.0/16로컬로 표시하려면 Linux에서 사용할 수 있습니다 ip route add 172.16.0.0/16 dev eth0.

답변2

공용 및 개인 IP 주소는 RFC에 정의되어 있습니다. 개인 IP 주소는 다음과 같습니다.

10.0.0.0/8

172.16.0.0/12

192.168.0.0/16

또한 다음 IP 주소는 루프백입니다.

127.0.0.0/8

다른 것들은 공개되어 있습니다.

대부분의 도구는 공용 또는 개인 IP 주소를 알 필요가 없습니다.

관련 정보