CS/네트워크

[후니의 쉽게 쓴 네트워킹] 5장 IP 주소로의 여행

12.tka 2022. 12. 4. 20:27
728x90

IP 주소는 컴퓨터를 전공하지 않는 사람도 모두 들어본 내용이라고 생각한다. 그만큼 네트워크에서 중요한 역할을 수행하고 있고 이번 5장에서는 IP 주소에 대해서 더 자세하게 이해할 수 있는 장이다.

IP 주소 특징

 

  • 이진수 32자리로 구성 (8자리마다 점을 찍어서 구분)
  • 이진수를 십진수로 전환해서 사용 (이진수보다 십진수가 사람들에게 친숙)
  • 라우터에 배정해야 하는 IP 주소는 두 개 (시리얼, 이더넷 인터페이스)
  • 네트워크 부분과 호스트 부분으로 구분

 

IP 주소 클래스

 

IP 주소는 네트워크 부분과 호스트 부분으로 구분된다. 그렇다면 어디까지가 네트워크 주소 혹은 호스트 주소일까? 이는 IP 주소 클래스를 공부하면 쉽게 알 수 있다.

 

IP 주소 클래스는 총 5개(A, B, C, D, E)이지만 이번 포스팅에서는 3개만 주로 다루고자 한다. (참고로 나머지 두 개는 멀티캐스트용, 연구용이다.) 클래스로 나눈 이유는 네트워크의 크기에 따른 구분을 용이하게 하기 위해서이다. 그러면 하나씩 살펴보도록 하자.

 

A 클래스

하나의 네트워크가 가질 수 있는 호스트 수가 가장 많은 클래스이다. 32개의 이진 수 중에서 맨 앞쪽 하나만 항상 0으로 시작한다는 특징이 있다. 나머지 숫자는 0과 1 모두 가능하다. A 클래스에서 가장 작은 숫자는 나머지 숫자가 0인 경우 가장 큰 숫자는 나머지 숫자가 1인 경우이다. A 클래스는 앞의 8비트(1개의 옥텟)가 네트워크 부분을 나타내고, 나머지 24비트가 호스트 부분을 나타낸다. 다른 클래스에 비해서 호스트 부분을 나타내는 비트 수가 많기 때문에 호스트 수가 가장 많다. 

 

B 클래스

맨 앞이 10(이진수)으로 시작된다. 뒤에는 A 클래스와 마찬가지로 0과 1 모두 가능하다. B 클래스는 앞의 16비트가 네트워크 부분을 나타내고, 나머지 16비트가 호스트 부분을 나타낸다.

 

C 클래스

맨 앞이 10(십진수)으로 시작된다. 뒤에는 A, B 클래스와 마찬가지로 0과 1 모두 가능하다. C 클래스는 앞의 24비트가 네트워크 부분을 나타내고, 나머지 8비트가 호스트 부분을 나타낸다.

 

특정 비트?

호스트 비트가 모두 1인 경우는 브로드캐스트 주소이다. 따라서, 각 클래스에서 호스트 비트가 모두 1인 경우는 호스트 수에서 제외한다.

호스트 비트가 모두 0인 경우는 네트워크 자체를 나타낸다. 마찬가지로 각 클래스에서 호스트 비트가 모두 0인 경우는 호스트 수에서 제외한다.

 

서브넷 마스크

 

서브넷 마스크를 알아보기 전에 우선 서브넷을 왜 만드는지에 대해서 알아보자. 위에서 설명한 IP 주소 클래스에 따라서 IP를 사용하더라도 분명히 낭비하고 있는 IP 주소가 많다. 그렇기 때문에 IP 주소를 보다 효율적으로 낭비 없이 쓰고 적절하게 주소를 배정하기 위해서 서브넷을 사용한다.

 

서브넷 마스크는 디폴트 서브넷 마스크와 무언가 변형을 한 서브넷 마스크로 나누어 볼 수 있다. 그리고 서브넷 마스크를 사용하는 이유는 커다란 네트워크(호스트 숫자가 많은 네트워크)를 작은 네트워크 여러 개로 나누어서 쓰기 위해서다. 서브넷 마스킹 작업은 기존 IP 주소의 호스트 부분의 일부를 네트워크 부분으로 바꾸는 작업이다.

 

서브넷 마스크는 연속된 1 사이에 0이 나오면 안 된다. 예를 들어 (1) 1111 1111. 1111 1111. 1111 1111. 0000 1010 (2) 1111 1111. 1111 1111. 1111 1111. 0000 1111 은 연속된 1 사이에 0이 나오기 때문에 안된다. 하지만 1111 1111. 1111 1111. 1111 1111. 1111 1100 은 연속된 1 사이에 0이 나오지 않기 때문에 가능한 서브넷 마스크이다.

 

디폴트 서브넷 마스크

 

디폴트 서브넷 마스크는 IP 주소 클래스의 네트워크 부분과 호스트 부분과 관련 있다. 네트워크에 해당하는 비트는 1 호스트에 해당하는 비트는 0으로 구성된다. (A 클래스: 255.0.0.0, B 클래스: 255.255.0.0, C 클래스: 255.255.255.0)

 

 

이론을 바탕으로 몇 가지 문제를 풀어보자.

1. C 클래스 네트워크를 서브넷으로 나누어 각 서브넷에 4~5 대의 PC를 접속해야 할 때, 서브넷 마스크 값으로 올바른 것은? (네트워크관리사 2급 2018년 04월 22일 기출문제)

C 클래스는  앞의 24비트가 네트워크, 나머지 8비트가 호스트 부분을 나타낸다. 따라서 디폴트 서브넷 마스크는 255.255.255.0이다. 여기서 마지막 0인 호스트 부분을 분리하는 작업을 해야 한다. 각 서브넷에 4~5 대의 PC를 접속해야 하기 때문에 호스트는 3비트가 필요하다. 2^3 - 2는 6이라서 4~5 대를 만족하기 때문이다. 여기서 2를 빼는 이유는 위에서 설명한 특정 비트와 관련이 있다. 따라서 호스트 3비트를 제외한 나머지 비트는 1로 주면 된다. 그렇기 때문에 1111 1111. 1111 1111. 1111 1111. 1111 1000 -> 255.255.255.248 이다.

 

2. IP 주소가 128.110.121.32(255.255.255.0)이라면 네트워크 주소는 어떻게 되는가?

128로 시작하는 IP 주소는 B 클래스이다. B 클래스의 디폴트 서브넷 마스크는 255.255.0.0 이지만 문제에서는 255.255.255.0 서브넷 마스크를 사용할 때 네트워크 주소를 물어봤다. 따라서, 호스트를 나타내는 마지막 0을 제외한 255 부분에 해당하는 IP 주소인 128.110.121 이 네트워크 주소이다.

728x90