IP 주소는 몇 자까지 가능합니까?

IP 주소는 몇 자까지 가능합니까?

IP 주소를 저장하려면 mysql 테이블에 필드를 만들어야 합니다. IP 주소의 최대 문자 수를 알아야 합니다. ipv4, ipv6 또는 유효한 IP 주소를 비정상적으로 길게 렌더링할 수 있는 다른 유형인지 여부. 그럼 글자 수 제한은 어떻게 설정해야 할까요?

나는 "foo"라는 단어가 바이트 단위나 그와 유사한 것이 아닌 3개의 문자를 갖는다는 의미에서 길이를 요구하고 있습니다.

답변1

IPv6 주소는 최대 4자로 구성된 8개 세트(총 32개)이며, 각 세트는 콜론으로 구분됩니다. 그러면 39자가 됩니다.

IPv4 주소는 최대 4개의 3개 숫자 세트(12자)이며 각 세트는 점(.)으로 구분됩니다. 그러면 15자가 됩니다.

이 모든 것은 IP 주소가 사람이 읽을 수 있는 형식으로 저장되어야 한다고 가정합니다. 나는 IP 주소가 어떻게 사용될지 모르기 때문에 십진수 형식으로 저장하는 것을 선호합니다. 귀하의 마일리지가 다를 수 있습니다.

답변2

이것은 생각만큼 쉽지 않습니다.

대부분의 경우 안전합니다.45.

일반 IPv6 주소

0000:0000:0000:0000:0000:0000:0000:0000

8 * 4 + 7 =39


IPv4 매핑 IPv6 주소

보다RFC4291

0000:0000:0000:0000:0000:ffff:192.168.100.228

(6 * 4 + 5) + 1 + (4 * 3 + 3) = 29 + 1 + 15 =45


헤더 파일INET6_ADDRSTRLEN을 다음과 같이 정의합니다.46


범위 영역이 있는 IPv6

보다RFC4007

범위 영역은 숫자 또는 문자열(인터페이스 이름)일 수 있습니다.

ff02::5678%5
ff08::9abc%interface10

인터페이스 이름의 길이는 시스템에 따라 다릅니다. Linux에서는 IFNAMSIZ 상수로 정의됩니다. 16은 일반적인 값입니다. 위의 45자를 사용하면 다음과 같습니다.

45 + 1 + 16 =62


또한 참조하십시오https://stackoverflow.com/questions/166132/maximum-length-of-the-textual-representation-of-an-ipv6-address

관련 정보