IP 주소는 컴퓨터 네트워크에서 장치를 식별하고 위치를 지정하는 데 사용되는 숫자로 된 주소입니다. IP 주소는 네트워크 통신에서 데이터가 어디로 전송되어야 하는지를 결정하는 중요한 역할을 합니다. IPv4와 IPv6 두 가지 주소 체계가 있습니다.

서브넷팅(Subnetting)은 IP 주소 공간을 더 작은 부분으로 분할하는 네트워크 디자인 기술입니다. 이를 통해 대규모 네트워크를 관리 가능한 작은 네트워크로 나누어 관리할 수 있습니다. 서브넷팅을 사용하면 네트워크 성능을 최적화하고 보안을 강화할 수 있습니다.

  1. IPv4
  2. IPv6
  3. Subnetting


IPv4

IPv4 주소는 32비트 길이로 표현되며, 4개의 8비트로 나누어진 “x.x.x.x” 형식으로 나타냅니다. 예를 들어, 192.168.1.1과 같은 형태입니다. 현재 인터넷 사용량의 증가로 인해 사용 가능한 주소가 부족해지고 있습니다. IPv4 주소 클래스는 A, B, C, D, E 다섯 가지 클래스로 나뉘어지며, 각 클래스는 다음과 같은 특징을 가지고 있습니다

  • Class A
    범위: 0.0.0.0 ~ 127.255.255.255
    네트워크 식별자: 첫 번째 바이트 (8비트)가 네트워크 식별자
    호스트 식별자: 나머지 24비트가 호스트 식별자
    대규모 네트워크에 할당되며, 호스트 주소 수는 매우 많음

  • Class B
    범위: 128.0.0.0 ~ 191.255.255.255
    네트워크 식별자: 첫 번째 두 바이트 (16비트)가 네트워크 식별자
    호스트 식별자: 나머지 16비트가 호스트 식별자
    중간 규모의 네트워크에 할당되며, 대체로 기업이나 중간 규모 조직에서 사용

  • Class C
    범위: 192.0.0.0 ~ 223.255.255.255
    네트워크 식별자: 첫 번째 세 바이트 (24비트)가 네트워크 식별자
    호스트 식별자: 나머지 8비트가 호스트 식별자
    소규모 네트워크에 할당되며, 호스트 주소 수는 상대적으로 적음

  • Class D
    범위: 224.0.0.0 ~ 239.255.255.255
    멀티캐스트 그룹 주소에 사용됨
    멀티캐스트 통신을 위해 예약된 주소 범위

  • Class E
    범위: 240.0.0.0 ~ 255.255.255.255
    실험 및 예약용으로 예약된 주소 범위
    일반적으로 사용되지 않음

추가적으로 사설 IP주소가 있습니다. NAT를 사용할 시 내부 IP주소로 사용됩니다.
클래스 A: 10.0.0.0~10.255.255.255
클래스 B: 172.16.0.0~172.31.255.255
클래스 C: 192.168.0.0~192.168.255.255
(+루프 백 주소 127.0.0.1입니다.)


IPv6

IPv6는 주소 고갈 문제를 해결하고 더 많은 주소를 제공하기 위해 개발된 새로운 인터넷 프로토콜 버전입니다. IPv6 주소는 128비트 길이로 표현되며, 8개의 16비트 숫자(형식: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx)로 나누어진 형식으로 나타냅니다. 예를 들어,2001:0db8:85a3:0000:0000:8a2e:0370:7334과 같은 형태입니다. IPv6는 IPv4와 비교하여 다양한 추가 기능을 제공하며, 주요한 몇 가지 기능은 다음과 같습니다. 주소 공간 확장, 보안 향상, 자동 구성, 품질 보증 (QoS) 지원, 애니캐스트 지원, 멀티캐스트 향상


기능 IPv4 IPv6
주소 길이 32비트 128비트
주소 공간 한계적 방대한
보안 추가 보완이 필요 (IPsec 옵션) 내장된 IPsec 지원
자동 구성 DHCP를 통한 주소 할당 SLAAC 및 자동 구성
QoS 지원 부분적 내장된 품질 보증(QoS) 지원
멀티캐스트 기능 지원 향상된 기능 지원
애니캐스트 미지원 지원

(IPv6는 내장된 IPsec을 사용하고, ICMPv6 방식을 이용하기에 IPv6 패킷에는 Checksum 필드가 없습니다.)


Subnetting

서브넷팅은 서브넷 마스크(Subnet Mask)를 조정하여 각 서브넷에서 사용 가능한 호스트 주소 범위를 결정하는 과정입니다. 서브넷 마스크는 IP주소의 네트워크 부분과 호스트 부분을 나누는 역할을 합니다. 사용자들은 서브넷 마스크를 보고 네트워크의 구조를 확인합니다. 서브넷 마스크 이외에도 도메인 방식으로 표현하기도 합니다. 서브넷팅을 하는 방법은 아래와 같습니다.

  1. 서브넷 비트 수 결정 or 호스트 비트 수 결정 : 예를 들어, 필요한 서브넷 수가 5라면 3개의 비트가 필요합니다.
  2. 서브넷 마스크 계산 : C class라고 가정하고 서브넷 비트 수가 3이라면, 서브넷 마스크는 11111111.11111111.11111111.11100000(255.255.255.224)이 됩니다. 도메인 형식으로 표현하면 주소 마지막에 /(1비트의 갯수)를 적습니다. 예를들어, 192.168.1.1/27로 나타냅니다.

위와 같이 서브넷팅을 할 시, 사용 가능한 서브넷 수는 2^3개인 8개입니다. 각 서브넷은 2^5개인 호스트 주소를 가집니다. 이때 첫 주소는 네트워크 주소이고, 마지막 주소는 브로드캐스팅 주소임으로 실제 사용하는 호스트 주소는 각 서브넷 당 (2^5-2)개인 30개입니다. 총 사용 가능한 호스트 수는 30 * 8 개인 240개입니다.