CIDR은 실제로 IP 주소 클래스를 "제거"합니까?


20

CIDR이 실제로 IP 주소 클래스를 더 이상 사용하지 않는 정도를 이해하기 위해 고심하고 있습니다. 지금까지 내가 이해 한 내용은 다음과 같습니다.

  1. 기술적으로 65535 개의 호스트를 처리 할 수있는 클래스 B 주소를 255 개가 넘는 호스트에 할당해야하는 모든 조직을 할당하는 것은 엄청나게 비효율적이며 불가능합니다.

  2. 그러나 이러한 조직이 약 700 개의 호스트를 처리해야하는 경우에는 해당 조직에 3 개의 (바람직하게는 인접한) 클래스 C 네트워크 주소를 할당 할 수 있습니다. 예 :

    192.42.42
    192.42.43
    192.42.44
    
  3. 문제 : 조직에서 라우터는 전달 테이블에 세 개의 항목 을 저장해야하는데 , 확장 할 수 없습니다.

  4. CIDR은 경로 요약 / 집계를 도입하여이 문제를 해결하여 조직에 3 개의 클래스 C 네트워크를 할당 한 ISP가 나머지 세계에 하나의 접두사 만 광고 할 수 있도록합니다. 예 :

    192.42.42.0/21
    

여태까지는 그런대로 잘됐다. 그러나, 나는 내가 만지는 모든 자원이 왜 집단적인 어드레싱이 "과거의 일"이라고 주장하는지 이해할 수 없다. 결국, ISP는 것입니다 클래스 C 네트워크 주소, 말, 담당 및 수행 고객에게 다음을 할당합니다. CIDR은 전달 테이블의 여러 항목 문제를 해결합니다. 따라서 IP 주소 클래스는 여전히 있지 않습니까?

시험이 다가 오므로 도움을 주셔서 감사합니다. :피


2
/ 21은 8 개의 "클래스 c"네트워크입니다.
Peter

5
IPv4를 참조하기 때문에 과거의 일이라고 말하고 싶은 유혹에 빠져 있습니다
Hagen von Eitzen

@HagenvonEitzen 나는 그것이 실제 현실에서는 완전히 사실이 아니라고 지적하고 싶다.
Monica와의 가벼움 경주

2
1993 년이 22 년 전 이었기 때문에 과거의 일입니다. RFC 1517, 1518, 1519를 참조하십시오. 오늘날 클래스 주소가 관련이 있다고 주장하거나 역사적 호기심 이외의 것으로 취급하는 리소스는 신뢰하지 마십시오.
Michael Hampton

답변:


22

주소 위임은 실제로 클래스 A, B 및 C의 세 가지 크기로 발생했습니다. 클래스 A 위임은 특정 주소 범위에서, 클래스 B 위임은 다른 범위에서 제공됩니다. 클래스마다 다른 주소 범위를 사용했기 때문에 주소의 첫 부분을 살펴봄으로써 그리고 이것은 라우팅 프로토콜에 내장되었습니다.

  • 16777216 주소를 포함하는 클래스 A 위임
  • 클래스 B 위임에는 각각 65536 개의 주소가 포함되어 있습니다.
  • 클래스 C 위임에는 각각 256 개의 주소가 포함되어 있습니다.

이러한 크기에 맞지 않는 네트워크에는 매우 비효율적이었습니다. 4096 개의 주소를 필요로하는 네트워크는 16 개의 클래스 C 위임을 받거나 (글로벌 라우팅 테이블 각각에 대해 개별적으로 라우팅해야하므로 클래스 크기가 프로토콜에 내장되어 있기 때문에) 글로벌 클래스 테이블에 좋지 않습니다. 위임 (많은 주소를 낭비 할 것).

1993 년에 CIDR이 소개되었습니다. 프로토콜은 다양한 크기의 접두사를 처리 할 수 ​​있도록 조정되었으며 / 30 또는 / 21 또는 / 15 등과 같은 접두사를 내부 및 외부에서 라우팅 할 수있게되었습니다. / 0과 / 32 사이의 모든 것이 가능한. 2048 개의 주소가 필요한 조직은 / 21을 얻을 수 있습니다. 정확히 필요한 것입니다.

이러한 주소를 내부적으로 세분화하는 방법도 제한되었습니다. 서브넷을 만드는 방법에 대한 규칙이있었습니다. 원래 클래스 형 네트워크 내의 각 서브넷은 동일한 크기 여야했습니다. 주소가 128 인 서브넷 하나와 주소가 16 개인 서브넷 하나가 너무 필요합니다.

VLSM (가변 길이 서브넷 마스킹)은 CIDR과 동등한 내부 네트워크입니다. VLSM이 CIDR보다 오래 존재했습니다. CIDR은 기본적으로 도메인 간 라우팅으로 VLSM을 확장하고 있습니다. VLSM을 사용하면 서브넷이 더 이상 같은 크기 일 필요는 없습니다. 필요에 따라 각 서브넷에 다른 수의 주소를 할당 할 수 있습니다.

요즘 인터넷의 모든 라우팅은 수업없이 이루어집니다. 라우팅 테이블의 접두사는 일치 (또는 히스토리로 인해) 클래스 구조와 일치 할 수 있지만 프로토콜은 더 이상 주소의 첫 부분에서 접두사 길이 (서브넷 마스크)를 추론 할 수 있다고 가정하지 않습니다. 모든 접두사 길이는 명시 적으로 전달됩니다 (클래스리스).

ISP가 클래스 C 네트워크를 담당한다고 말하는 것도 비슷하게 사용되지 않습니다. 주소는 RIR ( 지역 인터넷 등록 기관 , 자체 주소를 가진 ISP 및 사업체에 주소를 위임하는 기관)에 의해 완전히 클래스리스로 배포됩니다 .

IPv4 주소 클래스는 더 이상 존재하지 않으며 1993 년에 더 이상 사용되지 않습니다. 오래된 오래된 라우팅 프로토콜을 살펴보면 주소 클래스를 기반으로 한 가정을 여전히 볼 수 있지만 20 년 전입니다 ...


1
이러한 "규칙"은 라우팅 프로토콜의 한계였습니다. 라우팅 프로토콜이 넷 마스크를 전달하지 않았기 때문에 모든 네트워크의 크기가 동일해야합니다. (예 : RIPv1, IGRP)
Ricky Beam

1
그렇습니다, 그것은 내가 말한 것입니다. 라우팅 프로토콜에 접두사 길이를 운반하는 VLSM 및 CIDR 구현하는 방법입니다
샌더 Steffann

그들은 "주소를 기반으로 추측"하지 않고 전체 인터페이스에 로컬 인터페이스 넷 마스크를 적용합니다. 예 : 10.0.0.5/24 인터페이스가 있으면 10/8의 모든 것이 / 24가됩니다.
Ricky Beam

1
VLSM 비트입니다. 좋은 점은 10으로 시작하는 모든 주소가 함께 속해 있다고 가정한다는 것입니다. 사전 VLSM 비트는 로컬 인터페이스가 / 24이므로 10/8의 모든 서브넷이 / 24라고 가정합니다. 요즘에는 / 24와 / 8이 모두 가정입니다. 모든 서브넷의 크기는 다를 수 있으며 집계 경계의 위치를 ​​결정할 방법이 없습니다.
샌더 스테판

1
IP 주소의 처음 몇 비트는 언급 된 내용에 추가하여 주소 클래스를 결정했습니다. 첫 번째 비트 0 = 클래스 A, 첫 두 비트 10 = 클래스 B, 처음 세 비트 110 = 클래스 C 등 참조 en.wikipedia.org/wiki/…
a CVn

29

품격있는 주소 지정은 "과거의 일"입니다.

현대의 인터넷에서는 아무 것도 주소 지정을하지 않기 때문에 이것은 사실이다 [1] . 클래스 주소 지정을 사용하면 넷 마스크는 주소를 기반으로하는 고정 된 값입니다. 예를 들어, 하나의 LAN에 700 개의 호스트를 갖도록 세 개의 클래스 C 범위를 "병합"할 수 없습니다. 각 범위의 넷 마스크는 자동으로 24 비트입니다.

CIDR은 주소가 마스크를 지시하는 규칙을 폐지함으로써이를 해결했습니다. 따라서 LAN은 모든 크기가 될 수 있습니다.

당신 (그리고 다른 많은 사람들)은 여전히 ​​"클래스 C", "클래스 B", "클래스 A"라는 단어에 걸려 있습니다. 이러한 구조는 더 이상 존재하지 않습니다. 그리고 수십 년 동안하지 않았습니다. 어떤 사람들은 의미 가 용어가 각각 24, 16, 8의 넷 마스크의 크기를 사용할 때. 클래스 의미가 적용되는 것은 아닙니다.

[1] 10.0.0.1/24는 고급 시스템에서 잘못된 구성입니다.


1
Windows는 여전히 주소의 IP 클래스를 기본 마스크로 사용한다고 생각합니다.
Taemyr

2
예, 그러나 특별히 고급 스럽지는 않습니다. 기본 CIDR을 적용하고 있습니다. Microsoft는 IP 주소 클래스를 요구하거나 지정하지 않습니다. '
Mike McMahon

@Taemyr Windows만이 아닙니다. 리눅스는 수년간 주소의 첫 비트에서 기본 마스크를 파생시켰다. 이것은 여전히 ​​우분투 14.04의 경우입니다. 그러나 기본값 일 뿐이며 대부분의 경우 다른 값으로 재정의해야합니다.
kasperd

15

고급 주소 지정은 유니 캐스트에 대해 / 8, / 16 /, / 24의 3 개의 마스크 만 지원합니다.

CIDR은 마스크가 / 0에서 / 32 사이의 값이되도록합니다.

포인트-투-포인트 시리얼을 생각해보십시오. 클래스 C / 24 (256 xIP)를 클래스 설정으로 낭비했을 것입니다. CIDR에서는 / 30 (4 xIP) 또는 / 31 (2 xIP) 만 필요합니다.

대부분의 ISP는 이제 14 개 이하의 IP를 제공하는 고객에게만 / 28을 할당합니다.

두 가지 작동 모드는 하나의 (클래식) IP에서 마스크를 추측하고 다른 (CIDR)이 정확하게 지정하기 때문에 호환되지 않습니다 .

Wikipedia 기사 "Classful Network"를 참조하십시오 .


답을 쓸 시간을 내 주셔서 감사합니다. 그러나 귀하의 답변이 내 질문과 어떤 식으로 관련되는지 알 수 없습니다.

5
그의 대답은 현장에있다. 계급과 계급의 차이점을 이해하면 대답이 의미가 있습니다.
Ricky Beam

@baerenfaenger 내가 이해 한대로 여기에 당신의 질문이 있습니다. "그냥 왜 ... 계급적 주소 지정이"과거의 일 "인지 이해할 수 없습니다. ... CIDR은 전달 테이블에서 여러 항목의 문제를 해결합니다. "따라서 IP 주소 클래스는 아직 존재하지 않습니까?"
Pieter

그러나 IPv4에서 / 31 서브넷 네트는 IP 주소를 포함 할 수 없습니다. 0은 둘 다 네트 자체의 ID와 네트로의 브로드 캐스트를 위해 예약되어 있습니다.
ratchet freak

2
ptp 링크를 제외한 @ratchet freak은 브로드 캐스트 IP가 필요 없으며 / 31로 벗어날 수 있습니다. tools.ietf.org/html/rfc3021
Pieter

5

많은 답변에서 이미 설명했듯이 클래스는 / 8, / 16 및 / 24 이외의 서브넷 마스크를 허용하지 않기 때문에 과거의 일입니다.

이 특정 서브넷 마스크는 여전히 매우 인기가 있습니다. 특히 / 24는 인간에게 가장 쉬운 것이기 때문입니다. 이러한 마스크의 경우 주소의 서브넷 부분 끝이 (점으로 구분 된 10 진수) IP 주소의 점으로 정렬됩니다. 따라서 두 개의 IP 주소가 동일한 서브넷에 있는지 또는 계산할 필요가 없는지 시각적으로 명확합니다.

이것이 클래스 A, B 및 C 용어가 계속 사용되는 이유이며 여전히 가장 일반적인 서브넷 마스크와 일치합니다. 그러나 그들은 더 이상 이해가되지 않으며 10.11.12.0/24는 C 등급이라고 말하는 것은 단순히 잘못입니다. C 클래스의 첫 번째 옥텟은 192에서 223 사이의 정의입니다.


2

에서는 클래스있는 라우팅 , 넷 마스크가 어드레스의 최상위 비트를 암시하고, 라우팅 테이블에 저장되지 않는다; 이 클래스는 라우팅 토폴로지뿐만 아니라 각 주소의 속성입니다. 최상위 비트는 둘 다 일치 할 수 없으므로 클래스 C 네트워크는 클래스 B 네트워크의 하위 집합이 될 수 없습니다.

클래스 C 네트워크가 3 개인 가상의 조직은 3 대의 네트워크 중 어느 컴퓨터에 주소가 있는지주의를 기울여야합니다. CIDR 라우팅을 사용하면 모든 컴퓨터가 동일한 서브넷에있을 수있는 넷 마스크를 사용할 수 있습니다.


1

최근 몇 년 동안 실제 클래스 동작을 본 유일한 지점은 지점 간 터널링 프로토콜입니다. PPTP 많은 사람들이이 기능은 그 자체로는 쓸모없는 것으로 생각하지만, 여전히 많은 것들이 사용되고 있습니다.

클라이언트가 서버에 연결하면 터널은 기본 경로 또는 서버의 고급 네트워크에 대한 경로를 얻습니다. https://technet.microsoft.com/en-us/library/cc779919%28v=ws.10%29.aspx

최근에 2016 년에 이것이 실제로 문제가 된 몇 개의 네트워크가있었습니다.

DHCP 및 다양한 추가 기능 스크립트에 대한 해결 방법이 있으며 실제로 다른 방향의 경로에 대한 해결 방법이 있다고 생각합니다. 가능한 경우 경로를 더 잘 지원하는 다른 터널링 프로토콜을 사용하십시오.

친절하다,

홍옥.


0

올바르게 설명했듯이 클래스 전체 주소 지정은 클래스 전체 주소 지정을 사용하여 서브넷 내부에 많은 IP 주소가 낭비되어 있기 때문에 클래스리스 주소 지정에 비해 비효율적입니다.

나는 내가 만지는 모든 자원이 왜 집단적인 어드레싱이 "과거의 일"이라고 주장하는지 이해할 수 없다

IP가 C 클래스 네트워크를 처리 할 수는 있지만 모든 ISP에 해당되는 것은 아닙니다. 또한 이전 시대에는 모든 서브넷 (홈 서브넷이나 회사 서브넷의 경우에도)에서 클래스 전체 주소 지정이 사용되었지만 현재는 클래스리스 주소 지정 만 사용됩니다 (NAT가 아닌 경우).

이것이 classfull addressing이 과거로부터 온 이유입니다.

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