Computer Science/네트워크

[컴퓨터네트워크] 02. (2)Network Layer(네트워크 계층) - IPv4 주소

lumana 2024. 4. 7. 01:11

(2) Network Layer(네트워크 계층) - IPv4 주소


IPv4 주소

  • 주소
    • 연결의 양 끝 장치 식별(Identify)
  • IPv4 주소
    • 32비트
    • 인터넷에 연결된 통신장치(호스트, 라우터)를 전세계적으로 유일하게 정의하는 32비트의 주소
    • (GPT) 전통적으로 IPv4 주소는 네트워크 부분과 호스트 부분으로 나뉘며, 서브네팅을 통해 보다 세분화된 주소 구조를 갖게 됩니다.
    • (GPT) 사람이 읽기 쉽도록, 32비트의 주소는 8비트씩 네 부분으로 나누고 각각을 십진수로 변환한 후 점으로 구분하여 표시합니다.
  • IP 주소는 호스트나 라우터의 주소가 아닌, 연결의 끝단 주소
    • 연결이 여러 개인 경우 연결 각각마다 주소가 있음
    • 컴퓨터가 아니라, 포트와 같은 장치의 주소
  • Transport Layer의 경우 End to End간 신뢰성 있는 정보 전달을 하고, 각 종단에 있는 IP 주소를 이용해 송/수신자를 식별

주소 공간

  • 프로토콜이 사용하는 전체 주소의 수
  • IPv4 : 32bit
    • 2^32 = 약 43억개
  • IPv6 : 128bit
    • 2^128개

주소 계층(Hierarchy)

  • 32bits 중 n bits는 Prefix임 (네트워크 부분)
    • network를 식별하는데 사용됨
    • GPT : 네트워크의 크기나 클래스를 나타내며, IP 주소 내에서 동일한 네트워크에 속하는 모든 장치는 같은 프리픽스를 공유
  • 32bits 중 (32 - n) bits는 Suffix임 (호스트 부분)
    • node에 대한 연결을 정의함
    • GPT : 네트워크 내의 특정 노드(호스트)를 식별하는 데 사용됩니다
  • 계층적 주소임
    • Cf) MAC의 Flat address
      • GPT : 라우터는 Prefix를 보고 올바른 네트워크로 전송할 수 있고, 서픽스는 네트워크 내에서 호스트를 찾는데 이용한다

Classful Addressing

  • Fixed-length prefix
    • 네트워크 부분
    • 호스트 부분
  • 다양한 크기의 네트워크를 수용하기 위해, 3개의 고정길이 Prefix를 고안
    • n = 8, 16, 24
  • 전체 주소 공간은 5개의 클래스로 분할
    • Class A, B, C, D and E

IPv4 Address class

 

  • Class A
    • 주소 범위: 0.0.0.0 ~ 127.255.255.255
      • 2^7 - 1 = 127
    • 네트워크 부분: 처음 8비트 (네트워크 주소의 첫 번째 옥텟은 0xxx xxxx 형태)
      • 호스트 부분: 남은 24비트
    • * 네트워크의 개수 : 2^7 = 128개
    • 클래스 A 주소는 매우 큰 네트워크를 위해 사용됩니다
      • ex. 정부 기관이나 대규모 기업처럼 수백만 개의 호스트를 가진 네트워크에 할당
  • Class B
    • 주소 범위: 128.0.0.0 ~ 191.255.255.255
      • (2^6 - 1 = 63, 128 + 63 = 191)
    • 네트워크 부분: 처음 16비트 (네트워크 주소의 첫 두 옥텟은 10xx xxxx xxxx xxxx 형태)
    • 네트워크 개수 : 2^14개
      • 호스트 부분: 남은 16비트
    • 클래스 B 주소는 중형 크기의 네트워크에 적합합니다. 예를 들어, 대학이나 중소기업에 사용됩니다.
  • Class C
    • 주소 범위: 192.0.0.0 ~ 223.255.255.255
      • (2^ 5 - 1 = 31, 192 + 31 = 223)
    • 네트워크 부분: 처음 24비트 (네트워크 주소의 첫 세 옥텟은 110x xxxx xxxx xxxx xxxx xxxx 형태)
    • 네트워크 개수 : 2^21개
      • 컴퓨터 개수 : 2^8 = 256개
    • 호스트 부분: 남은 8비트
    • 클래스 C 주소는 소규모 네트워크에 할당됩니다. 일반적으로 작은 비즈니스 또는 개인 LAN에 적합합니다.
  • Class D
    • 주소 범위: 224.0.0.0 ~ 239.255.255.255
      • (2^4 - 1 = 15, 224 + 15 = 239)
    • 클래스 D는 네트워크 주소 할당용이 아니며, 멀티캐스트 그룹을 위해 예약되어 있습니다.
  • Class E
    • 주소 범위: 240.0.0.0 ~ 255.255.255.254
      • A, B, C, D를 제외한 나머지 부분
    • 클래스 E는 연구 및 실험적 목적을 위해 예약되어 있으며, 일반적인 IP 네트워크에서는 사용되지 않습니다.

Classless Addressing

  • 주소 부족 --> 고갈
  • Long-term solution : IPv6
  • Short-term solution : IPv4 classless addressing
  • A/B/C 클래스를 무시
    • 클래스에 따라 네트워크 부분이 고정되던 것을 무시
  • Network Prefix 크기에 따라 네트워크 부분이 달라짐
    • 서브넷 마스크를 사용하여 네트워크와 호스트를 구분
  • 주소 정보
    • Prefix가 n bits라면, 주소의 수는 2^(32-n) 임
    • 주소의 총 수는 해당 네트워크의 주소 공간을 나타내고, 연결될 수 있는 호스트의 수는 그 주소 공간에서 네트워크 주소와 브로드캐스트 주소를 제외한 주소 수를 의미함(총 주소의 수 - 2)
    • 라우터까지 제외한다면 총 주소의 수 - 3이 된다

CIDR(Classless Inter-domain Routing) 표기

  • IP 주소를 "IP 주소/프리픽스 길이" 형식으로 표기합니다.
    • 예를 들어, 192.168.0.0/24는 처음 24비트가 네트워크 주소이고 나머지 8비트가 호스트 주소임을 나타낸다
      • 여기서 /24가 Subnet Mask임 (Subnet Mask가 255.255.255.0 이라는 말과 같은 말임)
        • 서브넷 마스크에 대해선 나중에 다루겠지만, IP 주소와 Subnet Mask와 비트 AND 연산을 하면 네트워크 주소가 나옴
      • 아래서 다루는 내용이지만, Subnetting/VLSM과 Supernetting의 조합이다

예제

  • Classless address 167.199.170.82/27
    • 네트워크의 총 주소 수 : 2^(32 - 27) = 2^5 = 32개
    • 마지막 옥텟 : 010 10010
    • 첫 주소 구하기(네트워크 주소 구하기)
      • 010 00000 : 64이므로, 167.199.170.64임을 알 수 있다.
        • 단순히 010 까지 네트워크 영역이므로 뒤에 00000이라고 생각해도 되고
        • Subnet Mask가 111 00000이므로, IP와 Subnet Mask의 AND 연산 결과가 01000000이 되어 64가 된다고 생각해도 된다
    • 마지막 주소 구하기
      • 네트워크의 총 주소 수가 32개임 (00000~11111)
      • 따라서 167.199.170.95가 마지막 주소가 된다(BroadCast 주소)
    • /27이면, /24에서 3개의 비트를 네트워크에 추가적으로 사용한다고 볼 수 있다.
      • 호스트부 비트 8개중 3개의 비트를 네트워크부에 사용하는 것이다
        • 8개(2^3)로 분할한다고 볼 수 있고, 네트워크를 이렇게 분할하는 것을 Subnetting이라고 한다

Subnetting

  • A process of dividing a nework to a set of small networks
  • 네트워크 Throughput이 증가함
  • 네트워크 주소를 효율적으로 사용할 수 있다
  • GPT : 각 서브넷은 독립적인 네트워크로 작동하여 관리를 용이하게 함
  • GPT : 라우팅 테이블의 간소화 가능

Subnetting 절차

  • 전체 컴퓨터 시스템을 몇 개의 단위 그룹(Subnet)으로 분류
  • 전체 네트워크 주소를 서브넷 개수 이상으로 분할
    • 가능 숫자 : 2, 4, 8, 16, ...

Subnet 분할

  • 지역적으로 뷴류하여 묶음될 수 있으면 비슷한 크기로 분류
  • 분할 수는 2, 4, 8 정도가 적당함

네트워크 주소 분할

  • IP 주소 : 네트워크부 + 호스트부
  • Subnetting은 호스트 주소의 일부를 네트워크 주소로 사용하는 것

호스트주소의 네트워크 비트 사용

  • 분할 부분 매핑에 사용할 비트 수에 따라 서브넷 크기가 다름
    • 최대 수용 가능 컴퓨터 수가 정해짐
  • 같은 크기로 분할됨
    • 서브넷의 수는 2의 거듭제곱 형태임

서브넷 주소 할당

  • 서브넷 마스크 : (네트워크 주소 사용 부분 모두 1) + (호스트 주소 사용 부분 모두 0)
  • 네트워크 주소 : (기존 네트워크 부 + 분할부분 매핑 주소) + (남은 호스트 부분 모두 0)
  • 브로드캐스트 주소 : (기존 네트워크 부 + 분할부분 매핑 주소) + (남은 호스트 부분 모두 1)
  • 사용 가능 주소 범위 : 네트워크 주소와 브로드 캐스트 주소 제외한 나머지
    • 라우터 주소 할당에 1개를 예약함
    • 컴퓨터 주소 할당 : 컴퓨터 개수만큼 할당하고, 여분은 추후 사용한다

Subnetting 예시(1)

  • 192.168.1.0/24 네트워크를 /26으로 서브넷팅하는 경우
    • 2 비트를 사용하여 4개의 서브넷을 생성
    • 서브넷 마스크는 255.255.255.192 (1100 0000 --> 192)
    • 네 개의 서브넷(192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/26, 192.168.1.192/26)을 생성
      • 00, 01, 10, 11 --> 0, 64, 128, 192
    • 2^6 - 2개의 호스트를 지원(라우터 까지 빼면 2^6 - 3)

Subnetting 예시(2)

  • (가), (나), (다) 3개의 부서 존재
  • 컴퓨터가 각각 58 / 59 / 60 개씩 존재
  • 할당 주소 : 192.168.1.0 네트워크 (C 클래스)다.
  • 접근 : 일단 사용한 주소 범위는 2^8 - 2 = 254개
    • IP 주소 공간을 효율적으로 이용하기 위해 Subnetting을 해보자
    • 58 ~ 60대이므로 4개의 Subnet으로 나누면, 각 부서별 호스트를 모두 수용할 수 있음
      • 2 비트를 네트워크 주소로, 나머지 6비트는 호스트 주소로 사용
        • 2^6 - 2(네트워크, 브로드캐스트) - 1(라우터 할당 주소) = 61대까지 할당 가능
        • 61 > 60이므로, 분할 가능함
        • 서브넷 4개 중 3개만 사용
  • (가)를 00에 사용
    • 서브넷 마스크 : 255.255.255.192 (11111111 ~ ~ 11 000000)
    • 네트워크 주소 : 192.168.1.0 (~ ~ ~ 00 000000)
    • 브로드캐스트 주소 : 192.168.1.63 (~ ~ ~ 00 111111)
    • 이용가능 주소 범위 : 192.168.1.1 ~ 192.168.1.62 (62개)
    • 라우터 주소 : 192.168.1.1(보통 처음 혹은 끝 주소를 사용한다)
    • 컴퓨터 할당 : 192.168.1.2 ~ 192.168.1.59(58개) // 나머지 60 61 62는 여분
  • (나)를 01에 사용
    • 서브넷 마스크 : 255.255.255.192 (11111111 ~ ~ 11 000000)
    • 네트워크 주소 : 192.168.1.64 (~ ~ ~ 01 000000)
    • 브로드캐스트 주소 : 192.168.1.127 (~ ~ ~ 01 111111)
    • 이용가능 주소 범위 : 192.168.1.65 ~ 192.168.1.126 (62개)
    • 라우터 주소 : 192.168.1.65(처음 주소 사용)
    • 컴퓨터 할당 : 192.168.1.66 ~ 192.168.1.124(59개) // 나머지 125 126는 여분
  • (다)를 10에 사용
    • 서브넷 마스크 : 255.255.255.192 (11111111 ~ ~ 11 000000)
    • 네트워크 주소 : 192.168.1.128 (~ ~ ~ 10 000000)
    • 브로드캐스트 주소 : 192.168.1.191 (~ ~ ~ 10 111111)
    • 이용가능 주소 범위 : 192.168.1.129 ~ 192.168.1.190 (62개)
    • 라우터 주소 : 192.168.1.129(처음 주소 사용)
    • 컴퓨터 할당 : 192.168.1.130 ~ 192.168.1.189(60개) // 나머지 190은 여분
  • 11 영역은 추후 사용
    • 서브넷 마스크 : 255.255.255.192 (11111111 ~ ~ 11 000000)
    • 네트워크 주소 : 192.168.1.192 (~ ~ ~ 11 000000)
    • 브로드캐스트 주소 : 192.168.1.255 (~ ~ ~ 11 111111)
    • 이용가능 주소 범위 : 192.168.1.193 ~ 192.168.1.254 (62개)
  • 서브네팅 결과
    • 기존에는 외부 네트워크 - 라우터 - 177개의 컴퓨터
    • 서브네팅 이후 외부 네트워크 - 라우터 - (58, 59, 60) 컴퓨터
    • 기존 네트워크 주소 192.168.1.0에서 분할 후
      • 192.168.1.0
    • 192.168.1.64
    • 192.168.1.128
    • 192.168.1.192

SubnetMask와 First Address(네트워크 주소), Last Address(브로드캐스트 주소) 관계

  • IP 주소와 SubnetMask를 AND 연산하면 First Address(네트워크 주소)가 나옴
  • IP 주소와 (NOT Mask)와 OR 연산을 하면 Last Address(브로드캐스트 주소)가 나옴
  • ex) Classless Address : 167.199.170.82/27
    • 넷 마스크 : 255.255.255.224
    • First Address : 167.199.179.64
    • Last Address : 167.199.179.95

Subnetting 예시(3)

  • classless 주소에서, 하나의 주소를 가지고, 그 주소가 속한 블록(Network)을 알 수가 없다
  • Ex) 230.8.24.56의 경우 Prefix의 길이에 따라 속하는 Block이 다르다

Subnetting 예시(4)

  • 한 ISP가 1000 개의 주소 블록을 요청했다고 하자.
    • ISP가 요청했기 때문에, 효율적인 주소공간을 사용해야 함.
  • 1000은 2의 거듭제곱의 수가 아니므로 1024개의 주소를 할당해야 한다.
  • prefix 길이는 n = 32 − 10 = 22가 된다
  • ISP에 할당하는 하나의 가용 블록의 예는 18.14.12.0/22

VLSM

  • Variable Length Subnet Mask
  • 분할 서브넷의 크기가 가변적임
    • GPT : 하나의 IP 주소 블록을 여러 개의 서브넷으로 나누되 각 서브넷의 크기를 다르게 설정
  • 최대 수용 컴퓨터의 수가 다름
  • 서브넷 마스크가 서로 다름
  • 네트워크 주소를 효율적으로 사용할 수 있음
    • GPT : 더 작은 서브넷으로 세분화함으로써 라우터의 라우팅 테이블 크기를 줄이고, 네트워크 성능을 향상
  • GPT EX) 하나의 네트워크에 50개, 30개, 10개의 호스트가 필요한 세 개의 서브넷이 있다고 가정
    • 모든 서브넷을 동일한 크기로 나눈다면, 많은 주소가 낭비될 것입니다
    • 하지만 VLSM을 사용하면, 각 서브넷에 필요한 정확한 수의 호스트를 수용할 수 있는 서브넷을 만들 수 있으므로 IP 주소 공간을 절약할 수 있습니다

VLSM 절차

  • 전체 네트워크를 여러 단위로 그룹화(서브넷)
  • 컴퓨터의 수가 가장 많은 서브넷 선택
    • 서브넷 크기에 꼭 맞도록 서브넷의 크기를 정해야 함
    • 네트워크로 사용할 최대 비트수를 선택
      • EX) C 클래스의 경우 호스트 8비트 중에서, 1비트 사용시 126개 주소, 2비트 62개, 3비트 30, 4비트 14 ....
    • 서브넷 단위에 맞게 주소 할당
      • 남은 주소 대역에서 선택
  • 할당 안한 나머지 서브넷 중 가장 큰 서브넷을 선택하여 위 동작을 계속

VLSM 예제(1)

  • 구성환경
    • (가), (나), (다) 3개의 부서
    • 컴퓨터가 각각 120, 60, 14개씩 존재
    • (가)와 (나), (다)가 멀리 떨어짐
  • 할당 주소 : 192.168.1.0 네트워크
    • 호스트 부분 : 하위 8비트
  • 라우터 연결 부분도 하나의 독립된 네트워크
    • 총 4개의 네트워크 필요
  • 서브넷팅으로 분할 시
    • 2비트 사용 --> 4개의 서브넷 분할가능
    • 각 서브넷에 최대 61개의 컴퓨터 수용 가능
      • 문제에서는 최대 120개 --> 불가능함
      • VLSM를 사용하자
  • 필요한 네트워크 수 산정

  • 네트워크 설계
    • (가) 네트워크 설계
      • 120개의 컴퓨터 -> 1비트로 나눈 네트워크의 윗 부분의 반을 사용 (0) (반원)
      • 총 가능 주소 : 126개 --> 수용 가능
      • 총 네트워크 비트 수 : 24 + 1 = 25
      • 서브넷 마스크 : 255.255.255.128 (1111111 ~ ~ 1 000 0000)
      • 네트워크 주소 : 192.168.1.0(0 000 0000)
      • 브로드캐스트 주소 : 192.168.1.127(0 111 1111)
      • 사용 가능 IP : 192.168.1.1 ~ 192.168.1.126(126개)
      • 라우터 주소 : 192.168.1.1(처음 주소 사용)
      • 컴퓨터 할당 : 192.168.1.2 ~ 192.168.1.121(120개)
    • (나) 네트워크 설계
      • 60개의 컴퓨터 -> 나머지 아랫 부분(1)의 반(10, 11)에서 2비트로 나눈 처음 부분(10) 사용 (사분원)
      • 총 가능 주소 : 62개 --> 수용 가능
      • 총 네트워크 비트 수 : 24 + 2 = 26
      • 서브넷 마스크 : 255.255.255.192 (1111111 ~ ~ 11 00 0000)
      • 네트워크 주소 : 192.168.1.128(10 00 0000)
      • 브로드캐스트 주소 : 192.168.1.191(10 11 1111)
      • 사용 가능 IP : 192.168.1.129 ~ 192.168.1.190(62개)
      • 라우터 주소 : 192.168.1.129(처음 주소 사용)
      • 컴퓨터 할당 : 192.168.1.130 ~ 192.168.1.189(60개)
    • (다) 네트워크 설계
      • 14개의 컴퓨터 -> 나머지 (11) 중에서 3비트(110)로 나눈 처음 부분 사용
      • * 만약 4비트로 자르면, 16개 - 2개(네트워크, 브로드캐스트) - 1개(라우터) = 13개의 컴퓨터만 연결 가능해서 수용 불가능함
      • 총 가능 주소 : 30개 --> 수용 가능
      • 총 네트워크 비트 수 : 24 + 3 = 27
      • 서브넷 마스크 : 255.255.255.224 (1111111 ~ ~ 111 0 0000)
        • 110 0 0000이 아님을 유의하자
      • 네트워크 주소 : 192.168.1.192(110 0 0000)
      • 브로드캐스트 주소 : 192.168.1.223(110 1 1111)
      • 사용 가능 IP : 192.168.1.193 ~ 192.168.1.222(30개)
      • 라우터 주소 : 192.168.1.193(처음 주소 사용)
      • 컴퓨터 할당 : 192.168.1.194 ~ 192.168.1.207(14개)
      • (라) 네트워크 설계
        • 2개의 라우터 주소 필요 --> 나머지 부분(111)을 사용
          • (가)와 (나), (다)가 멀리 떨어져있기 때문에 라우터 2개 필요
        • 총 네트워크 비트 수 : 24 + 3 = 27
        • 서브넷 마스크 : 255.255.255.224 (11111111 ~ ~ 111 0 0000)
        • 네트워크 주소 : 192.168.1.224(111 0 0000)
        • 브로드캐스트 주소 : 192.168.1.255(111 1 1111)
        • 사용 가능 IP : 192.168.1.225 ~ 192.168.1.254
        • 라우터 주소 : 192.168.1.225, 192.168.1.226(2개)
        • 컴퓨터 할당 : 없음
        • 최대한 남는 주소가 많게 설계하려면, 남는 111 부분을 8등분 하여 (3개의 비트 추가적으로...) 사용하면 된다
          • 4개에서 네트워크, 브로드캐스트를 빼면 2개가 남아서, 라우터 할당에 딱 들어맞음

 

VLSM 예제(2)

한 기관이 14.24.74.0/24 블록을 할당 받았다. 
이 기관은 3개의 서브 블록으로 나누어 운영하려 한다. 
한 블록은 10개의 주소, 다른 블록은 60개의 주소, 마지막 블록은 120개의 주소가 필요하다. 
서브 블록을 설계하라. (VLSM)
  • 할당받은 블록은 2^8 = 256개 주소를 사용할 수 있음
  • 큰 블록부터 시작해서 작은 블록을 할당하는 순서로 진행(120 -> 60 -> 10)
  • 가장 큰 블록의 주소 개수는 120 --> 128 할당
    • 서브넷 마스크는 24 + 1 = (32 - 7) = 25비트
    • 첫 주소는 14.24.74.0/25 (0 000 0000)
    • 마지막 주소는 14.24.74.127/25 (0 111 1111)
  • 다음으로 큰 블록의 주소 개수는 60 --> 64 할당
    • 서브넷 마스크는 24 + 2 = (32 - 6) = 26비트
    • 첫 주소는 14.24.74.128/26 (10 00 0000)
    • 마지막 주소는 14.24.74.191/26 (10 11 1111)
  • 마지막 남은 블록의 주소 개수는 10 --> 16 할당
    • 서브넷 마스크는 24 + 4 = (32 - 4) = 28비트
    • 첫 주소는 14.24.74.192/28 (1100 0000)
    • 마지막 주소는 14.24.74,207/28 (1100 1111)
  • 이 과정에서 208개의 주소를 사용하고, 48개의 주소가 남음 --> 나중에 사용하기 위해 남겨둠
    • 첫 주소는 14.24.74.208 // 마지막 주소는 14.24.74.255
    • 이 블록의 Prefix는 결정 불가능하고, 2~3개의 블록으로 사용 가능함

Supernetting

  • Address Summarization(Aggregation)
  • 복수개의 네트워크를 묶어 하나의 네트워크로 표현
  • 작은 주소를 묶어서 하나의 더 큰 주소를 만드는 것
  • GPT : Supernetting에서는 두 개 이상의 연속된 서브넷을 하나의 더 큰 주소 블록으로 합칩니다
    • ex) 두 개의 /24 네트워크 (예: 192.168.1.0/24와 192.168.2.0/24)를 하나의 /23 네트워크로 합침
  • 192.168.0.0 / 255.255.252.0은 4개를 하나로 표현
    • 192.168.0.0 / 255.255.255.0
    • 192.168.1.0 / 255.255.255.0
    • 192.168.2.0 / 255.255.255.0
    • 192.168.3.0 / 255.255.255.0
    • 4개의 /24의 경우 (2^8 * 4 = 2^10) 하나의 /22 네트워크(2^10)로 합칠 수 있습니다
    • 호스트 부에 2개의 비트를 더 할당했다고 볼 수 있나?
    • 역으로 보면, 255.255.252.0 (/22)에서 호스트 비트 2개를 네트워크 부에  subnetting 한 것으로 생각해도 되지 않을까?
  • CIDR 전략의 또 다른 큰 이점
    • 라우팅 테이블을 간소화함으로써 빠른 처리가 가능하고 관리가 용이해짐
    • 라우팅 정보 교환이 감소하면서 트래픽 절약이 가능함

CIDR 활용

  • A 라우터의 라우팅 테이블이 다음과 같을 때
    목적지주소 다음 라우터 홉 수
    192.168.0.0/24 192.168.4.2 1
    192.168.1.0/24 192.168.4.2 1
    192.168.2.0/24 192.168.4.2 1
    192.168.3.0/24 192.168.4.2 1
  • 다음과 같이 라우팅 테이블을 줄일 수 있다.
    목적지주소 다음 라우터 홉 수
    192.168.0.0/22 192.168.4.2 1

Longest Prefix Match(LPM) 알고리즘

  • 라우터 연결부분도 하나의 독립된 네트워크

  • 예제
    • LPM 알고리즘을 적용
      • 라우터 A는 들어오는 패킷의 목적지 IP 주소를 확인
      • A는 자신의 라우팅 테이블에서 목적지 IP 주소와 일치하는 가장 긴 네트워크 프리픽스를 찾습니다
      • 가장 많은 수의 왼쪽에서 일치하는 비트(즉, 가장 긴 네트워크 프리픽스)를 가진 경로를 선택
      • 라우팅 테이블에서 가장 긴 일치하는 프리픽스를 가진 엔트리가 결정되면, 해당 엔트리가 가리키는 다음 홉 라우터 또는 인터페이스를 통해 패킷을 전달
    • 예시라우터 A는 또한 자신에게 직접 연결된 192.168.2.0/24 네트워크에 대한 엔트리도 가지고 있으며, 이는 지정된 호스트로 직접 연결되어 있음을 나타냄
      • 192.168.2.0/24가 DA인 패킷이 들어오면, Prefix가 가장 긴 것을 찾아 A 라우터에 직접 연결되어 있음을 확인
    • 라우터 A는 192.168.0.0/22 네트워크로 가는 패킷을 라우터 B(192.168.4.2 주소를 가진 인터페이스)로 전송
  • 라우터 A와 라우터 B가 있고, 이들 사이에는 WAN 연결을 통한 라우팅 경로가 설정되어 있습니다.
    라우터 A는 192.168.2.0 서브넷에 직접 연결되어 있으며,
    라우터 B를 통해 192.168.0.0, 192.168.1.0, 그리고 192.168.3.0 서브넷으로 라우팅할 수 있는 경로를 가지고 있습니다.

Supernetting(Address Aggregation) 예시

뒤 페이지의 그림은 ISP에 할당된 하나의 주소 블록을 더 작은 4개의 주소 블록으로 분할해서 사용하는 것을 보였다.
ISP는 4개의 주소를 모은 하나의 단일 주소를 다른 네트워크에 알린다.
일단 패킷이 이 ISP에 도착하면 ISP는 목적지 주소에 따라 해당하는 작은 블록으로 보내줄 책임이 있다. 
이러한 방식은 마치 우체국에서의 편지/소포 전달과 같 은 시스템이다. 특정 국가/지역으로 먼저 보내지고, 그 다음 다시 목적지로 보내진다.
블록 1: 160.70.14.0/26 ~ 160.70.14.63/26
블록 2: 160.70.14.64/26 ~ 160.70.14.127/26
블록 3: 160.70.14.128/26 ~ 160.70.14.191/26
블록 4: 160.70.14.192/26 ~ 160.70.14.255/26
이 서브넷들은 모두 160.70.14.0 네트워크의 일부입니다. 
각 서브넷의 시작 주소는 0, 64, 128, 192입니다. 
이러한 주소는 256개의 주소를 포함하는 /24 네트워크 범위 내에 있습니다. 
서브넷의 연속성 때문에, 우리는 네 개의 /26 네트워크가 사실상 /24 네트워크 한 개로 합쳐질 수 있음을 알 수 있습니다.
  • 이 네 개의 서브넷은 160.70.14.0/24라는 한 개의 큰 네트워크 주소로 요약할 수 있다.
    • ISP의 라우팅 테이블에는 네 개의 개별적인 라우팅 엔트리 대신 하나의 엔트리로 요약하여 표시할 수 있습니다