[Tip! Tip! Tip!] BGP 설정 방법 ③
  출판일 :2005년 5월호

 인터넷은 기본적으로 BGP(Border Gateway Protocol)라는 라우팅 프로토콜을 기반으로 모든 네트워크가 운영된다. 만일 BGP가 없었다면 인터넷이 오늘날처럼 활성화되지 못했을 수도 있다. 이번 호에는 사례를 통해 자주 사용되는 BGP 설정 방법에 대해 알아보자.


박상철 | 싸이버정보통신 대리

[사례 3] C기업의 BGP 설정 예

 

 

 

C기업은 C클래스 16개(200.200.128.0∼143.0)를 사용하고 있으며, KT-10Mbps, 데이콤-100Mbps를 이용하고 있다. 라우터 설정은 다음과 같이 돼 있다.

 

interface ethernet0
  ip address 200.200.143.1 255.255.255.252

router bgp 100
  network 200.200.128.0 mask 255.255.240.0
  neighbor 1.1.1.2 remot-as 4766 
  neighbor 1.1.1.2 filter-list 10 out
  neighbor 1.1.1.2 description KT-10 
  neighbor 2.2.2.3 remot-as 3786
  neighbor 2.2.2.3 filter-list 10 out
  neighbor 2.2.2.2.3 description Dacom-100 

ip as-path access-list 10 permit ^$

ip route 0.0.0.0 0.0.0.0 1.1.1.2    
ip route 0.0.0.0 0.0.0.0 2.2.2.3   

ip route 200.200.128.0 255.255.240.0 Null 0

 

설정 후 MRTG를 이용해 모니터링 하던 중 이상한 것을 발견했다. KT의 전용회선은 10Mbps이고 데이콤의 전용회선은 100Mbps인데, KT-10Mbps 전용회선은 항상 풀로 차 있고, 데이콤의 100Mbps 전용회선의 사용률은 10%도 안되는 것이었다. 여기서 필요한 것이 바로 BGP에서의 트래픽 제어다. BGP에서 트래픽 제어는 크게 아웃바운드와 인바운드, 이렇게 두 가지로 나눠볼 수 있다. 먼저 아웃바운드 트래픽 제어에 대해 살펴보자.

 

 

 

BGP에서 아웃바운드의 트래픽을 제어하는 방법은 다양하다. 그 중에서 가장 손쉬운 방법은 가중치(weight) 값을 주는 것이다. BGP에서 경로 선정시 가장 우선순위는 바로 가중치 값이다. 가중치가 높을수록 해당 경로를 이용한다(가중치의 디폴트 값은 "0"이다).
AS200보다 AS300이 대역폭이 훨씬 더 크므로 AS300의 가중치 값을 높게 설정하면 트래픽은 AS300으로 나가게 된다. 다음의 예를 살펴보자.

neighbor 2.2.2.3 weight 200 // 데이콤쪽의 가중치를 200으로 선언, KT쪽은 0임.

위처럼 선언하면 대부분의 국내 트래픽은 데이콤을 통해 나가며, BGP 정보를 받지 못하는 해외쪽은 양쪽 다 골고루 로드밸런싱돼 나간다.
다음으로 인바운드 트래픽 제어에 대해 살펴보자.

 

 

 

가장 쉽게 많이 사용하는 방법은 'as-path prepend'를 이용하는 것이다. (그림 7)에서 보듯이 KT로 보낼 때 자신의 AS 넘버를 하나 더 추가해서 보낸다. 이렇게 되면 외부의 사용자 라우터들은 결과적으로 KT를 통해 들어오는 as-path가 하나가 더 늘어나므로 데이콤쪽으로 들어온다. (그림 7)처럼 됐을 때 외부의 라우터에서 바라본 결과는 다음과 같다.

 

ex_router# show ip bgp 200.200.128.0
BGP routing table entry for 200.200.128.0/20, version 138720
 ....
  4766 100 100
  3786 100

 

ex_router 기준으로 200.200.128.0/20에 대한 것은 AS3786(데이콤)을 통하는 것이 더 가깝기 때문에 데이콤을 경유해 들어온다. 다음의 예를 살펴보자.

 

neighbor 1.1.1.2 route-map KT-out out
route-map KT-out permit 10
  set as-path prepend 100

C기업의 수정한 라우터 설정 값은 다음과 같다.

interface ethernet0
  ip address 200.200.143.1 255.255.255.252

router bgp 100
  network 200.200.128.0 mask 255.255.240.0
  neighbor 1.1.1.2 remot-as 4766 
  neighbor 1.1.1.2 filter-list 10 out
  neighbor 1.1.1.2 route-map KT-out out
  neighbor 1.1.1.2 description KT-10 
  neighbor 2.2.2.3 remot-as 3786
  neighbor 2.2.2.3 filter-list 10 out
  neighbor 2.2.2.3 weight 200
  neighbor 2.2.2.3 description Dacom-100 

ip as-path access-list 10 permit ^$
ip route 0.0.0.0 0.0.0.0 1.1.1.2    
ip route 0.0.0.0 0.0.0.0 2.2.2.3   
ip route 200.200.128.0 255.255.240.0 Null 0

route-map KT-out permit 10
  set as-path prepend 100