Post

[🌐CN] Internet Protocol(2) - IP Addressing

[🌐CN] Internet Protocol(2) - IP Addressing

🌐 Internet Protocol 전곡 μˆ˜μ—… 정리

IP μ£Όμ†ŒλŠ” μΈν„°λ„·μ—μ„œ 호슀트λ₯Ό μ‹λ³„ν•˜λŠ” 핡심 μš”μ†Œλ‹€. λ‹¨μˆœν•΄ λ³΄μ΄λŠ” 32λΉ„νŠΈ μ£Όμ†Œ 체계 λ’€μ—λŠ” λ„€νŠΈμ›Œν¬ νš¨μœ¨μ„±, ν™•μž₯μ„±, 그리고 λΌμš°νŒ… μ΅œμ ν™”λ₯Ό μœ„ν•œ μ •κ΅ν•œ 섀계 철학이 μˆ¨μ–΄μžˆλ‹€. Classfulμ—μ„œ CIDR둜, 그리고 SubnettingκΉŒμ§€ - IP μ£Όμ†Œ μ²΄κ³„μ˜ μ§„ν™”λ₯Ό μ‚΄νŽ΄λ³΄μž.


IP Address 섀계 μ² ν•™

Designing IP’s Addresses의 핡심 μ§ˆλ¬Έλ“€

Question #1: What should an address be associated with?

  • μ „ν™”λ²ˆν˜ΈλŠ” β€œμ‚¬λžŒβ€μ΄ μ•„λ‹Œ β€œhandset(단말기)”과 연결됨
  • IP μ£Όμ†ŒλŠ” β€œν˜ΈμŠ€νŠΈβ€κ°€ μ•„λ‹Œ β€œλ„€νŠΈμ›Œν¬ μΈν„°νŽ˜μ΄μŠ€β€μ™€ 연결됨

Question #2: What structure should addresses have?

  • μ£Όμ†Œ ꡬ쑰가 λΌμš°νŒ… νš¨μœ¨μ„±μ— λ―ΈμΉ˜λŠ” 영ν–₯
  • 계측적 ꡬ쑰 vs 평면 ꡬ쑰의 μž₯단점

Question #3: Who determines the particular addresses?

  • μ „ 세계 IP μ£Όμ†Œ 관리 체계
  • 쀑앙 집쀑식 ν• λ‹Ήμ˜ ν•„μš”μ„±

Connectivity의 3μš”μ†Œ

1
2
3
1. Addressing  β†’ IP (μ–΄λ””λ‘œ 보낼 것인가?)
2. Forwarding  β†’ IP (μ–΄λ–»κ²Œ 보낼 것인가?)
3. Routing     β†’ Routing Protocol (졜적 κ²½λ‘œλŠ”?)

IP Address 기본 ꡬ쑰

What is an IP Address?

πŸ“šIP Address: λ„€νŠΈμ›Œν¬ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‹λ³„ν•˜λŠ” 32bit 길이의 κ³ μœ ν•œ κΈ€λ‘œλ²Œ μ£Όμ†Œ

핡심 νŠΉμ§•:

  • 32 bit 길이의 μ‹λ³„μž
  • Network prefix (λ„€νŠΈμ›Œν¬ 번호) + Host number (호슀트 번호)둜 ꡬ성
  • 기본적으둜 λ„€νŠΈμ›Œν¬ μΈν„°νŽ˜μ΄μŠ€λ§ˆλ‹€ κ³ μœ ν•¨

μ˜ˆμ™Έ 사항:

  • DHCP: λ™μ μœΌλ‘œ ν• λ‹Ήλ˜λŠ” IP μ£Όμ†Œ
  • NAT: Private λ„€νŠΈμ›Œν¬ λ‚΄λΆ€ IP μ£Όμ†Œ

IP Address ꡬ쑰

1
2
3
4
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Network Prefix  β”‚  Host Number     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      32 bits 쀑 일뢀      λ‚˜λ¨Έμ§€

IP Header λ‚΄μ˜ μœ„μΉ˜:

1
2
3
4
5
6
7
8
9
10
11
12
13
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
β”œβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚Verβ”‚IHLβ”‚    ToS    β”‚          Total Length                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚   Identification  β”‚ Flags β”‚   Fragment Offset                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚   TTL             β”‚Protocolβ”‚      Header Checksum             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                    Source IP address (32 bits)                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                 Destination IP address (32 bits)              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Dotted Decimal Notation

ν‘œκΈ° 방식

πŸ“šDotted Decimal Notation: 각 λ°”μ΄νŠΈ(8bit)λ₯Ό μ‹­μ§„μˆ˜λ‘œ ν‘œν˜„ν•˜κ³  점(.)으둜 κ΅¬λΆ„ν•˜λŠ” ν‘œκΈ°λ²•

  • 각 λ°”μ΄νŠΈλ₯Ό 0~255 λ²”μœ„μ˜ μ‹­μ§„μˆ˜λ‘œ ν‘œν˜„
  • 총 4개의 8λΉ„νŠΈ ν•„λ“œ

λ³€ν™˜ μ˜ˆμ‹œ

1
2
3
4
5
Binary:  10100110 01101000 11101111 01100000
         ────┬──── ────┬─── ────┬─── ────┬────
            166      104      239       96

Dotted Decimal: 166.104.239.96

μ‹€μ œ IP 헀더 μ˜ˆμ‹œ:

1
2
3
4
5
0x4 0x5  0x00      4410
9d08     0102      00000000000002
128.143.137.144              ← Source IP
128.143.71.21                ← Destination IP
12810    0x06      8bff

IP Address의 μš©λ„

What Are Addresses Used For?

λΌμš°νŒ…μ˜ 핡심:

  • λ„€νŠΈμ›Œν¬λŠ” μ£Όμ†Œλ₯Ό 보고 νŒ¨ν‚·μ„ μ–΄λ””λ‘œ 전달할지 κ²°μ •
  • Router: IP μ£Όμ†Œ 기반으둜 νŒ¨ν‚·μ„ ν¬μ›Œλ”©ν•˜λŠ” λ„€νŠΈμ›Œν¬ μž₯치
  • Switch: Layer-2 μ£Όμ†Œ(MAC μ£Όμ†Œ) 기반으둜 λ™μž‘

Router vs Switch:

ꡬ뢄Layerμ£Όμ†Œ νƒ€μž…μ—­ν• 
RouterLayer 3IP Addressλ„€νŠΈμ›Œν¬ κ°„ νŒ¨ν‚· 전달
SwitchLayer 2MAC Address동일 λ„€νŠΈμ›Œν¬ λ‚΄ 전달

IP Address μ†Œμœ κΆŒ 및 관리

Who owns the IP addresses?

πŸ“šICANN: Internet Corporation for Assigned Names and Numbers - IP μ£Όμ†Œ 관리 및 배뢄을 λ‹΄λ‹Ήν•˜λŠ” λΉ„μ˜λ¦¬ 법인

κΈ€λ‘œλ²Œ IP μ£Όμ†Œ 관리 계측 ꡬ쑰:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚  ICANN   β”‚
                    β”‚(Root 관리)β”‚
                    β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
                         β”‚
               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
               β”‚       IANA          β”‚
               β”‚  (μ‹€μ œ μ£Όμ†Œ ν• λ‹Ή)    β”‚
               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚
         β”Œβ”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”
         β”‚       β”‚       β”‚       β”‚      β”‚        β”‚
      β”Œβ”€β”€β–Όβ”€β”€β” β”Œβ”€β–Όβ”€β”€β”€β” β”Œβ”€β–Όβ”€β”€β”€β”€β” β”Œβ–Όβ”€β”€β”€β” β”Œβ–Όβ”€β”€β”€β”€β”  β”‚
      β”‚ARIN β”‚ β”‚RIPE β”‚ β”‚APNIC β”‚ β”‚... β”‚ β”‚ ... β”‚  β”‚
      β”‚(뢁미)β”‚ β”‚(유럽)β”‚β”‚(μ•„νƒœ)β”‚ β”‚    β”‚ β”‚     β”‚  β”‚
      β””β”€β”€β”¬β”€β”€β”˜ β””β”€β”€β”¬β”€β”€β”˜ β””β”€β”€β”¬β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜  β”‚
         β”‚       β”‚       β”‚                       β”‚
         β”‚       β”‚     β”Œβ”€β–Όβ”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”β”‚
         β”‚       β”‚     β”‚JPNIC β”‚  KRNIC   β”‚ ... β”‚β”‚
         β”‚       β”‚     └─────── (ν•œκ΅­)   β”œβ”€β”€β”€β”€β”€β”˜β”‚
         β”‚       β”‚            β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜       β”‚
         β”‚       β”‚                 β”‚             β”‚
         β”‚       β”‚        β”Œβ”€β”€β”€β”€β”¬β”€β”€β”€β–Όβ”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β–Όβ”€β”€β”€β”€β”
         β”‚       β”‚        β”‚ KT β”‚  SK  β”‚Koreaβ”‚  ...   β”‚
         β”‚       β”‚        β”‚    β”‚Broad β”‚Univ.β”‚        β”‚
         β”‚       β”‚        β””β”€β”€β”€β”€β”΄β”€β”€β”¬β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚       β”‚                β”‚
         β”‚       β”‚           β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”
         β”‚       β”‚           β”‚  Alice  β”‚ Bob β”‚
         β”‚       β”‚           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜

지역별 관리 κΈ°κ΄€:

  • ARIN: 뢁미 (American Registry for Internet Numbers)
  • RIPE NCC: 유럽 (RΓ©seaux IP EuropΓ©ens Network Coordination Centre)
  • APNIC: μ•„μ‹œμ•„νƒœν‰μ–‘ (Asia-Pacific Network Information Centre)
  • KRNIC: ν•œκ΅­ (Korea Network Information Center)

μ‹€μ œ λ°°λΆ„:

  • ISP: KT, SK Broadband λ“± 인터넷 μ„œλΉ„μŠ€ 제곡자
  • 일반 μ‚¬μš©μžλŠ” ISPλ‘œλΆ€ν„° IP μ£Όμ†Œ ν• λ‹Ήλ°›μŒ

Network Prefix와 Host Number

μ£Όμ†Œμ˜ 2계측 ꡬ쑰

1
2
3
4
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Network Prefix  β”‚  Host Number     β”‚
β”‚ (λ„€νŠΈμ›Œν¬ 식별) β”‚  (호슀트 식별)   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Network prefix의 길이 κ²°μ •:

  • 1993λ…„ 이전: Classful Addressing (μ•”λ¬΅μ μœΌλ‘œ μ •μ˜λ¨)
  • 1993λ…„ 이후: Netmask둜 λͺ…μ‹œ (CIDR)

μ‹€μ œ μ˜ˆμ‹œ: sw.hanyang.ac.kr

1
2
3
4
5
6
7
8
9
10
11
IP Address:   166.104.239.96
              ────┬──── ───┬───
              166.104   239.96
Network Address: 166.104.0.0 (or 166.104)
Host Number:     239.96
Netmask:         255.255.0.0 (or ffff0000)

CIDR Notation:   166.104.239.96/16
                 ─────────────┬─ ─┬
                      μ£Όμ†Œ     β”‚  β”‚
                              └──┴─ 16λΉ„νŠΈκ°€ network prefix

CIDR ν‘œκΈ°λ²•: /16은 μ™Όμͺ½μ—μ„œλΆ€ν„° 16λΉ„νŠΈκ°€ λ„€νŠΈμ›Œν¬ ν”„λ¦¬ν”½μŠ€λΌλŠ” 의미


Classful IP Addresses (1980s~1993)

클래슀 기반 μ£Όμ†Œ 체계

πŸ“šClassful Addressing: 초기 인터넷 μ£Όμ†Œλ₯Ό Class A/B/C둜 κ΅¬λΆ„ν•˜μ—¬ μ•”λ¬΅μ μœΌλ‘œ λ„€νŠΈμ›Œν¬ 크기λ₯Ό κ²°μ •ν•˜λŠ” 방식

클래슀 ꡬ뢄:

  • Class A: Network prefixλŠ” 8 bits (0으둜 μ‹œμž‘)
  • Class B: Network prefixλŠ” 16 bits (10으둜 μ‹œμž‘)
  • Class C: Network prefixλŠ” 24 bits (110으둜 μ‹œμž‘)
  • Class D: Multicast (1110으둜 μ‹œμž‘)
  • Class E: μ˜ˆλΉ„μš© (1111둜 μ‹œμž‘)

Class별 ꡬ쑰

Class A:

1
2
3
4
5
6
 0   7 8                                               31
β”œβ”€β”¬β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚0β”‚  Network (7 bits)  β”‚      Host (24 bits)            β”‚
β””β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Networks: 128 (2^7)
Hosts/Network: 16,777,216 (2^24)

Class B:

1
2
3
4
5
6
 0 1   15 16                                            31
β”œβ”€β”¬β”€β”¬β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚1β”‚0β”‚ Network (14 bits)    β”‚   Host (16 bits)           β”‚
β””β”€β”΄β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Networks: 16,384 (2^14)
Hosts/Network: 65,536 (2^16)

Class C:

1
2
3
4
5
6
 0 1 2   23 24                                          31
β”œβ”€β”¬β”€β”¬β”€β”¬β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚1β”‚1β”‚0β”‚  Network (21 bits)           β”‚ Host (8 bits)     β”‚
β””β”€β”΄β”€β”΄β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Networks: 2,097,152 (2^21)
Hosts/Network: 256 (2^8)

Class별 μ£Όμ†Œ λ²”μœ„

ν΄λž˜μŠ€μ£Όμ†Œ λ²”μœ„μƒμœ„ λΉ„νŠΈμš©λ„μ „μ²΄ λΉ„μœ¨λ„€νŠΈμ›Œν¬ 수호슀트 수
A0.0.0.0~127.255.255.2550μœ λ‹ˆμΊμŠ€νŠΈ/νŠΉλ³„ν•œ μš©λ„1/212816,777,216
B128.0.0.0~191.255.255.25510μœ λ‹ˆμΊμŠ€νŠΈ/νŠΉλ³„ν•œ μš©λ„1/416,38465,536
C192.0.0.0~223.255.255.255110μœ λ‹ˆμΊμŠ€νŠΈ/νŠΉλ³„ν•œ μš©λ„1/82,097,152256
D224.0.0.0~239.255.255.2551110λ©€ν‹°μΊμŠ€νŠΈ1/16ν•΄λ‹Ή μ—†μŒν•΄λ‹Ή μ—†μŒ
E240.0.0.0~255.255.255.2551111μ˜ˆλΉ„μš©1/16ν•΄λ‹Ή μ—†μŒν•΄λ‹Ή μ—†μŒ

IP Address Space 뢄포

1
2
3
4
5
6
  0.0.0.0         128.0.0.0      192.0.0.0   224.0.0.0  240.0.0.0
     β”‚                β”‚               β”‚           β”‚         β”‚
β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β–Όβ”€β”€β”€β”¬β”€β”€β”€β”€β”€β–Όβ”€β”€β”
β”‚         A          β”‚       B       β”‚   C    β”‚   D   β”‚   E    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”˜
     50%                25%            12.5%    6.25%   6.25%

Classful Addressing의 문제점

3 Big Problems (1990λ…„λŒ€ 초)

❌ Problem 1: μ£Όμ†Œ 고갈

  • 1994λ…„κΉŒμ§€ Class B μ£Όμ†Œμ˜ 50% 이상이 이미 할당됨
  • 1995λ…„μ―€ Class B μ£Όμ†Œκ°€ μ™„μ „νžˆ 고갈될 κ²ƒμœΌλ‘œ μ˜ˆμƒ
  • Class A, Class B μ£Όμ†Œκ°€ λͺ¨λ‘ μ†Œμ§„λ¨

❌ Problem 2: Flat Address Space

  • λ°±λ³Έ λΌμš°ν„°μ˜ λΌμš°νŒ… ν…Œμ΄λΈ”μ— λͺ¨λ“  λ„€νŠΈμ›Œν¬ μ£Όμ†Œλ§ˆλ‹€ μ—”νŠΈλ¦¬ ν•„μš”
  • Class C λ„€νŠΈμ›Œν¬κ°€ 널리 μ‚¬μš©λ˜λ©΄μ„œ λΌμš°νŒ… ν…Œμ΄λΈ” 크기 폭발
  • 1993λ…„ κΈ°μ€€ λΌμš°νŒ… ν…Œμ΄λΈ”μ΄ 65,000개 μ—”νŠΈλ¦¬λ‘œ μ„±μž₯
  • λΌμš°ν„° μ„±λŠ₯ μ €ν•˜ 우렀

❌ Problem 3: μœ μ—°μ„± λΆ€μ‘±

  • Class A/BλŠ” λ„ˆλ¬΄ 큼 (>64,000 호슀트)
  • Class CλŠ” λ„ˆλ¬΄ μž‘μŒ (254 호슀트)
  • 예: 10,000개 ν˜ΈμŠ€νŠΈκ°€ ν•„μš”ν•œ 쑰직
    • Class BλŠ” 과도함 (54,000개 λ‚­λΉ„)
    • Class CλŠ” 뢀쑱함 (40개 ν•„μš” β†’ λΌμš°νŒ… ν…Œμ΄λΈ” 40개 μ—”νŠΈλ¦¬)

Classful Address ν• λ‹Ή 좔이

λ„€νŠΈμ›Œν¬ ν• λ‹Ή 증가 κ·Έλž˜ν”„ (1983-1995):

1
2
3
4
5
6
7
8
9
10
11
12
Networks
(thousands)
    70β”‚                                            ⬛
    60β”‚                                    ⬛
    50β”‚                              ⬛
    40β”‚                         ⬛
    30β”‚
    20β”‚                   ⬛                        ⬜ Class A
    10β”‚             ⬛                              πŸŸ₯ Class B
     0│⬛ ⬛ ⬛ ⬛ ⬛═══πŸŸ₯═══πŸŸ₯═══πŸŸ₯═══πŸŸ₯══πŸŸ₯       ⬛ Class C
      └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─
      1983  1985  1987  1989  1991  1993  1995

β€œThe End of the World? Not quite yet” (1990λ…„ 기사) Class B μ£Όμ†Œ 풀이 κ³ κ°ˆλ˜λ©΄μ„œ 인터넷 쒅말둠이 μ œκΈ°λ˜μ—ˆμœΌλ‚˜, CIDR의 λ„μž…μœΌλ‘œ μœ„κΈ°λ₯Ό 극볡


CIDR: Classless Inter-Domain Routing

CIDR의 λ“±μž₯ (1993λ…„)

πŸ“šCIDR (Classless Inter-Domain Routing): Class κ°œλ…μ„ μ—†μ• κ³  κ°€λ³€ 길이 λ„€νŠΈμ›Œν¬ ν”„λ¦¬ν”½μŠ€λ₯Ό μ‚¬μš©ν•˜λŠ” μ£Όμ†Œ 체계

Goals:

  • IP μ£Όμ†Œ κ³΅κ°„μ˜ μƒˆλ‘œμš΄ 해석
  • IP μ£Όμ†Œ ν• λ‹Ή νš¨μœ¨μ„± μ¦λŒ€
  • Route aggregation을 ν†΅ν•œ λΌμš°νŒ… ν…Œμ΄λΈ” μ΅œμ†Œν™”

Features:

  • ❌ No classes! 클래슀 κ°œλ… μ™„μ „ 폐기
  • βœ… Network prefix 길이λ₯Ό 자유둭게 μ§€μ •
  • βœ… /x ν‘œκΈ°λ²•μœΌλ‘œ prefix 길이 λͺ…μ‹œ

CIDR Addressing ꡬ쑰

1
2
3
4
5
6
7
8
9
10
11
12
Network number = IP address + Mask

IP Address:  12.4.0.0
IP Mask:     255.254.0.0

Binary ν‘œν˜„:
Address:  00001100 00000100 00000000 00000000
Mask:     11111111 11111110 00000000 00000000
          ───────────────┬──────────┴──────────
          Network Prefix (15 bits)  | Hosts

CIDR Notation: 12.4.0.0/15 λ˜λŠ” 12.4/15

CIDR Address Blocks

일반적인 CIDR 블둝 크기:

CIDR Prefix호슀트 μˆ˜λΉ„νŠΈ κ³„μ‚°μš©λ„ μ˜ˆμ‹œ
/27322^5μ†Œκ·œλͺ¨ 사무싀
/26642^6μž‘μ€ 건물
/251282^7μ€‘μ†Œ κΈ°μ—…
/242562^8일반 μ„œλΈŒλ„·
/235122^9쀑간 규λͺ¨ λ„€νŠΈμ›Œν¬
/221,0242^10λŒ€ν•™ 건물
/212,0482^11캠퍼슀 λ„€νŠΈμ›Œν¬
/204,0962^12μž‘μ€ ISP
/198,1922^13쀑간 ISP
/1816,3842^14λŒ€ν˜• κΈ°μ—…
/1732,7682^15큰 ISP
/1665,5362^16λŒ€ν˜• λ„€νŠΈμ›Œν¬

μ£Όμ†Œ λ²”μœ„ μ˜ˆμ‹œ:

PrefixBinary (일뢀)Address Range
0.0.0.0/000000000 00000000 00000000 000000000.0.0.0~255.255.255.255
128.0.0.0/110000000 00000000 00000000 00000000128.0.0.0~255.255.255.255
128.0.0.0/2410000000 00000000 00000000 00000000128.0.0.0~128.0.0.255
198.128.128.192/2711000110 10000000 10000000 11000000198.128.128.192~223
165.195.130.107/3210100101 11000011 10000010 01101011165.195.130.107

CIDR와 Address Assignments

ISP 기반 계측적 ν• λ‹Ή

λ°°κ²½:

  • Backbone ISPκ°€ 큰 IP μ£Όμ†Œ 블둝을 ν• λ‹Ήλ°›μŒ
  • κ·Έ 블둝을 κ³ κ°λ“€μ—κ²Œ μž¬ν• λ‹Ή

μ˜ˆμ‹œ μ‹œλ‚˜λ¦¬μ˜€:

1
2
3
4
5
6
7
8
9
10
11
ISPκ°€ μ†Œμœ : 206.0.64.0/18 (16,384개 μ£Όμ†Œ)
고객이 ν•„μš”: 800개 호슀트

Classful 방식:
  ❌ Class B ν• λ‹Ή β†’ 64,700개 λ‚­λΉ„
  ❌ Class C 4개 ν• λ‹Ή β†’ λΌμš°νŒ… ν…Œμ΄λΈ” 4개 μ—”νŠΈλ¦¬

CIDR 방식:
  βœ… /22 블둝 ν• λ‹Ή (206.0.68.0/22)
  βœ… 1,024개 μ£Όμ†Œ ν• λ‹Ή
  βœ… λΌμš°νŒ… ν…Œμ΄λΈ” 1개 μ—”νŠΈλ¦¬λ§Œ ν•„μš”!

Hierarchical Address Allocation

1
2
3
4
5
6
7
8
9
10
11
12
13
                    12.0.0.0/8
                        β”‚
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚             β”‚             β”‚
     12.0.0.0/15   12.2.0.0/16   12.253.0.0/16
          β”‚             β”‚             β”‚
      β”Œβ”€β”€β”€β”΄β”€β”€β”€β”     β”Œβ”€β”€β”€β”΄β”€β”€β”€β”     β”Œβ”€β”€β”€β”΄β”€β”€β”€β”€β”
  12.3.0.0/22 ...  12.3.4.0/24   12.253.0.0/19  ...
      β”‚                 β”‚             β”‚
  12.3.4.0/24      12.3.254.0/23  12.253.64.0/19
      β”‚                             β”œβ”€β”€ 12.253.64.108/30
      :                             β”œβ”€β”€ 12.253.96.0/18
                                    └── 12.253.128.0/17

Prefix 기반 λΌμš°νŒ…μ˜ μž₯점:

  • 인터넷 ν™•μž₯μ„± ν–₯상
  • 연속적인 청크(prefix) λ‹¨μœ„λ‘œ μ£Όμ†Œ ν• λ‹Ή
  • Prefix 기반 λΌμš°νŒ…μœΌλ‘œ ν…Œμ΄λΈ” 크기 μ΅œμ†Œν™”

Route Aggregation (경둜 μ§‘μ•½)

Scalability: Address Aggregation

πŸ“šRoute Aggregation: μ—¬λŸ¬ 개의 μž‘μ€ λ„€νŠΈμ›Œν¬λ₯Ό ν•˜λ‚˜μ˜ 큰 prefix둜 ν†΅ν•©ν•˜μ—¬ λΌμš°νŒ… ν…Œμ΄λΈ” 크기λ₯Ό μ€„μ΄λŠ” 기법

μ˜ˆμ‹œ:

1
2
3
4
5
6
7
8
9
10
11
Provider: 201.10.0.0/21 ν• λ‹Ήλ°›μŒ (201.10.0.x ~ 201.10.7.x)

        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚    Provider     β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          201.10.0.0/21   ← μ™ΈλΆ€ λΌμš°ν„°λŠ” μ΄κ²ƒλ§Œ μ•Œλ©΄ 됨!
                 β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚            β”‚            β”‚          β”‚
201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23
 (Customer 1)  (Customer 2)  (Customer 3)  (Customer 4)

핡심 μž₯점:

  • μ™ΈλΆ€ 인터넷 λΌμš°ν„°λŠ” 201.10.0.0/21 ν•˜λ‚˜λ§Œ μ•Œλ©΄ 됨
  • Providerκ°€ λ‚΄λΆ€μ μœΌλ‘œ μ μ ˆν•œ κ³ κ°μ—κ²Œ 전달
  • λΌμš°νŒ… ν…Œμ΄λΈ” 크기 획기적 κ°μ†Œ

CIDR and Routing Information

λ³΅μž‘ν•œ 계측 ꡬ쑰 μ˜ˆμ‹œ:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚  Internet   β”‚
                    β”‚  Backbone   β”‚
                    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
                    β”‚   ISP X     β”‚
                    β”‚  owns:      β”‚
                    β”‚ 206.0.64/18 β”‚
                    β”‚ 204.188.0/15β”‚
                    β”‚ 209.88.232/21β”‚
                    β””β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”˜
                       β”‚        β”‚
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        └────────────┐
          β”‚                                  β”‚
    β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”                    β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
    β”‚Company X  β”‚                    β”‚   ISP y     β”‚
    β”‚206.0.68/22β”‚                    β”‚209.88.237/24β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                    β””β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”˜
                                        β”‚      β”‚
                             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      └──────────┐
                             β”‚                            β”‚
                       β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”              β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
                       β”‚  Org z1   β”‚              β”‚   Org z2     β”‚
                       β”‚209.88.237 β”‚              β”‚ 209.88.237   β”‚
                       β”‚   .192/26 β”‚              β”‚    .0/26     β”‚
                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

λΌμš°νŒ… 정보 μ „νŒŒ:

  1. Backbone β†’ ISP X: β€œ206.0.64/18, 204.188.0/15, 209.88.232/21둜 κ°€λŠ” νŠΈλž˜ν”½ λͺ¨λ‘ ISP Xλ‘œβ€
  2. ISP X β†’ Company X: β€œ206.0.68/22”
  3. ISP X β†’ ISP y: β€œ209.88.237/24”
  4. ISP y β†’ Organizations: β€œ209.88.237.192/26” vs β€œ209.88.237.0/26”

계측적 λΌμš°νŒ…μ˜ 핡심: Backbone은 Company X, ISP y, Organizationsλ₯Ό μ „ν˜€ λͺ°λΌλ„ 됨!


SUBNET (μ„œλΈŒλ„·νŒ…)

Subnetting의 ν•„μš”μ„±

Problem:

  • 쑰직 내뢀에 μ—¬λŸ¬ λ…λ¦½μ μœΌλ‘œ κ΄€λ¦¬λ˜λŠ” λ„€νŠΈμ›Œν¬κ°€ 쑴재
  • 각각에 λ³„λ„μ˜ λ„€νŠΈμ›Œν¬ μ£Όμ†Œλ₯Ό ν• λ‹Ήν•˜λ©΄ 관리가 어렀움
1
2
3
4
5
6
7
8
9
10
11
12
13
         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
         β”‚   University Network      β”‚
         β”‚                           β”‚
         β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”            β”‚
         β”‚   β”‚Engineeringβ”‚            β”‚
         β”‚   β”‚  School   β”‚            β”‚
         β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚
         β”‚                           β”‚
         β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
         β”‚  β”‚Medicalβ”‚   β”‚ Library β”‚  β”‚
         β”‚  β”‚School β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
         β”‚  β””β”€β”€β”€β”€β”€β”€β”˜                 β”‚
         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Solution 1: 각 λ„€νŠΈμ›Œν¬μ— 별도 μ£Όμ†Œ ν• λ‹Ή

  • ❌ 관리 어렀움
  • ❌ μ™ΈλΆ€μ—μ„œ 각각 addressableν•΄μ•Ό 함

Solution 2: Subnetting

  • βœ… IP μ£Όμ†Œ ꡬ쑰에 ν•œ 단계 계측 μΆ”κ°€
  • βœ… λ‚΄λΆ€μ μœΌλ‘œλ§Œ μ„œλΈŒλ„· ꡬ쑰 μ‚¬μš©
  • βœ… μ™ΈλΆ€μ—μ„œλŠ” 단일 λ„€νŠΈμ›Œν¬λ‘œ λ³΄μž„

Basic Idea of Subnetting

κ°œλ…:

  • Host number 뢀뢄을 Subnet number와 (더 μž‘μ€) Host number둜 λΆ„ν• 
  • 3계측 ꡬ쑰 ν˜•μ„±

ꡬ쑰 λ³€ν™”:

1
2
3
4
5
6
7
8
9
10
Before:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Network Prefix  β”‚     Host Number          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

After:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Network Prefix  β”‚Subnet Number β”‚Host Numberβ”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                 Extended Network Prefix

μž₯점:

  • βœ… μ„œλΈŒλ„·μ„ 쑰직 λ‚΄μ—μ„œ 자유둭게 ν• λ‹Ή
  • βœ… λ‚΄λΆ€μ μœΌλ‘œ λΆ„λ¦¬λœ λ„€νŠΈμ›Œν¬λ‘œ μ·¨κΈ‰
  • βœ… μ™ΈλΆ€μ—μ„œλŠ” μ„œλΈŒλ„· ꡬ쑰 λΆˆκ°€μ‹œ

Subnetmask

Subnet Mask의 μ—­ν• 

πŸ“šSubnetmask: Extended network prefix(μ„œλΈŒλ„·κΉŒμ§€ ν¬ν•¨ν•œ λ„€νŠΈμ›Œν¬ λΆ€λΆ„)의 길이λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λΉ„νŠΈ 마슀크

μ˜ˆμ‹œ:

1
2
3
4
5
6
7
8
9
IP Address:    128.143.137.144
Subnetmask:    255.255.255.0

Binary:
Address:  10000000 10001111 10001001 10010000
Mask:     11111111 11111111 11111111 00000000
          ─────────────────────────┬─ ────┬───
          Extended Network Prefix    Host Number
          (Network + Subnet)

μ£Όμ†Œ ꡬ쑰 해석:

λΆ€λΆ„κ°’μ„€λͺ…
Network128.143λ„€νŠΈμ›Œν¬ μ£Όμ†Œ
Subnet137μ„œλΈŒλ„· 번호
Host144호슀트 번호
Network Address128.143.0.0/16전체 λ„€νŠΈμ›Œν¬
Subnet Address128.143.137.0/24μ„œλΈŒλ„· μ£Όμ†Œ
Host Address128.143.137.144호슀트 μ£Όμ†Œ

Subnet μ˜ˆμ‹œ

Hanyang University (166.104.0.0/16):

1
2
3
4
5
6
7
8
9
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚  166.104.0.0/16       β”‚
              β”‚  University Network   β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚
      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
      β”‚               β”‚               β”‚           β”‚
 166.104.239.0/24 166.104.231.0/24  166.104.102.0/24  166.104.45.0/24
 Engineering       Medical          Library          Admin

각 μ„œλΈŒλ„·μ€ λ…λ¦½μ μœΌλ‘œ 관리:

  • sw.hanyang.ac.kr: 166.104.239.96
    • Network: 166.104
    • Subnet: 239
    • Host: 96
    • Subnetmask: 255.255.255.0 (/24)

Subnetting λ™μž‘ 원리

No Subnetting

문제 상황:

1
2
3
4
5
6
7
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  .137.32 β”‚   β”‚ .137.144 β”‚   β”‚  .71.21  β”‚   β”‚ .71.201  β”‚
β”‚  /16     β”‚   β”‚   /16    β”‚   β”‚   /16    β”‚   β”‚  /16     β”‚
β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                    128.143.70.0/16
              (λͺ¨λ‘ 같은 λ„€νŠΈμ›Œν¬λ‘œ 인식)
  • Subnetmask: 255.255.0.0 (/16)
  • λͺ¨λ“  ν˜ΈμŠ€νŠΈκ°€ μ„œλ‘œλ₯Ό 같은 λ„€νŠΈμ›Œν¬μ— μžˆλ‹€κ³  생각
  • μ‹€μ œλ‘œλŠ” 물리적으둜 λΆ„λ¦¬λ˜μ–΄ μžˆμ–΄λ„!

With Subnetting

μ˜¬λ°”λ₯Έ ꡬ성:

1
2
3
4
5
6
7
8
9
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  .137.32 β”‚   β”‚ .137.144 β”‚         β”‚  .71.21  β”‚   β”‚ .71.201  β”‚
β”‚  /24     β”‚   β”‚   /24    β”‚         β”‚   /24    β”‚   β”‚  /24     β”‚
β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    128.143.137.0/24                     128.143.71.0/24
       Subnet 1                              Subnet 2
     ─────────────────────┬───────────────────────────
                    128.143.0.0/16
  • Subnetmask: 255.255.255.0 (/24)
  • Extended network prefixκ°€ 같은 ν˜ΈμŠ€νŠΈλ“€λ§Œ 같은 λ„€νŠΈμ›Œν¬
  • μ„œλΈŒλ„· κ°„μ—λŠ” λΌμš°ν„° ν•„μš”

μ„œλΈŒλ„· μ˜ˆμ‹œ (ν•œμ–‘λŒ€ν•™κ΅)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                       β”‚ Internet β”‚
                       β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜
                             β”‚ 128.32.x.xλ₯Ό μ˜€κ°€λŠ”
                             β”‚ λͺ¨λ“  νŠΈλž˜ν”½
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   μ‚¬μ΄νŠΈ 경계    β”‚
                    β”‚     λΌμš°ν„°      β”‚
                    β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”˜
                         β”‚         β”‚
            128.32.1.1   β”‚         β”‚  128.32.2.9
                         β”‚         β”‚
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”   β”Œβ”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
            β”‚ 128.32.1.x    β”‚   β”‚ 128.32.2.x    β”‚
            β””β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”˜   β””β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”˜
                β”‚       β”‚           β”‚       β”‚
           128.32.1.14  ...    128.32.2.122 ...

μ‚¬μ΄νŠΈ 전체에 λŒ€ν•œ μ„œλΈŒλ„· 마슀크: 255.255.255.0

VLSM (Variable Length Subnet Mask)

VLSM κ°œλ…

πŸ“šVLSM: ν•˜λ‚˜μ˜ λ„€νŠΈμ›Œν¬ λ‚΄μ—μ„œ μ„œλΈŒλ„·λ§ˆλ‹€ λ‹€λ₯Έ 길이의 μ„œλΈŒλ„· 마슀크λ₯Ό μ‚¬μš©ν•˜λŠ” 기법

νŠΉμ§•:

  • λͺ¨λ“  μ„œλΈŒλ„·μ΄ λ™μΌν•œ 크기일 ν•„μš” μ—†μŒ
  • ν•„μš”μ— 따라 μ„œλΈŒλ„·μ„ 더 μž‘μ€ μ„œλΈŒλ„·μœΌλ‘œ λΆ„ν•  κ°€λŠ₯
  • μ£Όμ†Œ 곡간 효율적 μ‚¬μš©

VLSM μ˜ˆμ‹œ: 계측적 λΆ„ν• 

Original Network: 201.45.222.0/24 (254 hosts)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Step 1: /24λ₯Ό /25 두 개둜 λΆ„ν• 
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  201  β”‚  45  β”‚  222  β”‚ 0  β”‚  126 Hosts         β”‚ 201.45.222.0/25
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  201  β”‚  45  β”‚  222  β”‚ 1  β”‚  126 Hosts         β”‚ 201.45.222.128/25
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Step 2: 201.45.222.128/25λ₯Ό /26 두 개둜 λΆ„ν• 
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  201  β”‚  45  β”‚  222  β”‚ 1 β”‚ 0 β”‚  62 Hosts       β”‚ 201.45.222.128/26
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  201  β”‚  45  β”‚  222  β”‚ 1 β”‚ 1 β”‚  62 Hosts       β”‚ 201.45.222.192/26
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Step 3: 201.45.222.192/26을 /28 λ„€ 개둜 λΆ„ν• 
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  201  β”‚  45  β”‚  222  β”‚ 1 β”‚ 1 β”‚ 0 β”‚ 0 β”‚ 14 Hostsβ”‚ 201.45.222.192/28
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  201  β”‚  45  β”‚  222  β”‚ 1 β”‚ 1 β”‚ 0 β”‚ 1 β”‚ 14 Hostsβ”‚ 201.45.222.208/28
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  201  β”‚  45  β”‚  222  β”‚ 1 β”‚ 1 β”‚ 1 β”‚ 0 β”‚ 14 Hostsβ”‚ 201.45.222.224/28
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  201  β”‚  45  β”‚  222  β”‚ 1 β”‚ 1 β”‚ 1 β”‚ 1 β”‚ 14 Hostsβ”‚ 201.45.222.240/28
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

VLSM μ‹€μ œ λ„€νŠΈμ›Œν¬ μ˜ˆμ‹œ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
                          128.32.0.0/16
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   Site Border       β”‚
                    β”‚     Router          β”‚
                    β””β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”˜
         128.32.1.1/24β”‚               β”‚128.32.2.9/24
                      β”‚               β”‚
         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”             β”Œβ–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
         β”‚128.32.1.0/24β”‚             β”‚Internal      β”‚
         β”‚(256 hosts)  β”‚             β”‚Router        β”‚
         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β””β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
         128.32.1.14                  β”‚      β”‚
                          128.32.230.129/26  β”‚128.32.2.126/24
                             (64 hosts)      β”‚
                                 128.32.230.{128-191}/26
                                             β”‚128.32.2.130/25
                                             β”‚
                                    128.32.2.{128-255}/25
                                       (128 hosts)

호슀트 수 계산:

  • /24: 2^8 = 256 hosts
  • /25: 2^7 = 128 hosts
  • /26: 2^6 = 64 hosts

Scalability Improved with CIDR

μ˜ˆμ‹œ λ„€νŠΈμ›Œν¬:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
LAN 1: 1.2.3.0/24                     LAN 2: 5.6.7.0/24
β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚1.2.3.β”‚1.2.3.β”‚1.2.3.  β”‚         β”‚5.6.7.β”‚5.6.7.β”‚5.6.7.  β”‚
β”‚  .4  β”‚  .7  β”‚  .156  β”‚   ...   β”‚  .8  β”‚  .9  β”‚  .212  β”‚
β””β”€β”€β”¬β”€β”€β”€β”΄β”€β”€β”¬β”€β”€β”€β”΄β”€β”€β”€β”¬β”€β”€β”€β”€β”˜         β””β”€β”€β”¬β”€β”€β”€β”΄β”€β”€β”¬β”€β”€β”€β”΄β”€β”€β”€β”¬β”€β”€β”€β”€β”˜
   β”‚      β”‚       β”‚                 β”‚      β”‚       β”‚
   β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚
                    β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”    WAN    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”    WAN
                    β”‚Router │─────────○─│ Router │─────────
                    β””β”€β”€β”€β”€β”€β”€β”€β”˜            β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Forwarding Table:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 1.2.3.0/24   β”‚ β†’ LAN 1 β”‚
β”‚ 5.6.7.0/24   β”‚ β†’ LAN 2 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Easy to Add New Hosts

μƒˆλ‘œμš΄ 호슀트 μΆ”κ°€ (5.6.7.213):

1
2
3
4
5
LAN 2에 μƒˆλ‘œμš΄ 호슀트 5.6.7.213 μΆ”κ°€
         ↓
λΌμš°ν„° μ—…λ°μ΄νŠΈ ν•„μš” μ—†μŒ!
         ↓
5.6.7.0/24 prefix에 이미 맀치됨 βœ…

μž₯점:

  • λΌμš°ν„°μ˜ ν¬μ›Œλ”© ν…Œμ΄λΈ” μ—…λ°μ΄νŠΈ λΆˆν•„μš”
  • prefix 기반 맀칭으둜 μžλ™μœΌλ‘œ 처리됨
  • ν™•μž₯μ„± κ·ΉλŒ€ν™”

Subnetting의 μž₯점

Advantages of Subnetting

3계측 ꡬ쑰:

  1. Network: 전체 쑰직 λ„€νŠΈμ›Œν¬
  2. Subnet: λΆ€μ„œ/건물별 λ„€νŠΈμ›Œν¬
  3. Host: κ°œλ³„ 호슀트

핡심 μž₯점:

βœ… 1. λΌμš°ν„° λ³΅μž‘λ„ κ°μ†Œ

  • μ™ΈλΆ€ λΌμš°ν„°λŠ” μ„œλΈŒλ„· ꡬ쑰λ₯Ό μ•Œ ν•„μš” μ—†μŒ
  • λΌμš°νŒ… ν…Œμ΄λΈ” 크기 κ°μ†Œ

βœ… 2. μœ μ—°ν•œ 관리

  • 각 μ„œλΈŒλ„·μ„ λ…λ¦½μ μœΌλ‘œ 관리
  • VLSM으둜 효율적 μ£Όμ†Œ ν• λ‹Ή

βœ… 3. λ³΄μ•ˆ 및 μ„±λŠ₯

  • λΈŒλ‘œλ“œμΊμŠ€νŠΈ 도메인 뢄리
  • λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½ 격리

Note: μ„œλΈŒλ„· 마슀크 κΈΈμ΄λŠ” λͺ¨λ“  μ„œλΈŒλ„·μ—μ„œ 동일할 ν•„μš” μ—†μŒ β†’ VLSM κ°€λŠ₯!


Special IP Addresses

1. Multicast Address (Class D)

πŸ“šMulticast Address: ν•˜λ‚˜μ˜ νŒ¨ν‚·μ„ μ—¬λŸ¬ μΈν„°νŽ˜μ΄μŠ€μ— μ „μ†‘ν•˜λŠ” 1:many 톡신

νŠΉμ§•:

  • Source IP: μ „μ†‘μžμ˜ IP μ£Όμ†Œ μ‚¬μš©ν•˜μ§€ μ•ŠμŒ
  • ν•΄λ‹Ή multicast group μ£Όμ†Œ μ‚¬μš©

μ£Όμš” Multicast μ£Όμ†Œ:

  • 224.0.0.1: All hosts (λͺ¨λ“  μΈν„°νŽ˜μ΄μŠ€)
  • 224.0.0.2: All routers (λͺ¨λ“  λΌμš°ν„°)

λ²”μœ„:

Range StartRange EndDescription
224.0.0.0224.0.0.255Well-known multicast addresses
224.0.1.0238.255.255.255Globally-scoped (Internet-wide)
239.0.0.0239.255.255.255Administratively-scoped (local)

2. Broadcast Address

πŸ“šBroadcast Address: λ„€νŠΈμ›Œν¬μ˜ λͺ¨λ“  ν˜ΈμŠ€νŠΈμ—κ²Œ μ „λ‹¬λ˜λŠ” μ£Όμ†Œ

계산 방법:

1
2
3
4
5
6
7
8
9
Network/Subnetwork λΆ€λΆ„ β†’ ν•΄λ‹Ή κ°’
Host ν•„λ“œμ˜ λͺ¨λ“  λΉ„νŠΈ β†’ 1

μ˜ˆμ‹œ: 128.32.1.0/24
Address:       10000000 00100000 00000001 00001110
Complement     00000000 00000000 00000000 11111111
of Mask:
OR Result:     10000000 00100000 00000001 11111111
               β†’ 128.32.1.255 (Broadcast Address)

두 κ°€μ§€ μœ ν˜•:

1. Limited Broadcast: 255.255.255.255

  • βœ… Subnet μ•ˆμ—μ„œλ§Œ 전달
  • ❌ μ™ΈλΆ€λ‘œ λ‚˜κ°€μ§€ μ•ŠμŒ
  • μ‚¬μš© 예: ping -b 255.255.255.255

2. Directed Broadcast

  • Net-directed: 166.63.255.255
  • Subnet-directed: 166.63.160.255

Smurf Attack (λ³΄μ•ˆ 이슈):

1
2
3
4
5
6
7
8
곡격자의 μ•…μ˜μ  행동:
  1. Ping request 생성 (Src_IP: ν”Όν•΄μž IP)
  2. λ„€νŠΈμ›Œν¬μ˜ λͺ¨λ“  ν˜ΈμŠ€νŠΈμ—κ²Œ broadcast
  3. λͺ¨λ“  ν˜ΈμŠ€νŠΈκ°€ ν”Όν•΄μžμ—κ²Œ reply
  β†’ ν”Όν•΄μž DDoS 곡격 당함!

λ°©μ–΄:
  β†’ λŒ€λΆ€λΆ„μ˜ λΌμš°ν„°λŠ” directed broadcastλ₯Ό discard함

λ³΄μ•ˆ: ν˜„λŒ€ λΌμš°ν„°λŠ” directed broadcastλ₯Ό 기본적으둜 μ°¨λ‹¨ν•˜μ—¬ Smurf attack을 방지함

3. Private Addresses (RFC 1918)

πŸ“šPrivate Address: μ™ΈλΆ€ μΈν„°λ„·μ—μ„œ λΌμš°νŒ…λ˜μ§€ μ•ŠλŠ” λ‚΄λΆ€ μ „μš© IP μ£Όμ†Œ

μš©λ„:

  • πŸ”’ β€œμ‹€ν—˜μ  μš©λ„β€λ‘œ μ˜ˆμ•½λ¨
  • μ™ΈλΆ€ μΈν„°λ„·μœΌλ‘œ νŒ¨ν‚·μ΄ λ‚˜κ°€λ©΄ drop됨
  • NAT와 ν•¨κ»˜ μ‚¬μš©

λ²”μœ„:

ClassAddress RangeCIDR총 μ£Όμ†Œ 수
A10.0.0.0 ~ 10.255.255.25510.0.0.0/816,777,216
B172.16.0.0 ~ 172.31.255.255172.16.0.0/121,048,576
C192.168.0.0 ~ 192.168.255.255192.168.0.0/1665,536

4. Loopback Address

127.0.0.1 ~ 127.255.255.255

  • Name: β€œlocalhost”
  • λŒ€λΆ€λΆ„μ˜ μ‹œμŠ€ν…œμ€ 127.0.0.1 μ‚¬μš©
  • 자기 μžμ‹ κ³Όμ˜ ν†΅μ‹ μš©

5. This Machine

0.0.0.0

  • IP μ£Όμ†Œκ°€ ν• λ‹Ήλ˜κΈ° μ „ μž„μ‹œλ‘œ μ‚¬μš©
  • DHCP μš”μ²­ μ‹œ μ‚¬μš©

6. Convention (μ˜ˆμ•½ μ£Όμ†Œ μ•„λ‹˜)

Default Gateway

  • Host numberλ₯Ό β€˜1β€™λ‘œ μ„€μ •ν•˜λŠ” κ΄€λ‘€
  • 예: 192.0.1.1, 10.0.0.1

정리

IP Addressing의 μ§„ν™”

1
2
3
4
5
1980s: Classful Addressing
  ↓ (μ£Όμ†Œ 고갈, λΌμš°νŒ… ν…Œμ΄λΈ” 폭발)
1993: CIDR λ„μž…
  ↓ (μœ μ—°μ„±, Route Aggregation)
ν˜„μž¬: CIDR + Subnetting + VLSM

핡심 κ°œλ… μš”μ•½

κ°œλ…μ„€λͺ…μž₯점
ClassfulClass A/B/C둜 암묡적 prefix 길이 κ²°μ •λ‹¨μˆœν•¨
CIDRκ°€λ³€ 길이 prefix (/x ν‘œκΈ°)μœ μ—°μ„±, Route Aggregation
Subnetting쑰직 λ‚΄λΆ€ λ„€νŠΈμ›Œν¬ 뢄할관리 용이, λ³΄μ•ˆ
VLSMμ„œλΈŒλ„·λ§ˆλ‹€ λ‹€λ₯Έ 길이 λ§ˆμŠ€ν¬μ£Όμ†Œ νš¨μœ¨μ„±

ν˜„λŒ€ μΈν„°λ„·μ˜ 핡심: CIDR의 Route Aggregationκ³Ό Subnetting의 μ‘°ν•©μœΌλ‘œ μΈν„°λ„·μ˜ ν™•μž₯성을 확보!


References

  • RFC 826 (ARP)
  • RFC 1918 (Private Address Space)
  • RFC 4632 (CIDR)
  • Prof. Jongwon Yoon, Intelligent Machines Lab
This post is licensed under CC BY 4.0 by the author.