IP 주소, 서브넷, 가변길이 주소 지정

IP 주소

네트워크에서 연결된 시스템을 식별하기 위한 주소. 시스템의 연결당 하나씩 할당되는 주소. 네트워크 주소를 통해 송신자와 수신자를 구별할 수 있음. 인터넷에 연결된 시스템을 구분하기 위해 32비트 주소를 사용.

DDN (Dotted-Decimal notation)

32비트 주소를 8비트씩 10진수로 표시하는 표기법

클래스 구분 주소

네트워크 규모에 따라 클래스를 구분. 규모가 크면 A → 작으면 E로 간다.

클래스 A, B, C는 일대일 통신으로 사용. 클래스 D는 멀티캐스트 통신으로 사용. 클래스 E는 앞으로 사용을 위한 예비용.

  • NetId: 각 네트워크를 구분하는 네트워크 식별자
  • hostId: 네트워크 내의 호스트를 구분하는 호스트 식별자. 내 컴퓨터에 할당되는 IP

클래스 C의 경우 hostId가 1바이트 이므로 작은 네트워크에서 사용, 클래스 A의 경우 hostId가 3바이트 이므로 규모가 큰 네트워크에서 사용.

서브넷

IP주소는 netid와 hostid로 구분된 주소를 가지고 기관 외부에서는 netid만 식별해서 라우팅을 수행한다. 하지만 기관 내부에서도 여러 개의 서브 네트워크로 구성되어 있으며, 이를 위해 서브네트워크를 구분할 방법이 필요하다. 해서 hostid 일부를 사용하여 네트워크를 서브넷으로 구분하고 각 서브넷에 서브넷 식별자를 할당하는 방법인 서브넷팅을 사용한다. 사용할 서브넷 id는 임의로 설정 가능. 2bit를 사용할 수 도 있고, 1byte로 사용할 수 있음.

Mask

서브넷을 사용할 경우, 어디까지가 네트워크 부분인지를 파악하기 어려움. 때문에 몇 비트를 subnet 식별자로 사용하고 있는지 확인하는 방법이 필요. 이걸 구분하기 위해 서브넷 마스크를 사용.

표기법

Mask는 DDN으로 표시함. 사선이나 CIDR 표기를 사용한다. netid나 subnet id를 1비트 수로 표기하고, hostid는 0비트로 표기한다.

예시

134.75.0.0과 같은 B클래스 주소를 서브넷을 이용하여 다음과 같이 모든 시스템에 할당 가능

가변길이 주소지정 (Classless addressing)

클래스를 구분한 IP주소의 문제점은 할당 할 수 있는 IP 개수에 한계가 존재. 가령 10개의 IP주소가 필요하다고 해도 가장 작은 단위인 클래스 C (254 개의 네트워크 IP할당 가능)을 줄 수밖에 없음. 이런 문제를 해결하고자 원하는 수만큼의 주소만 배정하는 것.

할당 규칙

  • 할당하는 주소의 수는 2의 n승 이여야 함.
  • 할당하는 주소는 연속적
  • 시작 주소는 할당하는 주소의 수로 나누어 떨어짐

예시

240.20.35.32라는 IP 주소 할당받았고, 필요한 IP주소는 16개, 32,33,34…47까지 IP주소를 할당받음

Mask

가변길이 주소지정에서 Mask는 /로 표기. 시작주소와 마스크가 주어져야 함.

예를 들면 임의의 주소 240.20.35.36/28이 주어진 경우, 네트워크 주소는 240.20.35.32 임.

서브네팅

가변길이 주소지정에서 서브네팅을 할 때, 접두사의 개수는 다음 공식을 따름.

n_sub: 각 하위 네트워크의 접두사의 길이

N_sub: 각 하위 네트워크에 할당된 수조 수

예시

64개의 주소를 포함하는 블록 24.36.15.0/26이 있다고 가정. 이를 32개, 16개, 16개 이렇게 나누려고 하면

  • 32개: 32-log_2(32) = 32-5 = 27
  • 16개: 23-log_2(16) = 32-4 = 28

따라서 사용되는 마스크는 27,28,28이 나옴.

'네트워크' 카테고리의 다른 글

주소매핑과 네트워크 에러 보고  (0) 2023.07.27
DHCP와 NAT  (0) 2023.07.21
IP 프로토콜  (0) 2023.07.15
Ethernet  (0) 2023.07.07
스위칭 방식, 다중 접속 프로토콜  (0) 2023.07.06