Localhost IP가 127.0.0.1 인 이유는 무엇입니까?

전 세계 괴짜들은 자신의 로컬 호스트를 127.0.0.1로 알고 있지만 사용 가능한 모든 주소의 특정 주소가 로컬 호스트 용으로 예약 된 이유는 무엇입니까? 로컬 호스트의 역사에 대해 자세히 알아보십시오.

이미지 : GMPhoenix; 여기에서 배경 화면으로 사용할 수 있습니다.

오늘의 질문 및 답변 세션은 Q & A 웹 사이트의 커뮤니티 드라이브 그룹 인 Stack Exchange의 하위 부문 인 SuperUser가 제공 한 것입니다.

질문

기본 로컬 호스트 IP에 대해 궁금해하는 수퍼 유저 독자 Roee Adler는 커뮤니티에 다음 질문을 제기했습니다.

localhost의 IP 주소를  결정한 이유는 무엇인지 궁금했습니다  127.0.0.1. 의 "의미"는  127무엇입니까? 의 "의미"는  0.0.1무엇입니까?

실제로 의미가 무엇입니까? 이러한 질문에 대한 답을 모르는 채 괴상한 삶을 살 수도 있지만, 우리는 파헤칠 준비가되어 있습니다.

답변

Roee의 질문에 답하기 위해 여러 기고자들이 참여했으며, 각각의 기고는 127.0.0.1이 우리 모두가 고향이라고 부르는 장소에 대해 더 많은 빛을 비추는 데 도움이됩니다. John T는 다음과 같이 씁니다.

127은 서브넷 마스크가 인 클래스 A 네트워크의 마지막 네트워크 번호입니다  255.0.0.0127.0.0.1 서브넷에서 할당 가능한 첫 번째 주소입니다. 127.0.0.0 와이어 번호이기 때문에 사용할 수 없습니다. 그러나 호스트 부분에 다른 숫자를 사용하면 제대로 작동하고 127.0.0.1. 원하는 127.1.1.1 경우 핑을 통해 직접 시도 할 수 있습니다  . 이를 구현하기 위해 마지막 네트워크 번호까지 기다린 이유는 무엇입니까? 나는 그것이 문서화되었다고 생각하지 않습니다.

Hyperslug는 주제에 대한 오래된 메모를 파헤쳐 서 아카이브 조사를 수행합니다.

루프백은 Reynolds와 Postel이 작성한 1986 년 11 월 RFC 990이므로 127의 할당과 관련하여 가장 먼저 찾을 수 있습니다.

주소 0은 "이 네트워크"에서와 같이 "이"를 의미하는 것으로 해석됩니다.

예를 들어 주소 0.0.0.37은이 네트워크에서 호스트 37을 의미하는 것으로 해석 될 수 있습니다.

클래스 A 네트워크 번호 127에는 "루프백"기능이 할당됩니다. 즉, 상위 수준 프로토콜에서 네트워크 127 주소로 전송 된 데이터 그램은 호스트 내부에서 루프백되어야합니다. 네트워크 127 주소로 "보낸"데이터 그램은 어느 네트워크에도 나타나지 않아야합니다.

빠르면 1981 년 9 월에 RFC 790, 0 및 127이 이미 예약되었습니다.

000.rrr.rrr.rrr 예약 됨 [JBP] ... 127.rrr.rrr.rrr 예약 됨 [JBP]

0과 127은 1981 년까지 유일하게 예약 된 클래스 A 네트워크였습니다. 0은 특정 호스트를 가리키는 데 사용되었으므로 루프백을 위해 127이 남았습니다.

나는 이것이 질문에 대한 답이 아니라는 것을 알고 있지만 이것은 내가 파헤칠 수있는 한 먼 옛날입니다. 루프백을 위해 1.0.0.0을 선택하는 것이 더 합리적 일 수 있지만 이미 BBN 패킷 라디오 네트워크에 제공되었습니다.

우리 모두는 로컬 호스트로 127.0.0.1을 알고 사랑하지만 영원히 로컬 호스트가 될 수는 없다는 점에 주목할 가치가 있습니다. 127.0.0.1은 IPv4 통신에서 localhost가 지정되는 방식이며 IPv6가 천천히 점령함에 따라 훨씬 더 직관적 인 번호 인 0 : 0 : 0 : 0 : 0 : 0 : 0 : 1로 지정됩니다.

설명에 추가 할 것이 있습니까? 댓글에서 소리를 내세요. 기술에 정통한 다른 Stack Exchange 사용자의 답변을 더 읽고 싶으십니까? 여기에서 전체 토론 스레드를 확인하십시오.