[CISCO] BGP 기초
Nowhere 와 Now here 의 차이

IT/ㄴ Cisco

[CISCO] BGP 기초

TIENE 2023. 6. 29. 09:57
반응형

 

2020년 국비지원 교육 내용 정리

 

### BGPv4

 

1. Distance Vector 계열의 Path Vector 알고리즘

    ---> Loop가 발생하여 Split-Horizon 규칙 필요

(자신이 거쳐온 AS 정보(Path)를 기록하기 때문)

  • No auto-summary

2. AS(Autonomous System)

- BGPAS는 구매해서 사용하는 도메인 (회사나 국가에서 임대)

- EIGRPAS는 사설 도메인( BGPAS 개념을 차용해서 사용하는 것 ) (단순 구분&관리용)

 

3. BGP Adjacency 관계 BGP Peer (IGP Neighbor 관계와 동일)

                  BGP Routing UpdateBGP Peer간 실시

 

구성 : 동일 AS에서 동작하는 iBGP Peer / 서로 다른 AS 사이에서 동작되는 eBGP Peer

   TCP Port 179번을 이용하여 BGP Peer 연결

- NLRI가 확립된 RouterBGP Peer를 연결 가능

- BGP Peer 연결은 Routing Table에 등록되어 IP Address로 가능

- BGP로 받은 정보는 IGP 정보로 확인 되어야 하고 해당 IGP 정보는 Connect정보로 확인되어야한다.

 

4. 다양한 BGP 속성(Attribute)을 이용하여 최적의 경로를 선출

5. 기본적으로 로드분산을 고려하지 않으며, 최적의 경로 하나만 선출

6. eBGP의 AD값 = 20 / iBGP의 AD값 = 200

 

-------------------------------------------------------------------------------------------------------

 

*주의사항*

 

목차

1. BGP 동기화

 

2. BGP Split-Horizon

             a. Full-Mesh

             b. Route-Reflector

             c. Confederation

 

3. BGP Next-Hop    

            a. Static route

            b. Redistribute

            c. Next-Hop-Self

 

 

 

 

1. BGP 동기화

            (동일 AS 내의 BGP 설정을 하지 않은 Router가 블랙홀처럼 통신을 Drop)

            -> BGP 동기화 문제에 의한 Block hole-Point 발생

            -> 따라서, 동일 AS 내의  모든 RouterBGP 설정되어 있는지 확인 필요

                [모든 RouterBGP 설정이 되어있으면 BGP 동기화 문제 발생 X]

 

2. BGP Split-Horizon

                (iBGP로 받은 정보는 iBGP로 송신할 수 없다)

            -> Loop에 걸릴 수 있기 때문에 한번 더 보내지 않는 것,

            -> 3대 이상이면 신경을 써야 함

 

    #해결방법

    a. Full-Mesh

 

동일 AS 내의 모든 RouterBGP Peer를 잡는 방식

구성도

 

     b. Route-reflector

Route-reflector를 지정하여 iBGP를 한번 더 전송하는 방식

(OSPF DR과 비슷한 개념)

Route-reflector로 선정된 Router Split-Horizon Rule을 적용X

Route-reflector Client로 지정된 RouteriBGP를 받을 수 있다.

 

 

 

 

 * 상황

R2R3,R4,R5Peer를 맺었다. 그리고 각 Router Loopback 192를 추가하였지만

   BGP Split-Horizon 때문에 모든 Router Loopback 192 정보가 보이지 않는다.

 

 

R3,R4,R5 Peer를 맺은 R2Route-reflector가 되고 나머지 R3,R4,R5Route-reflector-client가 된다면 모든 정보가 Table상에 등록된다.

    *Route-reflector-clientRoute-reflector가 될 Router에서 지정

 

 

Loopback 192의 정보가 모두 등록되었다.

 

 

    c. Confederation

하나의 AS를 다시 사설 AS(sub-AS)로 분할하여 설정하는 방식

AS200에서 사설 AS로 분할하여 Split-horizon을 해결했다.

BGP는 자신이 거쳐온 경로를 기록하는 Protocol이지만 아래와 같은

상황에서는 사설 AS의 경로를 기록하지 않고 AS200으로만 기록한다.

 

 

*  “BGP Confederation” Command의 의미

 

Router BGPAS번호는 64512로 사설 AS를 의미한다.

BGP Confederation의 방식은 사설 AS를 사용하여 Split-Horizon 문제를 해결하는 것이다.

하지만, command를 넣지 않으면 실제로는 사설 64512로 인식하기 때문에 이 Command를 넣어야한다.

‘BGP confederation identifier [AS NUMBER] command의 의미

사설 EBGP라는 것을 알려주는 것

    Peer를 잡을 Router 두 곳 모두 넣어준다.

 

* R1 Show ip BGP summary

 

R1R264512의 사설 AS로 설정되었지만 AS200으로 기록했다.

R4R5 Peer를 잡은 후 R3R4를 연결해보자.

 

* 실제는 iBGP지만 가상의 eBGP.

 

R3 R4 AS200지만 위의 설정으로 Confederation되어 R3R4는 각각 645121 64513으로 둘의 관계는 가상의 eBGP. 따라서, Multihop의 수를 증가시켜주어야 한다.

                        (두 곳 모두  eBGP-multihop 입력하기)

 

하지만 이와 같은 설정에도 ERROR Message를 보낸다. 가상의 eBGP를 연결하기 위해서 추가 Command가 필요하다.

 

* 방금 잡은 AS는 가상 AS

 

‘BGP confederation peer’ command를 추가하여, AS 64512Confederation된 사설 AS라는 것을 알려준다

 

 

R4 show ip BGP summary. 13.13.3.3 AS Number64512로 기록되었고 동일 AS에 있는 13.13.5.5도 잡힌 모습이다.

 

3. BGP Next-Hop

 * Next-Hop이란

    Destination Network로 가기 위한 다음 Router

    IGPNext-Hop IP address는 물리적으로 접속된 인접 Router IP address

 

* BGPNext-Hop Rule

    1. 처음 Routing 정보를 보낸 RouterNext-Hop으로 선정

    2. 다른 AS로 넘어갈 때는 그 AS와 연결되는 RouterNext-Hop

 

DMZ 구간

상황

R1 R2eBGP 연결구간이 DMZ로 구성되기때문에 13.13.12.0/24 네트워크 정보는 BGP AS 200내의 Router에게 Routing되지 않는다. (DMZ 구간 = IGP가 구성되지 않는 구간을 의미)

BGP에서 Next-Hop은 바로 다음  Router가 아니라 다음 AS로 처리되기 때문이다.

 

, AS200 내의 Routing Table 상에 13.13.12.0/24 IP Address 정보가 보장되지 않기 때문에 eBGP정보를 AS200에 전달 할 수 없다. 외부경로로 가기 위해서 EBGP Next-hop정보를 내부 iBGPRouting Table에 해당 경로가 등록되어 있어야 한다.

 

이를 해결하는 방법은 3가지가 있다.

a. Next-Hop Address를 직접 지정하는 방식

b. Next-Hop AddressRouting Protocol 환경으로 Redistribute하는 방식.

c. BGP자체 기능인 Next-Hop-Self 를 사용하는 방식

 

 

* R3 Show ip BGP summary

DMZ 구간인 13.13.12.0/24 대역이 R3 Routing Table에 없다.

 

* R3show ip BGP

BGP정보를 받았지만 Next HopAddress를 가지고 있지 않기 때문에 R4R5BGP정보를 보낼 수 없다.

 

* R4show ip BGPshow ip route

 

 

해결방법

a. Static Route를 사용

    Next-Hop를 Static Route로 지정하여 해결

 

 

 

 

 

 

b. DMZ구간의 네트워크를 IGP로 재분배

    13.13.12.0/24 대역을 EIGRP환경으로 Redistribute한다.

 

 

 

* R3의 Show ip BGP summary

 

 

c. BGP Next-Hop-Self

    Next-hop  자신으로 설정하여 Next-Hop 문제를 해결한다.

 

 -> 의미: R213.13.3.3의 대역을 가진 Peer Router에게 자신이 Next-Hop이라고 전파

 

* R3 Show ip BGP

 

 

* R4 Show ip BGP

 

 

 

* IGP Routing Command의 의미

Router eigrp 100

 Network 13.13.21.0 0.0.0.255

 Network 13.13.21.0 0.0.0.255의 의미 1. 13.13.21.0/24의 대역을 EIGRP환경으로 Distribute

                   2. Network로 정보를 Send / Receive 한다.

 

BGP는 이 두가지의 명령어가 다르다.

* Neighbor 잡는 명령어 (Sending / Receiving)

 

* Neighbor 연결 전

 

* Neighbor 연결 완료

 

* 자신이 가진 Network 정보를 Update하는 명령어 (Distribute)

 

* eBGPAD값 확인    [20 / 0]

 

* iBGPAD값 확인    [200 / 0]

 

* Path는 거쳐온 경로(AS)

 

 

* neighbor [IP Address] update-source [Interface]의 의미

[IP Address] 를 가진 Routerneighbor를 잡을 때 출발지 Address는 자신이 가진 [Interface]Address로 설정

 

 

** Loopback IP addressNeighbor를 설정하는 이유는 안정성 때문.

물리적인 InterfaceIP addressNeighbor를 설정한 후 장애가 발생하면 통신이 불가하지만 가상 Interface Loopback으로 설정 후 한 곳이 장애가 발생해도 우회경로로 Neighbor를 잡을 수 있기 때문이다.

 

 

헷갈리는 명령어들

BGP confederation identifier 200 - 실제 AS번호

BGP confederation peer 64513 - 사설 AS번호

 

neighbor [IP address] route-reflector-client

= R.R이 지정해주는 것

 

neighbor [IP address] update-source[Interface]   

   [이 명령어가 없으면 물리적인 Interface]

= (논리적인 Interface를 사용한 iBGP Peer 연결 )

반응형