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

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

왜 그랬는가?인터넷 엔지니어링 태스크 포스(IETF) 192.168/16다른 것이 아닌 개인 IP 주소 클래스를 선택하시겠습니까?

예를 들어 왜 구체적으로 192.168/16그리고 10/8그리고 172.16/12아닌지 145.243/16?

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

답변1

나는 누가 이 주소 범위를 선택했는지 알고 있습니다. 안타깝게도 돌아가셨기 때문에 정확히 물어볼 수는 없습니다.그는 그것들을 선택했지만 나는 정보에 입각한 추측을 할 수 있습니다.

인터넷이 본격적으로 보급되기 시작한 1990년대 중반 이전에는 온라인 데이트가 많지 않았습니다. 인터넷의 역사가 존재하는 대부분은RFC그것을 정의하는 것은1969년, ARPANET 시작 시. 이를 통해 당시 가장 뛰어난 사람들이 설계한 몇 가지 원시적인 메인프레임으로 구성된 신생 네트워크부터 오늘날 없이는 거의 상상할 수 없는 네트워크까지 인터넷이 발전하는 모습을 볼 수 있습니다.

이 답변은 거의 전적으로 해당 RFC에서 나온 것이며, 일부는 이 시대에 인터넷을 사용하면서 얻은 개인적인 경험에서 나온 것입니다.


첫째, IETF는 이러한 IP 주소 범위나 다른 범위를 선택하지 않았습니다. 특수 용도 주소 할당현재그리고항상 그래왔다의 직업인터넷 할당 번호 기관.

IANA는 항상역할, 특정 조직이 아니라 그 역할이 정확히 한 번 바뀌었습니다. 현재는 ICANN이 보유하고 있지만1972년부터~까지1998년 그의 죽음그를 대체하기 위해 조직이 만들어졌을 때 IANA는 본질적으로 한 사람이었습니다.존 포스텔. 물론 그가 먼저 역할을 불렀다.소켓 번호의 황제, ㅏ필요한 일은 그가 스스로 맡았다왜냐하면 꼭 해야 할 일이었기 때문이다. 그는 주소, 프로토콜 번호, 포트 등 할당할 수 있는 거의 모든 번호의 황제가 되었습니다. 그 이유는 주로 그가 그렇게 하려고 했기 때문입니다.대중 상업에 개방됨그는 그 일을 20년 넘게 해왔습니다. 그는 번호를 할당했고,인터넷 레지스트리(그때 SRI-NIC는퍼지는에게분산된 레지스트리 모음전 세계)에 출판했습니다.

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

이제 우리는 주소 범위를 이해할 수 있는 위치에 있습니다.RFC 1918조금 더 나은. 이것은 실제로 RFC의 두 번째 개정판입니다. 첫 번째는RFC 1597는 거의 2년 전인 1994년 3월에 출판되었습니다. 거의 알려지지 않은 반박에서,RFC 1627, 개인 주소 공간에 대한 현대적인 주장이 제시되었습니다. RFC 1627에서는 누가 세 개의 주소 공간을 할당했는지 언급합니다.

이는 RFC 1597 작성자의 요청에 따라 IANA, 즉 Jon Postel에 의해 할당되었으며, RFC 1627의 불만 사항이 믿어진다면 그는 일반적인 공개 프로세스가 아닌 백 채널을 통해 할당했습니다. RFC 1597 자체가 RFC 상태로 바로 전환된 것을 볼 수 있습니다.보통의선행인터넷 초안, 그래서 이것도 Postel의 백 채널을 통해 승인되었습니다.당시 RFC 편집자이기도 한 사람. 따라서 이 질문에 대해 결론적으로 대답하는 것은 결코 불가능할 수도 있습니다.

이제 그가 이 세 가지 주소 범위를 선택한 이유에 대해서는 당시 IP 주소 범위가 할당된 SRI의 RFC 1166 및 1117을 다시 살펴보겠습니다. 두 경우 모두 네트워크 10이 여전히 할당되어 있음을 알 수 있습니다.없어져 버린ARPANET은1990년에 폐쇄되다. IANA 역할을 맡은 Postel은 이 범위가 더 이상 사용되지 않으며 재할당될 수 있다는 것을 알았습니다. 나는 Postel이 네트워크 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이 인터넷 번호 "czar"라고 부르는 것을 듣고 일부 사람들은 혼란스러워했습니다. 그들은 커뮤니티가 Jon이 필수 인프라 서비스에 질서를 부여한 것에 대한 애정과 깊은 감사의 마음으로 Jon에게 칭호를 부여했다는 사실을 깨닫지 못했습니다. 특히 커뮤니티는 Jon이 개인의 권력을 위한 기회가 아니라 신뢰로서 자신의 입장을 취했다는 것을 충분히 알고 이 용어를 사용했습니다. 우리는 그의 견해가 정당한 신념에서 나온 것임을 항상 알고 있었으며 그가 어떤 식으로든 정치적 또는 개인적 이익을 고려하고 있다는 것을 걱정할 필요가 없었습니다. 우리는 그의 의견에 동의하지 않을 수도 있지만, 옳은 일이 이루어져야 한다는 우려가 먼저라는 것을 항상 알고 있었습니다.

답변2

당시에는 말이 되었기 때문에? :-디

개인 IP 주소 범위가 할당되었을 때 네트워크 엔지니어가 해결해야 했던 몇 가지 문제가 있었습니다. 당시 가장 강력한 라우터 중 일부는 오늘날의 포켓 그래프 계산기만큼 CPU 성능과 RAM 저장 공간을 가지고 있었습니다. 오늘날에도 여전히 이전 라우터 주변을 돌고 있는 것 같습니다(CPU 속도는 킬로헤르츠로 측정되었고 RAM 저장 용량은 오늘날과 같은 기가*가 아닌 킬로바이트로 측정되었던 때를 기억합니다!). 인터넷이 빠르게 성장하면서IPv4주소 공간은 제한되어 있었고, 2000년쯤에는 고갈될 것처럼 보였습니다. 따라서 많은 IP 주소 범위가 이미 할당되었으며, 회사는 이를 개인 범위에 다시 할당할 수 있도록 IP 주소 범위를 돌려달라고 회사에 요청할 필요가 없었습니다. 그들은 또한 기업이 개인 범위와 작업하는 것을 최대한 쉽게 만들고 싶었습니다. 네트워크가 10~20개 범위/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비트로 테이블을 구성하는 경우 전체 범위가 두 행으로 분할되지 않고 테이블의 한 행에 걸쳐 채워지는 패턴이 있습니다. --즉, 두 번째 옥텟은 항상 0001xxxx(이진수)입니다. 192.168.yz에서 168의 이진수는 10101000입니다. 즉, 하위 3비트는 항상 0이고 상위 5비트는 1과 0이 번갈아 나타납니다.

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

궁금하다면 직렬 데이터 전송 방법(예:UART)는 데이터의 각 바이트를 처리합니다. 제어 클록의 속도로 한 번에 하나의 단일 비트만 보내고 받을 수 있으며 일반적으로 패리티 및 "동기화" 비트와 같은 추가 비트로 데이터를 프레임화합니다. 한 번에 전체 바이트에 대한 패리티 같은 것을 계산하려고 하면 시간이 너무 많이 걸리기 때문에 대신 각 클록 주기마다 특수 비트를 유지합니다. 해당 비트는 송신/수신 레지스터 내/외로 이동되는 다음 비트에 의해 수정됩니다. 전체 바이트가 전송/수신되자마자 패리티 비트에 남아 있는 값은 다시 계산할 필요 없이 이미 정확합니다. 개념은 "다른 작업을 수행하는 동시에 작업을 수행"하는 것입니다. 직렬 칩의 경우 전송/수신과 동시에 패리티를 계산합니다. 라우터/스위치의 경우 주소의 각 비트가 유선에서 들어올 때 이미 IP 주소를 디코딩하고 있고 네트워크에서 읽기가 끝나기도 전에 다음에 패킷을 보낼 위치를 이미 알고 있다면 더 높은 성능을 얻을 수 있습니다. 케이블!

또한 이것은 25년 동안 이런 종류의 작업을 수행해 온 것을 바탕으로 한 저의 논리/추측일 뿐입니다. 어떤 논문이나 RFC 등도 기억나지 않기 때문에 최종 숫자가 선택된 정확한 이유를 알 수 있을지 모르겠습니다. 완전한 근거를 제시합니다. 내가 본 가장 가까운 것은 선택한 범위가 기업이 최소한의 노력/투자/리엔지니어링을 통해 상대적으로 쉽고 효율적으로 사용할 수 있도록 해야 한다고 제안하는 몇 가지 의견입니다.

답변3

에서원시 인터넷, 현재 10.0.0.0/8로 표시된 네트워크가아르파넷. IETF와 IANA가 개인 주소 범위를 할당할 당시에는 ARPANET은 존재하지 않았고 이전 주소 공간은 개인용으로 사용할 수 있었습니다.

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

답변4

192는 이진수로 11xxxxxx로 시작하므로클래스 C회로망. 두 개의 연속된 1로 시작하는 가장 낮은 숫자입니다. 클래스 A의 최상위 비트는 0이고 클래스 B의 비트는 10입니다.

RFC 1918개인 IP 범위를 정의하는 이 항목은 이 점에 대해 명확히 설명하지 않으므로 16비트 블록에 .168을 선택한 이유에 대한 확실한 답은 없습니다. 그러나 RFC가 1996년까지 발표되지 않았기 때문이라고 생각합니다. 이미 엄청난 수의 등록이 이루어졌습니다. 192는 클래스 C 할당의 첫 번째 8비트 블록이므로 많은 주소가 이미 사용되었을 가능성이 높습니다. 168이 처음으로 사용 가능했을 수 있습니다.

또한 이러한 선택 중 일부는 임의적이라는 점을 명심하세요. rfc1918 클래스 B 범위는 172.16 - 172.31입니다. 172에 대한 이유는 생각할 수 없지만 16개의 클래스 B를 사용하기로 선택하여 100만 개의 연속 주소 블록(1048576)을 갖게 되었다고 확신합니다.

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

관련 정보