google.com, pub-6766303929253490, DIRECT, f08c47fec0942fa0

Cisco 기본지식(5) – BGP

1. BGP란?

Cisco에서 BGP (Border Gateway Protocol)는 인터넷과 대규모 기업 네트워크에서 가장 중요한 라우팅 프로토콜입니다. OSPF나 EIGRP가 내부망(IGP)에서 사용되는 반면, BGP는 AS(Autonomous System) 간의 경로를 교환하는 EGP(Exterior Gateway Protocol)입니다.

BGP(Border Gateway Protocol)는 서로 다른 AS 간에 라우팅 정보를 교환하는 프로토콜입니다.

예를 들어

회사 A (AS 65001)
      |
      |
ISP (AS 100)
      |
      |
회사 B (AS 65002)

이 경우

  • 회사 A ↔ ISP
  • ISP ↔ 회사 B

모두 BGP를 사용하여 경로를 교환합니다.

현재 인터넷은 전 세계적으로 BGP를 기반으로 동작합니다.


2. AS(Autonomous System)

AS는 하나의 관리 조직이 운영하는 네트워크입니다.

예)

Google      AS15169
Cloudflare  AS13335
KT          AS4766
SKB         AS9318

기업 내부에서는

AS65001
AS65002

같은 Private ASN을 많이 사용합니다.

ASN 종류

1~64511       Public ASN

64512~65534   Private ASN

4Byte ASN도 지원합니다.

예)

4200000001

3. BGP 특징

Path Vector Protocol

OSPF는 Cost

EIGRP는 Metric

RIP는 Hop Count

하지만 BGP는

Path(Vector)

기반입니다.

AS100
 ↓
AS200
 ↓
AS300

처럼 어떤 AS를 거쳐왔는지를 기억합니다.


4. eBGP와 iBGP

eBGP

다른 AS와 연결

AS65001
   |
eBGP
   |
AS65002

TTL 기본값

1

iBGP

같은 AS 내부

      AS65001

R1 ----- R2 ----- R3

모두

router bgp 65001

입니다.

TTL 기본

255

5. BGP Neighbor

BGP는 반드시 Neighbor를 지정해야 합니다.

예)

R1
10.1.1.1

R2
10.1.1.2

설정

router bgp 65001
 neighbor 10.1.1.2 remote-as 65002

상대도

router bgp 65002
 neighbor 10.1.1.1 remote-as 65001

6. BGP Session 상태

Cisco 시험에서도 매우 중요합니다.

순서

Idle
↓

Connect
↓

Active
↓

OpenSent
↓

OpenConfirm
↓

Established

Established가 되어야 정상입니다.

확인

show ip bgp summary

Neighbor        State

10.1.1.2        Established

7. TCP Port

BGP는

TCP 179

를 사용합니다.

OSPF처럼 자체 프로토콜이 아닙니다.


8. BGP Route Advertisement

예)

192.168.1.0/24

광고

router bgp 65001
 network 192.168.1.0 mask 255.255.255.0

주의

Routing Table에 존재해야 합니다.


9. show 명령어

Neighbor 확인

show ip bgp summary

전체 Route

show ip bgp

Neighbor 상세

show ip bgp neighbors

Routing Table

show ip route bgp

10. BGP Attributes

가장 중요한 부분입니다.

Cisco 면접에서도 자주 나옵니다.


① Weight

Cisco 전용

가장 먼저 비교

큰 값 선호

기본

32768 (Local)

0 (Received)

설정

neighbor 10.1.1.2 weight 500

② Local Preference

AS 내부에서 사용

큰 값 선호

기본

100

설정

route-map LP permit 10
 set local-preference 200

③ AS Path

짧을수록 좋음

예)

65001 65002

보다

65001 65005 65009

가 불리합니다.

AS Path Prepend

set as-path prepend 65001 65001 65001

일부러 길게 만들어 우회시킵니다.


④ Origin

우선순위

IGP
↓

EGP
↓

Incomplete

⑤ MED

낮을수록 좋음

다른 AS에게

“이쪽으로 들어오세요”

라고 알려주는 값입니다.


⑥ Next Hop

패킷이 실제 가야 하는 다음 장비

확인

show ip bgp

11. Best Path 선정 순서 (Cisco)

일반적인 Cisco IOS의 기본 순서는 다음과 같습니다(세부 조건에 따라 일부 단계가 추가되거나 생략될 수 있습니다).

  1. Weight (높은 값)
  2. Local Preference (높은 값)
  3. 로컬에서 생성한 경로 선호
  4. AS_PATH (짧은 경로)
  5. Origin (IGP > EGP > Incomplete)
  6. MED (낮은 값)
  7. eBGP 경로 선호 (iBGP보다)
  8. IGP Metric to Next Hop (낮은 값)
  9. 더 오래 유지된 경로
  10. Router ID 등 추가 타이브레이커

12. Route Reflector

iBGP는

모든 Router가

Full Mesh여야 합니다.

R1
 |\
 | \
R2-R3

Router가 많으면

엄청 복잡합니다.

그래서

      RR

    / |  \

   R1 R2 R3

Route Reflector를 사용합니다.


13. Confederation

큰 AS를

여러 작은 AS처럼 나누어 관리합니다.

AS65001

↓

65010
65011
65012

외부에는 하나의 AS로 보입니다.


14. Next-Hop Self

iBGP에서 매우 많이 사용하는 옵션입니다.

ISP

 |

R1 ---- R2

R2는 ISP의 Next Hop에 도달하지 못할 수 있습니다.

설정

neighbor 10.1.1.2 next-hop-self

15. Soft Reset

기존에는

clear ip bgp *

를 수행하면 세션이 끊어졌습니다.

현재는

clear ip bgp * soft

또는

clear ip bgp x.x.x.x soft in
clear ip bgp x.x.x.x soft out

을 사용하여 정책을 재적용하면서 세션은 유지할 수 있습니다(상대방이 Route Refresh를 지원하는 경우).


16. Route Filtering

대표적으로

Prefix List

ip prefix-list TEST permit 10.1.0.0/16

Route Map

route-map TEST permit 10
 match ip address prefix-list TEST

Neighbor 적용

neighbor 10.1.1.2 route-map TEST out

17. 간단한 Cisco BGP 구성 예제

      eBGP

+------+       +------+
| R1   |-------| R2   |
|65001 |       |65002 |
+------+       +------+

LAN1            LAN2
192.168.1.0     192.168.2.0

R1

router bgp 65001
 neighbor 10.1.1.2 remote-as 65002
 network 192.168.1.0 mask 255.255.255.0

R2

router bgp 65002
 neighbor 10.1.1.1 remote-as 65001
 network 192.168.2.0 mask 255.255.255.0

확인

show ip bgp summary
show ip bgp
show ip route

18. 실무에서 자주 사용하는 BGP 기능

  • 멀티홈(Multihoming): 두 개 이상의 ISP에 연결하여 이중화 및 트래픽 분산을 구현합니다.
  • Local Preference: 내부 사용자의 아웃바운드 트래픽이 어느 ISP로 나갈지 제어합니다.
  • AS Path Prepending: 외부에서 들어오는 인바운드 트래픽을 특정 회선으로 유도합니다.
  • MED: 동일한 외부 AS와 여러 연결이 있을 때 선호 경로를 제안합니다.
  • Community: 여러 라우트에 정책을 일괄 적용하기 위한 태그 역할을 합니다.
  • Route Filtering: Prefix List와 Route Map을 사용해 필요한 경로만 광고하거나 수신합니다.
  • Route Reflector: 대규모 iBGP 환경에서 Full Mesh 구성을 단순화합니다.
  • Next-Hop Self: iBGP 환경에서 Next Hop 도달성 문제를 해결합니다.

예시: 멀티홈 환경

           ISP-A (AS100)
               |
               |
         +-------------+
         |  R1 (65001) |
         +-------------+
               |
         내부 네트워크
               |
         +-------------+
         |  R2 (65001) |
         +-------------+
               |
               |
           ISP-B (AS200)
  • Local Preference를 높여 내부 사용자의 기본 출구를 ISP-A로 설정
  • ISP-B는 백업 경로로 유지
  • 특정 서비스는 AS Path Prepending을 적용하여 외부에서 ISP-B를 통해 유입되도록 조정
  • 장애 발생 시 BGP가 자동으로 대체 경로를 선택

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다