IPv6 확장/압축 도구
압축된 IPv6 주소를 전체 표기로 확장하거나 최단 형식으로 압축합니다.
이 도구 소개
IPv6 주소는 16진법으로 표기되며, 완전히 확장하면 최대 39자까지 길어집니다. 이를 더 읽기 쉽고 전송하기 편하도록 IPv6는 압축 기법을 지원합니다. 선행 0을 제거하고 연속된 0 그룹을 이중 콜론(::)으로 바꾸어 주소를 단축할 수 있습니다. 이 도구는 압축된 주소를 완전한 표기법으로 확장하거나, 긴 주소를 가장 짧은 유효한 형태로 압축합니다.
도구 사용은 매우 간단합니다. IPv6 주소를 압축 형식 또는 확장 형식으로 붙여넣거나 입력한 후, 확장할지 압축할지 선택하면 결과가 즉시 출력 필드에 표시됩니다. 입력 형식을 자동으로 감지하므로 수동으로 형식을 선택할 필요가 없습니다. 네트워크 인프라 구성, IPv6 라우팅 문제 디버깅, 문서의 주소 표기 검증 등 다양한 상황에서 안정적인 변환을 제공합니다.
네트워크 엔지니어, 시스템 관리자, 현대적 네트워크를 다루는 개발자가 이 도구를 가장 유용하게 활용할 수 있습니다. 특히 레거시 시스템이 완전한 표기를 요구할 때나 네트워크 모니터링 시스템에서 압축된 주소를 읽을 때 효과적입니다. IPv4 주소 공간 고갈로 IPv6 사용이 점점 증가함에 따라, 이런 주소 조작 도구는 현대 네트워크 관리에 필수적이 됩니다.
자주 묻는 질문
코드 구현
import ipaddress
def expand_ipv6(addr: str) -> str:
"""Expand compressed IPv6 to full form."""
return ipaddress.ip_address(addr).exploded
def compress_ipv6(addr: str) -> str:
"""Compress full IPv6 to shortest form."""
return ipaddress.ip_address(addr).compressed
examples = [
"2001:db8::1",
"::1",
"fe80::1",
"2001:0db8:0000:0000:0000:0000:0000:0001",
"::ffff:192.168.1.1", # IPv4-mapped IPv6
]
for addr in examples:
expanded = expand_ipv6(addr)
compressed = compress_ipv6(expanded)
print(f"Input: {addr}")
print(f"Expanded: {expanded}")
print(f"Compressed: {compressed}")
print()Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.