BGP를 이용한 multihomed 환경에서 두 ISP와 연결시 Redundancy 설정

as-path 와 hsrp 사용하여 구성

 

 

< 시나리오 >

outbound traffic :
모든 192.168.21.0/24 를 소스로 하는 outbound traffic는 인터넷
접속시 R1에서 ISP-A 경로를 사용  그러나 R1 장애시 모든 트레픽은 R2 에서
ISP-B의 경로를 특별한 config 없이 사용
inbound traffic :
모든 inbound traffic는 R1을 통해 들어온다.

만약 ISP-A에서 R1의 경로 장애시 inbound traffic는 ISP-B 에서 R2경로를 사용

 

시나리오 redundancy 구성

1.

HSRP를 이용하여 outbound traffic을 fully redundant path 구성, 전형적으로 PC는 라우팅 정보를 선택 교환하지 못한다.

default gateway의 ip address 는 스테틱 하게 설정되어있다.

만약 gateway 가 장애가 발생하면 PC는 alternate gateway가 존재할지라도 경로정보를 잃는다. hsrp는 이런 일련의 요구사항을 충족시켜준다.


2.

BGP as-path를 이용하여 inbound traffic에 대해 경로보장이 가능하다. as-path를 이용하여 192.168.21.0 /24 네트웤에 대한 path정보를 R2-ISPB의 경로보다 R1-ISPB의 경로를 우선하여 사용할수 있다.

외부에서는 R2-ISPB의 경로보다 R1-ISPA의 경로를 192.168.21.0/24 에 대한 BEST 경로로 선택한다.

AS100 이 광고할때 R2-ISPB 의 경로 정보에 as-prepend를 사용하여 AS 정보를 한번 더 append 한다.

 


 

[설정]

R1 :
int s0
ip add 192.168.31.1 255.255.255.0
int e1
ip address 192.168.21.1 255.255.255.0
standby 1 priority 105 (R1은 HSRP MASTER 라우터 : priority 가 높은것이 우선)
standby 1 preempt (장애 복구시 다시 원상태로 복구)
standby 1 ip 192.168.21.10 (HSRP VIP를 192.168.21.10으로)
standby 1 track serial 0 (serial 0 장애시 standby 작동)


route bgp 100
no synchronization (IBGP 사이에 IGP가 동작안할경우 no syn)
network 192.168.21.0 (192.168.21.0 을 광고)
neighbor 192.168.21.2 remote-as 100
neighbor 192.168.21.2 next-hop-self (IBGP를 통한 외부 exit 정보 획득 하지만 EBGP가 우선)
neighbor 192.168.31.3 remote-as 300
no auto-summary

 

R2 :
int s0
ip add 192.168.42.2 255.255.255.0
int 21
ip add 192.168.21.2 255.255.255.0
standby 1 priority 100 (HSRP slave)
standby 1 preempt
standby 1 ip 192.168.21.10


router bgp 100
no synchronization
network 192.168.21.0
neighbor 192.168.21.1 remote-as 100
neighbor 192.168.21.1 next-hop-self
neighbor 192.168.42.4 remote-as 400
neighbor 192.168.42.4 route-map foo out
(neighbor 192.168.42.4 로 경로정보업데이트시 foo 적용)
no auto-summary


access-list 1 permit 192.168.21.0
route-map foo permit 10
match ip address 1 (경로정보가 access-list 1 과 매칭되면)
set as-path prepend 100
(정보에 자신의 AS 번호를 한번더 append하여 외부입장에서
R1보다 R2의 경로가 멀게 보이게한다.)

● OSPF 최적 경로 선출 과정

 

OSPF에서 최적 경로를 선출하기 위해 Route Type을 사용합니다. Network 경로정보 학습의 기준에 따라 Intra, Inter, External로 나뉩니다. 

 

동일한 네트워크 경로정보가 존재하더라도 아래의 기준에 따라 최적 경로가 선출되고, 다시 COST값을 비교 한 뒤 최종적으로 최적 경로가 선출 됩니다.

우선
순위
분류 설명


높음
-----
우선
순위
-----
낮음

O 현재 라우터가 속한 Area에서 경로를 학습한 경우 Intra-area routes라고 하며 OSPF 라우팅 테이블에서 표기는 O 입니다.
O IA ABR(Area Boder Router)를 통해 경로를 학습한 경우 inter-area route라고 하며 OSPF 라우팅 테이블에서의 표기는 O IA 입니다.
O E1/N1 재분배(Redistribution)을 통해 학습한 경로를 의미하며, 라우터에서 목적지 네트워크 까지의 COST값을 계산하여 라우팅 테이블에 내리기 때문에 COST 값이 가변적 입니다. "N"은 NSSA에서 재분배한 경로 입니다.
O E2/N2 재분배(Redistribution)을 통해 학습한 경로를 의미하며, 기본적으로 Cost값은 20을 가지며 해당 값은 변경되지 않습니다. "N"은 NSSA에서 재분배한 경로 입니다.

 

 OSPF Loop Avoidance 방법과 부작용

 

OSPF는 Link-State Protocol 이지만, Area 사이는 Distance Vector 처럼 동작합니다. 동일 Area에서 발생하는 정보는 LSA Type 1 / 2 정보로 OSPF에 참여하는 모든 라우터가 동일한 토폴로지를 생성하고 동일한 LSDB를 가지고 있지만 외부 Area의 정보는 상세한 정보 대신 요약된 정보가 넘어 옵니다. 

 

OSPF에서 Loop 가 발생하지 않도록 하기위해 2가지 규칙이 존재 합니다. 일부 LSA Type에 Distance Vector 계열의 프로토콜에서 사용하는 Split-Horizon과 같은 기능을 적용하여 Area 사이에서 Loop 가 발생하지 않도록 합니다. 

 

 

  ○ OSPF Loop 방지 규칙 2가지

  1. Non-Backbone은 Intra 경로만 Backbone으로 전달 가능하고, Backbone은 Intra & Inter 경로 정보를 Non-Backbone으로 전달 가능

    → Area에서 다른 Area의 경로를 학습하는 유일한 방법은 Backbone Area를 통해서만 가능 합니다. 해당 규칙은 모든 Non-Backbone Area는 Backbone Area에 연결되어 있어야 정상적인 경로 학습이 가능합니다. 

  2. ABR은 SPF 알고리즘 계산 시 Non-Backbone에게 받은 LSA Type 3은 무시한다. 즉, Backbone Area or Other Area의 네트워크에 접근하기 위해 Non-Backbone Area를 거치지 않는다.

    → Loop를 방지하고 대역폭 낭비를 예방하기 위한 규칙 입니다. 해당 규칙으로 인해 최적 경로대신 비효율적인 경로가 선택 될 수 있습니다.

 

※ 규칙 2 세부 설명

 

ABR3's Subnet 1 네트워크 정보가 OSPF로 광고되고 해당 정보는 Area 1의 ABR1 & ABR2에게 전달 됨. 

 

R2에서 Subnet1로 가기 위해 선택되는 경로는 2번 경로를 통해서 목적지로 도달하게 됨. 

1. R2 → ABR2  ABR1  ABR3 = COST 4 (X)

2. R2 → ABR2  ABR3 = COST 102 (O)

 

ABR1에게 받은 Subnet1에 대한 LSA Type 3 정보를 무시하고 SPF 계산에 포함시키지 않습니다. 다른 Area 도달하기 위해서는 Backbone Area를 반드시 경유해야 합니다. 

 

## 중요 ##
Type 7 ->  Type 5 로 넘기는 건 Backbone Area (Area0) 의 ABR 중 하나만 가능!!!!

넘길때 Forwarding address 는 바뀌지 않음!!


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

● OSPF NSSA 정의


Stub Area의 특징을 가지고 있고, ASBR이 존재하여 외부 경로를 재분배를 통해 OSPF Domain 내부로 삽입할 수 있는 Area 입니다.

● OSPF NSSA 특징

  • 외부 경로 정보 (LSA Type 5)정보를 받지 않는 Stub 특성을 가지고 있지만 ASBR을 가질 수 있는 특수 AREA.
  • ASBR within NSSA에서 재분배를 수행하게 되면 O N1, O N2의 Route Type으로 라우팅 테이블에 나타남
  • NSSA에서 재분배되는 네트워크 경로 정보는 LSA Type 7으로 전달되며, NSSA ABR이 LSA Type 5로 변경하여 다른 Area로 광고를 수행 함.
  • NSSA ABR 2개 이상 있을 경우 가장 높은 Router-ID를 가진 NSSA ABR이 Type 7 → Type 5 변경을 수행
  • LSA Type 7 헤더에는 P bit (Propagation bit)가 설정되어 있어 NSSA ↔ Backbone 사이 Loop 방지 역할 수행
  • Stub와 달리 Default Route가 자동으로 생성되지 않음. 생성을 위해 ABR에서 추가 명령어 입력이 필요함.
  • NSSA의 기능을 확장 한 Cisco 전용 기술인 Totally NSSA가 있으며 NSSA ABR이 LSA Type 3 ~ 5 정보 Filtering을 수행하고 Default Route를 생성하여 NSSA Neighbor에게 전달


● OSPF NSSA Default Routing 생성 방법

NSSA는 ASBR이 존재하기 때문에 기본적으로 Default 경로 정보를 전달하지 않습니다. 그래서 Default Route 정보를 NSSA OSPF Router에게 전달하기 위해 NSSA ABR은 별도의 명령어를 사용해야 합니다.

NSSA_ABR(router-config)#area area-id nssa default-information-originate


● OSPF Stub & NSSA 비교

Area Type Type 3 Filtering Type 4/5 Filtering Type 7 생성 설정 방법 (OSPF Mode)
Stubby Area No YES NO area area-id stub
Totally Stubby Area YES YES NO area area-id stub no-summary
NSSA NO YES YES area area-id nssa
Totally NSSA YES YES YES area area-id nssa no-summary
 

● OSPF Stub Area & Totally Stub Area 정의

 

LSDB에 저장되는 경로정보를 축소 및 프로세싱 자원을 절약하기 위해 상세한 외부경로 정보대신 Default Gateway 정보를 받아 라우팅 테이블에 내리는 기술이 적용되는 Area를 의미 합니다.

 

● OSPF Stub Area & Totally Stub Area 장점 및 특징

 

장점 - LSDB 크기 및 라우팅 테이블이 감소하여 자원 저장과 계산에 사용되는 리소스를 절약할 수 있습니다.
- 30분 마다 수행하는 LSA Flooding 작업의 부하가 감소 합니다.
특징 Stub Area - ASBR이 수행한 재분배를 통해 학습된 외부경로를 수용하지 않는 Area 입니다. 
- 상세한 외부 정보 대신 Default Route (0.0.0.0/0)을 사용하여 외부와 통신 합니다. 
- Stub Area로 설정되면 ASBR이 존재할 수 없습니다. (ABR = ASBR인 경우 제외)
Totally Stub Area - Cisco 전용 Area Type 입니다. (최근에는 대부분의 Vendor가 지원 합니다.)
- Stub Area의 특징을 가지고 있으며 LSA Type 3  정보도 받지 않는 Area 입니다.
- LSA Type 3 ~5 정보를 받지 않는 대신 Default Route를 사용하여 통신을 수행합니다.

 

● OSPF Stub Area & Totally Stub Area 설정

 

  ○ OSPF Stub Area 설정 이전

R2# show ip route ospf
<Output omitted>

      172.16.0.0/16 is variably subnetted, 4 subnets, 3 masks
O IA     172.16.13.0/30 [110/20] via 172.16.12.1, 00:56:16, Ethernet0/0
O IA     172.16.14.0/25 [110/20] via 172.16.12.1, 00:56:16, Ethernet0/0
O IA  192.168.1.0/24 [110/11] via 172.16.12.1, 00:56:16, Ethernet0/0
O IA  192.168.3.0/24 [110/21] via 172.16.12.1, 00:54:50, Ethernet0/0
O IA  192.168.4.0/24 [110/21] via 172.16.12.1, 00:46:00, Ethernet0/0
O E2  198.51.100.0/24 [110/20] via 172.16.12.1, 00:01:47, Ethernet0/0
O E2  203.0.113.0/24 [110/20] via 172.16.12.1, 00:01:47, Ethernet0/0

 

○ OSPF Stub Area 설정 & 설정 이후 라우팅 테이블

 

R1(config)# router ospf 1
R1(config-router)# area 1 stub
%OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Ethernet0/1 from FULL to DOWN, Neighbor
Down: Adjacency forced to reset

R2(config)# router ospf 1
R2(config-router)# area 1 stub
%OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Ethernet0/0 from LOADING to FULL, Loading
Done

Stub Area 설정 이후 외부경로 (E2) 정보가 라우팅 테이블에서 사라지고 Default Route 정보만 남아있는 것을 확인 할 수 있습니다. 

R2# show ip route ospf
<Output omitted>

O*IA  0.0.0.0/0 [110/11] via 172.16.12.1, 00:19:27, Ethernet0/0

      172.16.0.0/16 is variably subnetted, 4 subnets, 3 masks
O IA     172.16.13.0/30 [110/20] via 172.16.12.1, 00:19:27, Ethernet0/0
O IA     172.16.14.0/25 [110/20] via 172.16.12.1, 00:19:27, Ethernet0/0
O IA  192.168.1.0/24 [110/11] via 172.16.12.1, 00:19:27, Ethernet0/0
O IA  192.168.3.0/24 [110/21] via 172.16.12.1, 00:19:27, Ethernet0/0
O IA  192.168.4.0/24 [110/21] via 172.16.12.1, 00:19:27, Ethernet0/0

 

  ○ OSPF Totally Stub Area 설정 & 설정 이후 라우팅 테이블

 

Totally Stub 설정은 ABR에서 stub 이후 no-summary 옵션을 넣어주면 totally stub로 동작 합니다.

R1(config)# router ospf 1
R1(config-router)# area 2 stub no-summary
 %OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on Ethernet0/2 from FULL to
DOWN, Neighbor Down: Adjacency forced to reset

R3(config)# router ospf 1
R3(config-router)# area 2 stub
%OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Ethernet0/0 from LOADING to FULL, Loading Done

 

Totally Stub로 동작하게되면 모든 외부 경로에 대한 상세 정보대신 Default Route로 대체 됩니다. 라우팅 테이블에는 아래와 같이 나타나게 됩니다. 

R3# show ip route ospf
<Output omitted>
Gateway of last resort is 172.16.13.1 to network 0.0.0.0
O*IA  0.0.0.0/0 [110/11] via 172.16.13.1, 00:18:08, Ethernet0/0

 

● OSPF Stub Area & Totally Stub Area Default Cost 값 변경

 

Stub Area 구성 시 Default Route Cost값은 1이며 명령어를 통해서 수정이 가능합니다. Cost값 변경을 통해 Redundent 구성을 할 수 있습니다.  아래 명령어를 통해서 Cost값을 변경할 수 있으며 ABR에서만 설정하면 됩니다.

명령어: Router(config-router)#area area-id default-cost cost

 

가상링크 기술은 개념이해만으로 충분합니다. 실제 사용 사례가 없습니다.


● OSPF Virtual Link 정의

 

 

OSPF Two-Tier Hierarchy 원칙에 따르면 Backbone Area는 연속적으로 구성되어야 합니다. 예외적인 상황에서 Back-bone Area가 분할되어 있을 경우 상호 연결 시켜주는 기술 또는 Backbone Area에 연결되지 않은 Area를 Backbone Area에 연결시키는 기술을 의미 합니다. 

 

● OSPF Virtual Link 특징

  • Virtual Link의 사용은 특수한 목적 달성을 위해 일시적으로 사용해야 합니다. 
  • Virtual Link를 통해 학습한 경로는 DoNotAge(DNA) bit가 활성화 되어있어 LSDB Aging Time이 증가하지 않음
    - LSDB Refresh를 수행하지 않아 해당 경로가 유효하지 않더라도 유지하고 있음
    - 지속적으로 LSDB에 데이터만 누적되기 때문에 자원의 낭비가 발생 함
  • Virtual Link 구성은 일반적인 Non-Backbone Area일 경우에만 설정 할 수 있음
    - Stub/Totally Stub 와 같은 특수 Area에서는 Virtual-Link 설정 불가능
  • Non-Backbone Area 1개를 초과하여 Virtual-Link를 구성 할 수 없음
    - Area 0 ↔ Area 1 ↔ Area 2  → Virtual Link 구성 가능
    - Area 0 ↔ Area 1 ↔ Area 2 ↔ Area 3 → Virtual Link 구성 불가능
  • Virtual-Link 구성 시 Router-ID 정보를 활용 함

 

● OSPF Virtual Link 설정

Router(router-config)#area area-id virtual-link router-id [authentication [message-digest| null]]
[hello-interval seconds] [retransmit-interval seconds] [transmit-
delay seconds] [dead-interval seconds] [[authentication-key
key] | [message-digest-key key-id md5 key]]
area-id Virtual link를 구성하기 위한 Area 정보.  예제에서는 Area 1을 통해 Virtual-Link가 구성 되었음.
router-id Virtual Link Neighbor 관계를 맺을 때 사용하는 정보.
show ip ospf 명령어를 통해서 router-id 정보 획득이 가능함
authentication OSPF Neighbor 관계 수립 시 인증이 있을 경우 상호 정보가 일치해야 함. MD5 & Null 2개가 있음
hello interval Hello Packet 전송 시간. 기본값은 10초. 
retransmit interval LSA 재전송 시간. 기본값 5초
transmit delay LSU 패킷 전송 시간. 기본값 1초.
dead invertal Neighbor Router가 죽었다고 판단하는 시간. 기본적으로 hello interval 4배
authentication-key key 인증에 사용되는 단순 패스워드 인증 방식. 최대 8 글자 사용 가능하며 기본값 없음
message-digest-key key-idmd5 key
인증에 사용되는 MD5 정보. 기본값 없음.

 


출처: https://www.ciscopress.com/articles/article.asp?p=2294214&seqNum=3

 

 

● OSPF Link-State Announcements 정의 및 용어

 

OSPF 도메인내에 있는 다른 라우터들과 멀티캐스트를 통해 상호간에 커뮤니케이션을 할 수 있는 메시지를 LSA라고 합니다. 즉, OSPF 라우터들 간에 LSDB를 동기화 시키는 작업을 수행할 때 사용되는 메시지 입니다.

 

ABR 

정의 2개 이상의 Area에 소속되어 있는 라우터를 ABR (Area Border Router)이라고 합니다. 
특징  Route Summary 및 Route Filtering을 수행 합니다.
  - Area 내부의 LSDB정보는 동일해야 하기 때문에 다른 Area로 네트워크 정보를 넘길 때 해당 작업을 수행 합니다.

※ LSA Type 3 & 4를 생성 합니다. 
  - 다른 Area의 네트워크 정보만 LSA Type 3으로 생성하여 다른 Area로 전달 합니다. 
  - ASBR의 정보가 담긴 LSA Type 4 생성하여 전달 합니다. 
ASBR 정의 OSPF외 다른 Routing Protocol이 동작하는 라우터를 ASBR (Autonomous System Boundary Router)이라고 정의 합니다. 
특징 ※ 다른 Dynamic Routing Procol의 네트워크 정보를 OSPF로 공유할 수 있습니다.
  - Redistribution (재분배)를 통해서 가능하며, LSDB의 External에 저장됩니다.

※ LSA Type 5를 생성 합니다. 
  - 외부 라우팅 정보를 전달하기 위해 LSA Type 5정보가 생성 됩니다. 다른 라우팅 프로토콜이 동작하는 인터페이스를 OSPF 광고에 넣을 경우 Forwarding Address가 생성되며 LSA Type 4정보 대신 LSA Type 5에 설정 된 FA 정보를 사용하여 ASBR을 찾습니다.

 

● OSPF Link-State Announcements Type

 

Type 항목 설명
Type 1 Router LSA 모든 OSPF 라우터가 Type 1의 패킷 생성을 수행하며 LSDB 구성을 위한 가장 필수적인 데이터 입니다.
Type 2 Network LSA DR이 다른 라우터들에게 토폴로지 정보를 전송하는 패킷 입니다
Type 3 Summary LSA ABR에서 발생하는 LSA 이며, 경로 축약 시 사용하는 LSA 입니다.  
Type 4 ASBR Summary LSA ASBR의 Type 5 LSA에는 Next-Hop 정보가 없기 때문에 ABR 장비가 Type 5 LSA를 받아 Next-Hop 정보를 추가하여 다른 Area로 전달 합니다
Type 5 External LSA ASBR에서 재분배 시 발생하는 LSA Type이고, Stub 와 totally Stub Area를 제외한 모든 Area로 LSA를 전달 합니다
Type 7 NSSA External LSA NSSA(Not So Stub Area) 장비에서 재분배된 경로에 대한 LSA 입니다
※ Not So Stubby Area는 Stub의 이점을 가지면서도 재분배도 할 수 있는 OSPF의 특수 Area 

※ LSA Type 7은 NSSA에서 같이 진행 예정 입니다.

 

  1) LSA 메시지 공통 내용

 

항목 설명
LSA Sequences - LSA 전송 지연에 의해 발생할 수 있는 문제를 해결하기 위해 사용 됩니다. 

- Sequence는 32bit로 이며, 라우터가 LSA를 발생 시키면 1씩 증가 합니다 

- 라우터가 자신의 LSDB에 있는 것보다 더 큰 Sequence를 수신한다면 최신 정보라고 판단하고 갱신 작업을 진행하고 작을 경우 해당 LSA를 폐기합니다
LSA Age and Flooding - 모든 OSPF LSA에는 age 값이 들어가는데 해당 값은 local LSDB에 저장되고 1초당 1씩 age 값이 증가합니다. 

- OSPF LSA age값이 1800초 (30분)을 초과 할 경우 age값을 0으로 변경 후 새로운 LSA를 전송합니다. 

- LSA age값이 3600초 (1시간)에 도달할 경우 해당 LSA는 유효하지 않은 것으로 판단하며 LSDB에서 삭제 시킵니다. 

- 반복적인 LSA flooding은 모든 라우터들의 일관성 있는 LSDB를 유지하기 위한 안전 장치 입니다. 
LSA Type - OSPF가 동작하는 모든 라우터들은 자신이 속한 Area 또는 상태에 따라 여러개의 LSA를 전송하는데 LSA의 식별 정보로 사용 됩니다.

 

  2) LSA Type 1 - Router LSA

LSA Type 1 확인 명령어 : show ip ospf database router

 

Type 1 LSA의 전달 범위는 소속 된 Area 범위로 제한되며, 모든 OSPF 라우터가 Type 1 LSA 광고를 수행 합니다.  Type 1 LSA는 LSDB 구성을 위한 필수적인 메시지 이며, OSPF가 활성화된 모든 링크에서 해당 메시지를 전송합니다.

 

Type 1 LSA광고 시 OSPF가 활성화 되어 있는 모든 링크정보를 전달 합니다.  링크 정보는 OSPF동작 여부에 따라 다른 Type 정보를 알려줍니다. 

 

Type ID Connection 설명
1 Neighbor Router's ID  Point-to-Point Connection  - 2대의 라우터만 연결되는 환경, DR 선출이 없기 때문에 transit network가 될 수 없음 

 - single transit-type 에 대한 명세가 없어 이중 기록을 수행하며, P2P의 경우 stub network로 표기 됨
2 DR's IP Address  Connection to Transit Network  - 최소 2개 이상의 라우터가 연결 되어 있는 multiaccess 환경 

 - DR이 선출되는 환경일 경우
3 IP Network/Subnet  Connection to Stub Network  - 단일 라우터로 구성되어 있는 network, 토폴로지에 Gateway 정보만 있는 네트워크

 - 이더넷 환경에서 neighbor 관계를 맺지 않는 정보는 stub network로 간주 함
4 Neighbor Router's ID  Virtual Link  - type 1번 설명과 동일 

 - area 0를 거치지 않고 연결되기 때문에 P2P 환경과 유사함

 

 

  3) LSA Type 2 - Network LSA

 

LSA Type 2 확인 명령어 : show ip ospf database network

Type 2 LSA는 DR이 선출되는 환경인 multi-access network 에서 사용 되며, DR 라우터만 해당 메시지를 전송하며 Type 2 메시지에는 network segment에 연결되어 있는 모든 OSPF Router-ID가 포함되어 있습니다. 

DR을 선출하지 않는 OSPF Network Type의 경우 (Point-to-Point 와 같은) stub network로 간주하여 LSDB에 저장이 됩니다.  

 

  4) LSA Type 3 - Summary LSA

LSA Type 3 확인 명령어 : show ip ospf database summary

Type 3 LSA는 다른 area로 부터 넘어온 network를 위해 사용 됩니다. 복수개의 Area에 속해 있는 ABR 장비가 해당 메시지를 생성합니다. ABR은 Type 1과 Type 2 메시지를 다른 Area로 전달하지 않고 가공하여 사용 합니다. 


ABR이 Type 1 LSA 메시지를 수신하면 메시지에 포함된 네트워크 정보를 참조하여 Type 3 LSA를 생성하며, Type 2 LSA 메시지 수신 시 multi-access network의 network mask를 결정하는데 이용합니다.

 

 

  5) LSA Type 4 - ASBR Summary LSA

 

LSA Type 4 & 5는 재분배 과정에서 사용하게 되는 LSA Type 이며, LSA Type 4는 ASBR에 대한 정보를 담고 있는 메시지 입니다. ASBR은 LSA Type 1에 E (external) bit를 설정해서 광고하고 해당 정보를 통해 Area에 ASBR이 있다는 것을 인지하게 됩니다. ASBR과 같은 Area에 있는 라우터들은 LSA Type 1정보를 이용하여 ASBR을 찾아 갈 수 있지만 다른 Area에 있는 라우터들은 ASBR에 대한 정보를 알 수 없습니다. (LSA Type 5에는 외부 네트워크에 대한 정보만 존재하며 ASBR에 대한 정보는 없음)

 

ABR에서 ASBR의 Router-ID 정보가 포함 된 Type 4 LSA를 생성하여 다른 Area로 전달합니다. 다른 Area로 다시 전달 될 때 ABR은 LSA Type 4를 재생산 (Regenearte)하여 전달합니다. Regenerate라는 용어를 사용하는 것은 ASBR까지 도달하기 위한 매개변수값을 재계산하여 전달하기 때문 입니다.

 

 

  6) LSA Type 5 - External LSA

 

LSA Type 5는 ASBR이 생성하고 OSPF 외부 네트워크 설명에 사용됩니다. 재분배하는 네트워크 정보만 포함되어 있기 때문에 ASBR 정보를 알리기 위해 LSA Type 4를 사용 합니다. 

 

OSPF가 재분배를 통해 외부 네트워크 정보를 가져올 때 E1, E2 2개의 Type이 존재하며 E1이 E2보다 우선순위가 높아 ASBR이 2개 일 경우 Active / Backup을 구성하기 위해 E1, E2를 혼합하여 사용하기도 합니다. 

 

E1 - 외부 네트워크 경로 정보이며 COST값은 가변적 입니다. 
- ASBR까지 Cost값을 추가하여 사용 합니다. 
E2 - 외부 네트워크 경로 정보이며 COST값은 고정적으로 20의 값을 가집니다.
- E2로 광고하는 ASBR이 다수 존재할 경우 가장 가까운 ASBR을 선택하여 트래픽을 전송 합니다.

 

Type 5는 ASBR의 정보를 전달 할 수 없으나, Forwarding Address를 사용하면 ASBR의 정보를 전달 할 수 있어 Type 4의 정보는 필요가 없다. (그래도 자동으로 생성된다.) Forwarding Address는 다른 라우팅 프로토콜이 동작하는 인터페이스를 OSPF로 광고하면 LSA Type 5에 Forwarding Address가 설정되어 전달 됩니다. Forwarding Address에 대한 정보가 LSA Type 3으로 다른 Area로 광고되며 OSPF Router들은 LSA Type 4가 없더라도 ASBR의 정보를 알 수 있습니다. 1)

 

 

  7) LSA Type 4 & 5 LSA Type 도식화

 

  • R3 (ASBR)이 외부 경로 정보를 OSPF External LSDB에 저장
  • R3의 LSA Type 1에 E bit (External Bit) 설정하여 전달. R2는 Area 1에 ASBR 존재를 인식 함
  • R3 (ASBR)이 재분배한 외부 네트워크 정보가 Type 5로 다른 Area로 전달 됨. E1, E2 External Type 결정
  • R2 (ABR)가 ASBR의 정보가 있는 Type 4를 생성하여 전달. R1은 ASBR까지 도달하기 위한 Cost값 재계산 후 LSA Type 4 정보를 다른 Area로 전달

1) Forwarding Address가 없으면 0.0.0.0으로 설정 됩니다. 

 

● OSPF Route Filtering 정의

 

Route Filter 기술은 Neighbor에게 경로정보를 송신 또는 수신 할 때 선택적으로 수행하는 기술 입니다. 해당 기술은 트래픽의 흐름 변경, 메모리 사용율 절감 및 보안성 강화의 목적으로 사용 됩니다.

 

OSPF는 동일 Area 안에 있는 라우터는 동일한 LSDB를 공유하기 때문에 Filtering을 수행하는 위치는 경로가 유입되는 ABR 이고, filtering의 결과는 중첩 됩니다. 

 

 OSPF Route Filtering 수행 방법


  1) not-advertise keyword 사용
    
경로 축약 수행 시 not-advertise 키워드를 사용하여 특정 경로 정보를 광고에서 제외 (LSA Type 1 →  LSA Type 3으로 변환 제외) 하는 방법 입니다. 다른 Area로 넘어가지 않고 해당 경로를 광고한 Local Area에서만 경로정보가 광고 됩니다.

 

not-advertise 명령어를 사용하기 위한 전체 구조 입니다. 

router(config-router)#area area-id range network subnetmask not-advertise

 

not-advertise 를 이용한 경로 filtering 수행 방법


R1에서 3개의 네트워크 대역을 광고하고 R2는 Area 12에서 발생되는 LSA Type 1 정보를 필터링하여 Area 0에게 전달 할 수 있습니다

 

 

R2에서 특정 네트워크 대역에 대해 not-advertise keyword를 추가하여 광고에서 제외 하였습니다. R3에서 라우팅 테이블을 확인해보면 172.16.2.0/24 대역이 사라진것을 확인 할 수 있습니다.

 

 

 

  2) Area Filtering (Using prefix-list & filter-list)

 

경로 축약시 not-advertise 키워드를 사용하면 쉽게 filtering이 가능하지만 다른 Area에서 들어온 경로 정보는 not-keyword 사용이 불가능합니다. 

 

172.16.1.0/24 네트워크가 Area 0에서는 필요하지만 Area 34에서는 필요하지 않을 경우 기존의 경로축약 방법에서는 해당 경로를 제외하고 광고할 수 있는 방법이 없습니다. 

 

ABR에서 LSA Type 3을 filering 하여 다른 Area로 특정 대역에 대한 정보전달을 제어할 수 있습니다. 이를 Area filtering 이라고 부릅니다.  

 

 

area filtering 수행하기 위한 위한 전체 명령어 구조 이며, filter-list를 사용합니다.

router(config-router)#area area-id filter-list prefix prefix-list-name {in | out}

 

  • R1은 172.16.1.0/24, 172.16.2.0/24, 172.16.3.0/24 3개의 Network 대역을 OSPF를 통해 광고
  • R2는 172.16.1.0/24 Network가 불필요 (Area 12의 정보가 Area 0에 들어올 때 특정 대역 제거, 방향성 in)
  • R3은 172.16.2.0/24 Network가 불필요 (Area 0의 정보가 Area 34로 내보낼 때 특정 대역 제거, 방향성 out)

 

Area filtering 설정 이후 라우팅 테이블을 확인 해 보면, Area 0에 속해있는 장비 R2 & R3 에서는 172.16.1.0/24 대역이 사라진 것을 확인 할 수 있으며, Area 34에 속해 있는 장비 R4에서는 172.16.2.0/24 대역이 사라진 것을 확인 할 수 있습니다.

 

 

 

  3) Local OSPF Filtering (Using access-list & distribute-list)

 

OSPF는 Link State Protocol로 동일한 Area에 속해 있는 장비는 모두 동일한 LSDB를 공유합니다. 하지만 특별한 사유에 의해서 특정 경로만 라우팅 테이블에서 제외가 필요할 경우 distribute-list를 사용하여 제외 시킬 수 있습니다.

 

OSPF Process 아래에서 distribute-list를 이용하면 LSDB에는 Neighbor로 부터 수신한 경로 정보가 존재하나 Local Routing Table에서만 경로정보가 삭제 됩니다.  

 

router(config-router)#distribute-list {acl-number | acl-name | prefix prefix-list-name | route-map route-map-name} in

 

 

distribute-list의 영향은 local routing table로 한정되고 neighbor에게 영향을 미치지 않습니다. 주의해야 할 점은 distribute-list와 filter-list를 같이 사용하면 안됩니다.

 

 

라우팅 테이블을 확인해 보면 R2에서는 172.16.3.0/24 대역은 라우팅 테이블에서 보이지 않지만 R3에서는 해당 대역이 라우팅 테이블에 존재하는 것을 확인 할 수 있습니다.

 

 

● OSPF Route Summarization 정의

 

다수의 네트워크 경로를 하나로 통합하여 다른 Area로 전달하는 행위를 경로 축약이라고 하며, 경로 축약을 수행하는 위치는 ABR 입니다.  

 

 

● OSPF Route Summarization 특징

  • LSDB의 전체적인 크기 감소
    A Class (10.0.0.1 ~ 10.255.255.254) 까지의 라우팅 정보를 10.0.0.0/8 경로로 축약하여 1600만개의 라우팅 정보가 1개로 감소
  • SPF 계산 시간 감소
    다른 Area에서 발생한 Link 장애로 인해 OSPF 경로 정보가 변경되면 ABR은 Type 3 정보를 이용하여 변경 된 경로정보 업데이트를 수행 해야하나, 축약을 하면 별도의 업데이트가 불필요함
  • Area 기준 경로축약 수행
    ABR에서 경로 축약을 수행하며, 축약의 기준은 Area 입니다. (Area 3의 정보를 축약하여 Area 0에게 전달) ABR이 Type 1 데이터를 수신하면 이를 Type 3으로 변경하여 다른 Area 에게 전달 합니다.
  • 축약 경로 Metric
    축약 경로의 Metric 값은 축약 범위에 있는 메트릭 중 최소 Metric 값으로 지정 됩니다. 최소 Metric 값을 갖는 Link에 장애가 발생한다면 그 다음으로 낮은 Metric값이 선정되어 Type 3 LSA가 광고 됩니다. 

 

● OSPF Route Summarization 방법

 

R1 ~ R5 라우터별 IP 및 설정 및 Loopback IP 설정 후 OSPF 동작. R5에서 라우팅 테이블을 확인

 

ABR 장비인 R4에서 Area 1의 경로정보를 축약하여 Area 0에게 전달

 

R4(config)#rotuer ospf 1
R4(config-router)#area 1 range 10.0.0.0 255.255.0.0 [advertise, cost, non-advertise]

 

R1이 가지고 있는 IP로 정상적으로 통신이 되는 것을 확인 할 수 있으며, 경로 축약 수행 시 축약된 경로의 cost는 축약에 포함된 네트워크 경로중 가장 낮은 cost값을 가져가는 것을 확인 할 수 있습니다.

● OSPF Route Advertisement 방법

 

OSPF를 설정하는 방법은 OSPF Process 아래에서 설정하는 방법과 세부적인 옵션을 적용하기 위하여 인터페이스에서 OSPF를 설정하는 2가지 방법이 존재합니다.

 

  1) 명시적인 IP 주소 선언

 

OSPF를 활성화 시킬 인터페이스의 IP만 정확하게 지정하여 설정하는 방법

 

router#config termial
router(config)#router ospf 1
router(config-router)#network 10.0.21.1 0.0.0.0 area 0

 

 

  2) 명시적인 서브넷 선언

 

인터페이스에 명시된 서브넷 마스크를 와일드카드 마스크로 변경하여 입력

 

router#config termial
router(config)#router ospf 1
router(config-router)#network 10.0.21.0 0.0.0.255 area 0

 

  3) 서브넷  범위를 지정하여 선언

 

인터페이스의 IP를 모두 포함하는 서브넷을 지정하여 설정

 

router#config termial
router(config)#router ospf 1
router(config-router)#network 10.0.0.0 0.192.255.255 area 0

 

  4) 모든 인터페이스를 OSPF로 설정

 

라우터의 모든 인터페이스에 OSPF를 활성화 시키는 방법

 

router#config termial
router(config)#router ospf 1
router(config-router)#network 0.0.0.0 0.0.0.0 area 0

 

  5) 인터페이스에서 OSPF로 설정

 

OSPF 설정이 명확하게 드러나는 장점이 있으나 설정이 중앙화 되어  있지 못해 놜이의 어려움과 복잡함이 증가함

 

router#config termial
router(config)#interface gi0/0
router(config-router)#ip ospf 1 area 0

 

 

  6) OSPF Default Route 광고

 

OSPF 도메인 내부에 Defualt Route 정보 광고를 수행합니다. 기존 라우팅 테이블에 Default Route가 없을 경우 always 옵션을 추가하면 OSPF가 Default Route 경로를 생성하여 도메인 내부로 광고합니다.

 

router#config termial
router(config)#router ospf 1
router(config-router)#default-infomation originate [always] [metric-value] [metric-type]

 

 

  7) OSPF Passive-Interface

 

Passive Interface로 설정 시 Hello Pakcet을 전송하지 않으며 결론적으로 Neighbor 관계를 맺을 수 없습니다. Passive로 설정 된 인터페이스의 Connect는 Stube로 표기됩니다. 

 

Router(config)#router ospf 1
Router(Config-Router)# passive interface gix/x   (특정 인터페이스만 Passive로 전환)
Router(Config-Router)# passive interface default (모든 인터페이스를 Passive로 전환

● OSPF Area 정의

 

OSPF의 Area는 라우터들의 논리적인 집합을 의미 하며, 인터페이스들의 논리적인 집합 입니다. Area의 설정은 인터페이스 단위로 설정 합니다.

 

 

● OSPF Area 특징

  • OSPF AREA 정보는 OSPF Hello Packet에 포함되어 전달되며 Area 정보가 서로 다를 경우 Neighbor 관계를 맺지 못함
  • Interface는 오직 하나의 Area에만 할당 가능, Area를 기준으로 LSDB를 생성 / 관리 
  • 2개 이상의 Area와 인접한 라우터를 ABR (Area Border Router)라고 하며, 네트워크 경로 축약을 수행 함
  • 서로 다른 Area와 통신을 하기 위해 Area 0를 통해서만 통신이 가능
  • Area ID설정은 Simple Decimal 또는 Dotted Decimal로 설정 가능. Area 설정 시 어느방법을 사용해도 무관하나 인접 장비의 Area 설정 방법은 동일해야 함. OSPF Hello Packet에 포함된 정보는 Dotted Decimal로 표기 됨

 

● OSPF 계층적 Area 디자인과 용어

 

용어 설명
Backbone Area
Transit Area (Area 0)
- OSPF에 핵심이 되는 Area이며 Non-Backbone Area는 Backbone Area에 연결되어야만 네트워크 정보가 상호간에 교환 됩니다.
- Backbone Area는 연속성있게 연결되어 있어야 하며 중간에 끊어지면 안됩니다.
Non-Backbone Area - Backbone Area외 모든 Area를 의미 합니다. 
- 서로 다른 Non-Backbone Area 사이 트래픽은 Backbone Area를 통해 전달 됩니다.
ABR - Area 0를 포함하여 최소 2개 이상의 Area에 소속되어 있는 라우터를 의미 합니다.
- LSDB는 Area 단위로 생성하며, Area 단위로 경로 계산을 수행 합니다. 
- Area 사이에서 네트워크 정보를 광고합니다. (LSA Type 3)
ASBR - OSPF와 다른 Dynamic Routing Procol이 동시에 동작하는 라우터 입니다.
- 재분배를 통해 외부 네트워크 정보를 OSPF로 가져올 수 있습니다.
Internal Router - 모든 인터페이스가 1개의 Area에 속해있는 라우터 입니다. 
Backbone Router - 최소 1개 이상의 인터페이스가 Area 0에 포함되어 있는 라우터 입니다.

 

● OSPF Area 디자인에 따른 장점과 단점

 

단일 Area 정의 Area 0만으로 구성된 OSPF Design
장점 º 단일 Area 사용으로 토폴로지 구성이 단순함
단점 º Area 내부에서 링크 Up/Down이 발생할 경우 SFP 계산이 발생 하며 LSDB 업데이트 패킷이 다수 발생
º LSDB의 크기가 커져 관리 가능한 범주를 넘어설 수 있음
º LSDB 크기가 커질 수록 더 많은 메모리를 소모하며 SPF 계산이 지연 될 수 있음
º 경로 축약이 불가능 (OSPF의 경로축약은 ABR에서 수행)
다중 Area 정의 Area 0와 추가적인 Area로 구성된 OSPF Design
장점 º 계층적 Area 관리를 통한 LSDB 사이즈 감소 
º 경로 축약을 통해 라우팅 테이블 크기 감소 
º 다른 Area에서 발생한 네트워크 문제가 다른 Area로 전파되지 않음
단점 º Area 0를 거치지 않을 경우 다른 Area 간 통신 불가 
º 잘못된 경로 축약 수행 시 패킷 유실 발생

※ 단일 Area에 포함 시킬 수 있는 라우터의 수량은 네트워크 안정성과 같은 요소에 따라 다르지만 일반적으로 권고하는 수량은 50개 미만.

 

● OSPF Route Type (via OSPF Area)

 

OSPF 네트워크 경로에는 학습 방식과 학습 위치에 따라 Route Type이 존재 하며, Route Type에도 우선순위가 존재 합니다.  (경로의 우선순위는 O > O IA > O E1 > O E2 순서)

 

분류 설명
O 현재 라우터가 속한 Area에서 경로를 학습한 경우 intra-area routes 라고 하며 OSPF 라우팅 테이블에서의 표기는 O 입니다.
O IA ABR(Area Boder Router)를 통해 경로를 학습한 경우 interarea route라고 하며 OSPF 라우팅 테이블에서의 표기는 O IA 입니다
O E1 재분배(Redistribution)을 통해 학습한 경로를 의미하며, Interface Cost값이 OSPF 정보에 누적 됩니다
O E2 재분배(Redistribution)을 통해 학습한 경로를 의미하며, 기본적으로 Cost값은 20을 가지며 해당 값은 변경되지 않습니다.

 

'1-1. Routing > -- OSPF' 카테고리의 다른 글

⑧ OSPF Route Summarization  (0) 2022.08.04
⑦ OSPF Route Advertisement 방법  (0) 2022.08.04
⑤ OSPF DR / BDR 란?  (0) 2022.08.04
④ OSPF Network Type 이란?  (0) 2022.08.04
③ OSPF Neighbor 종류 와 상태  (0) 2022.08.04

 Designated Router and Backup Designated Router (DR / BDR) 정의 및 역할

 

Lan과 같은 multi-access 환경에서는 하나의 network segment에 2대 이상의 라우터가 존재 할 수 있습니다. 이러한 환경에서 OSPF Database를 관리하고 변동 사항을 전체 OSPF 도메인 에게 전달 하는 역할을 담당하는 것이 DR이며, DR에 장애가 발생할 경우 BDR이 DR로 전환 됩니다.

DR/BDR은 전체 네트워크 토폴로지를 관리하기 때문에 많은 자원을 소모하기 때문에 규모가 큰 네트워크를 구성한다면 성능 부분을 고려해야 합니다.

 

 

 Designated Router and Backup Designated Router (DR / BDR) 필요성

  • Lan Segment 환경에서 라우터의 증가에 따른 확장성 문제를 관리함
  • OSPF Adjacency Neighbor 사이 LSA Packet 교환 트래픽을 관리함

Broadcast Network Type에서 DR / BDR을 선출하지 않는다면 논리적인 구성은 Full-Mesh 형태가 되며 OSPF 경로 정보를 갱신하기 위해 Segment 단위로 Adjacency Neighbor가 필요 합니다. 

 

라우터가 4대 일 경우 필요한 Adjacency Neighbor의 수량은 6이며, OSPF에 참여하는 라우터가 5대일 경우 필요한 Adjacency Neighbor의 수량은 10개가 됩니다. 또한 Adjacency Neighbor는 LSDB를 동기화 하기 때문에 OSPF LSA 트래픽이 과도하게 발생하고, OSPF 동기화 유지, 경로 계산 및 Neighbor 관계 유지에 많은 자원이 소요 되기 때문에, DR / BDR을 선출하여 LSDB를 관리, 유지 및 공유하는 것이 효율이 높습니다.  

 

 

 Designated Router and Backup Designated Router (DR / BDR) 특징

 

 

  • 가상 노드(pseudo-node)를 생성하고 broadcast network segment에 있는 전체 라우터의 adjacency 상태를 관리 합니다.
  • DR에 장애가 발생하게 되면 BDR이 DR 역할을 수행하고 DROTHER 중에서 새롭게 BDR을 선출 합니다. 
  • Interface Priority가 0일 경우 DR로 선출 될 수 없으며, DR의 Priority가 0이 되면 즉시 DR / BDR 선출과정을 진행 합니다.

 

 Designated Router and Backup Designated Router (DR / BDR) 선출 절차

 

  1. 선출 과정은 OSPF Hello Packet을 이용하여 선출을 수행하게 되며 2-Way 단계에서 선출여부를 결정하게 되고, DR / BDR의 선출하는 경우 ExStart 단계로 넘어갑니다.
  2. DR의 선출은 네트워크 세그먼트 단위로 선출되기 때문에 Interface Priority 값이 가장 높은 라우터가 DR이 됩니다. 
    (기본값 1, 1 ~ 255 까지 설정 가능)
  3. Interface Priority 값이 동일할 경우 더 높은 Router ID를 가진 라우터가 DR로 선출 됩니다. 
  4. DR 선출 완료 후 BDR을 선출하게 되며 선출과정은 DR과 동일하고, 해당 과정에 DR은 참여하지 않습니다.
  5. 선출 완료 후 신규장비가 추가 되더라도 DR / BDR 선출과정은 다시 수행되지 않습니다. 

 Designated Router and Backup Designated Router (DR / BDR) 동작 방식

 

 

단계 설명
STEP 1 Network Segment에 있는 모든 OSPF 라우터들은 (DR / BDR / DROTHER) DR과 BDR하고만 Adjacency Neighbor 관계를 수립합니다. 자신의 정보를 DR과 BDR에게 멀티캐스트 주소 224.0.0.6을 이용하여 전달 합니다. 
STEP 2 DR은 Unicast를 이용하여 정보를 전달한 라우터에게 Ack packet을 전달 합니다.
STEP 3 DR은 Network Segment에 존재하는 모든 OSPF 라우터들에게 멀티캐스트 224.0.0.5 주소를 이용하여 LSA Packet을 전달하여 LSDB 정보를 갱신 합니다.
 

● OSPF Network Type 이란?

 OSPF network types은 RFC 2328: OSPF Version 2에 정의되어 있습니다. Adjacency Neighbor와 연결 되는 Network Design에 따라 OSPF Network Type 결정이 됩니다. 또한 OSPF Network Type은 Media Type과 Layer 2 Protocol과 Encapsulation에 따라 영향을 받습니다.

 

 

 OSPF Network Type - Point-to-Point

Point-to-Point Network Type은 가장 간단하게 구현할 수 있는 OSPF Network Type 입니다. OSPF를 구성하는 네트워크 장비가 직접적으로 연결된 형태이며 DR/BDR을 선출하지 않기 때문에 Adjacency Neighbor를 맺는 시간이 Broadcast 보다 짧습니다. 

 

 

 OSPF Network Type - Broadcast

Multiaccess 환경에서 다수의 장비를 연결하여 사용하는 환경에서 Boradcast Network Type을 지원 합니다. Broadcast Network Type은 OSPF Database를 관리하기 위해 DR / BDR을 선출하고, Segment에 존재하는 Neighbor를 개별적으로 선출하는 것이 아니라 한번의 프로세스를 통해 선출 합니다.

 

 

 OSPF Network Type - Non-Broadcast & Non-Broadcast MultiAccess

Multiaccess 환경에서 broadcast를 지원하지 못하는 Frame-Relay나 ATM과 같은 기술을 사용할 경우 입니다. OSPF는 해당 환경에서 Non-Broadcast Multi-Access (NBMA) 또는 Point-to-Multipoint 타입으로 사용할 수 있습니다. 

 

Non-Broadcast MultiAccess의 Segment는 Broadcast Network Type과 동일하게 DR/BDR을 선출하지만, Neighbor를 수동 지정 및 Hello, Dead Time-Interval의 시간 차이도 존재 합니다.

 

 

 OSPF Network Type - Point-to-MultiPoint

 

Non-Broadcast Network Type의 형태의 Design과 동일하며, Hub-and-Spoke 형태의 Network Topology를 구성할 때 사용 할 수 있는 Network Type 입니다. 해당 Type을 기본값으로 사용하는 Layer 2 Protocol or Encapsulation은 없으며 관리자의 지정으로 사용하는 Network Type 입니다. 

 

 

 OSPF Network Type - 요약

 

https://www.oreilly.com/library/view/cisco-ios-cookbook/0596527225/ch08s15.html

● OSPF Neighbor 종류

 

OSPF Hello Packet을 이용하여 Neighbor 관계를 수립하더라도 조건에 따라 2가지 타입의 OSPF Neighbor가 있습니다. 

 

타입 설명
OSPF Neighbor OSPF가 활성화된 인터페이스를 통해 맺어진 관계
Adjacency OSPF Neighbor OSPF Database를 동기화 시키는 관계

 

  ○ Adjacency OSPF Neighbor 성립 조건

 

  1. OSPF가 동작하는 영역내에서 Router ID는 유일해야 합니다 
    (중복된 Router ID가 있을 경우 LSDB가 계속 업데이트 되어 Routing Table이 계속 변함, 즉 불안정한 상태)
  2. 두 장비의 인터페이스의 IP Subnet은 동일한 대역에 존재해야 합니다. 
  3. OSPF는 단편화를 지원하지 않기 때문에 MTU 사이즈가 동일해야 합니다
  4. Area 정보가 동일해야 합니다.
  5. DR / BDR 활성화 및 비활성화 조건이 동일해야 합니다. (OSPF Network Type이 다를 경우 Neighbor 관계가 되지 못합니다.)
  6. OSPF Hello / Dead Timer가 동일해야 합니다
  7. 인증 타입이 동일해야 합니다. (MD5, Text, NONE)
  8. Area Type이 동일해야 합니다. (Stub or NSSA)

 

● OSPF Neighbor 선출 과정 및 상태

 

 

OSPF Neighbor를 맺는 과정 입니다. Adjacency Neighbor (DR/BDR)일 경우와 일반적인 OSPF Neighbor (DROTHER)인 경우 Neighbor 정보를 확인해 보면 상태가 다르게 표기 됩니다.   

상태 설명
Down Neighbor 관계 수립 최초의 단계이며 hello packet을 수신하지 않은 상태 입니다.
Attempt NBMA(Non Broadcast Multi Access) 와 관계가 있으며 OSPF 설정 시 neighbor를 수동으로 지정해 주어야 합니다. 해당 상태는 받은 정보는 없지만 라우터가 계속 통신을 시도하는 경우에 발생 합니다.
Init 다른 라우터에게 hello packet을 수신하였으나 아직 양방향 통신은 되지 않은 상태를 의미 합니다.
2-Way 양방향 통신이 되는 상태이고, DR / BDR 선출이 필요할 경우 해당 단계에서 선출 됩니다.
DROTHER일 경우 해당 상태가 최종 단계입니다.
ExStart adjacency 관계를 맺는 첫번째 단계입니다. 라우터는 LSDB 동기화를 위해 primary 또는 secondary를 식별 합니다. 
ExChange DBD 패킷을 이용하여 LSDB 전체 정보를 교환 합니다. Link-State Type, Address of Advertising Router, Link's Cost, Sequence Number 정보가 포함 됩니다. OSPF는 Sequence Number 정보를 이용하여 해당 정보의 최신화 여부를 확인 합니다. 
Loading LSR 패킷을 neighbor에게 전달하고 가장 최신의 LSU로 응답하여 LSDB 동기화 작업을 수행 합니다.
Full adjacency neighbor 관계 수립이 완료 된 상태 입니다.

 

DR과 BDR을 선출 뒤, Database Description Packet을 통해 LSDB를 동기화를 수행 후 Neighbor 상태는 Full 입니다. LSDB를 동기화 시키지 않는 Neighbor ( DROTHER)의 상태는 2-WAY상태가 됩니다

 

 

'1-1. Routing > -- OSPF' 카테고리의 다른 글

⑤ OSPF DR / BDR 란?  (0) 2022.08.04
④ OSPF Network Type 이란?  (0) 2022.08.04
② OSPF Packet Type (Hello, DBD, LS R/U/A)  (0) 2022.08.04
① OSPF Routing Protocol - 정의 및 특징  (0) 2022.08.04
OSPF 네이버 성립 조건 #  (0) 2022.04.14

● OSPF Packet Type란?

 

OSPF가 동작하는 라우터의 LSDB 정보를 요청 및 갱신을 수행하고 OSPF가 동작하는 라우터를 식별하기 위해 사용하는 Packet을 의미하며 5가지 종류가 있습니다. 또한 해당 패킷을 교환하기 위해 멀티캐스트 주소를 사용 합니다.

 

● OSPF Packet 교환 주소

 

구분 멀티캐스트 주소 설명
All Router 224.0.0.5 OSPF가 동작하는 모든 라우터가 해당 주소를 이용하여 정보를 수신 합니다
DR/BDR Router 224.0.0.6 DR/BDR 라우터들이 해당 주소를 이용하여 통신 합니다.

 

● OSPF Packet Type 소개

 

관계 수립 및 정보 교환을 위하여 사용하는 Packet의 유형은 5가지 입니다.

타입 이름 설명
1 Hello - Neighbor 발견 및 유지에 사용되는 패킷
- 주기적으로 Hello Packet을 전송하며 OSPF가 활성화된 모든 인터페이스로 전송
2 Database Description
(DBD or DDP)
- database 요약 정보를 전송하는 패킷
- adjacency neighbor를 최초 구성할 때 교환
3 Link-State Request (LSR) - database를 요청하는 packet (For Database Download)
- DBD packet을 교환하여 LSDB 정보 갱신이 필요할 경우 neighbor에게 요청
4 Link-State Update (LSU) - database 갱신에 사용되는 packet (For Database Update)
- LSR을 수신한 라우터가 네트워크 링크 정보를 담아 회신하는 packet
5 Link-State Ack - LSA(Link-State Advertisement)에 대한 응답으로 사용 됨 
- 전송의 신뢰성을 보장

 

 

  ○ OSPF Hello Packet 소개

 

OSPF Hello Packet은 neighbor와의 관계유지 및 발견을 수행 하는 packet 이며, OSPF가 동작하는 네트워크 장비의 모든 인터페이스로 Hello Packet을 전송하며 멀티캐스트 주소 224.0.0.5를 사용 합니다.

 

데이터 필드 설명
Router ID(RID) OSPF 도메인 영역내에서 유일한 32bit ID 입니다. (IP 주소)
* 중복된 RID가 존재할 경우 OSPF가 불안정해 집니다.
Authentication option OSPF neighbor 수립 시 추가적인 보안 설정이며 none, clear text, MD5 3가지 인증이 있습니다.
Area ID OSPF 인터페이스가 속한 Area 정보 입니다. 
Interface address mask Hello Packet을 전송하는 인터페이스의 Network Mask 정보 입니다.
interface priority DR 선출에 사용되는 우선순위 값 입니다.
hello interval hello packet을 전송하는 주기 입니다.
dead interval hello packet 수신 후 다음 hello packet을 받기 까지의 주기 입니다.
해당 시간 이내에 hello packet이 오지 않는다면 neighbor down으로 간주 합니다. 
DR & BDR DR & BDR의 IP 주소 입니다
active neighbor network segment에서 보여지는 neighbor 목록 입니다. 
 

'1-1. Routing > -- OSPF' 카테고리의 다른 글

⑤ OSPF DR / BDR 란?  (0) 2022.08.04
④ OSPF Network Type 이란?  (0) 2022.08.04
③ OSPF Neighbor 종류 와 상태  (0) 2022.08.04
① OSPF Routing Protocol - 정의 및 특징  (0) 2022.08.04
OSPF 네이버 성립 조건 #  (0) 2022.04.14

 

● OSPF Routing Protocol 정의

 

IP 네트워크를 위한 링크 스테이트 라우팅 프로토콜 입니다. 링크 스테이트 라우팅 알고리즘을 사용하며, 하나의 자율 시스템(AS)에서 동작하면서 내부 라우팅 프로토콜의 그룹에 도달한다. IPv4의 경우 RFC 2328 (1998년)의 OSPF 버전 2로 정의되어 있다. IPv6를 위한 업데이트는 RFC 5340 (2008년)의 OSPF 버전 3에 정의되어 있습니다. - from wiki -

 

 OSPF Routing Protocol 특징

 

  1) Dijkstra shortest path first(SPF) algorithm 사용

목적지 까지 도달하기 위한 최단 경로를 계산하기 위한 알고리즘이며, 목적지로 향하는 동일한 메트릭 경로가 존재할경우 ECMP(Equal-Cost Multi Paht)를 지원합니다. 또한 각각의 라우터는 자기 스스로를 SPF Tree의 최상위 Node라고 인식하여 OSPF에 참여하는 네트워크로 도달하기 위한 경로를 계산합니다. 

SPF (Shortest Path First) Tree 구조

 

  2) 네트워크 토폴로지 전체 경로정보 인지 

OSPF에 참여하는 모든 라우터는 LSA를 이용하여 전체 네트워크 토폴로지 정보를 수집하고 네트워크 맵을 구상 합니다. LSA를 이용하여 LSDB를 구성하여 모든 네트워크 정보를 학습 합니다. 모든 라우터가 동일한 LSDB를 가지며 이는 동일한 Area에 속한 라우터에 한해 유효하며 서로 다른 Area에 속할 경우 서로 다른 LSDB를 갖게 됩니다.  

 


  3) DR / BDR 선출  

OSPF 라우터간 DR(Designated Router) 및 BDR(Backup Designated Router)를 선출하여 OSPF 경로 추가 / 변경 / 제거와 같은 이벤트가 발생했을 경우 다른 라우터들에게 전달하는 역할을 수행 합니다. OSPF 라우터 간에 통신을 위해서는 224.0.0.5 & 224.0.0.6 2개의 멀티캐스트 주소를 사용합니다. 

 

Multi-Access 환경에서 DR / BDR 선출 하며, Network Type이 Broadcast & NBMA일 경우 입니다.

 
  4) 계층적 아키텍처 

OSPF는 Two-Tier 계층적 아키텍처 이며 Area 개념을 사용하여 아키텍처를 실현 합니다. Area 0라는 특별한 Area를 사용하며 흔히 backbone이라고 하기도 합니다. Area 0 가 아닌 Area는 non-backbone area라고 하며 무조건 Area 0에 연결되어야 합니다. backbone area가 non-backbone area의 경로정보를 수신한 뒤 다른 non-backbone area에게 경로 정보를 전달 합니다.

 

 

Area 12에 속해있는 장비 R1은 다른 Area의 변화에 영향을 받지 않습니다. Area 34에서 링크의 추가 또는 메트릭의 변화와 무관합니다. Area 개념을 통한 계층적 관리로 인해 토폴로지 변화에 대한 트래픽 전달 범위를 감소 시키고 불필요한 리소스 사용을 최소화 합니다. 

 

 

  5) LSA Type 및 Network Type 

LSA(Link State Advertisement)는 Link 상태와 메트릭 값을 포함하고 있으며 LSA Type 1 부터 Type 7 까지 존재하며 OSPF 라우터의 조건에 따라 발생 시키는 LSA Type이 다릅니다. 또한 OSPF의 Network Type은 데이터링크 계층의 프로토콜에 따라 정해져 있습니다. (예, 이더넷일 경우 Broadcast이며 Serial일 경우 Point-to-Point) 

LSA Type은 실제로는 11까지 존재하지만 가장 많이 사용하는 LSA Type은 1 ~ 5 까지 입니다. Type 7은 NSSA (Not So Stubby Area)일 경우 사용합니다. 다른 LSA Type은 특수 목적용으로 예약되어 있으며, LSA Type 8 ~9는 OSPFv3으로 사용 됩니다. 

  6) OSPF Process 

라우터에는 다수의 OSPF가 동작할 수 있으며 OSPF Process마다 고유한 데이터베이스를 유지하고 있습니다. 데이터베이스간 경로 정보는 공유되지 않으며 네트워크 광고는 하나의 Process에서만 수행 할 수 있습니다. 서로 다른 Process의 정보를 사용하기 위해서는 재분배를 사용해야 합니다.  

(예: 라우터가 Process1과 Process 10 2개의 OSPF를 구동할 경우 
   -> Process가 학습한 경로정보는 상호간에 공유되지 않습니다.  
   -> Process 1에서 선언한 경로는 Process 10에서 선언하더라도 광고되지 않습니다. 
   -> LSDB 정보를 사용하기 위한 방법은 재분배를 사용해야 합니다. ) 

 

'1-1. Routing > -- OSPF' 카테고리의 다른 글

⑤ OSPF DR / BDR 란?  (0) 2022.08.04
④ OSPF Network Type 이란?  (0) 2022.08.04
③ OSPF Neighbor 종류 와 상태  (0) 2022.08.04
② OSPF Packet Type (Hello, DBD, LS R/U/A)  (0) 2022.08.04
OSPF 네이버 성립 조건 #  (0) 2022.04.14

● BGP (Border Gateway Protocol) 최적 경로 선출 - Weight

 

Weight 속성은 Cisco 전용 속성으로 다른 벤더에서는 해당 속성을 지원하지 않고 BGP 최적 경로를 선출하는 다른 기준에도 영향을 주지 않습니다. Weight의 값의 범위는 0부터 65,535까지이고 Local Router에서 값을 지정 합니다. Weight 속성은 다른 라우터에게 전달 되지 않으며 Weight 값이 높을 수록 선호하는 경로 입니다. 즉, outbound 트래픽에만 영향을 미칩니다.  

 

Weight값을 설정하는 방법은 Inbound 트래픽에 대해 Route-Map을 설정하여 특정 경로에 대해서만 Weight값을 높여주거나 특정 Neighbor로 부터 학습한 경로에 대해서 Weight값을 설정 할 수 있습니다. 

 

172.16.1.0/24 prefix에 대해서 2개의 경로가 존재하며 첫 번째 경로에 weight 123이 설정되어 있어 최적 경로로 선출 된 것을 확인 할 수 있습니다.  

 

 

● BGP (Border Gateway Protocol) 최적 경로 선출 - Local Preperence

 

Local preference (LOCAL_PREF)는 well-known discretionary path attribute 이고 동일한 AS내에서 (iBGP) 광고 될 때 포함되는 정보 입니다. LOCAL_PREF 속성 값이 가질 수 있는 범위는 0 부터 4,294,967,295 까지이며 해당 값이 높을 수록 우선순위가 높음을 의미 합니다. 

 

LOCAL_PREF는 외부 AS (eBGP)에게 전달 되지 않습니다. LOCAL_PREF값을 설정하는 방법은 Route-Map을 사용하여 특정 Neighbor에게 경로 정보를 받을 때 LOCAL_PREF값을 갖도록 합니다. Route-Map에 의해 별도로 설정되지 않는다면 LOCAL_PREF의 기본값은 100을 사용합니다. 

 

LOCAL_PREF값의 변경은 iBGP Peers 들이 최적경로를 선출하는데 영향을 주지만 eBGP에게는 영향을 주지 않습니다. 

 

 

R2의 BGP 테이블에서 172.16.1.0/24 prefix에 대해서 2개의 경로가 있는 것을 확인 할 수 있고 localperf 333의 값을 가지는 첫 번째 경로가 최적 경로로 선출 된 것을 확인 할 수 있습니다. 

● BGP (Border Gateway Protocol) Design

 

BGP를 구성하는 방법은 일반적으로 Single-Homing, Dual-Homing, Multi-Homing 3가지를 소개합니다. 시간이 지나며 용어의 변경이 발생하여 Dual-Homing은 모두 Multi-Homing 방법으로 소개 되고 있으며, Single-Homing 방법은 굳이 BGP를 사용할 필요가 없어 소개 되지 않습니다. 

 

Redundancy와 Traffic Handling 목적으로 BGP 세션을 추가로 맺습니다. BGP 세션을 맺는 방법에 따라 4가지의 시나리오를 생각할 수 있습니다.

 

  ○ BGP (Border Gateway Protocol) Multi-Homing Design 종류

 

구성 설명
  ■ Client가 동일한 SP (Service Provider) Router와 eBGP  세션을 맺는 방법 입니다. eBGP Peer가 2개가 생기지만 Best-Path Selection Algorithm에 의해서 하나의 경로만 사용 가능하며 주 목적은 Link Redundancy 입니다. 

■ AS Prepending or MED를 사용하여 유입되는 트래픽을 조절할 수 있습니다. (A, C 트래픽은 Line 1, B,D 트래픽은 Line 2 로 들어오게 조절 가능)

■ 단일 SP Router와 eBGP 세션을 맺기 때문에 Client or SP측 네트워크 장비에 문제가 발생 하거나 내부 네트워크에 문제가 발생 또는 Client Router에 문제가 발생하면 장애가 발생합니다.
  ■ Client가 동일한 SP를 사용하지만 서로 다른 Router와 eBGP 세션을 맺는 방법 입니다. eBGP Peer가 2개가 생기지만 Best-Path Selection Algorithm에 의해서 하나의 경로만 사용 가능하며 주 목적은 Link or Device Redundancy 입니다. 

■ AS Prepending or MED를 사용하여 유입되는 트래픽을 조절할 수 있습니다. (A, C 트래픽은 Line 1, B,D 트래픽은 Line 2 로 들어오게 조절 가능)

■ 동일 SP의 다른 라우터와 BGP 세션을 맺기 때문에 장비 장애에 대비할 수 있지만 SP 내부 네트워크에 문제가 발생 또는 Client Router에 문제가 발생하면 장애가 발생합니다.

  ■ Client가 서로 다른 SP와 eBGP 세션을 맺는 방법 입니다. 다른 SP에 연결 되기 때문에 Link & Device Redundancy 효과와 SP내부 네트워크 장애가 발생하더라도 서비스는 유지 됩니다. 

■ 서로 다른 AS로 부터 BGP 정보를 받아오기 때문에 AS Path 기준으로 서로 다른 경로가 선택 될 수 있어 동일 SP에 연결하는 구조보다 더 최적화된 트래픽 관리가 가능 합니다. 

■ Client Router는 단일 장비이기 때문에 단일 실패 지점이 될 수 있으며, Transit Network가 되지 않도록 필터링이 필요 합니다.
  ■ Client Router를 iBGP로 연동하고 서로 다른 SP와 eBGP 연결을 수행 합니다. Link & Device Redundancy 효과와 SP내부 네트워크 장애 그리고 Client Router에 문제가 발생하더라도 서비스는 유지 됩니다. 

■ 가장 일반적으로 사용하는 eBGP를 맺는 방법 입니다. 서로 달느 AS와 연결되기 때문에 Transit Network가 되지 않도록 필터링이 필요 합니다.

 

● BGP Transit Network 

 

Transit Netwok란 고객의 네트워크가 SP 네트워크 처럼 동작되어 다른 네트워크 트래픽이 우리 네트워크를 경유해서 전달되는 것을 의미 합니다. 고객은 SP와 eBGP를 연결할 때 Transit Network가 되지 않도록 네트워크 필터링을 설정 해 주어야 합니다. 

 

 

회사 BGP 네트워크가 위와 같은 환경으로 구성되어 있을 경우 SP3은 10.64.1.0/24 네트워크 정보를 2가지 경로를 통해 학습 합니다. 하나는 SP1 - SP2 - SP4의 경로를 통해 학습하고 다른 하나는 SP4 - AS500을 통해 학습 합니다. BGP 최적 경로 선출 알고리즘에 의해 AS PATH가 짧은 SP4 - AS500 의 경로가 최적 경로로 선출 되고 고객 네트워크인 AS500이 의도치 않게 Transit Network로 동작 하게 됩니다. 

 

Transit Network로 동작하지 않도록 하기 위해 SP와 연결하는 라우터는 필터링을 통해서 Transit Network로 동작하지 않도록 해야 합니다. 일반적으로 SP와 연결 할 때 정규식(Regular Expression)을 이용하여 Local AS만 광고하고 SP로 부터는 BGP 정보를 받지 않는 정책을 가장 많이 사용 합니다. 

 

● BGP (Border Gateway Protocol) 최적 경로 선출

 

BGP 최적 경로 선출기준은 IGP 보다 풍부하며 또한 선출 기준에 따라 우선순위가 있습니다. 또한 최적 경로 선택 알고리즘은 AS로 들어오는 트래픽 또는 나가는 트래픽에 영향을 줍니다.

 

 BGP (Border Gateway Protocol) 최적 경로 선출 기준

 

BGP 경로 광고에는 Network Layer Reachability Information (NLRI)와 Path Attributes (PAs)가 포함되어 있습니다. NLRI는 Network Prefix, Network Prefix Length와 AS Path, Origin 같은 정보들로 이루어져 있습니다. BGP Table에는 동일한 목적지에 대해 여러개의 경로가 있으며, 경로에 포함된 속성들이 최적 경로 선출에 영향을 주게 됩니다. 

 

해당 속성들을 이용하여 BGP는 최적 경로를 선출하게 됩니다. 최적 경로 선출에 사용되는 기준은 총 11가지가 있습니다. 우선순위가 높은 기준이 먼저소개 됩니다. (오름차순)

  1. Longest Matching Rule 적용
    - 가장 상세한 경로정보를 우선시 하는 기준으로 최적 경로 선출시 가장 먼저 적용됩니다. 다음과 같이 경로 정보를 수신한다면 192.168.0.0/16 보다 192.168.1.0/24 경로 정보를 우선 시 하게 됩니다. /24보다는 /25 를 더 우선 합니다.

  2. Weight (Cisco Only)
    - Cisco 장비에서만 적용되는 우선순위로 Local BGP 라우터에서 수신한 BGP경로가 다수 있을 때 최적 경로 선출에 사용되는 기준이며, 해당 값은 다른 BGP 라우터에게 전달 되지 않습니다. 
    - Weight 값의 범위는 0 부터 65,535 까지이며 Weight 값은 inbound route-map을 통해 설정하거나 특정 Neighbor에게 Weight 값을 설정하여 사용 합니다. 

  3. Local Preference (LOCAL_PREF or LP)
    - Local Preference는 Well-Known Discretionary Path Attribute이며 BGP 업데이트 메시지에 포함되는 속성 입니다. Local Preference는 eBGP에게 전달 되지 않으며 iBGP에서 최적 경로 선출 목적으로 사용 됩니다. 
    - 0부터 4,294,967,295사이의 값을 가질 수 있으며 기본값은 100 입니다. LP 값이 높은 경로가 최적 경로로 선출 됩니다.

  4. Local Originated (Network Statement, Redistribution, Aggregation)
    - 외부 Peer에 의해 BGP 테이블에 삽입된 경로 보다, Locally Router가 Network 명령어를 통해 BGP 테이블에 삽입한 경로를 우선시 합니다. 

  5. AIGP (Accumulated  Interior Gateway Protocol)
    - Accumulated IGP (AIGP) 는 Optional Non-Transitive 경로 속성이며, AS 내부에서만 전달이 되는 값 입니다.IGP의 경로를 BGP에 재분배하고, IGP의 메트릭 값을 이용하여 BGP가 최적 경로 선출에 사용 합니다. AIGP를 BGP Peer에게 전달하기 위해 Route-Map을 사용해야 합니다. 

    다수의 BGP AS를 관리하는 환경에서 사용 가능하며, IGP에 사용되는 IP 주소체계가 겹치지 않고 고유해야 하는 제약사항이 있습니다. 일반적인 엔터프라이즈 환경에서 적합하지 않습니다.

  6. Shortest AS Path
    - 목적지로 향하는 다양한 경로가 존재할 경우, 가장 짧은 AS 길이를 가진 경로를 선호 합니다. BGP에서 AS는 HOP Count와 같으며 짧을 수록 우선순위가 높습니다. 해당 규칙을 이용하여 BGP 트래픽 유입을 제어할 수 있습니다. AS Prepending을 사용하여 AS를 추가할 수 있습니다.

  7. Origin Type
    - Well-known mandatory BGP 속성 입니다. Network 명령어를 통해서 광고한 경로는 IGP or i 의 코드를 받고 재분배 네트워크는 imcomplete or ? 코드를 받습니다. IGP를 더 선호 합니다. 

  8. Lowest MED (Multiple-Exit Discriminator)
    - Optional Non-Transitive 속성이며 32 bit 값 (0 to 4,294,967,295)으로 표현하며 메트릭 이라고 부릅니다. BGP에서 네트워크를 광고 또는 재분배 할 때 IGP 경로 메트릭을 자동으로 설정하며 eBGP에게 경로를 학습할 때 MED값을 전달 받지 못한다면 기본값은 0 입니다. 만약 MED를 eBGP에게 수신한다면 다른 iBGP Peer에게 전달 하지만 다시 eBGP에게 전달하진 않습니다. 

    MED값을 MED 사용의 목적은 다른 Inbound Traffic을 제어하기 위한 목적으로 사용되며 낮은 MED를 더 선호 합니다.

  9. eBGP Over iBGP
    - BGP 경로를 학습하는 방법은 iBGP, eBPG, Confederation AS에게 받는 3가지 방법이 있으며, 이중에서 eBGP Peer에게 받은 경로를 가장 선호 합니다. eBGP > Confederation AS > iBGP 우선순위를 가집니다. 

  10. Lowest IGP Next-Hop Metric
    - BGP Next-Hop 주소의 IGP 메트릭 값이 가장 낮은 것을 선호 합니다. 낮은 것을 선호하는 이유는 Next Hop의 IGP Metric값이 낮으면 Next-Hop까지 더 빨리 도달하기 때문 입니다. 
  11. Oldest Path Prefer eBGP 
    - 상기 조건까지 모두 동일하다면 BGP 테이블에 먼저 학습된 경로를 선호 합니다. 가장 오래된 eBGP 경로이기 때문에 더 안정적이라 판단 합니다. 

  12. Lowest BGP Router ID
    - 가장 낮은 Router ID를 가진 eBGP 라우터를 더 선호합니다. 만약 경로를 Route Reflextor로 부터 받았다면 Router ID 대신 Originator ID를 사용 합니다. 

  13. Minium Cluster list Length
    - The cluster list 는 non-transitive BGP 속성이며 최소 Cluster List 길이를 더 선호 합니다. Route Reflector가 Cluster ID를 Cluster List에 추가하며 Route Reflector는 해당 정보를 이용하여 Routing Loop가 발생하지 않도록 합니다. 

  14. Lowest Neighbor Address
    - BGP Peer가 2개의 물리적인 링크를 통해 Neighbor 관계를 맺을 경우 가장 낮은 Neighbor 주소를 가진 경로를 더 선호 합니다. iBGP Peer 한정으로 적용되는 규칙으로 Neighbor 주소가 가장 낮은 것을 선호 합니다. (eBGP이 경우 오래된 경로를 우선 한다는 규칙이 있어 여기에는 해당 하지 않습니다.)

'1-1. Routing > -- BGP' 카테고리의 다른 글

⑧ BGP 최적 경로 선출 - Weight, Local Preperence  (0) 2022.08.04
⑦ BGP Design (BGP 구성 방법)  (0) 2022.08.04
⑤ BGP Types (iBGP & eBGP)  (0) 2022.08.04
④ BGP Keepalive & Hold Time  (0) 2022.08.04
③ BGP Neighbor 수립 과정  (0) 2022.08.04

● BGP (Border Gateway Protocol) Types (iBGP & eBGP)

 

BGP Session 관계를 맺는 AS에 따라 iBGP와 eBGP 2가지 타입으로 분류가 되며 서로 다른 특성을 부여 받게 됩니다. 

  • Internal BGP (iBGP)
    - 같은 AS 번호 아래에 있는 라우터와 BGP 관계를 맺거나 같은 BGP Confederation 에 참여하고 라우터와 BGP 관계를 맺을 때 iBGP라고 합니다. iBGP에게 전달 받은 경로의 AD (Administrative Distance)는 200으로 Routing Table에 표기 됩니다. 
  • External BGP (eBGP)
    - 다른 AS 번호에 소속 되어 있는 라우터와 BGP 관계를 맺을 때 eBGP라고 합니다. eBGP에게 전달 받은 경로의 AD는 20으로 Routing Table에 표기 됩니다. 

 

  ○ iBGP

 

같은 AS내에서 BGP 관계가 필요한 이유는 다양한 라우팅 정책이 필요하거나 AS 번호 사이에서 경로 정보를 전달 할 때 누락되지 않아야 하기 때문입니다. 

 

AS 65100과 AS 65300 사이에 위치한 "AS 65200"은 BGP로 전달 받은 경로 정보를 누락없이 전달해야 하기 때문에 BGP 관계를 맺어 전달하는 것이 가장 안전 합니다. R2와 R4는 iBGP 관계를 맺어 eBGP로 받은 경로 정보를 안정적으로 전달 할 수 있습니다. 

 

R3은 BGP Neighbor 관계를 맺고 있지 않기 때문에 외부 AS로 가는 경로를 알지 못합니다. R3이 외부 AS경로를 학습하기 위해서는 BGP 라우터의 재분배를 통해 경로정보를 학습할 수 있지만 유연성이 저해되고, BGP 정책이 누락 되기 때문에 재분배 대신 BGP를  사용하는 것이 일반적 입니다.

 

다만, iBGP는 학습한 경로를 1 HOP 떨어진 iBGP로만 전달 할 수 있는 제약이 있습니다. (R2가 광고하는 외부 경로 정보는 R3까지 전달되고 R4까지 전달 되지 않습니다.) 이런 제약을 극복하기 위해 iBGP Full-Mesh 구조로 구성하거나 RR (Route Reflector)를 구성하여 사용 합니다.

 

 

 

  ○ eBGP

 

서로 다른 AS에 속해 있는 라우터간 Neighbor 관계를 맺으면 eBGP가 됩니다. 외부와 연결되는 eBGP는 iBGP와 비교하여 아래와 같은 차이점이 존재 합니다. 

  • eBGP의 TIme-To-Live (TTL)값은 1이 기본값 입니다. Multi-Hop eBGP Neighbor 관계를 맺기 위해 TTL값을 늘려줘야 합니다. iBGP의 TTL값은 255 입니다.
  • eBGP가 경로를 광고하면 Local AS 번호가 추가 됩니다. eBGP는 수신한 경로 정보에 Local AS 번호가 포함되어 있으면 Routing Loop라고 판단하고 해당 경로정보를 버립니다.
  • eBGP Neighbor 관계를 맺을 때는 물리 인터페이스에 부여된 주소를 사용하고 iBGP Neighbor 관계를 맺을 때는 Loopback 인터페이스 주소를 사용하는 것이 일반적 입니다. 

iBGP와 eBGP 구성을 위한 설정의 근간은 remote-as를 제외하고 크게 다르지 않으나, 세부적으로 Neighbor 관계를 맺기 위한 인터페이스 선정, Next-Hop 문제, TTL, AD, iBGP Update Issue 및 기타등등 등이 존재하기 때문에 이 부분을 고려하여 설정 하여야 합니다.

 BGP (Border Gateway Protocol) Keepalive & Hold Time 소개

 

BGP는 Keepalive 메시지를 통해 BGP Neighbor의 상태를 확인 합니다. 시스코는 Keepalive의 기본값은 60초이고 Hold TIme의 값은 Keepalive의 3배수인 180초 입니다. Hold Time 시간 이내에 Keepalive 메시지나 Update 메시지를 수신하지 못한다면 Neighbor Down으로 간주하고 관계를 끊습니다.

 

 BGP (Border Gateway Protocol) Keepalive & Hold Time 변경 방법

 

Keepalive 값은 명령어를 통해 값을 설정하는 방법과  BGP Open 메시지에 포함된 Hold Time 시간 협상을 통해 자동으로 조정되는 방법이 있습니다. 

Keepalive 와 Hold TIme의 값은 다음의 요소에 의해서 결정 됩니다. 

  • BGP Timer 설정을 통해 Keepalive 시간과 Hold TIme 시간을 변경할 수 있습니다.
  • BGP Open 메시지에 포함된 Hold TIme에 의해 Keepalive 시간이 변경 됩니다. 
    - Neighbor's Hold Time / 3 > Local Keepalive TIme 일 경우 TImer가 변경되지 않습니다.
    - Neighbor's Hold Time / 3 < Local Keepalive TIme 일 경우 Keepalive & Hold TIme이 변경 됩니다. 
    - Neighbor's Hold TIme (20 초) & Local Keepalive Time (10 초)일 경우 
      (20초 / 3 = 약 6초) < 10초 이기 때문에 Local Keepalive Time은 6초 Hold TIme은 20초로 변경 됩니다. 
R1 BGP Configuration

router bgp 1
 no synchronization
 neighbor 1.1.12.2 remote-as 2
 no auto-summary
R2 BGP Configuration

router bgp 2
 no synchronization
 neighbor 1.1.12.1 remote-as 1
 neighbor 1.1.12.1 timer 10 20 #[keepalive , holdtime]
 no auto-summary

 

R#2에서 Timer를 변경 후 R1에서 Neighbor R2와 관계된 Timer 시간을 확인 해보면 Keepalive 6초, Hold Time 20초로 변경된 것을 확인 할 수 있습니다. 

 

+ Recent posts