[AWS] IP네트워크와 서브넷

류예린·2022년 8월 22일
0
post-custom-banner

1. IPv4, IPv6


IP 주소는 흔히 사용되는 IPv4와 IPv6 두 종류가 있다. 주로 사용되는 IPv4의 경우 32bit로 되어 있기 때문에 IP 주소를 약 43억 개를 만들 수 있는데, 인터넷이 널리 보급되면서 IP 주소가 부족해지자 새로운 주소가 필요해 IPv6가 탄생했다. IPv6는 128bit로 구성되어 있어 사실상 무한대로 IP 주소를 만들어 낼 수 있다.






2. IP 주소


IP주소를 컴퓨터가 이해할 수 있으려면 2진수로 작성되어 한다. 하지만 사람이 읽기 쉬워야 하므로 8bit 단위로 나눠 10진수로 표시하고 있다.

예를 들어 2진수로 1100000010101000000000010001010 인 IP 주소가 있다고 가정해보자. 해당 IP 주소를 보다 읽기 쉽게 만들기 위해 먼저 8bit 단위로 나눠 표기한다. 이 때 8bit를 옥텟(Octet)이라고 부르기도 한다.

[그림1] IP 주소를 8bit 단위로 나눈 후 10진수로 표시






3. IP 주소의 클래스


IP 주소는 네트워크 ID 와 호스트 ID 로 구분되어 있다. 네트워크 ID는 어떤 네트워크의 IP 주소인지를 나타내고, 호스트 ID는 해당 네트워크의 어떤 컴퓨터인지를 나타낸다. IP 주소는 이 두 가지 ID를 합쳐서 만들어진다.

그리고 IP 주소의 네트워크 ID를 크게 하거나 호스트 ID를 작게 하여 네트워크 크기를 조절할 수 있다. 이러한 네트워크 크기는 다음과 같이 클래스 로 나누어져 있으며 일반적인 네트워크에서는 A부터 C 클래스까지만 사용할 수 있다. 또한 클래스별 주소는 공인 IP 주소와 사설 IP 주소로 분리된다.

  • A 클래스 - 대규모 네트워크 주소
  • B 클래스 - 중형 네트워크 주소
  • C 클래스 - 소규모 네트워크 주소
  • D 클래스 - 멀티캐스트 주소
  • E 클래스 - 연구 및 특수용도 주소

추가로 사설 IP의 대역은 다음과 같다.

  • A 클래스 : 10.0.0.0 ~ 10.255.255.255 (8 bit prefix)
  • B 클래스 : 172.16.0.0 ~ 172.31.255.255 (12 bit prefix)
  • C 클래스 : 192.168.0.0 ~ 192.168.255.255 (16 bit prefix)

✅ A 클래스

[그림2] A 클래스

  • 처음 8bit가 네트워크 ID, 나머지 24bit가 호스트 ID다.
  • 공인 IP 주소의 범위
    • 1.0.0.0 ~ 9.255.255.255

    • 11.0.0.0 ~ 126.255.255.255


✅ B 클래스

[그림3] B 클래스

  • 처음 16bit가 네트워크 ID, 나머지 16bit가 호스트 ID다.
  • 공인 IP 주소의 범위
    • 128.0.0.0 ~ 172.15.255.255
    • 172.32.0.0 ~ 191.255.255.255

✅ C 클래스

[그림4] C 클래스

  • 처음 24bit가 네트워크 ID, 나머지 8bit가 호스트 ID다.
  • 공인 IP 주소의 범위
    • 192.0.0.0 ~ 192.167.255.255

    • 192.169.0.0 ~ 223.255.255.255






4. 네트워크 주소 & 브로드캐스트 주소


IP 주소에는 네트워크 주소와 브로드캐스트 주소가 존재한다. 네트워크 주소는 전체 네트워크에서 작은 네트워크들을 식별하는데 사용되고, 호스트 ID가 10진수로 0이어야 한다. 브로드캐스트 주소는 네트워크 내에 존재하는 모든 장비에 한 번에 데이터를 전송하기 위해 사용되며 네트워크 주소와는 반대로 호스트 ID 가 2진수로 모두 1이어야 한다. 추가로 네트워크 주소와 브로드캐스트 주소는 컴퓨터의 IP로 설정할 수 없다.

✅ 네트워크 주소

[그림5] 네트워크 주소

[그림5] 와 같이 호스트 ID가 2진수로 모두 0, 즉 10진수 값이 0이면 그 IP 주소는 네트워크 주소다.

[그림6] 네트워크 주소에 포함되는 다른 IP 주소들

192.168.1.0 은 호스트 ID가 0, 즉 해당 네트워크의 첫번째 주소이기 때문에 해당 네트워크를 대표하는 주소다. 따라서 192.168.1.1 ~ 192.168.1.6 의 IP 주소를 가진 컴퓨터는 해당 네트워크 주소인 192.168.1.0 의 네트워크 안에 있다고 볼 수 있다.

✅ 브로드캐스트 주소

[그림7] 브로드캐스트 주소

[그림7] 과 같이 호스트 ID가 2진수로 모두 1, 즉 해당 네트워크의 마지막 주소이면 그 IP 주소는 브로드캐스트 주소다. 브로드캐스트 주소는 네트워크 내에 존재하는 모든 장비에 데이터를 한 번에 전송한다. 송신 호스트가 브로드캐스트 주소로 데이터를 전송하면 해당 네트워크 주소에 해당하는 모든 호스트들에게 데이터를 전송하게 된다.






5. 서브넷(Subnet)


✅ 서브넷(Subnet)이란?

[그림8] 서브네팅

IP 주소는 여러 클래스로 나누어져 있고, 그 중 A 클래스 네트워크는 1600만개가 넘는 IP 주소를 사용할 수 있다. 이렇게 하나의 네트워크에서 여러 호스트를 갖는, 즉 수많은 호스트가 하나의 브로드캐스트 주소를 바라보게 된다. 이런 경우 브로드캐스트로 전송되는 패킷이 해당 네트워크의 모든 호스트로 전달되어 효율적이지 않다.

따라서 효율적으로 IP 주소를 관리하기 위해 대규모 네트워크를 보다 작은 네트워크로 분할하여 통신 성능을 끌어올릴 수 있다. 또한 IP 주소는 32bit로 IP 주소 할당의 한계가 분명히 존재하기 때문에 네트워크를 분할하게 되면 이러한 제한적인 자원을 효율적으로 사용할 수 있다.

이처럼 네트워크를 분할하는 것을 서브네팅(Subneting)이라고 하고, 분할된 네트워크를 서브넷(Subnet)이라고 한다.

이렇게 분할된 네트워크는 기존에 네트워크 ID, 호스트 ID로 구성되어 있던 것이 네트워크 ID, 서브넷 ID, 호스트 ID로 나누어지게 된다. 네트워크 ID는 그대로 고정된 상태로 호스트 ID에서 bit를 빌려 서브넷 ID로 만들어 서브네팅하게 된다.

✅ 서브넷 마스크(Subnet Mask)

서브넷 마스크(Subnet Mask)는 서브네팅된 네트워크의 IP 주소를 확인할 때 어디까지가 네트워크 ID이고 어디부터가 호스트 ID인지 쉽게 알 수 있도록 값이다. 즉 네트워크 ID와 호스트 ID를 식별하기 위한 값이라고 생각하면 된다.

각 IP 주소의 클래스에 해당하는 서브넷 마스크는 다음과 같다.

  • A 클래스 - 255.0.0.0
  • B 클래스 - 255.255.0.0
  • C 클래스 - 255.255.255.0

[그림9] A 클래스의 서브넷 마스크

[그림9] 와 같이 네트워크 ID로 사용되는 영역은 1로, 호스트 ID로 사용되는 영역은 0으로 표기한다. 그리고 이러한 서브넷 마스크는 /bit 과 같이 Prefix 표기법으로도 표기할 수 있다. Prefix 표기법으로 A 클래스의 서브넷 마스크를 작성하면 /8 이 된다. 여기서 슬래시 뒤의 숫자 8이 의미하는 것은 서브넷 마스크의 1의 갯수다. 따라서 C 클래스의 서브넷 마스크(255.255.255.0)를 Prefix 표기법으로 작성하면 /24 가 된다.






6. CIDR(Classless Inter-Domain Routing)


CIDR(Classless Inter-Domain Routing)은 클래스없는 도메인 간 라우팅 기법으로 IP 주소를 유연하게 사용하여 보다 효율적으로 IP 주소를 관리하는 방법이다. 기존의 IP 주소의 영역을 여러 네트워크 영역으로 나누는 방식으로 IP 주소의 클래스를 이용하는 것이 아닌 동일한 Prefix(/8, /16, /24)를 공유하며 동일한 네트워크 주소를 갖는 CIDR 블록을 사용하여 IP 주소를 관리한다.

192.0.1.15/24 로 예를 들면 다음과 같다.

  • Prefix가 /24 이므로 앞의 24bit(192.0.1.0)가 해당 네트워크를 의미하는 주소이며 나머지 8bit로 호스트 주소를 정한다.
  • 192.0.1.0 ~ 192.0.1.255 의 IP 주소 범위를 가지고 있다.
  • 만약 192.0.1.15/32 와 같이 Prefix가 /32 라면 해당 주소 192.0.1.15 를 가리킨다.





7. Summary


  • IP 주소는 흔히 사용되는 IPv4와 IPv6가 있다.
  • 32bit인 IP 주소를 사람이 읽기 쉬워야 하므로 8bit(옥텟) 단위로 나누어 표기한다.
  • IP 주소는 A, B, C, D, E 클래스로 나누어져 있다.
  • 호스트 ID가 0인 IP 주소(첫 번째 주소)는 해당 네트워크를 대표하는 네트워크 주소다.
  • 호스트 ID가 2진법으로 모두 1인 주소(마지막 주소)는 네트워크 내에 존재하는 모든 장비에 데이터를 한 번에 전송하기 위해 사용되는 브로드캐스트 주소다.
  • 네트워크 주소와 브로드캐스트 주소는 컴퓨터의 IP로 설정할 수 없다.
  • 서브넷(Subnet)은 한정된 IP 주소를 가지고 보다 효율적으로 관리하기 위해 분할된 네트워크를 의미한다.
  • 서브넷 마스크(Subnet Mask)는 서브네팅된 네트워크의 IP 주소를 확인할 때 어디까지가 네트워크 ID이고 어디부터 호스트 ID인지 쉽게 알 수 있게 해주는 값이다.
  • CIDR은 클래스가 아닌 Prefix 표기를 통해 IP 주소를 유연하게 관리하는 방식이다.
profile
helloworld
post-custom-banner

0개의 댓글