본문 바로가기
network/ccie-bgp

Improving BGP Convergence

 
BGP Convergence

• 인터넷 라우팅 테이블의 경로수가 증가함에 따라,BGP컨버전스 시간이 길어 진다.
• 인터넷은 약 11~12만개 네트워크로 계속 증가 하고 있다.
• 네트워크 컨버전스 시간은 10분에서 1시간 까지 서로 다르게 컨버전스 시간이 나타난다.

•BGP컨버전스 고려 사항
– 모든 노선이 허용 되어 있는지
– 모든 테이블 올라가는것
– bgp테이블 버전이 같은지
– 모든 피어에 대한 입출력 큐가 0인지

CPU Effects of BGP Processes
- 아래 표와 같이BGP Processes 의 역할을 나타낸다.
BGP open 프로세스에 의해서 peer 들과 네이버를 맺을떄 관여 하게 된다.
BGP I/O 는 BGP 패킷의 큐잉을 제어 한다(예 keepalive,update 등..).
BGP Scanner 는60초 마다  bgp table 관리 하고 , next hop 에 대한 reachablillity 를 하며, route dampening 에 관여 한다.
BGP router 는 RIB를 참조 하여 best path 를 계산 하여 BGP 테이블에 올릴지, 말지 1초마 확인하여 처리 한다.
BGP route,Scanner 는 많은 계산을 하기 때문에 CPU에 대한 많은 부하를 발생 한다.

 


BGP scanner process
• 큰인터넷의 라우팅 테이블을 짦은 기간동안 옮길때 많은 CPU부하를 발생 한다.
•  프로세스가 동작 하는 동안 낮은 우선순위의 프로세스는 대기를 해야 하기떄문에 소요시간이 오래 걸리게 된다.

BGP router process
•  BGP 라우터는 1초마다 한번씩 실행 되기 떄문에 많은 CPU 사이클을 소요 하게 된다.
•  BGP 컨버전스 시간과 높은 CPU사용율을 줄일 수 있다.

-  CPU부하 조절 방법
• TCP peer 연결시 큐를 이용 하여  자동으로 각 피어의 TCP소켓에 in/out BGP큐를 를 늘리는 방법 
• peer group 을 만들어 config 를 단순화 하는 방법  -> 단순화 시킨 config 로 확장시 컨버전스 시간을 줄일수 있다.
•mtu 사이즈를 크게 해서 패킷을 fragmented 줄이게 되어 부하를 낮게 할 수 있다.

- 컨버전스 조절 방법 
•  BGP스캐너 프로세스에 대한 interval 을 적게 하여 컨버져스를 줄일 수 있다.
•  update  interval 을 적게 하여 효율적으로 컨버전스를 줄일 수 있다.

-  컨버전스 조절한계
               • bgp 테이블이 클 경우에 권장 하지 않으며 CPU 나 메모리에 대한 고갈로 이어질 수 있다.

PMTU Discovery

# 해당 명령어를 통해 tcp mtu 사이즈를 측정해서, mtu 사이즈를 늘릴 수 있다.
# 기본 age-time 10분마다 mtu 사이즈를 측정 할 수 있다.
# RFC1191 에 명시 되어 있다.
router(config)# ip tcp path-mtu-discovery [age-timer {minutes | infinite}]

- 기본 mtu 는 536byte 되어 있는데 해당 옵션으로 늘어난 mtu 사이즈를 확인 할 수 있다.



Increasing Input Queue Depth


# 해당 명령어를 통해 인터페이스의 큐를 늘릴 수 있다.
router(config-if)# hold-queue length in
- 기본적으로 아래와 같이 out 40, in75 갯수의 큐로 되어 있는데, 해당 큐를 늘릴 수 있다.




BGP Scan Time

# next-hop 한번 점검 되면 60초 마다 점검 하는데 
# 아래 명령어를 통해 scan-time 을 조절 할 수 있다.
router(config-router)#bgp scan-time scanner-interval


BGP Advertisement Interval

# advertisementinterval 을 아래 명령어를 통해 조절 가능하다
# IBGP 5초, EBGP 30초 업데이트 interval 이 기본 설정인데 해당 명령어로 해당 네이버에 대한 interval 을  조절 할 수 있다.
router(config-router)#neighbor {ip-address | peer-group-name} advertisementinterval  seconds



BGP Nonstop Forwarding Awareness

NSF(non-stop -forwarding ) Awareness
=> fail 하는것 을 알리는 동안 패킷을 계속 포워딩 할 수 있는 것을 nsf Awareness

• Minimizes the effects of the following: (=>다음의 영향을 최소화 한다.)
– Well-known failure conditions (for example, a stuck-inactive  event) => 잘알려진 실패 조건 
– Unexpected events (for example, an RP switchover  operation) => 예기치 않은 이벤트 
– Scheduled events (for example, a hitless software  upgrade)=> 예약 이벤트





 

반응형