제9부에서는 LFCA 시리즈의 기본적인 IP 주소 지정에 대해 다루었습니다. IP 주소를 더 잘 이해하기 위해서는 이진과 십진-점 표기법 이 두 가지 유형의 IP 주소 표현에 더욱 주의를 기울여야 합니다. 앞서 언급했듯이, IP 주소는 보통 가독성을 위해 십진 형식으로 표시되는 32비트 이진 숫자입니다.
이진 형식은 오직 1과 0만을 사용합니다. 이는 컴퓨터가 이해하고 네트워크를 통해 데이터를 전송하는 형식입니다.
하지만 주소를 사람이 읽을 수 있도록 하기 위해 점으로 구분된 십진 형식으로 전달됩니다. 컴퓨터는 이후에 이 주소를 이진 형식으로 변환합니다. 이전에 언급했듯이, IP 주소는 4개의 옥텟으로 구성됩니다. IP 주소 192.168.1.5를 살펴보겠습니다.
십진-점 형식에서는 192가 첫 번째 옥텟이고, 168이 두 번째 옥텟이며, 1이 세 번째 옥텟이며, 마지막으로 5가 네 번째 옥텟입니다.
이진 형식으로는 IP 주소가 다음과 같이 표시됩니다:
11000000 => 1st Octet 10101000 => 2nd Octet 00000001 => 3rd Octet 00000101 => 4th Octet
이진에서는 비트는 켜져 있거나 꺼져 있을 수 있습니다. ‘켜져 있는’ 비트는 1로 표시되고, 꺼져 있는 비트는 0으로 표시됩니다. 십진 형식에서는
십진수를 얻기 위해서는 이진수의 모든 자릿수를 2의 거듭제곱으로 합산합니다. 아래 표는 1바이트 내 각 비트의 위치 값을 제공합니다. 예를 들어, 1의 십진수 값은 이진수 00000001과 동일합니다.

더 나은 형식으로 표현하면 다음과 같습니다.
2º = 1 = 00000001 2¹ = 2 = 00000010 2² = 4 = 00000100 2³ = 8 = 00001000 2⁴ = 16 = 00010000 2⁵ = 32 = 00100000 2⁶ = 64 = 01000000 2⁷ = 128 = 10000000
점-십진수 형식의 IP 주소를 이진수로 변환해 봅시다.
십진수 형식을 이진수로 변환하기
예시로 192.168.1.5를 살펴봅시다. 십진수에서 이진수로 변환하기 위해 왼쪽부터 시작합니다. 표의 각 값에 대해, 표의 값에서 IP 주소의 십진수 값을 뺄 수 있는지 물어봅니다. 답이 ‘YES‘이면 ‘1’을 적습니다. 답이 ‘NO‘이면 0을 씁니다.
첫 번째 옥텟인 192로 시작해 봅시다. 128을 192에서 뺄 수 있나요? 대답은 ‘YES’입니다. 따라서, 128에 해당하는 1을 적습니다.

192-128 = 64
64를 64에서 뺄 수 있나요? 대답은 ‘YES’입니다. 다시 64에 해당하는 1을 적습니다.

64-64 = 0 십진수 값을 모두 사용했기 때문에 나머지 값에 0을 할당합니다.

따라서, 10진수 값인 192의 이진 표현은 11000000입니다. 아래 표에서 1에 해당하는 값을 더하면, 192가 됩니다. 즉, 128 + 64 = 192입니다. 이해가 되시나요?
이제 두 번째 옥텟으로 넘어가겠습니다 – 168. 128을 168에서 뺄 수 있을까요? 네.

168-128 = 40
다음으로, 64를 40에서 뺄 수 있을까요? 아니오. 따라서 0을 할당합니다.

다음 값을 살펴보겠습니다. 40에서 32를 뺄 수 있을까요? 네. 값을 1로 할당합니다.

40 - 32 = 8
다음으로, 8에서 18을 뺄 수 있을까요? 아니오. 따라서 0을 할당합니다.

다음으로, 8에서 8을 뺄 수 있을까요? 네. 값을 1로 할당합니다.

8-8 = 0
10진수 값을 모두 사용했으므로, 나머지 값을 아래 표에 0으로 할당합니다.

최종적으로, 10진수 168은 이진 형식으로 10101000으로 변환됩니다. 다시 한 번, 아래 행에서 1에 해당하는 10진수 값을 더하면 168이 됩니다. 즉, 128 + 32+8 = 168입니다.
세 번째 옥텟에서는 1이 있습니다. 표에서 1을 완전히 뺄 수 있는 유일한 숫자는 1입니다. 따라서 표의 1에 값 1을 할당하고, 아래와 같이 선행하는 0을 추가합니다.

따라서 1의 10진수 값은 이진 00000001과 같습니다.
마지막으로, 5가 있습니다. 표에서 5에서 완전히 뺄 수 있는 유일한 숫자는 4부터 시작합니다. 왼쪽의 모든 값을 0으로 할당합니다.
5에서 4를 뺄 수 있을까요? 네. 4에 값을 1로 할당합니다.

5-4 = 1
다음으로, 2에서 1을 뺄 수 있을까요? 아니오. 값을 0으로 할당합니다.

마지막으로, 우리는 1에서 1을 빼줄 수 있나요? 네, 가능합니다. 우리는 1을 할당합니다.

5의 십진수 자릿수는 이진 00000101에 해당합니다.
결과적으로 다음 변환이 이루어집니다.
192 => 11000000 168 => 10101000 1 => 00000001 5 => 00000101
그래서, 192.168.1.5는 이진 형태로 11000000.10101000.00000001.00000101로 번역됩니다.
서브넷 마스크 / 네트워크 마스크 이해
우리는 이전에 각 호스트가 TCP/IP 네트워크에서 고유한 IP 주소를 가져야 한다고 말했습니다. 대부분의 경우 라우터가 DHCP 프로토콜을 사용하여 동적으로 할당합니다. DHCP 프로토콜(Dynamic Host Configuration Protocol)은 IP 네트워크에서 호스트에게 IP 주소를 동적으로 할당하는 서비스입니다.
그러나 IP의 어느 부분이 네트워크 섹션에 예약되고 어느 섹션이 호스트 시스템에서 사용할 수 있는지 어떻게 결정합니까? 여기서 서브넷 마스크 또는 네트워크 마스크가 필요합니다.
A subnet is an additional component to an IP address that distinguishes the network & host portion of your network. Just like an IP address, the subnet is a 32-bit address and can be written in either decimal or binary notation.
서브넷의 목적은 IP 주소의 네트워크 부분과 호스트 부분 사이에 경계를 설정하는 것입니다. IP 주소의 각 비트에 대해 서브넷 또는 네트워크 마스크가 값을 할당합니다.
네트워크 부분에 대해 비트를 켜고 1의 값을 할당하고, 호스트 부분에 대해 비트를 끄고 0의 값을 할당합니다. 따라서 모든 1로 설정된 비트는 IP 주소의 네트워크 부분을 나타내는 비트에 해당하고, 모든 0으로 설정된 비트는 IP의 호스트 주소를 나타내는 비트에 해당합니다.
A commonly used subnet mask is the Class C subnet which is 255.255.255.0.
아래 표는 십진수와 이진수로 표시된 네트워크 마스크를 보여줍니다.

이것은 우리의 네트워킹 필수 시리즈의 일부 2를 마무리합니다. 우리는 십진수에서 이진수 IP 변환, 서브넷 마스크, 그리고 각 IP 주소 클래스의 기본 서브넷 마스크에 대해 다루었습니다.
Source:
https://www.tecmint.com/learn-binary-and-decimal-numbers-in-networking/