서브넷, 즉 서브네트워크는 네트워크 내부의 네트워크입니다.
서브넷은 네트워크를 보다 효율적으로 만듭니다.
서브넷을 통해 네트워크 트래픽은 불필요한 라우터를 통과하지 않고
더 짧은 거리를 이동하여 대상에 도달할 수 있습니다.
서브넷을 이해하기 위해 IP 주소를 간략하게 정의해 보겠습니다.
인터넷에 연결되는 모든 장치에는 고유한 인터넷 프로토콜(IP) 주소가
할당되므로 인터넷을 통해 전송된 데이터가
인터넷에 연결된 수십억 개의 장치 중 올바른 장치에 도달할 수 있습니다.
컴퓨터는 IP 주소를 이진 코드(일련의 1과 0)로 읽지만,
IP 주소는 일반적으로 일련의 영숫자로 작성됩니다.
이 섹션에서는 마침표로 구분된 4개의 십진수 형식으로 표시되는
IPv4 주소에 대해 중점적으로 설명합니다(예: 203.0.113.112).
(IPv6 주소는 더 길며 숫자뿐만 아니라 문자도 사용됩니다.)
모든 IP 주소에는 두 부분이 있습니다.
첫 번째 부분은 주소가 속한 네트워크를 나타냅니다.
두 번째 부분은 해당 네트워크 내의 장치를 지정합니다.
그러나 "첫 번째 부분"의 길이는 네트워크의 클래스에 따라 변경됩니다.
네트워크는 A에서 E까지 레이블이 지정된 여러 클래스로 분류됩니다.
클래스 A 네트워크는 수백만 개의 장치를 연결할 수 있습니다.
클래스 B 네트워크와 클래스 C 네트워크는 크기가 점점 작아집니다.
(클래스 D 및 클래스 E 네트워크는 일반적으로 사용되지 않습니다.)
이러한 클래스가 IP 주소 생성에 미치는 영향을 분석해 보겠습니다.
클래스 A 네트워크: 첫 번째 마침표 이전의 모든 항목은 네트워크를 나타내고
그 이후의 모든 항목은 해당 네트워크 내의 장치를 지정합니다.
예를 들어 203.0.113.112를 사용하면
네트워크는 "203"으로 표시되고 장치는 "0.113.112"로 표시됩니다.
클래스 B 네트워크: 두 번째 마침표 이전의 모든 것이 네트워크를 나타냅니다.
다시 203.0.113.112를 예로 사용하면,
"203.0"은네트워크를 나타내고 "113.112"는 해당 네트워크 내의 장치를 나타냅니다.
클래스 C 네트워크: 클래스 C 네트워크의 경우
세 번째 마침표 이전의 모든 항목이 네트워크를 나타냅니다.
동일한 예를 사용하자면, "203.0.113"은 클래스 C 네트워크를 나타내고 "112"는 장치를 나타냅니다.
앞의 예에서 볼 수 있듯이 IP 주소가 구성되는 방식을 통해
인터넷 라우터는 데이터를 라우팅할 올바른 네트워크를 비교적 간단하게 찾을 수 있습니다.
그러나 클래스 A 네트워크(예를 들어)에는 수백만 개의 연결된 장치가 있을 수 있으며
데이터가 올바른 장치를 찾는 데 시간이 걸릴 수 있습니다.
이것이 서브넷이 유용한 이유입니다.
서브넷은 IP 주소를 장치 범위 내에서 사용하도록 좁혀줍니다.
IP 주소는 네트워크 및 장치 주소를 나타내는 것으로 제한되므로
IP 주소를 사용하여 IP 패킷이 이동해야 하는 서브넷을 나타낼 수는 없습니다.
네트워크 내의 라우터는 서브넷 마스크라는 것을 사용하여
데이터를 하위 네트워크로 정렬합니다.
서브넷 마스크는 IP 주소와 비슷하지만, 네트워크 내에서 내부적으로만 사용됩니다.
라우터는 서브넷 마스크를 사용하여 데이터 패킷을 올바른 위치로 라우팅합니다.
서브넷 마스크는 인터넷을 통과하는 데이터 패킷 내에서 표시되지 않으며,
이러한 패킷은 라우터가 서브넷과 일치하는 대상 IP 주소만 나타냅니다.
예를 들어, IP 패킷의 주소가 IP 주소 192.0.2.15라고 가정해 보겠습니다.
이 IP 주소는 클래스 C 네트워크이므로 네트워크는 "192.0.2"(또는 기술적으로는 정확하게 192.0.2.0/24)로 식별됩니다.
네트워크 라우터는 패킷을 "192.0.2"라고 표시된 네트워크의 호스트로 전달합니다.
패킷이 해당 네트워크에 도착하면 네트워크 내의 라우터가
라우팅 테이블을 참조합니다.
서브넷 마스크 255.255.255.0을 사용하여 이진법 계산을 합니다.
장치 주소 "15"(나머지 IP 주소는 네트워크를 나타냄)를 확인하고
패킷이 이동해야 하는 서브넷을 계산합니다.
패킷을 해당 서브넷 내에서 패킷을 전달하는 라우터 또는 스위치로 전달하고
패킷은 IP 주소 192.0.2.15에 도착합니다
결론적으로, AND 연산은 주어진 IP 주소와 서브넷 마스크를 기반으로 네트워크 ID를 구체적으로 계산하는 데 사용됩니다.
반면, CIDR 표기법은 네트워크를 설계하고, IP 주소를 할당하며,
라우팅을 단순화하는 데 주로 사용되는, 좀 더 광범위한 개념입니다.
CIDR은 서브넷 마스크의 길이를 나타내는 방법을 제공하지만,
실제 네트워크 ID를 계산할 때는 여전히 IP 주소와 서브넷 마스크 간의 AND 연산이 필요합니다.
출처 : https://www.cloudflare.com/ko-kr/learning/network-layer/what-is-a-subnet/