[네트워크] IP 주소

IP 주소와 클래스 개념

Posted by ChaelinJ on May 30, 2021

3.3 IP 주소

OSI 계층에서 주소를 갖는 계층은 다음의 두 계층입니다.

  • 2계층(데이터 링크 계층): 물리 주소인 MAC 주소
  • 3계층(네트워크 계층): 논리 주소인 IP 주소

IP 주소를 포함한 다른 프로토콜 스택의 3계층 주소는 다음과 같은 특징이 있습니다.

  1. 사용자가 변경 가능한 논리 주소입니다.
  2. 주소에 레벨이 있습니다.
    • 그룹을 의미하는 네트워크 주소와 호스트 주소로 나뉩니다.

3.3.1 IP 주소 체계

  • IPv4: 32비트로 흔히 사용하는 IP 주소
  • IPv6: 128비트

IPv4 주소를 표기할 때는 4개의 옥텟(Octet)이라고 부르는 8비트 단위로 나누고 옥텟은 “.”으로 구분합니다.

MAC 주소가 16진수로 표기된 것과 달리 IP 주소는 10진수로 표기하므로 8비트 옥텟은 0~255의 값을 쓸 수 있습니다.

192.168.0.1

11000000 . 10101000 . 00000000 . 00000001

위는 10진수로 표현한 IPv4 주소이고 아래는 8비트로 표현한 것입니다.


IP 주소는 두 부분으로 나뉩니다.

  • 네트워크 주소
    호스트들을 모은 네트워크를 지칭하는 주소. 네트워크 주소가 동일한 네트워크를 로컬 네트워크라 함.
  • 호스트 주소
    하나의 네트워크 내에 존재하는 호스트를 구분하기 위한 주소

MAC 주소의 경우 24비트씩 절반으로 나뉘어 OUI, UAA를 의미하지만 IP 주소의 경우 두 부분을 구분하는 경계점이 정해져 있지 않습니다.

IP 주소 체계는 필요한 호스트 IP 개수에 따라 네트워크의 주소 크기를 다르게 할당할 수 있는 클래스의 개념을 도입했습니다.

네트워크 주소와 호스트 주소를 나누는 구분자는 클래스(네트워크 크기)에 따라 변경된다.

  • A 클래스: 1,600만 개의 IP 주소를 가질 수 있습니다.
    • 1개의 옥텟으로 네트워크 주소를, 3개의 옥텟으로 호스트 주소를 나타내기 때문에 2^8개의 네트워크와 한 네트워크 당 2^24개의 호스트 주소를 갖게 됩니다.
  • B 클래스: 약 6만 5천개
    • 2개의 옥텟으로 네트워크 주소를, 2개의 옥텟으로 호스트 주소를 나타내기 때문에 2^16개의 네트워크와 한 네트워크 당 2^16개의 호스트 주소를 갖게 됩니다.
  • C 클래스: 약 250 개의 IP 주소를 가질 수 있습니다.
    • 3개의 옥텟으로 네트워크 주소를, 1개의 옥텟으로 호스트 주소를 나타내기 때문에 2^24개의 네트워크와 한 네트워크 당 2^8개의 호스트 주소를 갖게 됩니다.
클래스 구분법

A, B, C 클래슨느 맨 앞 옥텟 주소만 보고 구분할 수 있습니다.

A 클래스

앞 옥텟의 주소가 0~127 범위인 IP 주소는 A 클래스 입니다.

  • 첫 옥텟을 이진수로 표기했을 때, 2진수 8자리 중 맨 앞자리가 0인 주소가 A 클래스입니다.
  • 즉 첫 옥텟이 2진수로 0000 0000 ~ 0111 1111 인 주소가 A 클래스입니다.
  • 127만 예외로 자신을 의미하는 루프백 주소로 사용되므로 실제로 A 클래스로 사용할 수 있는 주소는 1.0.0.0 ~ 126.255.255.255 까지 입니다.
B 클래스

앞 옥텟의 주소가 128~191 범위인 IP 주소는 B 클래스 입니다.

  • 첫 옥텟을 이진수로 표기했을 때, 2진수 8자리 중 맨 앞자리가 1이고 두 번째 자리가 0인 주소가 B 클래스입니다.
  • 즉 첫 옥텟이 2진수로 1000 0000 ~ 1011 1111 인 주소가 B 클래스입니다.
C 클래스

앞 옥텟의 주소가 192~223 범위인 IP 주소는 C 클래스 입니다.

  • 첫 옥텟을 이진수로 표기했을 때, 2진수 8자리 중 맨 앞자리, 두 번째 자리가 1이고 세 번째 자리가 0인 주소가 C 클래스입니다.
  • 즉 첫 옥텟이 2진수로 1100 0000 ~ 1101 1111 인 주소가 C 클래스입니다.


네트워크에서 사용 가능한 호스트 개수 파악하기

IP 네트워크에서는 네트워크 크기가 변경되므로 하나의 네트워크에서 사용 가능한 호스트 개수와 사용 가능한 유효 IP 범위를 파악하는 것이 중요합니다.

클래스로 구분되는 경우, 우리가 쉽게 인지할 수 있는 10진수 형태로 표현되어 이해하는데 큰 무리가 없지만 클래스리스(Classless) 네트워크인 경우, 유효 IP 범위 파악이 매우 중요해 집니다.

IP 체계에서 맨 앞의 숫자를 네트워크 주소로, 맨 뒤의 숫자를 브로드캐스트 주소로 사용하므로 실제로 사용할 수 있는 IP는 A클래스의 경우 2^24 - 2, B 클래스의 경우 2^16 - 2, 2^8 - 2개를 표현할 수 있습니다.


클래스를 통해 다른 고정된 네트워크 주소 체계에 비해 주소를 절약할 수 있다는 장점이 있습니다.

  • 네트워크의 크기가 모두 같은 경우, 큰 네트워크를 필요로 하는 조직은 네트워크를 여러 개 확보해야 하는 어려움이 있고 연속된 네트워크를 할당받기 어렵숩니다.
  • 작은 네트워크가 필요한 조직 입장에서는 너무 많은 IP를 가져가므로 IP가 낭비됩니다.

하지만 클래스 기반의 네트워크 분할 기법은 과거에 사용했던 개념으로 현재는 클래스 기반으로 네트워크를 분할하지 않습니다.

보다 네트워크 주소를 세밀하게 분할하고 할당하기 위해 필요한 네트워크의 크기에 맞추어 1비트 단위로 네트워클르 상세히 분할하는 방법을 사용합니다.


[IT 엔지니어를 위한 네트워크 입문] 도서를 참조해 공부한 내용입니다.

감사합니다.

Photographs by Chaelin, Unsplash.