본문 바로가기
네트워크

6주차, ip주소의 개념

by 호놀롤루 2022. 1. 27.

1. ip주소란

ip주소란 pc나 서버와 같이 tcp/ip로 통신하는 기기를 식별하기 위한 주소를 말한다.

이렇게 tcp/ip로 통신하는 기기를 '호스트'라 부르며, 대표적인 예로는 pc와 서버, 라우터

와 같은 네트워크 장비가 있다.

 

네트워크상에서 데이터를 전송하는 것은 주로 호스트에서 동작하는 어플(웹 브라우저, 메일 소프트)

이다. 이 어플을 실행하고 있는 호스트를 특정하기 위한 정보가 ip주소다. ip주소는 호스트의 유선LAN,

무선LAN, 등의 네트워크 인터페이스마다 설정된다. 이처럼 인터페이스에 ip주소를 설정함으로써

ip통신을 할 수 있게 된다.

 

어플이 통신할 때 사용자가 ip주소를 명시적으로 지정하지 않았더라도 tcp/ip통신은 반드시 ip주소를

사용한다.

 

2. ip주소의 표기와 분류

오늘날 우리가 일반적으로 이용하는 ip주소는 32비트다. 다시말해 0이나 1로 이루어진 비트가

32개 나열된 것이다. 사람 입장에선 당연히 어떤 주소인지 알기 어렵다. 그래서 ip주소를 표기할

때는 '부점 10진 표기법(Dot-decimal nocation)'을 사용한다.

 

32비트를 8비트씩 10진수로 변환하여 표기하는 방법을 말한다.

'192.168.1.1'같은 표기법이다. 8비트니 숫자의 범위는 0~255 이내고, 255를 넘어가는 숫자가

있다면 정상적인 주소가 아니다.

 

또한 ip주소는 통신의 용도에 따라 '유니캐스트 주소', '브로드캐스트 주소', '멀티캐스트 주소'의

3종류로 분류된다.

 

유니캐스트란 1:1통신을 말한다. 컴퓨터나 라우터 등 호스트의 인터페이스에 설정하는 ip주소는

유니캐스트 주소입니다. 반대로 브로드캐스트와 멀티캐스트는 1:n 통신을 가리킨다. 브로드캐스트의

목적지는 같은 어플이 실행되고 있ㅇ는 등의 '특징에 의해 그룹화된 호스트'다. 이 중에 가장 기본적인

용도의 ip주소는 유니캐스트 주소이다. 이후 설명 중 ip주소라는 말이 나왔을 때, 언급이 없다면

유니캐스트 주소다.

 

3. ip주소의 구성

tcp/ip 네트워크에서는 많은 수의 네트워크가 라우터를 통해 서로 연결된다. 따라서 호스트를 식별하기

위해선 먼저 그 호스트가 어떤 네트워크에 속해있는지 부터 알아내야 한다. 그래서 ip주소는 네트워크

와 호스트를 식별하기 위해 다음과 같은 요소들로 구성된다.

 

ip주소 = 네트워크id + 호스트id

앞부분의 네트워크 id로 '네트워크'를 식별하고, 뒷부분의 호스트 id로 네트워크 내부의 호스트(인터

페이스)를 식별한다. 이때 네트워크id로 식별되는 것이 '서울시', 호스트로 식별되는 것이 '번지'라고

생각하면 이해하기 쉽다.

 

하지만 32비트 중 어디까지가 네트워크 id이고 호스트id인지는 고정되어 있지 않다. 그래서 ip주소에

따라 네트워크 id와 호스트id가 구분되는 지점이 달리지기에 ip주소의 이해하기 어려운 부분이다.

 

여기서 등장하는 것이 '클래스'라는 개념이다. ip주소를 클래스로 나눔으로써 32비트 중 어디까지가

네트워크id이고 어디부터가 호스티id인지 판별할 수 있게 된다.

 

4. Ip주소의 클래스

클래스에는 'A~E 클래스'의 5종류가 있으며 이 중 하나로 ip주소를 분류할 수 있다.

그리고 A~E 클래스 중에서 호스트 인터페이스에 설정할 수 있는 유니캐스트 ip주소는 A~C 3종류다.

 

A~C클래스 중 하나의 네트워크 내부에서 이용할 수 있는 호스트id 개수는 A클래스가 가장 많고,

그 다음은 B, C순이다.

여기서 호스트id의 개수가 많다는 것은 호스트Id로 이용되는 비트 수가 그만큼 많아진다는 뜻이다.

다시 말해 클래스의 종류로 네트워크id와 호스트id가 구분되는 지점을 알 수 있게 된다.

 

또한 클래스 자체를 식별하기 위해서 맨 앞부분의 비트 패턴이 규정되어 있다. 

 

5. A클래스

A클래스의 특징을 정리해보면 다음과 같다.

・ 맨 앞 비트 패턴이 0

・ 맨 앞 8비트의 10진수 표기는  1~126

・ 네트워크id와 호스트id의 구분은 8비트 째에서

・ 네트워크id의 개수는 126개

・ 호스트id의 개수는 약 1600만 개

 

A클래스의 ip주소는 반드시 맨 앞의 1비트가 0으로 시작된다. 8비트에서 가장 앞이 0이면 10진수로

변환했을 때 1~126이라는 범위를 가진다.

 

다시 말해 1~126으로 시작되는 ip주소는 a클래스의 ip주소라는 것이다. 그리고 네트워크id와

호스트id는 8비트 째에서 나뉜다. 이때 네트워크id로 총 7비트를사용할 수 있으므로 A클래스의

네트워크 수는 2^7-2 =126개다. -2를 한 이유는 네트워크id의 비트에 해당하는 7비트 중, 모두 0,

모두 1인 경우를 제외하기 때문이다.

 

그리고 네트워크들은 각각 2^24 - 2, 즉 1,677만 7,214개의 호스트id를 사용할 수 있다. 여기서 -2를

한 이유는 네트워크id와 같다.

 

6. B클래스

B클래스의 특징을 정리해보면 다음과 같다.

・ 맨 앞의 비트 패턴은 10

・ 맨 앞 8비트의 10진수 표기는 128~191

・ 네트워크id와 호스트id의 구분은 16비트 째에서

・ 네트워크id의 개수는 16,382개

・ 호스트id의 개수는 65,534개

 

B클래스의 ip주소는 맨 앞의 2비트가 10으로 시작된다. 그래서 맨 앞의 8비트를 10진수로 변환하면 

128~191이 되고, 이 숫자로 시작하는 ip주소는 b클래스의 주소에 해당된다.

 

호스트id와의 구분은 16비트 째에서 한다. 그러므로 네트워크id로 14비트, 호스트id로 16비트를

사용한다.

 

7. C클래스

C클래스의 특징은 아래와 같다.

・ 맨 앞의 비트 패턴은 110

・ 맨 앞 8비트의 10진수 표기는 192~223

・ 네트워크id와 호스트id의 구분은 24비트 째에서

・ 네트워크id의 개수는 209만 7,150개

・ 호스트id의 개수는 254개

 

192~233로 시작하면 c클래스고 24비트 째에서 구분된다.

 

8. 할당할 수 없는 ip주소

A~C클래스 ip주소의 특징을 정리할 때, 모든 클래스의 네트워크id와 호스트id의 개수 계산식에

-2가 들어갔던 이유는 네트워크id와 호스트id를 비트로 변환했을 때 모든 비트가 0, 또는 1이 되는

ip주소는 사용할 수 없다는 규칙이 정해져 있기 때문이다.

 

네트워크id 또는 호스트id의 비트가 모두 0이거나 1인 ip주소는 특수한 용도로 예약되어 있다.

예를 들어 호스트id의 비트가 모두 0이나 1인 ip주소는 다음과 같은 용도로 사용된다.

・ 호스트id의 비트가 모두 0 : 네트워크 주소

・ 호스트id의 비트가 모두 1 : 브로드캐스트 주소 // 브로드캐스트 Ip주소로 32비트 모두 1도 가능

ex) 192.168.1.0 (네트워크 그 자체) 192.168.1.1 ..... 192.168.1.255 (브로드캐스트 ip)

 

9. 클래스풀 주소는 낭비가 심하다?

이처럼 클래스에 기초한 ip주소를 클래스플 주소라 부른다. 앞에서 설명한 것처럼 A클래스는 8비트 째,

B클래스는 16비트 째, C클래스는 24비트 째에서 8비트 단위로 네트워크id와 호스트id를 구분하므로,

클래스풀 주소는 매우 알기 쉽고 편리하다.

 

하지만 한편으로 클래스풀 주소를 매우 낭비가 심한 주소 체계라 생각할 수도 있다.

예를 들어 A클래스는 네트워크 하나는 1,600만 개 이상의 호스트id를 사용할 수 있다. 아무리 대규모의

네트워크라 해도 네트워크 하나에 1,600만 개 이상의 호스트가 연결되는 것은 현실적으로 불가능하다.

 

B클래스도 이와 마찬가지로 약 6만 5천 개의 호스트id를 사용할 수 있지만, 네트워크 하나에 6만 5천

개의 호스트가 연결되는 경우는 없을 것이다. 결국 A클래스와 B클래스에서는 매우 많은 ip주소가

사용되지 못하고 남아돌게 된다.

 

반대로 C클래스는 호스트id가 254개 뿐이므로 네트워크 하나에 255대 이상의 호스트를 연결할 수

없다.

 

클래스풀 주소는 이처럼 ip주소의 이용 효율이 매우 나쁘다. 그래서 보다 효율적으로 ip주소를 이용하기

위해서는 클래스풀 주소에서 '클래스리스 주소'로 옮겨갈 필요가 있다. 여기서 등장하는 것이 바로 

'서브넷 마스크' 이다.

댓글