이 라우터가 OSPF에서 동일한 비용으로 여러 경로를 사용하지 못하는 이유는 무엇입니까?


16

NetIron 5.2를 실행하는 Brocade 라우터와 IOS 12.4를 실행하는 Dynamips 에뮬레이션은 모두 매우 간단한 구성 인 것처럼 동일한 비용 경로를 안정적으로 사용하지 못합니다. Brocade에서 예상되는 동작을 매우 간략하게 관찰했기 때문에 "의존적으로"라고 말합니다. 그러나 오랜 시간 동안 활동이 없으면 시스템을 교란하자마자 사라졌습니다.

관련이있는 경우 상태 비 저장 네트워크 서비스에 대한 애니 캐스트 대상을 설정하고 있습니다. 이는 네트워크 경로 길이의 다양성이 거의 또는 전혀없는 사이트 별 구성이므로 애니 캐스트 기능의 목적은 주로 장애 조치 (failover) 중복 및 부분적으로로드 공유를위한 것입니다. 내 질문은 부하 공유 기능에 관한 것입니다.

프로토 타입 네트워크는 다음과 같습니다.

R1 <--N1--> Rcore <--N2--> R2

R1R2OSPF를 통해 애니 캐스트 대상을 광고한다. 경우 Rcore자사에 동일한 비용이 N1N2인터페이스를하고 애니 캐스트 목적지가 다른 라우터의 각각에서 동일한 비용이, 나는 두 개의 동일한 비용 경로를 찾을 기대 Rcore라우팅 테이블을. 나는 항상 그런 것은 아니며 예측 가능한 것도 아닙니다. 왜 안돼?

잠재적으로 관련된 세부 사항은 다음과 같습니다.

  • Rcore는 별도의 NSSA 영역에 있는 ABR N1N2백본에 연결되지 않은 ABR입니다 (표시되지 않음).
  • 의 검사 Rcore에서 예상 된 LSA 것을 LSDB를 확인한다 R1하고 R2올바르게 설치하고 올바른 메트릭 애니 캐스트 대상을 포함합니다.

가능한 세 가지 설명을 고려했습니다.

  1. 이 플랫폼에서 ECMP를 구성하고 운영하는 방법을 이해하지 못합니다. 이것은 가능성이 높으며 여기서 공급 업체 문서에서 찾을 수없는 깨달음을 찾을 수 있기를 바랍니다.
  2. OSPF 영역, ECMP, 애니 캐스트 등의 상호 작용을 이해하지 못합니다. 이것이 가능성이 높다고 생각하지는 않지만 어쨌든 무언가를 배울 준비가되어 있습니다.
  3. 이 두 벤더 구현은 동일한 버그 나 기능 불량 등으로 어려움을 겪습니다. 나는 그것이 일어날 수 있다고 생각합니다.

편집 Dynamips / Dynagen 구현을위한 구성 및 출력 예제가 추가되었습니다.

구성

라우터 R1

!
version 12.4
!
hostname R1
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
 ip ospf cost 1
!
interface FastEthernet0/0
 ip address 10.1.0.2 255.255.255.252
 ip ospf cost 2
!
router ospf 1
 router-id 10.1.0.2
 log-adjacency-changes
 area 0.0.0.1 nssa no-summary
 passive-interface Loopback0
 network 1.1.1.1 0.0.0.0 area 0.0.0.1
 network 10.1.0.0 0.0.0.3 area 0.0.0.1
!
line console 0
 exec-timeout 0 0
!
end

라우터 R2

!
version 12.4
!
hostname R2
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
 ip ospf cost 1
!
interface FastEthernet0/0
 ip address 10.2.0.2 255.255.255.252
 ip ospf cost 2
!
router ospf 1
 router-id 10.2.0.2
 log-adjacency-changes
 area 0.0.0.2 nssa no-summary
 passive-interface Loopback0
 network 1.1.1.1 0.0.0.0 area 0.0.0.2
 network 10.2.0.0 0.0.0.3 area 0.0.0.2
!
line console 0
 exec-timeout 0 0
!
end

라우터 Rcore

!
version 12.4
!
hostname Rcore
!
interface Loopback0
 ip address 10.0.0.1 255.255.255.255
 ip ospf cost 4
!
interface FastEthernet0/0
 ip address 10.1.0.1 255.255.255.252
 ip ospf cost 2
!
interface FastEthernet0/1
 ip address 10.2.0.1 255.255.255.252
 ip ospf cost 2
!
router ospf 1
 log-adjacency-changes
 area 0.0.0.1 nssa no-summary
 area 0.0.0.2 nssa no-summary
 passive-interface Loopback0
 network 10.0.0.1 0.0.0.0 area 0.0.0.0
 network 10.1.0.0 0.0.0.3 area 0.0.0.1
 network 10.2.0.0 0.0.0.3 area 0.0.0.2
!
line console 0
 exec-timeout 0 0
!
end

산출

라우터 Rcore

라우터 LSA의 R1

Rcore#sh ip ospf database router 10.1.0.2

            OSPF Router with ID (10.0.0.1) (Process ID 1)

        Router Link States (Area 0.0.0.1)

  LS age: 1618
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 10.1.0.2
  Advertising Router: 10.1.0.2
  LS Seq Number: 80000002
  Checksum: 0x726F
  Length: 48
  Number of Links: 2

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 1.1.1.1
     (Link Data) Network Mask: 255.255.255.255
      Number of TOS metrics: 0
       TOS 0 Metrics: 1

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 10.1.0.2
     (Link Data) Router Interface address: 10.1.0.2
      Number of TOS metrics: 0
       TOS 0 Metrics: 2

라우터 LSA의 R2

Rcore#sh ip ospf database router 10.2.0.2

            OSPF Router with ID (10.0.0.1) (Process ID 1)

        Router Link States (Area 0.0.0.2)

  LS age: 1766
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 10.2.0.2
  Advertising Router: 10.2.0.2
  LS Seq Number: 80000002
  Checksum: 0x8A53
  Length: 48
  Number of Links: 2

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 1.1.1.1
     (Link Data) Network Mask: 255.255.255.255
      Number of TOS metrics: 0
       TOS 0 Metrics: 1

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 10.2.0.2
     (Link Data) Router Interface address: 10.2.0.2
      Number of TOS metrics: 0
       TOS 0 Metrics: 2

라우팅 테이블 발췌

Rcore#sh ip route 1.1.1.1
Routing entry for 1.1.1.1/32
  Known via "ospf 1", distance 110, metric 3, type intra area
  Last update from 10.1.0.2 on FastEthernet0/0, 00:30:54 ago
  Routing Descriptor Blocks:
  * 10.1.0.2, from 10.1.0.2, 00:30:54 ago, via FastEthernet0/0
      Route metric is 3, traffic share count is 1

애니 캐스트는 어떤 경로 유형입니까?
니코틴

@nicotine : 애니 캐스트 주소는 루프백 인터페이스의 보조 주소입니다. 이 구성의 최신 순열에서는 라우터 LSA에서 스텁 네트워크로 끝납니다. 구성 스 니펫 및 터미널 캡처를 따릅니다.
neirbowj

나는 구성을 없애려고 노력했지만 가능한 한 많이 출력하지 않았다. 정보 밀도 향상을위한 제안을 환영합니다.
neirbowj 2016 년

이 작동합니다. 다음 명령의 출력을 게시 할 수 있습니다. show ip protocols show ip ospf rib debug ip routing Rcore에서 다음 명령을 시도하십시오. 이중 경로가 설치되지 않은 이유에 대한 힌트를 얻을 수 있습니다. OSPF DB 출력이 나에게 잘 보입니다.
Daniel Dib

활성 경로의 링크를 반송하면 여전히 원래 경로를 선호합니까? 예를 들어 : CLI 출력에 10.1.0.2를 가리키는 활성 경로가 표시됩니다. OSPF 네트워크 환경이 중단 될 정도로 인터페이스를 10.1.0.2로 종료 한 경우 다시 온라인 상태로 전환하면 10.1.0.2를 향한 원래 경로가 다시 설치됩니까?
bigmstone

답변:


7

내 첫 번째 생각은 OSPF가 단순히 동일한 접두사 대신 동일한 LSA라고 생각한다는 것입니다. 나는 브로케이드에 대해 잘 모르지만 Cisco 박스의 LSA 출력으로 더 많은 것을 말할 수 있습니다.

일반적으로 Cisco의 경우 경로가 프로토콜에서 동일하면 둘 다 라우팅 테이블에 표시됩니다. 라우팅 테이블은 기본적으로 두 경로를 모두 설치하고 ECMP를 수행합니다. 메트릭 또는 프로토콜이 다르면 ECMP가 아닙니다. 이는 동일한 접두사에 대해 다른 LSA에도 적용됩니다.


그렇습니다 – 데이터베이스 엔트리는 우리에게 같은 포워딩 주소와 광고 라우터를 가지고 있습니까?
니코틴

오늘 오후에 샘플 출력을 얻을 수 있도록 노력하겠습니다.
neirbowj

6

ECMP가 애니 캐스트에 적합한 지 고려하고 있습니다. 라우팅은 애니 캐스트를 한 호스트가 다른 호스트보다 선호되는 논리적으로 가장 가까운 목적지로 보내야합니다. 애니 캐스트 호스트가 등거리 인 경우에도 여전히 이것이 사실로 예상됩니다. ECMP로드 공유와 관련하여 / 32를 사용하면 대상별이 불가능하다고 생각합니다. 아마도 소스를 고려한로드 공유 알고리즘이있을 것입니다. 패킷 당, 심지어 DNS에서도 위험 해 보입니다. 대부분의 기본 애니 캐스트 솔루션은 호스트에서 ospf를 실행한다고 생각합니다.

약간의 검색을 수행했지만 rfc2178 에서 다음과 같은 발췌 내용 이 원인을 확인합니다.

16.8. 동일 비용 다중 경로

OSPF 프로토콜은 모든 대상에 대해 여러 개의 동일 비용 경로를 유지합니다. 이는 라우팅 테이블을 계산하기 위해 위에서 사용한 단계와 라우팅 테이블 구조의 정의에서 볼 수 있습니다.

여러 경로 중 각 경로는 동일한 유형 (영역 내, 영역 간, 유형 1 외부 또는 유형 2 외부)이며 비용 이 동일하며 관련 영역이 동일합니다 . 그러나 각 경로는 별도의 다음 홉 및 광고 라우터를 지정합니다.


1
흠, 나는 단일 영역을 실험했고 ECMP는 핵심에 존재한다. 그래도 / 32에서는 쓸모가 없다고 주장합니다. 아마도 다음과 관련이있을 것입니다 : morse.colorado.edu/~tlen5710/12s/OSPF.pdf
Dennis Olvany

영역은 ECMP의 기준 중 하나입니다. 서로 다른 영역이 거래 차단기 인 것처럼 보입니다.
데니스 올바니

호스트의 OSPF-예, 이것이 목표입니다. / 32는 루프백에서 보조 주소로 할당되었습니다. 또한로드 공유 구성을 검토하고 있지만, 우선 ECMP에 따라 다릅니다.
neirbowj 2016 년

5

실험실에서 12.4 (24)를 사용하여 이것을 재현 할 수 없습니다. 동일한 토폴로지, RCore 영역 0 루프백, lo1이있는 R1 및 영역 1의 인터페이스, lo2가있는 R2 및 영역 2의 인터페이스 (NSSA), Rcore의 ECMP에 대해 재배포 된 경로가 선택됩니다.

Routing entry for 10.20.0.0/16
  Known via "ospf 1", distance 110, metric 20, type NSSA extern 2, forward metric 6477
  Last update from 2.2.2.6 on Serial1/1, 00:02:23 ago
  Routing Descriptor Blocks:
    2.2.2.6, from 2.2.2.21, 00:02:23 ago, via Serial1/1
      Route metric is 20, traffic share count is 1
  * 1.1.2.1, from 1.1.1.1, 00:06:31 ago, via Serial1/0
      Route metric is 20, traffic share count is 1

내가 생각할 수있는 가능성 : 라우트가 OSPF로 전환되는 방식과 사용 된 OSPF 라우트 유형에 따라 ASBR 라우터 비용은 라우트 선택 프로세스에 포함되지 않을 수 있습니다 (ECMP가 작동하려면 라우트 비용 모두) ASBR 비용이 일치해야합니다. 실제 LSA에 대한 메트릭을 확인하면 도움이 될 수 있습니다.

애니 캐스트를 인터페이스에 배치하고 인터페이스를 영역에 배치하여 구성을 모방하여 IOS에서 이것을 재현 할 수있었습니다. ECMP가 필요한 경우 작동하는 것처럼 OSPF로 경로를 재분배하는 것이 좋습니다.


FWIW, 내 Dynamips 인스턴스의 이미지는 7200에서 12.4 (25d)입니다. 결과는 "Known via ... NSSA extern 2"를 표시하지만 광산은 "intra area"를 표시합니다. 좋은 단서입니다.
neirbowj 2016 년

재배포 연결은 인터페이스에서 네트워크 명령 또는 ip ospf를 사용하는 대신 생성합니다.
Daniel Dib

@DanielDib 저는 일반 / 스텁 / nssa, 영역 내 / 외부 및 적어도 Cisco + Dynamips / Brocade의 순열을 소진하는 과정에 있습니다. 시간이 있으면 주니퍼도 시험해 볼게요.
neirbowj

3

사용중인 Brocade 하드웨어 (MLX? CER? XMR?)에 따라 소프트웨어를 업데이트 할 수 있습니다. OSPF 라우트 비용과 관련된 5.3 (및 하드웨어에 따라 5.4) 소프트웨어 트리를 통해 수정 된 몇 가지 버그가 제대로 업데이트되지 않았습니다. 버그를 확인하기위한 모든 기준을 모르지만 그 중 몇 가지는 다음과 같습니다. 1 기가 포트 또는 OSPF를 실행하는 라우터의 루프백 인터페이스에서 비용이 변경된 경우 변경이 처리되지 않고 비용이 업데이트되지 않았습니다. .

두 제조업체 플랫폼에서이 문제를보고 있으므로 구성 문제 일 가능성이 높습니다. 또한 구식 기술 지원 펀트 "소프트웨어 업데이트"는 종종 눈에 띄는 가치가 없다는 것을 알고 있습니다. 즉, 명심해야 할 수도 있습니다.


나는 이것을 명심할 것이다. 그러나 R1 / R2는 비용을 설정하고 Rcore는 비용을보고 Rcore는 ECMP 증상을 나타냅니다.
neirbowj
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.