[CCNA/네트워크] 7. IP 주소에 관하여

이번 포스팅에서는 중요하지만 아직 정리하지 않았던

IP주소에 대해서 조금 더 상세히 정리해보고자 한다.

IP주소는 말 그대로 WAN 환경에서의 통신을 위해서

라우터가 참조하는 주소이고, 이 값이 얼마느냐에 따라서 데이터 패킷을 어디로 송수신할 지

결정이 된다. 

IP 주소는 PC의 랜-카드, 라우터의 인터페이스,

스위치의 관리자용 인터페이스 주소

(관리자용 인터페이스라 함은 단순히 장비와의 연결이 아닌,
관리자의 PC와 연결하여 해당 장비에 접속해 관리할 수 있기 위한 별도의
접속 단자라고 생각하면 된다. PC가 해당 스위치에 접속하여 관리하기 위해서는
당연히 통신에 필요한 IP주소가 필요하다)

에 붙으며, IPv4와 IPv6가 있다(버전 4, 버전 6)

먼저 IPv4에 대해서 살펴보자.

  • IPv4 주소

IPv4 주소는 이전 포스팅에서 쭉 사용해왔던 IP주소의 형식이며,
  1. 32bit 체계를 가지며
  2. 편의상 10진수로 표기한다
  3. 각각의 십진수는 8bit씩 각각 4개의 옥텟 하나하나를 표현하는 수이다
192.168.1.2라는 주소가 있다고 치자. 4개의 10진수 각각이 8bit를 표현하므로

192 . 168 . 1 . 2 는

11000000 1011000 00000001 00000010 를 의미한다
     192        168         1            2

저번 포스팅(http://21stopa.blogspot.kr/2014/02/ccna-4.html)에서

IP주소의 용도에는 유니캐스트, 멀티캐스트, 브로드캐스트가 있다고 했는데

그 개념에 대해서 다시 한번 정리하자


  • 유니캐스트란, 송-수신 측이 1:1인 데이터 통신을 의미한다
  • 멀티캐스트란, 송-수신 측이 1:특정 다수인 데이터 통신을 의미한다
  • 브로드캐스트란, 송-수신 측이 1:불특정 다수(전부)인 데이터 통신을 의미한다

쉽게 말해, 내가(송신) 누군가(수신)와 편지를 주고 받는 것은 유니캐스트,

마을에서 이장(송신)님이 전체 방송을 틀어 마을 사람 전체(수신)이 그것을 듣는 것은

브로드캐스트,

아프리카TV와 같이 원하는 사람(수신)만 서비스를 신청하여 방청자들만 BJ(송신)로부터

데이터를 받는 것은 멀티캐스트 라고 할 수 있겠다.


IP주소는 Mac 주소와는 달리 논리적인 주소이며, 이 말은 우리가 직접 할당하고

다시 할당해제 할 수 있다는 것을 의미한다. 

하지만 인터넷이라는 환경 안에서 자기 마음 껏 IP를 사용하면 문제가 발생하기에,

IANA(Internet Assigned Numbers Authority)라는 기관에서 인터넷에 사용하는

공인 IP 주소를 할당한다. 우리가 사용하는 인터넷 업체(ISP)들은 전부 이 IANA로부터

일정 대역의 IP주소를 공급받아 우리에게 제공해주고, 우리는 그 IP를 이용해

인터넷 서비스를 이용할 수 있는 것이다.

www.iana.org/numbers 로 접속하게 되면, 각각의 IP 영역이 어느 용도로 제공되는지

알아볼 수 있다.

IANA에서는 0.0.0.0부터 255.255.255.255까지의 약 42억가지 값을 표현할 수 있는

IP주소를 5개의 클래스로 분류하여 정의하고 있으며, 각각의 클래스는

보유하고 있는 IP주소의 수도, 그 용도도 다양하다. 그 클래스들을 확인하기 전에,

먼저 서브넷 마스크라는 것의 개념을 먼저 정리하자.

  • 서브넷 마스크

일반적으로 IP주소는 무조건 그 IP주소의 의미를 명확하게 해주는 서브넷 마스크

라는 것과 함께 쓰인다. 서브넷 마스크는 연속된 1과 연속된 0를 내용으로 해서 IP와 같은

32bit로 구성되어 있다. 그럼 이것이 무슨 용도를 하느냐?

IP주소는 중간을 잘라 앞과 뒤 두 가지 부분으로 나누어 볼 수 있는데, 

앞쪽은 그 IP주소가 존재하는 네트워크를 가리키는 네트워크 네임(ID)를 나타내고

뒤쪽은 그 IP주소가 할당된 호스트 자체를 나타낸다.

13.14.1.3 이라는 주소가 있다.

이를 이진수로 표현하면

00001101 00001101 00000001 00000011 인데

다음과 같이 네트워크 부분과 호스트 부분으로 나누었다고 생각을 해보자

00001110 00001110 00000001 00000011

이렇게 되면, 13.14.0.0 이라는 네트워크 안에 존재하는

IP주소 13.14.1.3를 가진 호스트를 나타내는 것이고,

서브넷 마스크는 붉은 부분(네트워크)에 해당하는 하는 부분은 1,

푸른 부분(호스트)에 해당하는 부분은 0으로 채워 만든

11111111.11111111.00000000.00000000 -> 255.255.0.0 이다.

00001110 00001110 00000001 00000011

이렇게 되면, 13.14.1.0 이라는 네트워크 안에 존재하는

IP주소 13.14.1.3를 가진 호스트를 나타내는 것이고,

서브넷 마스크를 같은 원리로 하여 만들어 보면

11111111.11111111.11111111.00000000 -> 255.255.255.0 이다.

그럼 어차피 같은 내용인 것 같은데 무슨 차이가 있느냐?

이는 그 호스트가 존재하는 네트워크의 크기에 차이가 있다.

설명한 대로 붉은 부분은

네트워크의 아이디를 나타내고, 이는 곧 네트워크 하나!를 의미하는 것인데,

이 네트워크 부분이 얼만큼이냐에 따라 네트워크가 가질 수 있는 호스트들의 갯수가 다르다.

00001110 00001110 00000001 00000011

이 경우, 13.14.1.0 이라는 네트워크 아이디를 가진 네트워크 하나는

푸른 부분의 비트 8개를 가지고 표현할 수 있는 가짓수인 256개의 호스트를

가질 수 있는 네트워크인 것이다.

우리가 200개의 호스트를 가진 네트워크를 디자인하고자

할 때에는 위와 같이 서브넷 마스크를 구성하여 네트워크를 디자인하는 것이

IP주소 공간의 낭비를 막을 수 있는 방법인 것이다. 또한 서브넷 마스크가 없다면

무분별하게 IP를 할당하게 되어 단편화(단위화)도 힘들 것이고, 42억개나 되는

IP주소를 관리하기 매우 힘들게 될 것이다.

* 정리하면

IP 주소 : 13.14.1.3,  서브넷 마스크 : 255.255.255.0인 주소의 경우

네트워크 아이디는 13.14.1.0 -> 호스트들이 가지는 범위의 주소 중 가장 앞의 값이고,

256개의 IP 주소 크기를 가지는 네트워크이다.

또한, 브로드캐스트의 범위도 이 하나의 네트워크 안이고,

호스트들이 가지는 범위의 주소 중 가장 뒤의 값, 즉 13.14.1.255가 이 네트워크 내에서의

브로드캐스트를 의미하는 IP주소가 되어, 이를 서브넷 브로드캐스트 주소라고 한다.

다시 말해 어떤 호스트가 13.14.1.255 / 255.255.255.0으로 데이터를 송신하게 되면,

이 네트워크에 존재하는 모든 호스트들(최대 254개)이 데이터를 수신하게 되는 것이다.

254개인 이유는 가질 수 있는 IP주소의 갯수 256개에서,

네트워크 아이디로 사용되는 주소와 브로드캐스트 용도의 주소 2개를 뺐기 때문이다.

또한 prefix라는 표기법을 이용해 13. 14. 1. 32 / 255.255.255.0 라는 IP 주소를

13.14.1.32 / 24 라고 표기하기도 한다.


그럼 이제 IANA에서 규정한 IP주소의 클래스들을 살펴보자.

  • A Class(유니캐스트 주소)

첫번째 옥텟이 '0'~'127'까지의 값을 갖는 IP 주소들은 A클래스로 분류된다.

이 주소들은 32bit중 가장 앞의 bit가 0이라는 공통점을 가지고 있으며,

기본 서브넷마스크는 255.0.0.0 이다. 즉 A Class의 네트워크 하나가 지니는

IP주소의 갯수, 즉 네트워크의 크기는 서브넷 마스크를 고려하고 남은 24bit로

표현할 수 있는 숫자의 가짓수이므로 2^24개(16,777,216개)가 된다.

예를 들면 다음과 같다.

0nnnnnnn . hhhhhhhh . hhhhhhhh . hhhhhhhh 

여기서 n은 네트워크 id(name)을 표현하는데 쓰이는 비트, h는 호스트를 표현하는데

쓰이는 비트임을 의미한다.

위의 규칙에 따라 A클래스의 IP 주소 영역대를 나타내면

0.0.0.0 ~ 127.255.255.255 까지의 값을 가지게 되겠다.

  • B Class(유니캐스트 주소)

첫번째 옥텟이 '128'~'191'까지의 값을 갖는 IP 주소들은 B클래스로 분류된다.

이 주소들은 32bit중 가장 앞의 bit가 10이라는 공통점을 가지고 있으며,

기본 서브넷마스크는 255.255.0.0 이다. 즉 B Class의 네트워크 하나가 지니는

IP주소의 갯수, 즉 네트워크의 크기는 서브넷 마스크를 고려하고 남은 16bit로

표현할 수 있는 숫자의 가짓수이므로 2^16개(65,536개)가 된다.

예를 들면 다음과 같다.

10nnnnnn . nnnnnnnn . hhhhhhhh . hhhhhhhh

위의 규칙에 따라 A클래스의 IP 주소 영역대를 나타내면

128.0.0.0 ~ 191.255.255.255 까지의 값을 가지게 되겠다.

  • C Class(유니캐스트 주소)

첫번째 옥텟이 '192'~'223'까지의 값을 갖는 IP 주소들은 C클래스로 분류된다.

이 주소들은 32bit중 가장 앞의 bit가 110이라는 공통점을 가지고 있으며,

기본 서브넷마스크는 255.255.255.0 이다. 즉 C Class의 네트워크 하나가 지니는

IP주소의 갯수, 즉 네트워크의 크기는 서브넷 마스크를 고려하고 남은 8bit로

표현할 수 있는 숫자의 가짓수이므로 2^8개(256개)가 된다.

예를 들면 다음과 같다.

110nnnnn . nnnnnnnn . nnnnnnnn . hhhhhhhh

위의 규칙에 따라 A클래스의 IP 주소 영역대를 나타내면

128.0.0.0 ~ 191.255.255.255 까지의 값을 가지게 되겠다.

  • D Class(멀티캐스트 주소)

첫번째 옥텟이 '224'~'239'까지의 값을 갖는 IP 주소들은 D클래스로 분류된다.

이 주소들은 32bit중 가장 앞의 bit가 1110이라는 공통점을 가지고 있으며,

멀티캐스트 주소는 각각의 특정 호스트를 표현하는 주소가 아니기 때문에

서브넷 마스크를 갖지 않는다.(필요가 없다)

예를 들면 다음과 같다.

1110nnnnn . nnnnnnnn . nnnnnnnn . nnnnnnnn

D클래스의 IP 주소 영역대는

224.0.0.0 ~ 239.255.255.255 이다

  • E Class(사용이 제한된 주소)

첫번째 옥텟이 '240'~'255'까지의 값을 갖는 IP 주소들은 E클래스로 분류된다.

이 주소들은 32bit중 가장 앞의 bit가 1111이라는 공통점을 가지고 있으며,

IANA에서 인터넷 환경에서 이 주소를 사용하는 것을 제한하였다.

따라서 우리가 임의로 인터페이스에 이 주소를 할당하는 것은 불가능하다.

예를 들면 다음과 같다.

1111nnnnn . nnnnnnnn . nnnnnnnn . nnnnnnnn

E클래스의 IP 주소 영역대는

240.0.0.0 ~ 255.255.255.255 이다


- 여기까지가 IANA에서 규정해두고 있는 IP 주소 Class인데,

IPv4의 주소가 점점 고갈되기 시작하면서(42억개가 고갈..ㅋㅋ)

공인 IP와 상반되는 사설 IP라는 개념이 등장하게 되었다.

사설 IP란, 인터넷을 이용하기 위해서 할당받는 주소가 아닌,

기업과 같은 내부 사설 환경에서 사용하는 주소이다. 이 주소는

인터넷과 연결이 되지 않는 주소이기 때문에, 다른 기업에서 같은 주소를

이용해도 무관하고, ISP로부터 주소를 임대받지 않아도 사용 가능하다.

예를 들어 9층짜리 층 당 10세대를 지닌 아파트 5개의 호수를

사설 IP의 개념 없이 할당한다면,

100, 101, 102, 103, 104, 105, 106, 107, 108, 109
~
900,901, . . . 909 까지가 한 아파트이고,

다른 아파트는

방금 호수가 정해진 아파트에 할당한 호수를 사용하면 안되므로

숫자가 엄청나게 많이 필요할 것이다.

하지만 다른 아파트는 다른 영역이므로 같은 숫자를 사용하여 호수를 표현할 수 있게

하면, 사용하는 숫자도 절약할 수 있다. 실제로도 그렇지 않은가?

비유를 한 가지 더 해 보자면, 우편 번호의 경우는 공인 IP, 아파트 호수의 경우는 사설 IP

라고 생각해서 이해하면 적절할 것 같다.

그래서 사설 IP와 공인 IP를 구분하기 위해 IANA는 A, B, C 각각의 클래스에

사설 IP의 영역을 따로 두었다. 그 영역은 다음과 같다

A Class : 10.0.0.0 ~ 10.255.255.255 ( 10.0.0.0 / 8 )

B Class : 172.16.0.0 ~ 172.31.255.255 ( 172.16.0.0 / 16 )

C Class : 192.168.0.0 ~ 192.168.255.255 ( 192.168.0.0 / 24 )

Comments

Popular posts from this blog

[CCNA/네트워크] 3. OSI 참조 모델 ( OSI 7계층 )

[CCNA/네트워크] 1. 네트워크의 의미와 종류

[CCNA/네트워크] 2. 프로토콜과 Encapsulation