개인 IP 주소를 라우팅 할 수없는 이유는 무엇입니까?


21

나는 등 그 개인 주소를 이해 10.0.0.0/8, 172.16.0.0/12그리고 192.168.0.0/16라우팅되지 않습니다. 그러나 이러한 주소를 라우팅 할 수 없게 만드는 것은 무엇입니까? ISP가 이러한 네트워크의 라우팅을 방해하는 ACL을 구현합니까? 아니면 더 높은 수준입니까?

또한이 디자인을 만든 것은 IANA입니까?


"공개적으로 라우팅되지 않으며 공개적으로 오류를 범한 사람이 있습니까?"라는 암시적인 질문이 있습니까?
rackandboneman

3
마지막 질문 : IETF 는 IANA가 공개 주소 공간에서 제외되도록 정의했습니다. IPv4 용 RFC1918IPv6 용
RFC4193

3
물론 그들은 라우팅 가능합니다. 라우터는 공개 외부 주소에서 메시지를 받아서 내부 개인 주소로 "라우트"합니다. 네트워크 주소 변환의 기본 사항을 찾아 보는 것이 좋습니다.
Lakey

2
Lakey는 공개 웹에서 라우팅 할 수 없습니다. 따라서 Nat가 필요하고 IP 주소를 보존하는 데 사용되는 이유는 무엇입니까?. 저는 Cisco 수업에 참여하고 있으며 교수는이 질문에 대답 할 수 없으므로 여기에 게시하고 있습니다.
QuantumRads

1
또한 개인 주소는 개인 네트워크에서는 라우팅 가능하지만 공용 네트워크에서는 라우팅 할 수 없음을 분명히해야합니다.
QuantumRads

답변:


39

개인 IP 주소 공개적으로 라우팅 되지는 않지만 라우팅 가능합니다. 기본적으로 라우터는 개인 주소를 인터넷이 아닌 개인 / 내부 LAN으로 라우팅합니다.

내 대답을 확장하려면 : 라우터 기본 게이트웨이를 통해 개인 주소를 공개 주소로 라우팅 할 수 있습니다 . 그러나 다른 라우터가 패킷을 삭제하거나 패킷의 TTL이 0에 도달하여 패킷이 전송 중 "손실"됩니다.

예를 들어, 이것 (부분적으로 난독 화 된)을 살펴보십시오 traceroute -I -n 192.168.200.1.

[root@myhost ~]# traceroute -I -n 192.168.200.1
traceroute to 192.168.200.1 (192.168.200.1), 30 hops max, 60 byte packets
 1  x.x.x.x  0.851 ms  0.841 ms  0.818 ms
 2  6x.xx.xx.xx  0.791 ms  0.791 ms  0.849 ms
 3  15x.xx.xx.xx  1.350 ms  1.347 ms  1.373 ms
 4  15x.x.xx.xx  1.446 ms  1.435 ms  1.428 ms
 5  151.6.68.20  2.272 ms  2.266 ms  2.251 ms
 6  151.6.0.91  8.818 ms  8.256 ms  8.326 ms
 7  * * *
 8  * * *
 9  * * *
10  * * *
...
...
29  * * *
30  * * *

보시다시피 패킷 기기의 기본 게이트웨이를 통해 공용 인터넷으로 라우팅됩니다. 그러나 운송 중 삭제되며 적절한 목적지에 도달하지 않습니다.

결국 개인 IP / 클래스는 정의에 따라 고객간에 겹치므로 수천 192.168.200.x / 24 네트워크 중이 패킷을 라우팅해야합니까?

흥미로운 참고 사항 : 인터넷 제공 업체는 종종 내부 라우팅에 개인 주소를 사용합니다. 예를 들어 개인 192.168.200.x / 24 클래스가 내부 라우팅에 사용되는 경우 IP 192.168.200.1 사용하는 첫 번째 라우터 / 컴퓨터 는 요청하지 않았기 때문에 패킷을 수신하고 삭제합니다. 라우터 / 컴퓨터는 일반적으로 요청되지 않은 PING에 응답하기 때문에 ICMP는 흥미로운 예외입니다. 즉, 개인 주소 검색을 사용하여 ISP 개인 네트워크를 매핑 할 수 있습니다.


2
따라서 기본적으로 IP 주소가 10, 172.16-31 또는 192.168로 시작하면 라우터는 외부 인터넷 (일반적으로 외부의 인터넷을 통해)이 아닌 내부 LAN 네트워크를 통해서만 보내도록 구성해야합니다. 게이트웨이). 여기에서 '개인 네트워크'를 읽을 수 있습니다. en.wikipedia.org/wiki/Private_network
Bruno

3
라우팅 된 개인 네트워크를 만들 때마다 프라이빗 RFC1918 주소 (192.168, 172.16, 10)를 라우팅하는 것은 실제로 드문 일이 아닙니다.
user253751

3
@Bruno 일 필요는 없습니다. 라우트 공용 측의 개인 주소를 기본 게이트웨이로 라우트 할 수 있지만 다른 라우터는 최종적으로 패킷을 삭제하거나 루프로 라우트합니다 (TTL이 0에 도달하면 패킷이 삭제됨).
shodanshok

ISP의 주요 라우터는 심지어 마십시오 기본 게이트웨이를? 무엇이 될까?
kubanczyk

일반적으로 그렇습니다. 결국, ISP는 다른 ISP를위한 패킷을 라우팅해야합니다.
shodanshok

9

일반적으로 개인 IP 주소는 ISP에 의해 필터링됩니다. 액세스 라우터는 누출되지 않도록 구성해야합니다.

개인 IP 주소는 누구나 사용할 수 있기 때문에 인터넷에서 사용할 수 없습니다 . 개인적으로 192.168.1.1을 사용하는 수백만 개의 장치가있을 수 있습니다. 패킷을 전송하는 인터넷 라우터는 어느 것입니까?

Zeroconf 주소 (169.254.0.0/16)는 실제로 라우팅 할 수 없습니다. 이들은 Ad-hoc 방식으로 어디에서나 사용할 수 있지만 인터넷이나 서브넷 이외의 서브넷에는 액세스 할 수 없습니다. 각 장치가 사용하지 않는 주소를 자체적으로 선택할 수있는 브로드 캐스트 도메인 내에서만 유효하므로 라우팅 할 수 없습니다. 기본적으로 zeroconf에는 DHCP 서버와 같은 관리 인스턴스가 없습니다.


6

그러나 이러한 주소를 라우팅 할 수 없게 만드는 것은 무엇입니까?

통신하는 엔티티에 의해 적용되는 승인 된 표준. 이들은 소프트웨어, 하드웨어 및 구성에서 시행됩니다.

ISP가 이러한 네트워크의 라우팅을 방해하는 ACL을 구현합니까? 아니면 더 높은 수준입니까?

그들은 실제로 할 수는 있지만 표준을 따르지 않는 잘못된 번역 일뿐입니다.

대부분의 가정용 사용자와 같은 경우 하나의 IP 주소가 공용 IP 주소로 할당됩니다. 연결된 모든 장치의 트래픽이 통신하기 위해 라우터는 NAT (네트워크 주소 변환) 또는 PAT (포트 주소 변환)를 사용하여 내부 IP 주소의 변환을 수행합니다.

기본적으로 라우터는 LAN (Local Area Network)의 어떤 내부 IP 주소가 LAN 외부, 라우터 및 WAN (Wide Area Network) 인터페이스를 통해 세션에 도달했는지 기억합니다. 데이터가 라우터를 종료하면 소스 IP로 할당 된 단일 IP 주소가 포함됩니다. 패킷이 들어 오면 패킷에 대상 IP와 동일한 주소가 포함됩니다. 라우터는 거기서 어디로 향할지 결정합니다.

외부에는 실제로 라우터의 IP 인 단일 IP 주소 만 있습니다. 라우터는 해당 세션을 추적하고 LAN의 각 내부 IP 주소에 속하는 트래픽을 결정하고 그에 따라 해당 트래픽을 지시합니다. 복잡한 관리 프로세스이지만 각 라우터에서 모든 것이 번역되고 있음을 이해하면 아이디어는 실제로 매우 간단합니다.

또한 대부분의 가정용 라우터에는 스위칭 포트가있어 트래픽이 IP 주소가 아닌 MAC 주소를 통해 전달됩니다. 패킷의 소스 MAC 주소는 라우터에 도달 할 때까지 동일하게 유지됩니다. 라우터는 해당 소스 MAC 주소를 제거하고 자체 WAN 인터페이스의 MAC 주소를 삽입합니다.

또한이 디자인을 만든 것은 IANA입니까?

이 표준은 원래 IANA에서 설계 한 것이 아닙니다. 오늘날에는 표준 설정에 앞장서고 있지만 법의 수단을 통해 표준을 시행하지는 않습니다. 그것들은 합의를 통해 시행되는 표준입니다. RFC 791을 검색하십시오.

그들은 모든 사람이 기꺼이 고수 할 정도로 "권한"을 가지고 있습니다. 이러한 표준을 완전히 무시할 수는 있지만 결국에는 준수를 요구하거나 트래픽을 떨어 뜨릴 수있는 경로를 따라 ISP에 접속하게됩니다.

도움이 되길 바랍니다 ..


2
OP의 특정 질문과 관련 하여이 모든 단어가 머리에 못을 박았다고 생각합니다. 다른 답변은 사실 정확하지만 OP의 구체적인 혼란을 직접 해결할 수 있는지 확실하지 않습니다. 핵심은 컨벤션과 대부분의 사람들이이를 지키고 싶어한다는 사실입니다 .
Monica와의 가벼움 경주

1
@LightnessRacesinOrbit : 기본적으로이 답변에서 인용되지 않은 첫 번째 단어로 덮여 있으며 엄격하게 필요하지는 않습니다. 비록 당신의 이탤릭체로 된 글이 요점을 더 좋게한다는 데 동의합니다.
TOOGAM

2
@TOOGAM : 그렇습니다. 나는 단지 그것을 강화하고 있습니다. 내가 말했듯이, 나는이 대답이 완벽하다고 생각합니다.
Monica와의 가벼움 경주

1

다른 답변의 설명을 위해 로컬로 사용하는 개인 IP 주소 범위 는 라우팅 테이블에 자체 명시적인 항목이 있으므로 인터넷으로 라우팅되지 않습니다. 예를 들어 집에있는 데스크탑의 라우팅 테이블은 다음과 같습니다.

$ ip route
default via 192.168.1.1 dev enp5s0 proto dhcp src 192.168.1.104 metric 1024 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
172.18.0.0/16 dev br-90a372f4b373 proto kernel scope link src 172.18.0.1 linkdown 
192.168.1.0/24 dev enp5s0 proto kernel scope link src 192.168.1.104 
192.168.1.1 dev enp5s0 proto dhcp scope link src 192.168.1.104 metric 1024

172.17.0.0/16및을 참고하십시오 172.18.0.0/16. 이 네트워크에 대한 패킷은 내 라우팅 테이블에 특정 항목이 있기 때문에 컴퓨터를 떠나지 않고 도커 브리지로 바로 전달됩니다. 이 192.168.1.0/24항목은 해당 네트워크로의 트래픽이 enp5s0인터페이스를 나갈 것이라고 명시 적으로 말합니다 . 내 라우터의 라우팅 테이블에는 해당 개인 네트워크의 모든 트래픽을 데스크탑이 연결된 인터페이스로 보내는 유사한 항목이 있습니다.

기본 경로로 이동하는 표에 명시 적으로없는 네트워크의 패킷입니다. 다음과 같은 방법으로 네트워크를 도달 할 수없는 것으로 명시 적으로 표시 할 수 있습니다.

$ ip route add unreachable 10.0.0.0/8

그러면 내 라우팅 테이블이 다음과 같이 변경됩니다.

$ ip route
default via 192.168.1.1 dev enp5s0 proto dhcp src 192.168.1.104 metric 1024 
unreachable 10.0.0.0/8 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
172.18.0.0/16 dev br-90a372f4b373 proto kernel scope link src 172.18.0.1 linkdown 
192.168.1.0/24 dev enp5s0 proto kernel scope link src 192.168.1.104 
192.168.1.1 dev enp5s0 proto dhcp scope link src 192.168.1.104 metric 1024

이제 내 데스크탑은 기본 게이트웨이에 해당 범위의 주소를 묻지 않습니다. 해당 주소를 검색하면 즉시 "호스트에 대한 경로 없음"이 반환됩니다.

$ traceroute 10.0.0.1
traceroute to 10.0.0.1 (10.0.0.1), 30 hops max, 60 byte packets
connect: No route to host

라우팅 테이블에서 도달 할 수없는 것으로 표시 되지 않은 도달 할 수없는 네트워크 의 패킷은 패킷이 네트워크에 도달 할 수 없음을 명시 적으로 나타내는 라우터에 도달하거나 TTL이 만료 될 때까지 기본 경로를 통해 계속 전달됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.