유효한 호스트 이름 라벨은 무엇입니까?

유효한 호스트 이름 라벨은 무엇입니까?

호스트 이름을 숫자로 설정하고 실행하면 hostname다음이 표시됩니다.

6592

하지만 실행하면 다음과 같은 ping 6592결과를 얻습니다.

connect: Invalid argument

관련 확인했어요위키피디아 페이지, 그러한 호스트 이름이 허용된다고 나와 있습니다(IIUC). 내가 무엇을 놓치고 있나요?

답변1

RFC가 말하는 내용은 실제로 여기서 중요하지 않습니다. RFC는 DNS 수준에서 발생하는 일을 지정하지만 처음에 핑이 DNS 쿼리를 수행하지 않으면 의미가 없습니다. ping이 모두 숫자로 구성된 매개변수를 수신하면 이를 IP 주소로 해석합니다.

IPv4 주소기술적으로는 32비트 숫자입니다. 그들은 거의 항상 다음과 같이 쓰여집니다.점으로 구분된 십진수 표기법, 예를 들어 소위 "점 사변형"입니다 127.0.0.1. 그러나 213070643310진수나 16진수로 한 자리 숫자 로 쓸 수도 있습니다 0x7f000001.

$ ping 2130706433    # 127*2^24 + 1
PING 2130706433 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.027 ms
$ ping 0.0.25.192
connect: Invalid argument

0.0.0.0/8 범위의 주소는 다음과 같습니다.예약된방송에서 소스 주소로 사용됩니다. 그들에게 패킷을 보낼 수 없기 때문에 가 connect(2)반환됩니다 EINVAL.

대부분의 핑 구현을 포함한 많은 프로그램에는 DNS 조회를 강제하는 옵션이 없습니다. 모두 숫자로 구성된 하위 도메인으로 로컬 네트워크를 만들고 점선 사변형처럼 보이는 유효한 호스트 이름으로 끝나는 경우 유사한 문제에 직면하게 됩니다.

로컬 네트워크에 이름이 있으면 ping 6592.mynetwork사용할 수 있습니다. 그러나 조만간 도메인 이름을 생략하고 싶을 것이기 때문에 비슷한 문제에 직면할 수도 있습니다. 그냥 흐름에 따라 시작 부분에 편지를 쓰세요.

답변2

글쎄요, 정확히는 아닙니다... Wikipedia와 RFC가 말하는 것은 원본 이후로RFC 952, 이전에는 선행 숫자가 허용되지 않았지만 이제는 사용할 수 있습니다. (모든RFC 1123) 넌 아직 가질 수 없어모두숫자이지만 귀하의 질문입니다.

"6952"는 유효한 호스트 이름이 아니며 "6952x"는 괜찮습니다. 그러나 RFC는 제쳐두고 지난 1년 동안 앞자리 숫자에 문제가 있었습니다. 나는 그렇게 하지 말아야 할 설득력 있는 이유가 없다면 그것들을 피할 것입니다.

관련 정보