🌿 IP

우리가 흔히 접했던 IP 주소 중에 192.168.0.1 라는 IP 주소가 있다. 이런 IP 주소는 10진수로 나타낸 모습이고 바이트로 나타내면 4byte.4byte.4byte.4byte 이다. 1byte 는 8bit 이므로,

IP 주소는 8bit.8bit.8bit.8bit 총 32 비트로 이루어진 체계이며, 8비트 단위로 나누고 점으로 구분한 단위를 옥텟(Octet) 이라고한다.

8비트 옥텟은 00000000 부터 11111111 까지의 값을 가진다. 즉 10진수로 나타내면 0 부터 255 까지의 값을 가진다.


IP의 버전은 IPv4와 IPv6로 나눌 수 있다. IPv6가 더 최신 IP 버전이며, 주소 제한을 해결하는 이점 뿐 아니라 보안적인 문제에서도 이점이 많다. 하지만 IPv6 보다 IPv4 의 속도가 더 빠른 이점이 있다.




🌿 IP 클래스

사진은 IPv4 버전의 IP를 클래스 별로 나타낸 것이고 오른쪽은 클래스 별로 IP 범위를 나타낸 것이다.

이와 같이 클래스를 나누는 이유는 클래스 별로 IP의 할당 범위가 다른 것을 볼 수 있듯이 IP 주소를 적정하게 효율적으로 배분하기 위함이다.

10진수로 나타냈을 때 IP 클래스의 범위는 다음과 같이 나뉜다.

  • A 클래스
    0.0.0.0 ~ 126.255.255.255
  • B 클래스
    128.0.0.0 ~ 191.255.255.255
  • C 클래스
    192.0.0.0 ~ 233.255.255.255

이때 127 번의 주소가 빠진 이유는 127.0.0.1 번으로 사용하는 특별한 루프백 주소(loopback address) 이기에 어느 클래스에도 속하지 않기 때문이다.


2진수 8비트로 나타냈을 때 IP 클래스의 범위는 다음과 같이 나뉜다.

  • A 클래스
    00000000.00000000.00000000.00000000 ~ 01111110.11111111.11111111.11111111
  • B 클래스
    10000000.00000000.00000000.00000000 ~ 10111111.11111111.11111111.11111111
  • C 클래스
    11000000.00000000.00000000.00000000 ~ 11011111.11111111.11111111.11111111

2진수 8비트로 나타냈을 때 범위의 규칙을 알 수 있다.

위의 사진에서 노란색으로 칠해진 부분을 제외하고 모두 0을 넣으면 범위에서 첫 주소 이고, 모두 1을 넣으면 범위에서 마지막 주소가 된다.




🌿 호스트 주소 범위

위에서 클래스 별로 나누었을 때 범위에서의 첫 주소와 마지막 주소의 규칙을 설명했다.

이때 첫 주소를 네트워크 주소 라고 하고, 마지막 주소를 브로드캐스트 주소 라고 한다.
그리고 네트워크 주소와 브로드캐스트 주소를 제외한 주소들은 호스트가 할당 받을 수 있는 IP 이며, 그 범위를 호스트 주소 범위 라고 한다.

네트워크 주소와 브로드캐스트 주소의 역할과 설명이다.

네트워크 주소

네트워크 주소는 전체 네트워크에서 작은 네트워크를 식별하는데 사용 된다.
따라서, 호스트 ID가 0이면 그 네트워크 전체를 대표하는 주소가 된다.
.
C 클래스의 IP 로 예를 들면, 192.0.0.1 ~ 233.255.255.254 의 IP 주소를 가진 컴퓨터들은
192.0.0.0 의 주소를 가진 네트워크에 있다고 할 수 있다.

브로드 캐스트 주소

브로드 캐스트 주소는 네트워크에 있는 컴퓨터나 장비 모두에게 한번에 데이터를 전송하는 데 사용되는 전용 IP주소이다.
.
전체 네트워크에 데이터를 전송할 때 호스트 ID에 255인 주소로 데이터를 전송하면 네트워크 안에 있는 모든 컴퓨터가 데이터를 받게 된다.
따라서 위에서 예로 들었던, 192.168.0.1 ~ 233.255.255.254 범위의 네트워크에서
233.255.255.255 주소가 브로드 캐스트 주소가 된다.

위와 같이 네트워크상에 네트워크 주소, 브로드 캐스트 주소가 있기 때문에 네트워크상에
개별 컴퓨터들은 네트워크 주소와 브로드 캐스트 주소를 할당해선 안된다.


10진수로 IP 클래스 별로 네트워크 주소, 브로드캐스트 주소, 호스트 주소 범위를 나타내면 다음과 같다.

  • A 클래스
    IP 주소 범위: 0.0.0.0 ~ 126.255.255.255
    네트워크 주소: 0.0.0.0
    브로드캐스트 주소: 126.255.255.255
    호스트 주소 범위: 0.0.0.1 ~ 126.255.255.254
  • B 클래스
    IP 주소 범위: 128.0.0.0 ~ 191.255.255.255
    네트워크 주소: 128.0.0.0
    브로드캐스트 주소: 191.255.255.255
    호스트 주소 범위: 128.0.0.1 ~ 191.255.255.254
  • C 클래스
    IP 주소 범위: 192.0.0.0 ~ 233.255.255.255
    네트워크 주소: 192.0.0.0
    브로드캐스트 주소: 233.255.255.255
    호스트 주소 범위: 192.0.0.1 ~ 233.255.255.254

서브넷 마스크 255.255.255.0 기준이며, 서브넷 마스크가 달라지면 네트워크/브로드케스트/호스트 주소 범위 모두 달라진다. 이에 대한 내용은 아래에서 더 자세히 다룬다.




🌿 서브넷마스크 (Subnet Mask)

네트워크 설정을 하다보면 윈도우에서는 해당 모습을 자주 접한다. 이때 서브넷 마스크는 보통 255.255.255.0 으로 되어있는 것을 확인할 수 있다.

서브넷 마스크 역시 8bit.8bit.8bit.8bit 총 32 비트로 이루어진 체계이며, 8비트 단위로 나누고 점으로 구분한 단위를 옥텟(Octet) 이라고한다.


여기서 아이피와 표현이 다른 점은 서브넷 마스크는 연속된 1과 연속된 0으로 구성되어있다는 것이다.
즉, 10011111.11011111.11110011.00000000 와 같이 1 중간에 0 이 들어오는 값은 가질 수 없고, 11111111.11111111.11111100.00000000 처럼 1이 연속되거나 아닌 형태만 가질 수 있다.

즉, 앞의 옥텟이 255가 되어야만 다음 옥텟이 0보다 큰 값을 가질 수 있다.
예를 들어서, 255.128.0.255 또는 255.128.254.0 등 은 불가능한 주소이다.


이러한 규칙이 존재하기 때문에 서브넷 마스크는 32비트로 IP 주소를 네트워크 부분과 호스트 부분으로 분리(마스킹) 할 수 있다. 32비트로 나타냈을 때 1 의 비트는 네트워크 부분을 나타내고, 0 의 비트는 호스트 부분을 나타낸다.


IP 클래스 별로 서브넷 마스크의 디폴트 값이 존재한다. 디폴트 값이 아닌 다른 값으로 IP 주소를 마스킹하게되면 네트워크 주소, 브로드캐스트 주소, 호스트 IP 범위가 달라지게 된다. 해당 내용은 아래에서 더 자세하게 다룬다.


10진수로 IP 클래스 별로 서브넷 마스크의 범위를 나타내면 다음과 같다.

  • A 클래스
    255.0.0.0 ~ 255.254.0.0
  • B 클래스
    255.255.0.0 ~ 255.255.254.0
  • C 클래스
    255.255.255.0 ~ 255.255.255.255

2진수 8비트로 IP 클래스 별로 서브넷 마스크의 범위를 나타내면 다음과 같다.

  • A 클래스
    11111111.00000000.00000000.00000000 ~ 11111111.11111110.00000000.00000000
  • B 클래스
    11111111.11111111.00000000.00000000 ~ 11111111.11111111.11111110.00000000
  • C 클래스
    11111111.11111111.11111111.00000000 ~ 11111111.11111111.11111111.11111111



🌿 게이트웨이 (Gateway)

네트워크를 집이라고 할 때, 다른 집으로 가려면 현관문을 거쳐야 갈 수가 있다. Gateway도 마찬가지이다. 네트워크( 192.168.0.2 )에서 다른 네트워크( 192.172.20.11 or 192.172.20.13 )대역 으로 통신을 하려면, 게이트웨이를 거쳐야만 통신이 가능하다.




🌿 서브네팅과 프리픽스

이전 설명에서,

서브넷 마스크는 32비트로 IP 주소를 네트워크 부분과 호스트 부분으로 분리(마스킹) 할 수 있다. 32비트로 나타냈을 때 1 의 비트는 네트워크 부분을 나타내고, 0 의 비트는 호스트 부분을 나타낸다.

라고 하였다. 이를 그림으로 나타내면 다음과 같다.

서브넷 마스크가 255.255.255.0 이면 1에 해당하는 앞의 24비트는 네트워크 ID 가되고, 나머지 8비트는 호스트 ID 가 된다.

이 때, 게이트웨이와 호스트 IP의 네트워크 ID 는 동일해야하고, 호스트 ID 로 호스트 IP 들을 구분할 수 있게된다.

예를 들면, 게이트웨이가 192.168.0.1 일 때 호스트 IP 주소들은 앞의 24비트에 해당하는 네트워크 ID를 고정값으로 가져가고 나머지 8비트에 해당하는 호스트 ID를 바꾸어가며 할당할 수 있는 것이다.


이 때 24를 프리픽스 라고 칭하며 호스트 IP 주소를 나타낼 때,

[ IPv4: 192.168.0.2 Subnetmask: 255.255.255.0 ] --> 192.168.0.2/24

라고 간편하게 나타낼 수 있다.




🌿 서브네팅에 따른 네트워크 주소, 브로드캐스트 주소

서브넷팅을 하면 IP 할당 범위를 더 작은 단위로 나누어 네트워크 성능 보장하고 자원을 효율적으로 분배할 수 있다.

지금까지는 디폴트 서브넷 마스크 ( A 클래스: 255.0.0.0, B 클래스: 255.255.0.0, C 클래스: 255.255.255.0 ) 의 경우만 다루었는데 서브넷 마스는 디폴트 말고도 여러가지 경우를 가질 수 있다.

서브넷 마스크는 연속된 비트로 이루어졌기 때문에 다음과 같은 수만 가능하다.
00000000 : 0
10000000 : 128
11000000 : 192
11100000 : 224
11110000 : 240
11111000 : 248
11111100 : 252
11111110 : 254
11111111 : 255

따라서 IP 클래스 별로 디폴트 서브넷 마스크와 적용할 수 있는 서브넷 마스크 들은 다음과 같다.

빠른 이해를 위해 비교적 간단한 C 클래스로 설명을 해보겠다.
네트워크 주소: 192.168.0.0 기준.


서브넷 마스크: 255.255.255.0

서브넷 마스크: 255.255.255.0 (프리픽스: /24)
11111111.11111111.11111111.00000000

네트워크 주소: 192.168.0.0
11000000.10101000.00000000.00000000

브로드캐스트 주소: 192.168.0.255
11000000.10101000.00000000.11111111

게이트웨이: 192.168.0.1
11000000.10101000.00000000.00000001

호스트 IP 범위: 192.168.0.2 ~ 192.168.0.254
11000000.10101000.00000000.00000010 ~ 11000000.10101000.00000000.11111110



서브넷 마스크: 255.255.255.128

서브넷 마스크: 255.255.255.128 (프리픽스: /25)
11111111.11111111.11111111.10000000


구간 A
네트워크 주소: 192.168.0.0
11000000.10101000.00000000.00000000

브로드캐스트 주소: 192.168.0.127
11000000.10101000.00000000.01111111

게이트웨이: 192.168.0.1
11000000.10101000.00000000.00000001

호스트 IP 범위: 192.168.0.2 ~ 192.168.0.126
11000000.10101000.00000000.00000010 ~ 11000000.10101000.00000000.01111110


구간 B
네트워크 주소: 192.168.0.128
11000000.10101000.00000000.10000000

브로드캐스트 주소: 192.168.0.255
11000000.10101000.00000000.11111111

게이트웨이: 192.168.0.129
11000000.10101000.00000000.10000001

호스트 IP 범위: 192.168.0.130 ~ 192.168.0.254
11000000.10101000.00000000.10000010 ~ 11000000.10101000.00000000.11111110


규칙

프리픽스 /24 ~ /30
http://www.ymsys.co.kr/snet.php

서브넷 마스크 계산기
https://damaha-labo.site/converter/ko/IT/CalcSubnetMask



0개의 댓글