IETF가 192.168 / 16을 개인 IP 주소 클래스로 선택한 이유는 무엇입니까?


90

IETF ( Internet Engineering Task Force ) 192.168/16가 개인 IP 주소 클래스가 아닌 다른 이유를 선택한 이유는 무엇입니까?

왜 특별히 192.168/1610/8172.16/12가 아니라 145.243/16, 예를 들면?

이러한 IP 주소가 다른 모든 가능성에 비해 개인 IP 주소의 표준으로 선택된 이유가 있습니까?



32
RFC 1918에는 왜 이러한 네트워크가 선택 되었는지에 대한 설명이 없습니다 ( Akash). 따라서 질문자의 질문입니다.
JdeBP

1
나는 대답 할 수없는 것에 대해 틀렸다. RFC를 통해 귀하의 질문에 거의 완전히 대답 할 수있었습니다. 그러나 1918 년
Michael Hampton

답변:


89

이 주소 범위를 누가 선택했는지 알고 있습니다. 불행히도, 그는 죽었 기 때문에 그가 그들을 선택 했는지 물 을 수는 없지만, 잘 알고있는 추측을 할 수 있습니다.

인터넷이 실제로 시작된 1990 년대 중반 이전의 온라인 데이트는 그리 많지 않았습니다. 인터넷의 역사 는 ARPANET이 시작될 때 1969 년으로 거슬러 올라간 RFC에 있습니다. 그것들을 통해 당신은 몇 가지 원시적 인 메인 프레임의 네트워크에서 인터넷의 진보를 볼 수 있습니다.이 시대의 가장 훌륭한 마음에 의해 설계되었습니다. 오늘날 없이는 거의 상상할 수없는 네트워크에 이르기까지.

이 답변은 거의 전적으로 그 RFC에서 나 왔으며,이 시대 인터넷에 있었던 개인적인 경험에서 비롯된 것입니다.


첫째, IETF는 이러한 IP 주소 범위 등을 선택하지 않았습니다. 특별한 사용하는 주소의 할당은 현재항상되었습니다 의 일 인터넷 할당 번호 기관 .

IANA는 특정 조직이 아니라 항상 역할 이었으며 그 역할은 정확히 한 번 바뀌 었습니다. 현재는 ICANN이 보유하고 있지만 1972 년 부터 1998 년에 그를 대신하기 위해 조직이 설립 될 때 까지 IANA는 본질적으로 한 사람인 Jon Postel 이었습니다. 물론, 그는 첫번째 역할이라고 소켓 번호의 황제 하는 그 자신에 갔다 필요한 작업 이 수행 될 필요가 있기 때문입니다. 그는 그것을 기꺼이 크게 때문에, 주소, 프로토콜 번호, 포트, 당신이 그것을 이름, 시간에 의해 인터넷 : 그는 할당 할 수있는 거의 모든 수의 황제를 종료 공공 상거래에 오픈그는 20 년 넘게 그 일을 해왔습니다. 그는 번호를 할당하고, 인터넷 레지스트리 (다음 SRI-NIC는이되었다 확장 A를 레지스트리의 분산 수집 전세계)을 발표했다.

인터넷 주소 할당 목록을 표시하는 SRI의 마지막 RFC는 1990 년의 RFC 1166 입니다. 매우 긴 목록이므로이 데이터가 온라인 데이터베이스로 이동 한 것은 놀라운 일이 아닙니다. 이를 이전 RFC 1117과 비교하면 인터넷이 대중에게 공개되기 몇 년 전의 인터넷 확장 속도를 보여줍니다.

따라서 이제 RFC 1918 의 주소 범위를 조금 더 잘 이해할 수 있습니다. 이것은 실제로 RFC의 두 번째 개정판입니다. 첫 번째는 1994 년 3 월에 거의 2 년 전에 출판 된 RFC 1597 이었다 . RFC 1627은 잘 알려지지 않은 반박 에서 개인 주소 공간에 대한 현대의 주장이 제시되었다. RFC 1627은 또한 3 개의 주소 공간을 할당 한 사람을 언급합니다.

그들은 RFC 1597의 저자의 요청에 따라 IANA, 즉 Jon Postel에 의해 지명되었으며, RFC 1627의 불만이 믿어지면 일반적인 공개 프로세스가 아닌 백 채널을 통해 그렇게했습니다. 당신은 RFC 1597는 자체가없이 RFC 상태로 바로 가서 볼 수있는 보통 위의 인터넷 임시 보관함 , 너무 너무 다시 포스텔에 의해 다시 채널을 통해 승인 도 당시 RFC 편집기이었다 . 따라서이 질문에 대해 결론적으로 답할 수는 없습니다.

그가 왜이 세 가지 주소 범위를 선택했는지에 대해서는 당시의 IP 주소 범위가 할당 된 SRI의 RFC 1166 및 1117에주의를 기울 이겠습니다. 두 네트워크 모두 1990 년에 종료 ARPANET에 네트워크 10이 할당되어 있음을 알 수 있습니다 . Postana는 IANA로서의 역할에서이 범위가 더 이상 사용되지 않고 재 할당 될 수 있음을 알고있었습니다. Postel은 네트워크 10이 사용 가능하고 사용 중이 아닌 것으로 알고 네트워크 10을 선택했다고 주장합니다.

마찬가지로, 나는 Postel이 192.168을 고를 것으로 예상합니다. 왜냐하면 그가 선택했을 때, 그 다음으로 사용 가능한 네트워크이거나 다음으로 사용 가능한 네트워크가 이전 클래스 C 공간에서 할당 되었기 때문입니다. 이것은 어쨌든 증명할 수 없지만 RFC에 표시된 주소 할당 속도는 할당이 이루어질 때 1993-1994 년경에이 일반 지역에 있었을 것을 강력하게 제안합니다. (192.159의 주소는 1992 년 에 할당되었습니다. 192.160-192.167에는 RIPE에 재 할당 된 날짜가 없으므로 할당 할 날짜가 없습니다.)

172.16-172.31에 대한이 질문에 대답하기가 더 어렵습니다. 내가 찾을 수있는 것은이 범위가 선택된 이유를 제안하지 않습니다. 이전 클래스 B 공간의 과제는 내가 알 수있는 한 아직 그다지 높지 않았습니다. 나는 IANA가 다트 판에서 다트를 던지거나 주사위를 굴 리거나 다른 방법으로 자신의 황천 지역에서 숫자를 뽑았다 고 추측 할 수 있습니다.


마지막으로 Jon Postel에 대한 메모입니다. 이 RFC가 커뮤니티의 (초기) 입력없이 완전히 형성되는 명백한 방법에도 불구하고, 나는 이것이 암시하는 것을 의미하지는 않으며, Jon Postel은 어떻게 든 IANA 역할을 잘못하거나 불공평하게 수행 한 것으로 해석되어서는 안됩니다. 그는 초기 인터넷에 가장 큰 영향을 미쳤으며 인터넷의 비하인드 머신을 엿볼 때마다 오늘날에도 그 영향을 느끼고 있지만 항상 일을 올바르게하는 데 관심이있었습니다. 하나의 기억 에서 인용하려면 :

행정과 운영에 영광이 없습니다. 정반대. 사람들은 그것이 잘못되었을 때 알아 차리지 만 잘 이루어지면 칭찬을 거의하지 않습니다. 행정직에있는 사람들은 종종 사소한 관료가됩니다. 직업에는 보상이 거의 없기 때문에 인위적으로 그것을 힘의 기초로 만듭니다. 그래서 존이 인터넷 번호를 "기적"이라고 언급 한 사람들을 혼동했습니다. 그들은 지역 사회가 Jon에게 필수 인프라 서비스를 주문한 것에 대한 애정과 깊은 감사로 제목을 부여한다는 것을 알지 못했습니다. 특히, 공동체는 존이 개인의 힘을위한 기회 라기보다는 신뢰로서 자신의 입장을 취했다는 것을 충분히 알고 그 용어를 사용했습니다. 우리는 항상 그의 견해가 합법적 인 신념에서 나온다는 것을 알았으며, 그가 어떻게 든 정치적 또는 개인적 이점을 고려하고 있다고 걱정할 필요가 없었습니다. 우리는 그에게 동의하지 않을 수도 있지만, 우리는 항상 올바른 일이 행해져 야한다는 우려로 먼저 운전했다는 것을 알고있었습니다.


6
Jon에게는 힘든 일이었을 것입니다. 이것이 "Going Postel"이라는 표현을 얻는 곳입니까? :-p
tudor

5
Jon Postel은 저의 오랜 영웅 중 하나입니다. 그는 항상 백엔드에 있었으며 더 유명한 과학자들이 공통의 목표를 향해 협력하도록했습니다. 인터넷 거버넌스의 아버지.
Frank Thomas

4
"1990 년대 중반 이전에는 온라인 데이트가 많지 않습니다"– 농담이 없습니다. match.com은 1998 년까지 등록되지 않았습니다. ... 코트 입을 게요.
익명

1
새로운 NANOG 게시물 은 이들이 일반적인 "다음 사용 가능한"할당임을 확인합니다.
grawity

30

당시에는 말이 되었습니까? :-디

개인 IP 주소 범위가 할당되었을 때 네트워크 엔지니어와 논쟁해야 할 몇 가지 문제가있었습니다. 당시 가장 강력한 라우터 중 일부는 오늘날의 포켓 그래프 계산기만큼 많은 CPU 성능과 RAM 스토리지를 가지고있었습니다. 오늘날의 라우터 중 몇 개는 여전히 지난 해의 라우터 주위에서 계속 돌고 있습니다 (CPU 속도가 킬로 헤르츠 단위로 측정되고 RAM 저장소가 킬로바이트 단위로 측정되었지만 오늘날의 기가 *가 아니라는 것을 기억합니다!). 인터넷은 빠르게 성장하고있었습니다. IPv4주소 공간은 제한되어 있으며 2000 년 정도에 그 공간이 부족한 것처럼 보입니다. 따라서 많은 IP 주소 범위가 이미 할당되었으므로 회사에 IP 주소 범위를 다시 제공하도록 요청하여 개인 범위로 다시 할당 할 필요가 없었습니다. 또한 회사가 개인 범위를 다루기 위해 가능한 한 쉽게 만들려고했습니다. 네트워크가 1 ~ 2 개의 범위 / IP에 대처하기 위해 많은 돈을 투자해야한다면 회사는 거의 협력하지 않았을 것입니다 여기 저기 주소.

이 부분은 내 추측으로는 틀림없지 만 네트워크 설정에 대한 논리와 경험을 바탕으로합니다. 그들은 할당되지 않은 모든 네트워크 번호의 목록을 모아서 원하는 기준에 맞는 구별되는 패턴을 찾았습니다. 하나의 단일 클래스 A (네트워크 번호에서 0xxxxxxx 바이너리의 비트가 높은 네트워크 번호는 클래스 A), 16 클래스 B (네트워크 번호 10xxxxxx 바이너리) 및 256 클래스 C (네트워크 번호 110xxxx 바이너리) 주소입니다. 클래스 B 및 C 주소도 모두 연속적 이어야합니다 . (16과 256의 선택은 아마도 부분적으로 임의적이었습니다. 잠시 동안이 작업을 수행 한 후에는 2의 힘으로 생각하기 시작하는 경향이 있습니다. 아마도 부분적으로 예약 가능한 것이기 때문에 부분적으로 생각할 수 있습니다 .)

이것으로부터, 아마도 라우터 제조사가 주소에 대한 간단한 비트 단위 테스트를 수행하여 패킷을 라우팅 / 전달 / 드롭 할지를 결정할 수있는 사용 가능한 주소에서 최종 범위를 선택했을 것입니다. 또한 소형 NAT 테이블을 빌드하는 데 도움이되는 비트 패턴의 일부 특성도 있습니다. 10.xyz 주소는 하나의 네트워크 번호 만 일치하면되므로 분명합니다. 172.16.yz에서 172.32.yz는 상위 4 비트를 참조하는 하위 4 비트 교차 테이블을 작성하는 경우 전체 범위가 2 행으로 분할되지 않고 테이블의 단일 행을 채우는 패턴을 갖습니다. 즉, 두 번째 옥텟은 항상 0001xxxx (이진)입니다. 192.168.yz에서 168의 이진수는 10101000입니다. 즉, 하위 3 비트는 항상 0이고 상위 5 비트는 1과 0을 번갈아 가며 나타냅니다.

이것들은 임의적으로 보일 수 있지만 기계 언어 프로그래밍이나 마이크로 코드 디코딩을 수행 한 경우 이러한 종류의 패턴을 사용하면 전체 IP 주소를 먼저 디코딩하지 않고도 몇 가지 비트 만 테스트하여 개인 / 공개 결정을 내릴 수 있습니다. 이를 통해 라우터는 메모리에서 광범위한 조회 테이블을 유지하지 않고도 이러한 주소를 빠르게 처리 할 수 ​​있습니다. 따라서 라우터는 프라이빗 네트워크 패킷을 먼저 완전히 디코딩하지 않고 프라이빗 네트워크로 다시 푸시하여 라우터와 네트워크의 속도에서 귀중한 클록 사이클을 줄입니다.

궁금하다면 UART 와 같은 직렬 데이터 전송 방법을 살펴보십시오.)는 각 바이트의 데이터를 처리합니다. 제어 클럭 속도로 한 번에 하나의 단일 비트 만 송수신 할 수 있으며 일반적으로 데이터를 패리티 및 "동기화"비트와 같은 추가 비트로 프레임 화합니다. 한 번에 전체 바이트에서 패리티와 같은 것을 계산하는 데 너무 많은 시간이 걸리므로 대신 각 클록이 순환하는 특수 비트를 유지합니다. 이 비트는 송수신 레지스터에서 들어오고 나가는 다음 비트에 의해 수정됩니다. 전체 바이트가 전송 / 수신되는 즉시, 패리티 비트에 남은 값은 다시 계산하지 않아도 이미 정확합니다. 개념은 "다른 작업을하는 것과 동시에 작업을 수행하는 것"입니다. 직렬 칩의 경우, 송수신하는 동시에 패리티를 계산합니다. 라우터 / 스위치의 경우

또한, 이것은 25 년 동안 이런 종류의 일을 한 결과, 내 역할에 대한 논리 / 추측입니다. 논문 / RFC 등을 기억하지 않기 때문에 선택한 최종 숫자의 정확한 이유를 알 수 있을지 모르겠습니다. 완전한 이론적 근거를 제공합니다. 내가 본 가장 가까운 것은 선택된 범위가 회사가 최소한의 노력 / 투자 / 리엔지니어링으로 범위를 사용하는 것이 상대적으로 쉽고 효율적이어야한다는 것을 암시하는 의견입니다.


6
그것은 특히 168의 선택을 설명하지 않는 것 같습니다. 10101000이 10101010 또는 10101001보다 디코딩하기 쉬운 이유를 알 수 없습니다. 두 경우 모두 주소가 개인 네트워크에 속하기 전에 8 비트를 모두 일치시켜야 합니다. 직관적으로 192.168은 특정 비트 패턴 10101000보다 어쨌든 동일한 길이의 다른 패턴보다 디코딩이 더 쉬운 것보다 할당이 이루어질 때 사용 가능한 최초의 적절한 크기의 블록 일 가능성이 높습니다.
Henning Makholm

@HenningMakholm의 최신 네트워킹 장비는 많은 ASIC (응용 프로그램 특정 집적 회로)을 사용하여 하드웨어의 입력 처리를 수행합니다. 간단한 레지스터는 하드웨어에서 구현되어 공통 비트 패턴을 검사 할 수 있으며,이를 분석하는 데 단 하나의 어셈블리 명령 만 필요합니다. 나는 CMs의 생각이 rfc1918의 디자이너들이 생각했던 것이라고 말하지는 않습니다 (우리는 그들이 정보를 포함하지 않은 원인을 알 수 없습니다). 그러나 그것은 흥미로운 가능성입니다.
Frank Thomas

2
@ FrankThomas : 다른 8 비트 상수에 대한 매칭보다 168에 대한 매칭이 ASIC 회로를 생성하는 것이 더 쉽다고 말하는가? 나는 하드웨어 디자이너는 아니지만 믿기 어렵다는 것을 안다.
Henning Makholm

2
라우터가 이러한 네트워크를 특별한 방식으로 처리하는 데 프로토콜에 대한 요구 사항은 없으므로이 답변의 거의 모든 내용은 관련이 없습니다. 않았다 RFC 1918를 기억 하지 NAT를 지정하고, 이들 주소가 모두 인터넷에 도달 할 수있는 방법으로, 순수하게 내부 될 것이라고 상상. NAT는 다소 후에 왔으며 RFC 2663까지 실제로 지정되지 않았습니다.
Michael Hampton

2
@Frank 나는 오랫동안 verilog 또는 VHDL을 많이 사용하지 않았지만 논리가 진실이라고 생각하지 않습니다. 적어도 하드웨어에서 평등을 구현하는 방법에 대한 분명하고 효율적인 방법은 패턴에 신경 쓰지 않습니다. 논리적 즉석에 대한 특정 패턴 만 생성 할 수있는 일부 ISA (ARMv8은 실제로 새로운 이름을 지정 함)가 있습니다.
Voo

21

에서 원시 인터넷 네트워크는 이제 10.0.0.0/8가에 할당 된 표시 ARPANET . IETF와 IANA가 개인 주소 범위를 할당하기 시작했을 때 ARPANET은 기능이 떨어지고 이전 주소 공간은 개인 용도로 사용할 수있었습니다.

다른 두 범위는 앞에서 언급 한 클래스 A 외에 클래스 B 및 클래스 C 네트워크를 개인 IP에 사용할 수있게했습니다.


15

192는 이진수로 11xxxxxx로 시작하므로 클래스 C 네트워크를 나타냅니다 . 두 개의 연속 1로 시작하는 가장 낮은 숫자입니다. 클래스 A는 최상위 비트로 0을 가지며 클래스 B는 10을 갖습니다.

개인 IP 범위를 정의하는 RFC 1918 은이 시점에서 명확하지 않으므로 16 비트 블록에 .168을 선택한 이유에 대한 명확한 대답은 없지만 1996 년까지 RFC가 릴리스되지 않았기 때문에 수많은 등록이 이미 이루어진 후. 192는 클래스 C 할당에서 첫 번째 8 비트 블록이므로 많은 주소가 이미 사용되었을 가능성이 있습니다. 168이 처음으로 사용 가능했을 수 있습니다.

또한 이러한 선택 중 일부는 임의적입니다. rfc1918 클래스 B 범위는 172.16-172.31입니까? 172의 이유를 생각할 수는 없지만 16 클래스 B를 사용하여 1 백만 개의 연속 주소 블록 (1048576)을 선택했다고 확신합니다.

때때로 프로토콜은 그런 식입니다. 누군가는 선택을해야했고 그들은 그것을 만들었습니다. 잠시 동안 리눅스 커널은 시스템 당 최대 1024 개의 CPU로 제한되었고, 일부 슈퍼 컴퓨터에 문제가 발생한 후에는 패치를 발행해야했습니다. 1024를 사용하기로 결정한 사람은 아마도 가치가 필요하다는 것 외에 다른 이유가 없었으며 1024는 훌륭하고 둥글다.


1
좋은 지적입니다. 특히 Darth Android의 배경과 다른 클래스의 첫 번째 비트에 대한 추가 정보가 결합되어 있습니다.
Hennes

9
그러나 왜 192.168입니까?
user20574

14

이것은 IPv4 주소 범위가 클래스로 세분화 된 Classful Networking 의 나머지입니다 .

  • 클래스 A : 0.0.0.0-127.255.255.255 / 255.0.0.0
  • 클래스 B : 128.0.0.0-191.255.255.255 / 255.255.0.0
  • 클래스 C : 192.0.0.0-223.255.255.255 / 255.255.255.0
  • 클래스 D : 224.0.0.0-239.255.255.255 (멀티 캐스트)
  • 클래스 E : 240.0.0.0-255.255.255.255 (예약)

1993 년에 Classless Inter-Domain Routing 으로 넘어갔지 만, 클래스는 여전히 여러 곳에 레거시를 가지고 있습니다. 라우터는 10 개의 네트워크가 "엔터프라이즈"네트워크 하드웨어에서 일반적이며 멀티 캐스트는 여전히 멀티 캐스트입니다.


16
그러나 질문자는 왜이 사람이 다른 WWW 사이트에서 하고 다른 사람이 다른 StackExchange 에서 했으므로 각 클래스의 특정 네트워크가 선택된 이유를 묻습니다 . user46971이 머리에 못을 박았습니다.
JdeBP

1
SE 답변이 너무 좋기 때문에이 질문을 마이그레이션 한 다음 중복으로 표시해야한다고 생각합니다. 실제로 일반적인 컴퓨터 사용보다는 네트워킹에 관한 것입니다.
trlkly

3

RFC는 "Class A, B & C"에서 각각 3 가지 범위를 선택한 이유를 설명합니다. CIDR은 지정되었지만 널리 구현되지 않았습니다. 여전히 "고급스러운"장비가 많이있었습니다.

특정 범위의 선택을 기억하는 한 다음과 같습니다.

10/8 : ARPANET이 방금 꺼졌습니다. 우리 중 한 명이 제안했고 Jon은이 "역사적"주소 블록을 잘 재사용한다고 생각했습니다. 또한 "net 10"은 일부 장소에서 하드 코딩되어있을 수 있으므로 AS 간 라우팅이 아닌 개인 주소 공간에이를 재사용하면 이러한 간결함을 로컬로 유지하는 데 약간의 이점이있을 수 있습니다.

172.16 / 12 : 클래스 B 공간에서 할당되지 않은 최저 / 12

192.168 / 16 : 클래스 C 블록 192/8에서 할당되지 않은 가장 낮은 / 16.

요약하면 : IANA는 다른 용도와 마찬가지로이 공간을 할당했습니다. IANA로서 Jon은 창의적이어야 할 충분한 이유가 없다면 매우 일관되었습니다.

다니엘 (RFC1918의 공동 저자)

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