1-5. IPv4 fundamental & subent

Posted by 월급채굴기
2017. 8. 12. 04:09 Network/CCNA

IPv4 개요

  IPv4는 ARP를 통해 물리적 주소인 MAC address와 맵핑되는 논리적 주소 체계중 하나로 IPv6와 함께 사용되고 있다. 참고로 IPv1,2,3은 상용화에 실패하였다. IPv4의 기본적 구조는 32bit로 구성되어있고, 4개의 옥텟(8bit)로 끊어져 있다. 표기자체는 10진수로 표현되나, 연산할 때는 Nibble단위(4bit)로 연산한다. 구조를 표현하자면 다음과 같다.

표기 : X . X . X . X (X는 10진수)

연산 : XXXX XXXX . XXXX XXXX . XXXX XXXX . XXXX XXXX (X는 2진수 한자리)

 초기 아이피를 할당할 때는 Classful 방식을 사용하였으나 현재는 Classless 방식을 사용한다. Classful 방식은 말 그대로 각 옥텟의 의미가 정해져있다. 즉, 각 network-id의 길이가 각 클래스별로 정해져있고, 그에 따라 아이피의 범위가 각 클래스별로 나뉜다. 반면, Classless 방식의 경우 Classful 방식과는 반대로 IP별 Class를 나누지 않고, network-bit의 길이를 그때그때 다르게 조절할 수 있다. Classless 방식을 도입한 이유는 단 한가지다. IPv4가 현재 거의 고갈된 상태이기 때문인데, 43억개의 주소가 현재 거의다 고갈된 상태이다.


Classful

  주소의 첫 Nibble에 따라 각각의 Class를 결정한 형태이다. 즉, 첫 Nibble이 IP주소의 종류를 결정하는 Prefix이고, 이 규칙을 E164규칙이라 한다. 각각의 IP주소는 범위에 따라 A/B/C/D/E 클래스로 나뉜다. 


A Class

0000 0000.0000 0000.0000 0000.0000 0000 [0.0.0.0]

to

0111 1111.1111 1111.1111 1111.1111 1111 [127.255.255.255]


B-class

10xx xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx [128.0.0.0]

to

1011 1111.1111 1111.1111 1111.1111 1111 [191.255.255.255]


C-class

110x xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx [192.0.0.0]

to

1101 1111.1111 1111.1111 1111.1111 1111 [223.255.255.255]


  위 A/B/C 클래스는 unicast, direct broadcast에 사용된다. 


D-class

1110 xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx [224.0.0.0]

to

1110 1111.1111 1111.1111 1111.1111 1111 [239.255.255.255]

D-class는 따로 Network-id, Host-id 개념이 없다. 


E-class

1111 xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx [240.0.0.0.0]

to

1111 1111.1111 1111.1111 1111.1111 1111 [191.255.255.255]

E-class는 연구용으로 예약된 주소.


Classless

  IPv4의 고갈에 따라 도입된 개념으로, 현재의 IPv4의 할당방식은 Classless 방식이다(Classful은 더 이상 사용하지 않음. 그래도 A/B/C 클래스 같은 용어는 사용됨). 주된 목적은 IP의 낭비를 막기 위한 것이다. Classful과의 가장 큰 차이점은 Network-id 부분이 유동적으로 변한다는 것이다. Classful의 경우 첫 Nibble, 즉 첫 옥탯만이 Network-id를 식별하는데 쓰이는데, 이는 수억개의 아이피가 한 네트워크에 할당되는 결과를 낳게되어 매우 비효율적 방법이었다. 그러나, Classless 방식은 Subnetmask를 도입하여 Network-id에 해당하는 부분을 네트워크의 크기에 따라 늘이고 줄일 수 있어 보다 효과적으로 IP 갯수를 관리할 수 있게 되었다. 


Subnetting

  서브넷은 네트워크를 나누는 개념이다. 네트워크를 나누는 목적은 크게 두 가지이다. 첫 째는 관리이다. 네트워크를 세부적으로 나눠서 보다 효율적으로 네트워크를 관리하는 것이다. 둘 째는 보안을 목적으로 한다. 네트워크를 세분화하여 한 곳에 보안 결함이 생긴 경우 그 영향을 최소화하는 역할을 한다. Subentting은 OSI 7계층중 layer-3 개념에서의 네트워크 망 분리라고 할 수 있다. 참고로 subnetting의 반대는 Supernetting인데, 슈퍼넷팅의 장점은 망 통합을 통해 중간 장비의 연산 부하를 줄여줘서 망의 안정성을 확보할 수 있다는데 있다.

  이처럼 네트워크가 세분화하여 나눠지기 때문에(또는 다시 합쳐지기도 하기 때문에) 어디까지가 Network-id 인지 아는 것이 중요한데, 이를 표시하는 역할을 하는 것이 Subnetmask이다. 


Subnetmask

  Subnetmask란 sub 와 netmask의 합성이다. 또 netmask는 network-id + mask인데, IP주소에서 변하지 않는 부분(Network-id)를 1로 표시하고, 변하는 부분(Host-id)를 0으로 표시한 것을 말한다. (물론 여기서 1과 0은 2진수단위를 말함) 

  예를들어, subnetmask로 255.255.255.0이 쓰인다는 것은 4개의 옥탯중 처음 3개의 옥탯은 255(1111 1111) 이므로 모두 Network-id로 사용되고 마지막 옥탯은 0(0000 0000)이므로 Host-id로 사용된다는 것이다. 따라서 255.255.255.0 이 적용된 IP는 첫 세 옥탯은 변하지 않고 마지막 옥탯만 변하는 IP인 것이다.

  참고로, subnetmask에 1의보수를 취한 것이 Wildcard이다. 

  통상적으로 IP를 표시할 때는 IP subnetmask를 함께 표시한다. (Ex. 11.1.1.1 255.255.255.0) 또 다른 표시 방법으론 IP/prefix 인데, 앞에 IP를 적어주고 슬래쉬 뒤에 prefix 즉 Network-id에 해당하는 이진수 자릿수를 적어주는 방식이다. 위에 예시를 든 경우에 적용하면 11.1.1.1/24 가 된다.

  또, subnetting을 하여 망을 분리할 때의 방식이 두가지로 나뉘는데, 하나는 균등분할이고 또 하나는 비균등 분할이다. 균등분할은 말 그대로 분리되는 각각의 망에 속하는 host들의 수가 동일한 것이다. 반대로 비균등 분할은 새로 생성된 서브넷에 속하는 host수가 모두 다르다. 이를 VLSM(Variable Length Subnet Mask)라고 한다.

'Network > CCNA' 카테고리의 다른 글

[GNS3] 1. GNS3 IP할당  (0) 2017.08.25
[GNS3] 0. GNS 기본설정  (0) 2017.08.25
1-4. MAC fundamental  (0) 2017.08.09
1-3. TCP fundamental  (0) 2017.08.09
1-2. OSI 7 Layer  (0) 2017.08.08