소개
이 문서에서는 Cisco Systems에서 설계 및 개발한 라우팅 프로토콜의 IGRP(Interior Gateway Routing Protocol) 제품군에 대해 설명합니다. 이 문서는 기술 소개를 위한 정보 전용 문서로 사용해야 하며 프로토콜 사양 또는 제품 설명을 나타내지 않습니다.
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
표기 규칙
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
IGRP란?
IGRP는 TCP/IP 및 OSI(Open System Interconnection) 인터넷에서 사용됩니다. 원래 IP 버전은 1986년에 성공적으로 설계 및 구축되었습니다. IGP로 간주되지만 도메인 간 라우팅을 위해 EGP(외부 게이트웨이 프로토콜)로도 널리 사용되었습니다. IGRP는 거리 벡터 라우팅 기술을 사용합니다. 각 라우터가 전체 네트워크에 대한 모든 라우터/링크 관계를 알 필요는 없다는 개념입니다. 각 라우터는 해당 거리의 대상을 광고합니다. 정보를 수신하는 각 라우터는 거리를 조정하여 인접 라우터에 전파합니다.
IGRP의 거리 정보는 사용 가능한 대역폭, 지연, 로드 사용률 및 링크 신뢰성의 조합으로 표시됩니다. 이를 통해 최적의 경로를 달성하기 위해 링크 특성을 세부적으로 조정할 수 있습니다.
EIGRP란?
EIGRP는 IGRP의 향상된 버전입니다. IGRP에서 발견되는 동일한 거리 벡터 기술이 EIGRP에서도 사용되며 기본 거리 정보는 변경되지 않습니다. 이 프로토콜의 통합 속성 및 운영 효율성이 크게 향상되었습니다. 따라서 IGRP에 대한 기존 투자를 유지하면서 아키텍처를 개선할 수 있습니다.
이 융합기술은 SRI International에서 진행된 연구를 바탕으로 하고 있다. 확산 업데이트 알고리즘(DUAL)은 경로 계산 과정에서 매 순간 루프 자유도를 얻는 데 사용되는 알고리즘입니다. 이렇게 하면 토폴로지 변경과 관련된 모든 라우터가 동시에 동기화할 수 있습니다. 토폴로지 변경의 영향을 받지 않는 라우터는 재계산에 포함되지 않습니다. DUAL과의 컨버전스 시간은 다른 기존 라우팅 프로토콜과 다릅니다.
EIGRP는 네트워크 레이어 프로토콜에 독립적이도록 확장되었으므로 DUAL이 다른 프로토콜 제품군을 지원할 수 있습니다.
EIGRP는 어떻게 작동합니까?
EIGRP에는 4가지 기본 구성 요소가 있습니다.
인접 디바이스 검색/복구는 라우터가 직접 연결된 네트워크에 있는 다른 라우터를 동적으로 학습하는 데 사용하는 프로세스입니다. 라우터는 또한 인접 디바이스가 도달 불가 또는 작동 불능 상태가 되는 경우에도 발견해야 합니다. 이 프로세스는 작은 hello 패킷을 주기적으로 전송함으로써 낮은 오버헤드로 수행됩니다. hello 패킷이 수신되는 한 라우터는 인접 디바이스가 활성 상태이며 작동 중임을 확인할 수 있습니다. 이를 확인하면 인접한 라우터가 라우팅 정보를 교환할 수 있습니다.
신뢰할 수 있는 전송에서는 모든 네이버에 EIGRP 패킷을 확실하게 순서대로 전달해야 합니다. 멀티캐스트 또는 유니캐스트 패킷의 혼합 전송을 지원합니다. 일부 EIGRP 패킷은 안정적으로 전송해야 하며, 그렇지 않은 패킷도 있어야 합니다. 효율성을 위해 필요한 경우에만 신뢰성을 제공한다. 예를 들어 이더넷과 같은 멀티캐스트 기능이 있는 다중 액세스 네트워크에서는 모든 네이버에 개별적으로 Hello를 안정적으로 전송할 필요가 없습니다. 따라서 EIGRP는 패킷에 패킷이 승인될 필요가 없음을 수신자에게 알리는 표시가 포함된 단일 멀티캐스트 hello를 전송합니다. 업데이트와 같은 다른 유형의 패킷에는 승인이 필요하며, 이는 패킷에 표시됩니다. 신뢰할 수 있는 전송에는 대기 중인 승인되지 않은 패킷이 있는 경우 멀티캐스트 패킷을 신속하게 전송할 수 있는 프로비전이 있습니다. 따라서 다양한 속도 링크가 있는 경우에도 컨버전스 시간이 낮게 유지됩니다.
DUAL 유한 상태 머신은 모든 경로 계산을 위한 결정 프로세스를 구현한다. 모든 네이버에서 광고하는 모든 경로를 추적합니다. 메트릭이라고 하는 거리 정보는 효율적인 루프 자유 경로를 선택하기 위해 DUAL에서 사용됩니다. DUAL은 실행 가능한 successor를 기반으로 라우팅 테이블에 삽입할 경로를 선택합니다. successor는 대상에 대한 최소 비용 경로를 가지며 라우팅 루프에 속하지 않도록 보장되는 패킷 전달에 사용되는 인접 라우터입니다. 실행 가능한 successor가 없지만 대상을 광고하는 인접 디바이스가 있는 경우 재계산이 이루어져야 합니다. 새로운 후임자가 결정되는 과정이다. 경로를 재계산하는 데 걸리는 시간은 통합 시간에 영향을 줍니다. 재계산이 프로세서 집약적이지 않더라도 필요하지 않은 경우 재계산을 피하는 것이 유리합니다. 토폴로지 변경이 발생하면 DUAL은 실행 가능한 successor를 테스트합니다. 실행 가능한 successor가 있는 경우 불필요한 재계산을 방지하기 위해 찾은 successor를 사용합니다. 실행 가능한 successor는 이 문서의 뒷부분에서 자세히 정의됩니다.
프로토콜 종속 모듈은 네트워크 레이어, 프로토콜별 요구 사항을 담당합니다. 예를 들어 IP-EIGRP 모듈은 IP에서 캡슐화된 EIGRP 패킷을 보내고 받는 기능을 담당합니다. IP-EIGRP는 EIGRP 패킷을 구문 분석하고 수신된 새 정보를 DUAL에 알리는 역할을 합니다. IP-EIGRP는 DUAL에게 라우팅 결정을 요청하고 그 결과가 IP 라우팅 테이블에 저장됩니다. IP-EIGRP는 다른 IP 라우팅 프로토콜에서 학습한 경로를 재배포하는 역할을 담당합니다.
EIGRP 개념
이 섹션에서는 EIGRP 구현에 대한 몇 가지 세부 사항을 설명합니다. 데이터 구조와 DUAL 개념에 대해 모두 설명합니다.
인접 테이블
각 라우터는 인접한 인접 디바이스에 대한 상태 정보를 유지합니다. 새로 검색된 인접 디바이스를 학습하면 해당 인접 디바이스의 주소와 인터페이스가 기록됩니다. 이 정보는 네이버 데이터 구조에 저장됩니다. 네이버 테이블에는 이러한 항목이 포함됩니다. 각 프로토콜 종속 모듈에 대해 하나의 네이버 테이블이 있습니다. 인접 디바이스에서 hello를 전송하면 HoldTime이 광고됩니다. HoldTime은 라우터가 인접 디바이스를 연결 가능하고 작동 가능한 것으로 간주하는 시간입니다. 즉, HoldTime 내에서 hello 패킷이 수신되지 않으면 HoldTime이 만료됩니다. HoldTime이 만료되면 DUAL에게 토폴로지 변경 사항을 알립니다.
네이버 테이블 엔트리는 또한 신뢰성 있는 전송 메커니즘에 필요한 정보를 포함한다. 시퀀스 번호는 데이터 패킷과 확인 응답을 일치시키기 위해 사용됩니다. 네이버에서 수신된 마지막 시퀀스 번호가 기록되므로 무순서 패킷을 탐지할 수 있습니다. 전송 목록은 인접 디바이스별로 가능한 재전송을 위해 패킷을 대기시키는 데 사용됩니다. 왕복 타이머는 인접 디바이스 데이터 구조에 보관되어 최적의 재전송 간격을 예측합니다.
토폴로지 테이블
토폴로지 테이블은 프로토콜 종속 모듈에 의해 채워지며 DUAL Finite State Machine에 의해 작동합니다. 여기에는 인접 라우터가 광고하는 모든 대상이 포함됩니다. 각 엔트리에는 목적지 주소 및 목적지를 광고한 네이버 목록이 연결됩니다. 각 네이버에 대해 보급된 메트릭이 기록됩니다. 네이버가 라우팅 테이블에 저장하는 메트릭입니다. 인접 디바이스가 이 대상을 광고하는 경우 패킷을 전달하려면 경로를 사용해야 합니다. 이는 거리 벡터 프로토콜이 따라야 할 중요한 규칙입니다.
또한 라우터가 대상에 도달하기 위해 사용하는 메트릭도 대상과 연결됩니다. 모든 네이버에서 최상의 알림 메트릭과 최상의 네이버에 대한 링크 비용의 합계입니다. 라우터가 라우팅 테이블에서 다른 라우터에 알리기 위해 사용하는 메트릭입니다.
실행 가능한 Successor
가능한 successor가 있으면 대상 항목이 토폴로지 테이블에서 라우팅 테이블로 이동됩니다. 대상에 대한 모든 최소 비용 경로는 집합을 형성합니다. 이 집합에서 알려진 메트릭이 현재 라우팅 테이블 메트릭보다 작은 인접 디바이스는 실행 가능한 successor로 간주됩니다.
실행 가능한 successor는 라우터에서 목적지와 관련하여 다운스트림인 네이버로 표시됩니다. 이러한 네이버 및 관련 메트릭은 전달 테이블에 배치됩니다.
인접 디바이스가 광고한 메트릭을 변경하거나 네트워크에서 토폴로지 변경이 발생할 경우 실행 가능한 successor 집합을 다시 평가해야 합니다. 그러나 이는 경로 재계산으로 분류되지 않습니다.
경로 상태
대상에 대한 토폴로지 테이블 항목은 두 가지 상태 중 하나를 가질 수 있습니다. 라우터가 경로 재계산을 수행하지 않는 경우 Passive 상태에서 경로가 고려됩니다. 라우터가 경로 재계산을 진행 중일 때는 경로가 활성 상태입니다. 항상 가능한 successor가 있는 경우 해당 경로는 Active 상태로 전환하지 않아도 되며 경로 재계산을 피할 수 있습니다.
실행 가능한 successor가 없는 경우 경로가 Active 상태가 되고 경로 재계산이 발생합니다. 라우터가 모든 네이버에 쿼리 패킷을 전송하는 경우 경로 재계산이 시작됩니다. 인접 라우터는 대상에 대해 실행 가능한 successor가 있는 경우 회신하거나, 선택적으로 경로 재계산을 수행 중임을 나타내는 쿼리를 반환할 수 있습니다. 활성 상태인 동안에는 라우터가 패킷을 전달하는 데 사용하는 next-hop 인접 디바이스를 변경할 수 없습니다. 지정된 쿼리에 대한 모든 회신을 수신하면 대상이 수동 상태로 전환되고 새 후속 작업을 선택할 수 있습니다.
유일하게 실행 가능한 successor인 인접 디바이스에 대한 링크가 중단되면 해당 인접 디바이스를 통과하는 모든 경로가 경로 재계산을 시작하고 Active 상태가 됩니다.
패킷 형식
EIGRP는 5가지 패킷 유형을 사용합니다.
앞에서 설명한 것처럼 Hello는 인접 디바이스 검색/복구를 위한 멀티캐스트입니다. 승인 필요 없음 데이터가 없는 hello는 승인(ack)으로도 사용됩니다. Ack는 항상 유니캐스트 주소를 사용하여 전송되며 0이 아닌 확인 응답 번호를 포함합니다.
업데이트는 목적지의 연결 가능성을 전달하는 데 사용됩니다. 새 인접 디바이스가 검색되면 인접 디바이스가 토폴로지 테이블을 구축할 수 있도록 업데이트 패킷이 전송됩니다. 이 경우 업데이트 패킷은 유니캐스트입니다. 링크 비용 변경과 같은 다른 경우에는 업데이트가 멀티캐스트입니다. 업데이트는 항상 안정적으로 전송됩니다.
대상이 활성 상태가 되면 쿼리 및 응답이 전송됩니다. 쿼리는 수신된 쿼리에 대한 응답으로 전송되지 않으면 항상 멀티캐스트됩니다. 이 경우 쿼리가 시작된 후속 사용자에게 다시 유니캐스트됩니다. 회신은 항상 쿼리에 대한 응답으로 전송되어 생성자에게 실행 가능한 successor가 있으므로 활성 상태로 전환할 필요가 없음을 나타냅니다. 회신은 쿼리 작성자에게 유니캐스트됩니다. 질의와 회신은 모두 안정적으로 전송됩니다.
요청 패킷은 하나 이상의 인접 디바이스로부터 특정 정보를 가져오는 데 사용됩니다. 요청 패킷은 경로 서버 애플리케이션에서 사용됩니다. 멀티캐스트 또는 유니캐스트일 수 있습니다. 요청이 불안정하게 전송됩니다.
경로 태깅
EIGRP는 내부 및 외부 경로라는 개념을 가지고 있습니다. 내부 경로는 EIGRP AS(Autonomous System) 내에서 시작된 경로입니다. 따라서 EIGRP를 실행하도록 구성된 직접 연결된 네트워크는 내부 경로로 간주되며 EIGRP AS 전체에 이 정보가 전파됩니다. 외부 경로는 다른 라우팅 프로토콜에서 학습했거나 라우팅 테이블에 고정 경로로 상주하는 경로입니다. 이러한 경로는 발신자의 ID로 개별적으로 태그가 지정됩니다.
외부 경로에는 다음 정보가 태그됩니다.
예를 들어, 3개의 보더 라우터가 있는 AS가 있다고 가정합니다. 보더 라우터는 둘 이상의 라우팅 프로토콜을 실행하는 라우터입니다. AS는 EIGRP를 라우팅 프로토콜로 사용합니다. 보더 라우터 BR1과 BR2 중 두 개는 OSPF(Open Shortest Path First)를 사용하고 다른 라우터 BR3는 RIP(Routing Information Protocol)를 사용한다고 가정해 보겠습니다.
OSPF 보더 라우터 중 하나인 BR1에서 학습한 경로는 EIGRP로 조건부로 재배포할 수 있습니다. 이는 BR1에서 실행되는 EIGRP가 자체 AS 내에서 OSPF 경로를 광고한다는 것을 의미합니다. 그러면 경로를 광고하고 OSPF 경로의 라우팅 테이블 메트릭과 동일한 메트릭을 갖는 OSPF 학습 경로로 태그를 지정합니다. router-id는 BR1로 설정됩니다. EIGRP 경로가 다른 보더 라우터로 전파됩니다. RIP 보더 라우터인 BR3도 BR1과 동일한 대상을 광고한다고 가정해 보겠습니다. 따라서 BR3는 EIGRP AS에 RIP 경로를 재배포합니다. 그런 다음 BR2에는 경로의 AS 엔트리 포인트, 사용된 원래 라우팅 프로토콜, 메트릭을 결정하는 데 필요한 정보가 충분합니다. 또한 네트워크 관리자는 경로를 재배포할 때 특정 대상에 태그 값을 할당할 수 있습니다. BR2는 이 정보를 사용하여 경로를 사용하거나 다시 OSPF에 재광고할 수 있습니다.
EIGRP 경로 태깅을 사용하면 네트워크 관리자에게 유연한 정책 제어를 제공하고 라우팅을 사용자 지정하는 데 도움이 될 수 있습니다. 경로 태깅은 EIGRP가 일반적으로 더 많은 글로벌 정책을 구현하는 도메인 간 라우팅 프로토콜과 상호 작용하는 전송 AS에서 특히 유용합니다. 이는 확장성이 매우 뛰어난 정책 기반 라우팅을 위해 결합됩니다.
호환성 모드
EIGRP는 IGRP 라우터와의 호환성 및 원활한 상호 작용을 제공합니다. 이는 사용자가 두 프로토콜의 이점을 모두 활용할 수 있도록 하는 데 중요합니다. 호환성 기능에서는 사용자가 EIGRP를 활성화하기 위해 플래그 데이를 가질 필요가 없습니다. EIGRP는 IGRP 성능에 영향을 주지 않고 전략적인 위치에서 신중하게 활성화할 수 있습니다.
IGRP 경로를 EIGRP로 가져오거나 그 반대로 가져올 수 있도록 자동 재배포 메커니즘이 사용됩니다. 두 프로토콜의 메트릭은 직접 변환할 수 있으므로, 고유한 AS에서 시작된 경로인 것처럼 쉽게 비교할 수 있습니다. 또한 IGRP 경로는 EIGRP에서 외부 경로로 취급되므로 사용자 지정 튜닝에 태그 기능을 사용할 수 있습니다.
IGRP 경로는 기본적으로 EIGRP 경로보다 우선합니다. 라우팅 프로세스를 다시 시작할 필요가 없는 컨피그레이션 명령으로 변경할 수 있습니다.
이중 예
이 네트워크 다이어그램은 DUAL이 수렴하는 방식을 보여줍니다. 이 예에서는 목적지 N에만 초점을 맞춥니다. 각 노드는 N에 대한 비용(홉)을 표시합니다. 따라서 예를 들어 C는 N에 도달하기 위해 A를 사용하고 비용은 2이다.
A와 B 간의 링크에 오류가 발생하면 B는 실행 가능한 successor를 분실했음을 인접 디바이스에 알리는 쿼리를 보냅니다. D는 쿼리를 받고 실행 가능한 다른 successor가 있는지 확인합니다. 그렇지 않은 경우 경로 계산을 시작하여 활성 상태로 전환해야 합니다. 그러나 이 경우 C는 가능한 승계자입니다. 대상 N에 대한 비용(2)이 D 현재 비용(3)보다 작기 때문입니다. D는 C로 전환할 수 있습니다. 참고 A와 C는 변경에 영향을 받지 않으므로 참여하지 않았습니다.
이제 경로 계산이 일어나도록 하자. 이 시나리오에서는 A와 C의 연결이 실패한다고 하자. C는 자신의 successor를 상실한 것으로 판단하고 다른 실행 가능한 successor를 가지지 않는다. D는 광고된 메트릭(3)이 C 현재 비용(2)보다 커서 대상 N에 도달하기 때문에 실행 가능한 successor로 간주되지 않습니다. C는 대상 N에 대한 경로 계산을 수행해야 합니다. C는 쿼리를 유일한 인접 디바이스 D로 보냅니다. D는 successor가 변경되지 않았으므로 응답합니다. D는 경로 계산을 수행할 필요가 없다. C는 답장을 받으면 모든 이웃들이 N에 실패했다는 소식을 처리했다는 것을 알고 있습니다. 이 시점에서 C는 목적지 N에 도달하기 위해 비용 (4)의 새로운 실행 가능한 후속 D를 선택할 수 있습니다. A와 B는 토폴로지 변경의 영향을 받지 않았으며 D는 C에 회신해야 했습니다.
자주 묻는 질문(FAQ)
EIGRP를 IGRP 구성처럼 쉽게 구성할 수 있습니까?
예, EIGRP를 구성하는 것처럼 EIGRP를 구성합니다. 라우팅 프로세스를 구성하고 프로토콜이 실행되는 네트워크를 지정합니다. 기존 구성 파일을 사용할 수 있습니다.
IGRP와 같은 디버깅 기능이 있습니까?
예, 프로토콜이 수행하는 작업을 알려 주는 프로토콜 독립적 및 종속적 debug 명령이 있습니다. 네이버 테이블 상태, 토폴로지 테이블 상태 및 EIGRP 트래픽 통계를 제공하는 show 명령 집합이 있습니다.
IP-EIGRP에서도 IP-IGRP에서와 동일한 기능을 사용할 수 있습니까?
IGRP에서 사용한 모든 기능은 EIGRP에서 사용할 수 있습니다. 한 가지 강조할 기능은 여러 라우팅 프로세스입니다. IGRP와 EIGRP를 모두 실행하는 단일 프로세스를 사용할 수 있습니다. 둘 다 실행하는 여러 프로세스를 사용할 수 있습니다. IGRP를 실행하는 한 프로세스와 EIGRP를 실행하는 다른 프로세스를 사용할 수 있습니다. 당신은 섞어서 매치할 수 있습니다. 이렇게 하면 요구 사항의 변화에 따라 특정 프로토콜로의 라우팅을 사용자 정의할 수 있습니다.
EIGRP에서 사용하는 대역폭 및 프로세서 리소스는 얼마입니까?
대역폭 사용률 문제는 부분 업데이트 및 증분 업데이트를 구현하여 해결했습니다. 따라서 토폴로지가 변경될 때만 라우팅 정보가 전송됩니다. 프로세서 사용률과 관련하여 실현 가능한 Successor 기술은 토폴로지 변경의 영향을 받은 라우터만 경로 재계산을 수행하도록 요구함으로써 AS의 전체 프로세서 사용률을 크게 낮춥니다. 또한 경로 재계산은 영향을 받은 경로에 대해서만 발생합니다. 이러한 데이터 구조만 액세스하고 사용합니다. 이는 복잡한 데이터 구조에서 검색 시간을 크게 단축시킨다.
IP-EIGRP는 통합 및 가변 길이 서브넷 마스크를 지원합니까?
네, 그렇습니다. IP-EIGRP는 IGRP와 동일한 방식으로 경로 어그리게이션을 수행합니다. 즉, IP 네트워크의 서브넷은 다른 IP 네트워크를 통해 광고되지 않습니다. 서브넷 경로는 단일 네트워크 번호 집계로 요약됩니다. 또한 IP-EIGRP는 IP 주소의 모든 비트 경계에서 어그리게이션을 허용하며 네트워크 인터페이스 단위로 구성할 수 있습니다.
EIGRP는 영역을 지원합니까?
단일 EIGRP 프로세스는 링크 상태 프로토콜의 영역과 유사합니다. 그러나 프로세스 내에서 정보는 임의의 인터페이스 경계에서 필터링되고 집계될 수 있습니다. 라우팅 정보 전달을 바인딩하려는 경우 여러 라우팅 프로세스를 구성하여 계층을 얻을 수 있습니다. DUAL 자체는 경로 전파를 제한하므로 일반적으로 조직 경계를 정의하는 데 여러 라우팅 프로세스가 사용됩니다.
관련 정보