본문 바로가기
네트워크

[ip routing 개정 4편] BGP

by Lauren X Ming 2021. 12. 26.

 

BGP : Border Gateway Protocol

- Distance Vector : 메트릭으로 최적 경로 설정

  • 전체 경로에 대한 정보는 알지 못함

- TCP+unicast로 라우팅 테이블 전송

  • peer간 TCP 연결을 생성하여 라우팅 테이블 교환 : 포트 179
  • peer간 연결 상태를 확인하기 위해서 keepalive packet 전송

1. Arista 장비로 세팅하기

SW#


!

vlan 12, 23, 34

!

interface Ethernet1-4

   switchport trunk allowed vlan 12,23,34

   switchport mode trunk

!

R1#


!
vlan 12
!
interface Ethernet1
   no switchport
!
interface Ethernet1.12
   encapsulation dot1q vlan 12
   ip address 1.1.12.1/30
!
interface Loopback0
   ip address 1.1.1.1/24
!
router bgp 1
!

R2#

!
vlan 12,23
!
interface Ethernet1
   no switchport
!
interface Ethernet1.12
   encapsulation dot1q vlan 12
   ip address 1.1.12.2/30
!
interface Ethernet1.23
   encapsulation dot1q vlan 23
   ip address 1.1.23.1/30
!
interface Loopback0
   ip address 1.1.2.2/24
!
router bgp 234
!

R3#

!
vlan 23,34
!
interface Ethernet1
   no switchport
!
interface Ethernet1.23
   encapsulation dot1q vlan 23
   ip address 1.1.23.2/30
!
interface Ethernet1.34
   encapsulation dot1q vlan 34
   ip address 1.1.34.1/30
!
interface Loopback0
   ip address 1.1.3.3/24
!
router bgp 234
!

R4#

!
vlan 34
!
interface Ethernet1
   no switchport
!
interface Ethernet1.34
   encapsulation dot1q vlan 34
   ip address 1.1.34.2/30
!
interface Loopback0
   ip address 1.1.4.4/24
!
router bgp 234
!

 

서브 인터페이스 상태 확인했을 때, connected여야 함.

 

R2, R3, R4 : 같은 AS를 사용하는 애들 간 라우팅테이블 광고를 하여 통신을 하기 위해서는 IGP 설정을 해야함

- BGP는 다른 ASN을 next hop으로 생각하기 때문임!

 

OSPF로 IGP 설정

R2#

!
ip routing
!
router ospf 1
   router-id 1.1.2.2
   network 1.1.2.0/24 area 0.0.0.0
   network 1.1.23.0/30 area 0.0.0.0
!

R3#

!
ip routing
!
router ospf 1
   router-id 1.1.3.3
   network 1.1.3.0/24 area 0.0.0.0
   network 1.1.23.0/30 area 0.0.0.0
   network 1.1.34.0/30 area 0.0.0.0
!

R4#

!
ip routing
!
router ospf 1
   router-id 1.1.4.4
   network 1.1.4.0/24 area 0.0.0.0
   network 1.1.34.0/30 area 0.0.0.0
!

 

eBGP 설정

eBGP peer : 서로 다른 AS에 속하는 인접 라우터(neighbor)

iBGP peer : 서로 같은 AS에 속하는 인접 라우터(neighbor)

 

BGP 설정

1. eBGP 설정

R1#

!
router bgp 1
   router-id 1.1.1.1
   neighbor 1.1.12.2 remote-as 234
   network 1.1.1.0/24
!

- router bgp {ASN}

- router-id : 각 라우터를 구분하는 값

   - 지정하지 않는다면, BGP 설정 당시 동작 중인 인터페이스의 IP 중에서 임의로 지정됨

   - 장애 처리를 위해 쉽게 구분할 수 있는 값으로 지정하는 것이 좋음

- neighbor : eBGP neighbor의 IP 주소와 해당 neighbor의 ASN 지정

   -  ip : 상대방의 serial ip로 설정

- network : 다른 라우터에게 전송할 네트워크

   - 반드시 자신의 라우팅 테이블에 저장된 네트워크를 전송

R2#

!
router bgp 234
   router-id 1.1.2.2
   neighbor 1.1.12.1 remote-as 1
   network 1.1.2.0/24
!

 

# show ip route bgp

# ping 1.1.1.1

# ping 1.1.2.2

로 현재의 상태를 확인해볼 수 있음.

 

2. iBGP 설정

R2#

!
router bgp 234
   neighbor 1.1.3.3 remote-as 234
   neighbor 1.1.3.3 update-source Loopback0
   neighbor 1.1.4.4 remote-as 234
   neighbor 1.1.4.4 update-source Loopback0
   network 1.1.2.0/24
   network 1.1.3.0/24
   network 1.1.4.0/24
!

R3#

!
router bgp 234
   router-id 1.1.3.3
   neighbor 1.1.2.2 remote-as 234
   neighbor 1.1.2.2 update-source Loopback0
   neighbor 1.1.4.4 remote-as 234
   neighbor 1.1.4.4 update-source Loopback0
   network 1.1.3.0/24
!

R4#

!
router bgp 234
   router-id 1.1.4.4
   neighbor 1.1.2.2 remote-as 234
   neighbor 1.1.2.2 update-source Loopback0
   neighbor 1.1.3.3 remote-as 234
   neighbor 1.1.3.3 update-source Loopback0
   network 1.1.4.0/24
!

neighbor : iBGP 의 경우 neighbor을 보통 loopback으로 설정함

  - R2 --> R3로 가는 다른 경로가 있음에도 불구하고, R2<->R3의 serial ip로 neighbor를 맺으면 bgp 연결 자체가 끊기기 때문에(아래 그림 참조)

update-source : 상대 라우터와 네이버를 맺기 위한 src ip를 loopback으로 설정

 

BGP 테이블

BGP 정책과 BGP 테이블의 관계

- BGP 테이블에 저장된 경로 중에 최적 경로 설정

- 다른 프로토콜의 같은 라우팅 경로가 있는지, AD 비교

Routing Protocoal AD

- 라우팅 테이블 저장

R2 BGP table

# show ip bgp

1. 목적지 네트워크

2. 목적지와 연결된 neighbor

3. 

7. *>

   - * : 넥스트홉에 문제가 없음

   - > : 최적 경로 ) 최적 경로만 다른 라우터에게 광고함

BGP neighbor table

# show ip bgp neighbors

# show ip bgp summary

       - State(아래 사진 참조)

BGP 개념에 대한 설명은 아래 블로그가 잘 정리되어있는 듯!

https://ddongwon.tistory.com/97