본문 바로가기

Network/Theory

Chapter 4. IP Addressing & subnetting

Chapter 4. IP Addressing & subnetting 

1. IP Address
 - IP주소


  ‧ 인터넷에 연결된 모든 통신망과 그 통신망에 연결된 컴퓨터에 부여되는 고유의 식별 주소
  ‧ IP주소는 32bit 즉, 2진수 32자리로 이루어져 있고 따라서 표현할 수 있는 주소의 수는 2²³개정도이며 그 중에 일정한 규칙 때문에 못 쓰는 주소도 있다.
  ‧ 2진수 표현에서 8자리마다 점(.)을 찍기 때문에 2진수 8개를 묶어 옥텟(Octet)이라고 한다.
  ‧ 각 옥텟의 최댓값은 255가 된다.
  ‧ IP 주소는 네트워크 주소(Network Address), 호스트 주소(Host Address)로 구성되며 각 주소는 네트워크 주소를 배정하고 그 후에 호스트 주소를 배정하며 점(.)을 찍은 10진수 표현 방식을 이용한다.
 - IP Address Class
  ‧ IP 주소는 그 활용도에 따라서 A, B, C, D, E Class로 구분된다.
  ‧ 어떤 네트워크에 주소를 할당할 때 필요한 주소의 수를 생각해 Class를 결정하며 할당하고 남을 주소의 개수가 최소가 되도록 Class를 결정해야한다.
  ‧ Class A

  ◦ 가장 왼쪽 옥텟의 맨 앞 숫자가 0으로 시작되는 IP주소들을 말하며 Network ID부분은 첫 번째 옥텟까지 해당한다.
  ◦ 가장 작은 수 0.0.0.0부터 127.255.255.255까지가 되며 0.x.x.x와 127.x.x.x는 제외된다.
       (0은 2진수일 때 0000 0000로 32bit구성에 위배되고 127은 0111 1111로 loop back address(TCP/IP 자기진단 테스트용)로 제외되며 이 주소들을 예약 주소라고 한다.)
  ◦ Class A의 개수(Network 개수)는 2⁷-2로 126개가 된다.
      (7제곱인 이유 : 첫 번째 옥텟의 2진수 첫째짜리 제외한 7개)
  ◦ Host ID의 개수는 2²-2로 16,777,214개가 된다.
  ※ 2개를 제외하는 이유 : x.0.0.0의 주소는 Network address가 되며 x.255.255.255는 Broadcast address가 된다.
  ‧ Class B

  ◦ 가장 왼쪽 옥텟의 맨 앞 숫자가 10으로 시작되는 IP주소들을 말하며 Network ID부분은 두 번째 옥텟까지 해당한다.
  ◦ 가장 작은 수 128.0.0.0부터 191.255.255.255까지의 범위의 IP주소들이다.
  ◦ Class B의 개수(네트워크 개수)는 2¹⁴로 16,384개가 된다.
      (14제곱인 이유 : 첫 번째 옥텟의 2자리를 제외한 6자리와 두 번째 옥텟의 8자리를 더해 14개)
  ◦ Host ID의 개수는 2¹⁴로 65,534개가 된다.
  ‧ Class C

  ◦ 가장 왼쪽 옥텟의 맨 앞 숫자가 110으로 시작되는 IP주소들을 말하며 Network ID부분은 세 번째 옥텟까지 해당한다.
  ◦ 가장 작은 수 192.0.0.0부터 223.255.255.255까지의 범위의 IP주소들이다.
  ◦ Class C의 개수(네트워크 개수)는 2²¹로 2,097,152개가 된다.
      (21제곱인 이유 : 첫 번째 옥텟의 3자리를 제외한 5자리와 두 번째, 세 번째 옥텟의 16자리를 더해 21개)
  ◦ Host ID의 개수는 2로 256개가 된다.
  ‧ Class D

  ◦ 가장 왼쪽 옥텟의 맨 앞 숫자가 1110으로 시작되는 IP주소들을 말한다.
  ◦ Multicast 주소를 말한다.
  ※ Multicast 주소 : 하나의 송신자가 다수의 수신자에게 패킷을 전송하는 주소
  ‧ Class E

  ◦  가장 왼쪽 옥텟의 맨 앞 숫자가 1111로 시작되는 IP주소들을 말한다.
  ◦  주로 연구용으로 사용된다.
  ‧ 예약 주소
  ◦ 어떠한 규칙으로 사용되지 않는 주소 대역이며 실제로 막아야할 주소 대역이다.
  ◦ RFC 1918 : 개인(또는 특정 기업이나 단체) 인터넷을 위한 주소 할당 기법(Address Allocation for Private Internets)
  ◦ RFC 3330 : 특수 용도의 IPv4 주소(Special-Use IPv4 Addresses)
  ‧ Classful & Classless
  ◦ Classful : Class A, B, C에서 정해진 규칙대로 주소를 만드는 것
  ◦ Classless : Class A, B, C 에서 정해진 규칙대로 주소를 만들지 않고 다른 방법으로 주소를 만드는 것
  ‧ Network Address(ID) & Host Address(ID)
  ◦ 네트워크 주소(Network Address)
   ▹ 장치가 연결되어 있는 네트워크를 지정하는 주소(ID)
   ▹ 네트워크상에서 같은 네트워크 주소를 가진 장치들은 서로 직접 통신할 수 있다.
   ▹ 네트워크 주소가 같지 않다면 네트워크 간 연결할 장비가 없을 경우 서로 통신할 수 없다.
  ◦ 호스트 주소(Host Address)
   ▹ 네트워크상의 특정한 장치를 지정하는 주소(ID)
   ▹ 모든 장비들은 호스트 주소를 0이 아닌 주소를 가지고 있으며 호스트 주소가 0이라면 이것은 네트워크의 주소를 뜻한다.
   ▹ 호스트 주소가 2진수로 모두 1이 되면(1111 1111 → 255) Broadcast 주소가 된다.
  ‧ Subnet Mask
  ◦ Subnet Mask는 주소가 아니며 IP 주소의 어느 부분이 네트워크 주소이고 호스트 주소인지를 결정한다.
  ◦ Class A의 Subnet Mask : 255.0.0.0 
  ◦ Class B의 Subnet Mask : 255.255.0.0
  ◦ Class C의 Subnet Mask : 255.255.255.0
 - 주소 표기법의 종류
  ‧ 이 주소 표기법들은 주소 하나만을 말하는 것이 아니고 주소의 대역(범위)을 표기한다.
  ‧ 주소 표기법의 예(10.0.0.0 ~ 10.255.255.255)
  ‧ Netmask

  ◦ 주소를 2진법으로 나타낸다.(2진수 숫자 16자리씩)
  ◦ 주소 범위 내에서 변하는 부분과 변하지 않는 부분으로 나눈다.
  ◦ 변하는 부분은 0로 변하지 않는 부분은 1로 나타낸 후 &연산을 한다.
  ◦ &연산을 한 부분은 Netmask 주소의 앞부분이 되고 변하는 부분과 변하지 않는 부분으로 추려낸 주소는 Netmask 주소의 뒷부분이 된다.
  ‧ Wildcard

  ◦ 주소를 2진법으로 나타낸다.(2진수 숫자 16자리씩)
  ◦ 주소 범위 내에서 변하는 부분과 변하지 않는 부분으로 나눈다.
  ◦ 변하는 부분은 0로 변하지 않는 부분은 1로 나타낸 후 &연산을 한다.
  ◦ &연산을 한 부분은 Wildcard 주소의 앞부분이 되고 변하는 부분과 변하지 않는 부분으로 추려낸 주소의 보수 값은 Wildcard 주소의 뒷부분이 된다.
  ‧ Postfix

  ◦ 주소를 2진법으로 나타낸다.(2진수 숫자 16자리씩)
  ◦ 주소 범위 내에서 변하는 부분과 변하지 않는 부분으로 나눈다.
  ◦ 변하는 부분은 1로 변하지 않는 부분은 2로 나타낸 후 &연산을 한다.
  ◦ &연산을 한 부분은 Prefix 주소의 앞부분이 되고 변하지 않는 숫자의 개수를 슬러시(/)이후에 써준다.

 

2. Subnetting
 - Subnetting

  ‧ 네트워크를 관리할 때 관리를 편이하게 하기위해 네트워크를 나누는 작업
  ‧ Subnet
  ◦ 네트워크를 관리할 때 관리를 편이하게 하기위해 네트워크를 나눴을 때 그 네트워크의 작은 부분을 말한다.
  ◦ Subnet의 주소는 Class A, B, C 주소의 호스트 주소 부분으로부터 만들어 지기 때문에 네트워크 관리자에 의해 자체적으로 할당된다.
  ◦ Subnet의 주소는 그 영역 네에서 유일해야한다.
  ‧ Subnetting을 통해 네트워크의 개수를 나누면 네트워크의 이름도 나눠진 개수와 같고 Broadcast 주소도 나눠진 개수와 같아진다.
  ‧ Subnetting의 목적
  ◦ Broadcast의 트래픽 감소
  ◦ IP주소의 낭비를 감소
  ◦ 라우터에 필터링 기능을 추가해 보안을 강화
  ‧ Subnetting 주소 계산법

  ◦ Network 기준

   ▹ 나누고자 하는 Network의 개수를 기준으로 Network Bit와 Host Bit를 구분하는 방식

   ▹ S : Network ID의 개수

   ▹ N : 나누고자하는 Network의 개수

  ◦ Host 기준

   ▹ 나누고자 하는 Network의 Host의 개수를 기준으로 Network Bit와 Host Bit를 구분하는 방식
   ▹ h : Host ID의 개수

   ▹ H : 나눌 Network의 Host의 개수

  ‧ ​예제1 - Network

  ◦ 192.168.10.0/24 네트워크를 3개로 나누고자 할때 Subnetmask는?

   ▹ 공식

    ▸  2^S >= 3

    ▸  S = 2
   ▹ Subneting 기준
    ▸  00000000 . 00000000 . 00000000 . 00 | 000000
    ▸  00000000 . 00000000 . 00000000 . SS | HHHHHH

Subnet

대표주소 & Broadcast 주소

Subnet Number

Postfix

Subnet_1

00|000000 (0) ~ 00|111111 (63)

1 ~ 62

192.168.10.0/26

Subnet_2

01|000000 (64) ~ 01|111111 (127)

65 ~ 126

192.168.10.64/26

Subnet_3

10|000000 (128) ~ 10|111111 (191)

129 ~ 190

192.168.10.128/26

Subnet_4

11|000000(192) ~ 11|111111(255)

193 ~ 254

192.168.10.192/26

    ◦  Subnetmask : 255.255.255.192 

  ‧ 예제2 - Host

  ◦ 210.125.0.0/16 하나의 Subnet에 있는 Host의 개수 4090개일 때 네트워크의 개수는?
   ▹ 공식

    ▸  (2^h)-2 >= 4090
    ▸  h = 12
   ▹ Subneting 기준
    ▸  00000000 . 00000000 . 0000 | 0000 00000000
    ▸  00000000 . 00000000 . ssss | hhhh hhhhhhhh

Subnet

대표주소 & Broadcast 주소

Subnet Number

Postfix

Subnet_1

0000|0000.00000000(0.0) ~ 0000|1111.11111111(15.255)

(1~15) × 255

210.125.0.0/20

Subnet_2

0001|0000.00000000(16.0) ~ 0001|1111.11111111(31.255)

(16 ~ 31) × 255

210.125.16.0/20

Subnet_3

0010|0000.00000000(32.0) ~ 0010|1111.11111111(47.255)

(32 ~ 47) × 255

210.125.32.0/20

Subnet_4

0011|0000.00000000(48.0) ~ 0011|1111.11111111(63.255)

(48 ~ 63) × 255

210.125.48.0/20

Subnet_5

0100|0000.00000000(64.0) ~ 0011|1111.11111111(79.255)

(64 ~ 79) × 255

210.125.64.0/20

Subnet_6

0101|0000.00000000(80.0) ~ 0011|1111.11111111(95.255)

(80 ~ 95) × 255

210.125.80.0/20

Subnet_7

0110|0000.00000000(96.0) ~ 0011|1111.11111111(111.255)

(96 ~ 111) × 255

210.125.96.0/20

Subnet_8

0111|0000.00000000(112.0) ~ 0011|1111.11111111(127.255)

(112 ~ 127) × 255

210.125.112.0/20

Subnet_9

1000|0000.00000000(128.0) ~ 0011|1111.11111111(143.255)

(128 ~ 143) × 255

210.125.128.0/20

Subnet_10

1001|0000.00000000(144.0) ~ 0011|1111.11111111(159.255)

(144 ~ 159) × 255

210.125.144.0/20

Subnet_11

1010|0000.00000000(160.0) ~ 0011|1111.11111111(175.255)

(160 ~ 175) × 255

210.125.160.0/20

Subnet_12

1011|0000.00000000(176.0) ~ 0011|1111.11111111(191.255)

(176 ~ 191) × 255

210.125.176.0/20

Subnet_13

1100|0000.00000000(192.0) ~ 0011|1111.11111111(207.255)

(192 ~ 207) × 255

210.125.192.0/20

Subnet_14

1101|0000.00000000(208.0) ~ 0011|1111.11111111(223.255)

(208 ~ 223) × 255

210.125.208.0/20

Subnet_15

1110|0000.00000000(224.0) ~ 0011|1111.11111111(239.255)

(224 ~ 239) × 255

210.125.224.0/20

Subnet_16

1111|0000.00000000(240.0) ~ 1111|1111.11111111(255.255)

(240 ~ 255) × 255

210.125.240.0/20

    ◦  Network 개수 : 16개

 

3. CIDR & VLSM
 - CIDR(Classless Inter-Domain Routing)
  ‧ 기존에 Class 기반으로 만들어진 주소에서 Class를 제외하고 32bit 전체 bit에 대해 Network와 Host를 재설정해 만든 주소 구조이다.
  ‧ 기존의 Class 기반을 여러 개의 Subnet으로 분리하는 Subnetting과 달리 여러 개의 Class 주소를 모아 그룹화 시키는 방법인 SuperNetting을 사용한다.
  ‧ Network ID 부분을 빌려 Host ID로 사용한다.
  ‧ CIDR의 장점
  ◦ 기존 Class 기반 주소에 비해 주소 손실을 줄일 수 있다.
  ◦ Routing의 메모리 요구량을 줄일 수 있다.
  ◦ Router에 구조화된(집단화된) 주소 할당으로 라우팅 테이블(Routing Table)을 줄여 패킷 딜레이(Packet Delay)를 줄여준다.

  ◦ 용어정리
   ▹ Routing : 어떤 네트워크 안에서 통신 데이터를 보낼 경로를 선택하는 과정
   ▹ Routing Table : 네트워크 간 프로토콜에 의해 목적하는 망에 도달하기 위한 다음의 게이트웨이에 대한 정보를 모아둔 표
   ▹ Packet Delay : 패킷을 전송하는 동안 발생하는 지연

 - VLSM(Variable-Length Subnet Mask)
  ‧ Subnet Mask를 주소 Class에서 사용하는 고정된 길이가 아닌 bit 단위로 다양한 길이의 Subnet Mask를 만드는 기술이다
  ‧ Subnet Mask를 다르게 지정해두면 각 네트워크 구간마다 필요한 Host들에게 Subnet Mask를 할당 할 수 있으므로 Host의 낭비를 막을 수 있고 IP주소를 낭비하지 않게 된다.
  ‧ 이미 Subnetting된 주소를 다시 Subnetting할 수 있다.

 - CIDR과 VLSM
  ‧ CIDR과 VLSM을 사용하면 주소 공간의 낭비를 방지할 뿐만 아니라 Route Summarization(Aggregation)을 활성화 한다
  ◦ Route Summarization(Aggregation)
   ▹ Subnetting 과 VLSM 환경을 효율적으로 관리하기 위해 주소 통합을 하는 것
   ▹ Routing Table을 감소시켜 준다.
  ‧ Route Summarization과 Supernetting은 Classless Routing Protocol을 실행할 때만 가능하다. 

 

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

Chapter 6. Switch  (0) 2015.08.16
Chapter 5. Protocol  (0) 2015.08.16
Chapter 3. Ethernet & Network Equipment  (0) 2015.08.16
Chapter 2. OSI 7 Layer & TCP-IP  (0) 2015.08.16
Chapter 1. Network  (0) 2015.08.13