네트워크핵심 · 18분 읽기

동적 라우팅의 알고리즘·수렴·경로 정책

프로토콜이 교환하고 계산하는 정보부터 장애 수렴까지 비교한다. 경로 광고와 데이터 전달의 방향, 필터·요약·재분배와 seed metric을 수업의 복수 라우터 실습에 연결한다.

개념부터 찾아보기

정의·역할·동작 원리를 독립 페이지에서 확인하세요. 본문의 밑줄 용어에도 설명이 있습니다.

이 노트에서 설명할 수 있게 되는 것

  1. 제어 평면의 정보 교환과 데이터 전달을 구분한다.
  2. 거리 벡터·링크 상태·경로 벡터의 정보 차이를 설명한다.
  3. 장애 감지·수렴·재분배 경계를 분리해 관찰한다.

01경로를 배우는 일과 패킷을 보내는 일

  • 프로토콜은 도달 가능한 목적지를 이웃과 교환하고 변화에 따라 경로를 계산한다. 데이터 패킷이 도착할 때마다 이웃에게 길을 물어보는 것이 아니라 미리 만든 경로 정보와 를 이용해 전달한다.
    • 직접 연결·도 에 함께 존재하며 동적 프로토콜이 반드시 모든 경로를 소유하는 것은 아니다.
  • 프로토콜 내부 데이터베이스에 경로가 있다는 것, 에서 그 경로가 채택되었다는 것, 와 /ND를 통해 실제 전달된다는 것은 다른 상태이다. 이웃이 정상이어도 필터나 next-hop 도달성 때문에 특정 경로는 설치되지 않을 수 있다.
    • 반대로 동적 이웃이 없어도 직접 연결이나 정적 경로만으로 일부 통신은 성공할 수 있다.

02IGP·EGP와 AS의 범위

  • 는 하나의 관리 도메인 내부 경로 계산에 사용하는 분류로 ···가 여기에 속한다. 는 사이의 정책을 교환하는 대표적인 외부 경로 프로토콜이다.
    • 라는 분류와 과거 라는 이름의 프로토콜은 구분한다.
    • 를 로 분류하거나 를 링크 상태 프로토콜로 분류하면 알고리즘 비교가 틀어진다.
  • 는 공통 으로 관리되는 네트워크 집합이며 하나를 뜻하지 않는다. eBGP는 서로 다른 사이에, iBGP는 같은 내부에 정보를 배포할 때 사용한다.
    • 와 iBGP가 같은 네트워크에서 함께 동작할 수 있고, 는 next hop까지의 내부 도달성을 제공할 수 있다.

03거리 벡터·링크 상태·경로 벡터의 계산 재료

  • 거리 벡터는 이웃이 알려 준 목적지까지의 비용에 로컬 링크 비용을 더해 방향을 고른다. 는 홉 수를 사용하고 는 이웃별 거리와 DUAL 조건을 사용한다.
    • 를 하이브리드라고 부르는 표현만 외우기보다 어떤 경로 정보를 유지하고 어떤 조건에서 Query를 보내는지를 알아야 한다.
  • 링크 상태 프로토콜은 영역 등 정해진 범위에 링크 정보를 배포하고 각 장비가 토폴로지를 바탕으로 최단 경로를 계산한다. 의 경로 벡터는 AS_PATH 등 속성과 정책을 이용한다.
    • 숫자로 가장 작은 경로를 무조건 고르는 하나의 공통 알고리즘이 아니다.
    • cost 20과 metric 2를 직접 비교하는 연산은 의미가 없다.
프로토콜정보·계산대표 비용·정책전송
RIPv2이웃의 목적지·거리홉 수, 16 도달 불가 520
이웃별 거리·DUAL대역폭·지연, FCIP protocol 88
LSA·영역 LSDB·출력 링크 cost의 합IP protocol 89
NLRI·경로 속성LOCAL_PREF·AS_PATH 등 179

04프로토콜이 유지하는 테이블

  • 는 이웃이 광고한 프리픽스·metric·타이머를 경로 정보로 관리한다. 는 Neighbor table과 Topology table을 구분하고 Successor·Feasible Successor를 판단한다.
    • 는 Neighbor state와 LSDB를 관리한 뒤 결과를 만든다.
    • 는 수신 경로, 정책 적용과 best path, 이웃에게 광고할 경로를 논리적으로 구분한다.
    • 모든 table을 IP routing table과 같은 것으로 읽으면 중간 상태를 놓친다.
  • 동일 프리픽스를 여러 출처가 제시하면 장비의 관리 거리 등 선호 정책이 채택에 관여한다. 각 프로토콜 내부에서는 해당 알고리즘과 metric으로 후보가 정해진다.
    • 에 서로 다른 길이의 경로가 함께 설치된 후에는 데이터 패킷이 최장 프리픽스 일치로 조회한다.
    • 제어 단계의 선택과 전달 단계의 조회를 분리하는 것이 복수 프로토콜 실습의 출발점이다.

05Network와 Passive-interface의 의미

  • IOS 의 network 문장은 보통 로컬 인터페이스를 주소 조건으로 선택하여 해당 프로토콜을 활성화한다. 임의로 적은 원격 대역이 자동으로 생성되어 광고되는 명령이 아니다.
    • 에서는 선택한 인터페이스가 어떤 area에 들어가는지도 지정한다.
    • 반면 의 network는 해당 프리픽스가 적절한 조건을 만족할 때 에 기원시키는 의미이므로 와 같다고 외우지 않는다.
  • Passive-interface 역시 프로토콜별 효과가 다르다. ·에서는 해당 인터페이스에서 Hello 이웃 관계를 만들지 않으면서 연결 네트워크가 프로토콜에 포함될 수 있다.
    • 의 기본 passive 처리는 해당 인터페이스로 업데이트를 보내지 않는 성격이다.
    • Passive이면 그 대역을 무조건 광고하지 않는다는 설명은 틀리다.
    • 사용자 단말 구간의 경로는 알리되 이웃 형성은 막는 목적을 이해해야 한다.

06장애 감지에서 전달 전환까지

  • 는 사용 가능한 FS가 있으면 Query 확산 없이 전환하고 없으면 Active 계산을 수행한다. 는 변경 LSA 배포와 계산을 수행한다.
  • 의 무효화·triggered update·타이머, 의 철회·세션·정책은 각각 다르다. 수렴 시간을 Hello 간격 하나로 설명할 수 없다.
  1. 링크 down, Hello/Hold·Dead 만료 또는 추적 상태 등으로 기존 전달 조건의 상실을 알아낸다.
  2. 변경 경로를 광고하거나 필요한 Query·Reply·LSA를 교환한다. 단순 장애 감지와 이웃이 새 정보를 아는 시점은 다르다.
  3. 각 장비가 알고리즘과 정책에 따라 후보를 계산하고 사용할 경로를 선택한다.
  4. 실제 다음 홉이 바뀌도록 전달 정보를 갱신한다. 장비마다 완료 시각이 다르면 과도기 손실이나 일시적 루프가 생길 수 있다.

설명과 함께 보는 보조 도식

처리 과정

동적 경로가 전달에 쓰이기까지

프로토콜 종류와 무관하게 나누어 볼 수 있는 단계.

전체 단계를 한 번에 읽기
  1. 01

    연결 준비

    제어 메시지가 도달할 조건을 확인한다.

  2. 02

    정보 교환

    프로토콜이 정의한 상태를 공유한다.

  3. 03

    정책 적용

    허용 범위와 재분배 방향을 확인한다.

  4. 04

    경로 계산

    같은 의미의 metric끼리 비교한다.

  5. 05

    전달 준비

    계산 결과가 실제 전달에 채택된다.

  6. 06

    서비스 확인

    경로 안정과 통신 성공을 구분한다.

학습용 동작 모식도. 실제 구현의 동시 처리와 예외 흐름은 축약했다.

07광고 필터와 데이터 ACL의 방향

  • 경로 광고는 그 목적지에 도달하는 방법을 이웃에게 알려 주는 제어 정보이다. R1이 R2에게 자신의 뒤에 203.0.113.0/24가 있다고 광고하면 해당 목적지로 가는 데이터는 R2에서 R1으로 향한다.
    • 경로 정보가 나가는 방향과 그 경로를 사용하는 데이터의 방향이 반대라는 사실이 distribute-list in/out 실습의 핵심이다.
  • 의 distribute-list out으로 어떤 prefix의 광고를 제외하면 이웃이 그 경로를 배우지 못하게 한다. 데이터 패킷을 인터페이스에서 직접 버리는 과는 다르다.
    • 처럼 영역 LSDB의 일관성이 필요한 프로토콜은 필터가 LSA 전파를 막는지 로컬 채택을 제한하는지 기능별 제약을 구분해야 한다.
    • 같은 명령 이름을 모든 프로토콜에 같은 효과로 일반화하지 않는다.

08Offset·Summary·Default가 바꾸는 정보

  • offset-list는 매칭된 경로의 홉 수에 값을 더해 선호도를 조정한다. 의 offset 기능은 해당 metric 계산에 영향을 주므로 같은 숫자를 더했다고 와 같은 물리 거리 변화가 되는 것은 아니다.
    • 주소 조건을 너무 넓게 선택하면 의도하지 않은 경로도 바뀐다.
  • 요약은 여러 세부 프리픽스를 공통 상위 범위로 줄인다. 경로 수와 업데이트 범위를 줄이지만 요약 안의 빈 구간까지 트래픽을 끌어들이므로 discard 경로와 더 구체적인 경로의 관계를 이해해야 한다.
    • Default는 가장 넓은 /0 광고이다.
    • 외부 연결이 끊겨도 기본 경로를 계속 기원시키면 이웃이 계속 자신에게 보내는 블랙홀이 생길 수 있다.

09재분배의 seed metric과 외부 경로

  • 재분배는 한 출처의 경로를 다른 프로토콜의 광고로 바꾸는 경계 기능이다. 서로 다른 metric은 단위가 같지 않으므로 들어가는 프로토콜의 초기값인 이 필요할 수 있다.
    • 의 홉 수를 cost에 자동으로 그대로 연결하거나, 의 bandwidth·delay 등 복합 구성 요소를 홉 수 하나로 대체하면 의미가 달라진다.
  • 예를 들어 구간을 에 연결하면 외부 경로가 D EX로 표시될 수 있고, 에는 외부 LSA와 E1/E2 또는 NSSA의 N1/N2 형태가 관련된다. Connected·Static을 재분배할 때도 어떤 인터페이스와 목적지를 포함할지 제한해야 한다.
    • 모든 경로를 양방향으로 넣는 명령 두 줄은 경계 정책을 설명한 것이 아니다.
LEARN THROUGH PRACTICE

서로 다른 라우팅 영역을 경계에서 연결하기

경계와 경계에서 재분배가 필요한 이유를 구성도와 수신 경로 종류로 추적한다.

실습 구성과 전제

  • R1–R2는 100, R2–R3는 200, R3–R4는 RIPv2, R4–R5는 를 쓰는 실습이다.
  • 각 구간의 주소와 PVC는 먼저 정상화한다. 아래 명령은 이미 해당 가 구성된 격리 실습의 경계 설정이다.
  1. 프로토콜별 도달 범위를 먼저 확인한다

    • 한 라우터에서 여러 를 실행해도 배운 경로가 다른 로 자동 광고되는 것은 아니다.
    • R2는 두 의 경계이고 R3는 와 의 경계다. R4의 가 로 넘어가는 부분은 별도의 재분배 조건이다.
    text
    show ip protocols
    show ip route
    show ip eigrp neighbors

    실습 흐름을 재구성한 명령 예시. 장치·인터페이스 이름은 구성에 맞춰 사용한다.

    EIGRP 이웃·경로·DUAL 실습원본 크기로 보기 ↗
    • R1부터 R5까지 EIGRP100, EIGRP200, RIPv2, static 구역이 구분되어 있다.
    • R2와 R3 부근에 redistribute 표기가 있고 각 라우터 아래에 서로 다른 LAN이 연결되어 있다.
    확인 기준

    각 영역 안의 이웃·경로가 먼저 정상이어야 한다. 경계 너머 경로가 없는 상태를 내부 인접 실패와 구분한다.

  2. EIGRP AS 사이의 외부 경로를 만든다

    • R2의 각 에 반대 를 재분배한다. metric의 다섯 값은 대역폭·지연·신뢰도·부하· 순서이며 서로 다른 척도를 초기화하는 값이다.
    • 수신 라우터에서 D EX가 나타나면 외부 경로로 학습한 것이다. D는 경로이고 EX는 외부 기원을 뜻하므로 AD 값만으로 재분배 방향을 판단하지 않는다.
    text
    router eigrp 100
     redistribute eigrp 200 metric 1544 100 255 1 1500
    router eigrp 200
     redistribute eigrp 100 metric 1544 100 255 1 1500

    R2의 원 실습 명령을 축약 없이 재구성했다. 여러 재분배 경계가 있는 운영망에 그대로 적용하는 예시는 아니다.

    확인 기준

    설정만 보지 말고 반대편 수신 라우터에서 목적지 경로와 next hop을 확인한다.

  3. RIP 경계에서는 hop metric으로 바꾼다

    • R3에서 경로를 로 넣을 때는 복합 metric의 초기값을, 경로를 로 넣을 때는 hop 수의 초기값을 지정한다.
    • 의 metric 2는 내부의 실제 홉 수를 보존한 숫자가 아니다. 왕복 ping은 양쪽 경로가 모두 있어야 성공하며 다중 경계에서는 필터·태그로 재유입을 막아야 한다.
    text
    router eigrp 200
     redistribute rip metric 1544 100 255 1 1500
    router rip
     redistribute eigrp 200 metric 2
    end
    show ip protocols
    show ip route

    실습 흐름을 재구성한 명령 예시. 장치·인터페이스 이름은 구성에 맞춰 사용한다.

    확인 기준

    show ip protocols에 재분배 원천이 있고 수신 라우터의 R 또는 D EX 경로가 올바른 next hop을 가리키는지 확인한다.

실습에서 확인한 동작 원리

  • 프로토콜 실행과 서로의 는 별도 동작이다.
  • 재분배 성공은 경계 장비 설정, 수신 경로의 기원, 반환 경로를 함께 확인해야 증명된다.

설정·출력 추가로 확인하기 3장

아래 화면을 펼쳐 위 실습의 설정값, 명령과 확인 기준을 비교해 보세요. 각 묶음은 별도 실습 기록입니다.

실습 화면 묶음 01 1장
IGP 간 재분배와 경로 실습원본 크기로 보기 ↗
  • 학습 원본 · IGP 간 재분배와 경로 실습의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 02 1장
Prefix List와 경로 제어 실습원본 크기로 보기 ↗
  • 학습 원본 · Prefix List와 경로 제어 실습의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 03 1장
Prefix List와 경로 제어 실습원본 크기로 보기 ↗
  • 학습 원본 · Prefix List와 경로 제어 실습의 해당 절에 수록된 화면·도식이다.
동작·명령 참고 문서
원리 심화

10재분배에서 경로의 출처와 메트릭을 변환하기

  • Cisco의 일반적인 재분배는 지정한 원천 프로토콜의 경로 중 에 설치된 경로를 대상으로 한다. 프로토콜 자체 데이터베이스에만 있는 비선택 경로가 모두 자동 수출된다고 가정하지 않는다.
  • hop count, cost, 벡터 메트릭은 의미가 다르다. 원래 숫자를 그대로 옮기는 대신 목적 프로토콜에서 유효한 과 외부 경로 속성을 지정한다.
  • 는 경로가 어디서 재분배됐는지 정책이 기억하는 표식으로 사용할 수 있다. 태그는 자체로 루프를 차단하지 않으며 이를 검사하는 import/export 규칙이 있어야 효과가 있다.
  • A 도메인 경로가 B로 넘어갔다가 다른 경계 장비를 통해 A로 돌아오면 원본과 재수입 사본이 경쟁할 수 있다. 양방향 재분배에서는 경계가 여러 개일 때의 경로 순환까지 설계해야 한다.
  • 관리 거리는 같은 프리픽스의 로컬 후보 선택에 작용한다. AD 변경만으로 경로 출처를 영구 추적하는 것은 아니므로 태그·프리픽스 필터·재분배 방향을 함께 정의한다.

11두 경계에서 경로가 되돌아오는 문제

  • 에서 온 경로를 경계 A가 에 넣고 경계 B가 다시 에 넣으면 같은 도달성이 다른 기원으로 돌아올 수 있다. 원래 경로가 사라졌는데 재분배된 복사본이 더 선호되어 유지되면 잘못된 우회나 루프의 원인이 된다.
    • AD 변경만으로 모든 되먹임 문제를 해결할 수 있는 것은 아니다.
  • 는 경로가 어느 도메인에서 왔는지 정책 표식으로 사용할 수 있다. 재유입 경계에서 해당 tag를 매칭하여 거부하는 route-map을 적용해야 하며 tag만 달면 자동 차단되는 것이 아니다.
    • Prefix-list의 허용 프리픽스·길이, 광고 방향, , 요약, default 기원 조건을 함께 기록하면 재분배가 실제로 무엇을 들여보내고 내보내는지 드러난다.
예제로 추적

12두 경계 장비에서 태그로 재수입을 막는 예

  1. 도메인 A의 192.0.2.0/24를 경계 R1이 도메인 B로 재분배한다. 해당 프리픽스는 승인된 수출 목록에 있고 A 출처를 나타낼 tag=100을 붙인다고 하자.
  2. B의 경로는 tag=100과 B에 맞는 을 갖는다. 원래 A의 메트릭과 새 메트릭을 같은 단위의 경로 길이로 비교하지 않는다.
  3. R2가 B→A 재분배를 수행할 때 192.0.2.0/24가 다시 후보가 된다. 먼저 tag=100을 검사하는 deny 규칙을 두면 이 사본은 A로 재수입되지 않는다.
  4. B가 원래 가진 다른 승인 프리픽스는 별도의 permit 조건으로 수입한다. 재수입 방지 규칙 뒤에 필요한 허용 규칙이 없으면 의도한 B 경로까지 모두 사라질 수 있다.
  5. A의 원본 경로가 철회돼도 B의 오래된 재분배 사본이 A의 대체 경로처럼 재유입되지 않도록 동일 출처 규칙을 유지한다. 태그 보존·변경 지점을 모든 경계에서 일관되게 관리한다.

13복수 프로토콜 출력에서 읽는 증거

  • 수업의 복수 라우터 실습은 한 라우터의 전체 화면보다 대상 prefix 하나의 수신·채택·광고를 나눠 읽는 편이 명확하다.
    • show ip protocols에서는 참여 프로토콜·network·재분배·passive 조건을, 각 프로토콜의 neighbor와 database 명령에서는 제어 정보를, show ip route와 CEF에서는 채택·전달을 읽는다.
    • 경로 코드 R·D·D EX·O·O E2·B가 바뀌는 것은 경로 출처가 달라졌다는 증거이다.
  • 경로가 안정되어도 반환 경로, , 또는 때문에 서비스는 실패할 수 있다. 반대로 기본 경로만으로 우연히 ping이 성공하면 세부 경로 광고 오류가 가려질 수 있다.
    • 정상·장애·복구에서 같은 목적지와 출발지를 사용하고 경로 코드·next hop·metric의 변화를 함께 비교한다.
text
show ip protocols
show ip route 203.0.113.0
show ip cef 203.0.113.20
show ip eigrp neighbors
show ip eigrp topology
show ip ospf neighbor
show ip ospf database
show ip bgp 203.0.113.0

해당 프로토콜이 구성된 IOS 장비의 읽기 전용 관찰 예.

검증·예외

14재분배·요약·기본 경로의 실패를 구분하기

  • 원천 경로가 에서 다른 프로토콜에 밀렸다면 재분배 설정이 존재해도 기대한 광고가 없을 수 있다. 먼저 원천 프로토콜 DB와 실제 선택을 분리해 본다.
  • 목적 프로토콜에 필요한 이 없거나 도달 불가 값이면 경로가 퍼지지 않을 수 있다. 각 프로토콜의 기본값과 예외를 확인하고 임의의 큰 숫자를 공통값으로 쓰지 않는다.
  • route-map·prefix-list의 승인 조건 밖이면 후보가 걸러진다. 이웃 관계 정상과 업데이트 송신 정상은 특정 프리픽스가 정책을 통과했다는 증거가 아니다.
  • 192.0.2.0/24 요약 아래 실제로 .0/26만 존재한다면 .128로 향한 패킷도 요약을 따라 들어온다. 세부 경로 부재 처리와 반환 기본 경로가 결합해 폐기 또는 루프가 생길 수 있다.
  • 기본 경로 광고는 외부 서비스가 실제로 살아 있다는 보장이 아니다. 광고의 생성 조건·추적 대상·철회 조건을 확인해 상위 장애가 하위 경로에 어떻게 반영되는지 설명한다.
학습 확인

이해했는지 확인하기

  • 이웃 관계와 실제 설치 경로를 따로 확인했는가?
  • metric을 서로 다른 프로토콜 사이에서 직접 비교하지 않는가?
  • 재분배할 범위와 되돌아오는 경로를 통제하고 있는가?

함께 확인할 공식 자료