본문 바로가기
Server

[네린이 공부일기] 브로드캐스트 도메인, CIDR 표기법, 서브넷팅

by ojava 2022. 4. 13.
반응형

네트워크를 효율적으로 관리 운영하기 위한 내용의 개념들에 대해 정리한다.
내가 네트워크 운영을 하게 될 일은 전혀 없어 보이지만 이 역시 언젠가 도움이 될 수 있을 날이 있으므로 미래의 나와 누군가를 위해 정리해본다.

 

브로드캐스트 도메인

공부할 수록 느끼는 건에 앞에서 배웠던 개념들이 계속해서 반복되어 나온다.
이래서 기초 다지는 게 참 중요하다고 느끼는데, 앞서서 트래픽 전송 방식 3가지에 대해 정리할 때 나왔던 브로드캐스트 방식이 또 나왔다. 

[네린이 공부일기] 트래픽 전송 모드 : 유니캐스트, 멀티캐스트, 브로드캐스트 (tistory.com)

 

[네린이 공부일기] 트래픽 전송 모드 : 유니캐스트, 멀티캐스트, 브로드캐스트

네트워크 알못 네린이의 네트워크 공부일기 오늘은 트래픽 전송모드의 종류에 대해 정리해본다. 송신지에서 수신지로 데이터를 전송하는 트래픽 전송 모드에는 크게 3가지 방식이 있다. 유니캐

ojava.tistory.com

 


이 방식은 불특정 다수에게 요청을 보내는 방식이었는데, 브로드캐스트 패킷의 전달 범위와 영역 그리고 브로드캐스트 도메인이라는 개념에 대해서 알아보도록 하자. 

 

 


브로드캐스트 패킷의 전달 범위

앞서 말했던 브로드캐스트 패킷은 불특정 다수에게 전송한다고 했었는데, 너무 분별없이 아무 데나 전송할 수는 없고 본인이 속해있는 Network ID 기준으로 같은 네트워크에 묶여있는 모든 대상에게 패킷을 전송할 수 있다고 보면 된다.

브로드캐스트 도메인이란 하나의 같은 네트워크에 속해서 패킷을 전송할 수 있는 대상들을 말한다.
(A Broadcast domain = A Network)

즉, 다시말해 Network ID가 동일한 대상의 모든 Host ID들이 브로드캐스트 도메인에 속한다고 볼 수 있다.

 

 

도메인의 크기를 크다 작다, 비교할 수도 있는데 브로드캐스트 도메인의 크기가 크다는 것은 더 많은 Host ID를 가지는 대상을 말하는 것이다.

이것 역시 앞서 정리한 IP 주소체계의 Class 개념과 관련이 있다.

 

클래스 별로 Network ID를 가지는 범위가 다르다고 했는데 A Class가 네 개의 Octec 중 첫 번째 Octec을 Network ID로 지정하므로 나머지 영역을 모두 Host ID로 지정할 수 있어서 가장 큰 범위의 브로드캐스트 도메인을 가진다.
반대로 C Class로 갈 수록 좀 더 한정적인 영역의 Host ID를 가지므로 더 작은 브로드캐스트 도메인을 가지게 된다..

 

그럼 브로드캐스트 도메인 크기가 크다는 것은 좋은 걸까?

결론부터 말하면 브로드캐스트 도메인 크기가 큰 것은 좋지 않다.

예를 들어보자면, 172.17.3.1 이라는 호스트가 브로드캐스트 패킷을 송신한다면, 이는 B Class에 해당하므로 (B Class 표현 가능 범위 128.0.0.0 ~ 191.255.0.0에 해당) 본인을 제외한 65,533대 (2¹-2-1) 의 호스트에게 패킷을 전송한다.

이때 최악의 상황을 가정하여 모든 호스트가 각각 브로드캐스트 요청을 보낸다고 치면, 하나의 호스트가 수신하는 브로드캐스트 패킷 수는 65,533개가 된다.

 

C Class로 예를 들면, C Class에 해당하는 192.32.5.10이라는 호스트는 본인을 제외한 253대에게 패킷을 보낼 수 있고, 최대로 패킷을 많이 수신해봐야 253개가 된다.

 

 

브로드캐스트 도메인 크기

위에서 Class 별로 예시를 들면서 봤듯이 브로드캐스트 도메인의 크기와 하나의 호스트가 수신할 수 있는 브로드캐스트 패킷의 최대 수신 가능 개수는 동일하다.

브로드캐스트 도메인 크기 = 하나의 호스트가 받을 수 있는 브로드캐스트 패킷 수 (요청 개수)

 

도메인 크기가 크면 안 좋다고 말했는데, 그 이유를 알아보자.

(늘 최악의 경우가 발생하는 것은 아니겠지만)
하나의 네트워크 안에 속해있는 모든 호스트들이 브로드캐스트 패킷을 송신하는 경우, 최악의 경우 네트워크 안에 있는 호스트 대수만큼 패킷이 발생하게 된다.

수신하는 패킷이 많아지게 되면

  • 네트워크에 연결된 모든 장비의 성능 저하가 발생할 수 있다.
  • 네트워크 장애가 발생하는 경우 원인 파악과 문제 해결이 어려움
  • 관리 비용 증가

 

위와 같은 문제가 발생하기 때문에 네트워크 관리자들은 브로드캐스트 도메인 크기를 줄이기 위해 노력하게 되고 이를 위해 나온 기술이, 서브넷을 이용한 방법인 서브넷팅 (Subnetting)이다.

 

 

반응형

 

 


 

서브넷팅 (Subnetting)

브로드캐스트 도메인의 크기를 줄이기 위한 기술

불특정 다수 (동일 네트워크 기반) 에게 전송하는 브로드캐스트의 트래픽을 제어하기 위해, 기존에는 하나의 네트워크 단위로 모두에게 전송하던 방식을 그룹 단위로 쪼개서 전송하는 방식을 의미한다.

그룹의 수를 늘릴수록 한 그룹에 속하는 Host 수는 더 적어진다.
따라서 각 그룹의 호스트가 수신하게 되는 패킷의 수도 더 줄어들게 된다.

AS-IS 같은 Network ID를 공유한 하나의 그룹 (그룹 수 1 : Host 수 = 도메인 크기)
TO-BE 한 그룹에 속하는 Host 수를 줄이기 위해 그룹을 여러 개로 분산

 


위에서 말한 도메인 크기가 클 때 발생하게 되는 문제를 서브넷팅을 통해 해결하게 되므로, 네트워크 자원(Bandwidth, 장비 사용률)을 효율적으로 사용할 수 있고 이로 인해 네트워크 성능도 향상된다.

성능 향상과 더불어 이로 인해 발생하는 관리 비용도 줄어든다.

 

 

CIDR

서브넷팅을 이야기 하면서 서브넷이 뭔가 익숙한 느낌이었는데, 네트워크 주소 체계의 기초적인 구성 중에 하나인 서브넷 마스크의 그 '서브넷' 을 이용하는 방식이라고 한다.

서브넷팅 방식을 이해하기 위해서 반드시 알아야 하는 CIDR에 대해서도 정리한다.

 

CIDR (Classless Inter-Domain Routing)은 서브넷 마스크를 표기하는 방법이다.

IPv4를 bit 단위로 쪼개면 하나의 Octec이 8개의 bit로 구성되므로 총 32개의 bit로 구성되게 되는데, CIDR은 이 중 Network ID의 비트 개수를 이용하여 서브넷 마스크로 표기하는 방법이다.

/Network ID 비트 수로 표기할 수 있고 각 Class 별 예시는 아래와 같다.

Class 서브넷 마스크
(Network ID 범위)
bit 방식으로 표기 CIDR 표기법
A Class 255.0.0.0 11111111.00000000.00000000.00000000 /8
B Class 255.255.0.0 11111111.11111111.00000000.00000000 /16
C Class 255.255.255.0 11111111.11111111.11111111.00000000 /24

 

CIDR 표기법으로 표시된 내역을 10진수 서브넷 마스크로 표시할 수 있어야 한다는데 아무래도 시험문제 스타일이다.

하지만 문제를 풀어보면 좀 더 이해가 편할 듯 하니 문제를 좀 바꿔서 들고 와 보겠다.

CIDR 표기법 bit 방식으로 표기  10진수 서브넷 마스크
/10 11111111.11000000.00000000.00000000 255.192.0.0
/13 11111111.11111000.00000000.00000000 255.248.0.0
/20 11111111.11111111.11110000.00000000 255.240.0.0
/26 11111111.11111111.11111111.11000000 255.255.255.192

CIDR 표기법 변환 시, 1은 앞에서부터 숫자만큼 채워주면 된다.
각 Octec에 표기된 bit를 10진법으로 변환하면 10진수 서브넷 마스크 구하기 끝!

반대로도 가능해야 한다고 하는데 저 위에 표를 뒤에 있는 컬럼부터 보면 된다.

 

 

CIDR 기반의 서브넷팅 방식

위의 개념을 배운 이유는 CIDR 기반의 서브넷팅 방식이 위의 내용과 큰 연관이 있는데, 기존 192.168.1.0/24라는 네트워크가 있다고 했을 때 해당 네트워크는 C Class에 해당되며 24개의 Network ID bit 수를 가지고 있다.

이를 192.168.1.0/26으로 CIDR 표기를 바꾸게 되면 Network ID bit 수가 26개로 늘어나면서, Host ID를 표기하는 bit 수는 기존 8개에서 6개로 줄어들게 된다.

 

Class 별로 가지고 있는 기본 서브넷 마스크 크기에서 Network ID bit 수를 늘리고 Host ID bit 수를 줄이는 것이 CIDR 기반의 서브넷팅 방식이다.

Network ID bit 수를 늘리게 되면, 호스트들을 묶을 그룹 수가 증가하게 되고
Host ID bit 수가 줄어들게 되면, 하나의 그룹에 포함되는 호스트 수가 감소하는 것을 의미한다.

 

CIDR 표기법 bit 방식으로 표기 
192.168.1.0/24 11000000.10101000.00000001.00000000 (호스트 ID)
192.168.1.0/26 11000000.10101000.00000001.00(서브넷 ID)000000 (호스트 ID)

위의 예시를 보면 알 수 있듯이 Network ID bit 수를 늘릴 때 사용한 해당 bit 수를 Subnet ID bit로 활용하게 되는데, 위의 경우 /24에서 /26로 2개의 bit를 할당받았다.

2개의 bit를 사용하면 4개의 그룹을 만들 수 있다. (2² = 4)

 

 

서브넷팅 방식에 따른 그룹별 호스트 할당 예시

192.168.1.0/26는 4개의 그룹을 생성할 수 있고, 각 그룹에 총 62개(2⁶-2)의 호스트가 할당될 수 있다. 
* 62개가 되는 이유는 네트워크 주소, 브로드캐스트 주소 제외 (IP 주소 할당 가능 범위에 대해 설명한 내용 참고)

 

192.168.1.0/26에 대해 4개 그룹이 나올 수 있다고 했는데 각 범위에 대해 알아보자.
11000000.10101000.00000001. 까지는 동일하고 00(서브넷 ID)000000 (Host ID) 부분만 상이해진다.

  할당 가능 범위 네트워크 주소 브로드캐스트 주소 호스트 수
1그룹 192.168.1.1 ~ 192.168.1.62 192.168.1.0
00000000
192.168.1.63
00111111
62개
2그룹 192.168.1.65 ~ 192.168.1.126 192.168.1.64
01000000
192.168.1.127
01000000
62개
3그룹 192.168.1.129 ~ 192.168.1.190 192.168.1.128
10000000
192.168.1.191
10111111
62개
4그룹 192.168.1.193 ~ 192.168.1.254 192.168.1.192
11000000
192.168.1.255
11111111
62개

각 그룹의 Subnet ID 영역을 제외하고 Host ID 영역을 0으로 채운 네트워크 주소와 1로 채운 브로드캐스트 주소를 제외하면 위와 같이 할당 가능 범위를 구할 수 있다.

각각의 영역을 나눈 이유가 브로드캐스트 도메인 크기를 줄이고 패킷 전송에 대한 수신 개수를 줄이고자 함이 목적이었으므로 각 그룹 간에 브로드캐스트 전송은 불가능하다.

 

 

 

위에서 나온 내용은 아래의 글에 개념적인 내용이 설명되어 있으니 혹시라도 공부하시는 분들이면 정리된 내용을 참고하시기 바랍니다.

[네린이 공부일기] 기초 중의 기초 IP주소 체계 (tistory.com)

 

[네린이 공부일기] 기초 중의 기초 IP주소 체계

이건 공부를 했는데 워낙 옛날에 해서 가물가물한 수준 기본적으로 다들 알고 있는 IP 주소 체계에 대한 내용 정리와 더불어 IPv4 Address XXX.XXX.XXX.XXX 의 기본적인 형태를 가지고 있는 IPv4 Address 실

ojava.tistory.com

 

반응형