0911_BGP

주영민·2024년 9월 11일

Influencing BGP Route Selection with Weights

Weight

  • Weight는 CISCO에서 사용하기 때문에 Weight를 가지고 정책을 세우는 회사는 드물다.

  • Weight : Local routing Policy (라우터 자신의)

  • weight 는 자신의 인터페이스 외 다른 장비로 Update를 하지 않는다.

  • Default weight : 아무것도 설정하지 않으면 값 =0
    weight 의 Default value

  • BGP에서는 Weight 변경시 route-map을 사용한다.

primary Backup 설정 시 BGP보다 default-route를 적용하는게 더 구분하기 쉽다.
  • Route-map 사용시 들어오는 값을 변경 하기 때문에 weight 는 Inbound로 설정한다.

BGP Local Preferences

  • CISCO 외 벤더사는 Local Prefrences의 우선수위가 높을수 있다.
  • Local preference : 전체 routing policy
  • AS 내에서 Best-path를 결정 할때 사용한다.
  • 하나의 AS 내에서는 Local Preference를 수정하지 않는 것을 권장한다.
  • show ip bgp 에서는 자세한 값은 보이지 않는다
    -> 자세한 값을 알고 싶을때는 show ip bgp (IP)를 확인해야한다.

AS-Path Prepending

  • 들어오는 traffic에 대하여 control 하려할때 사용하는 기술
  • AS-Path의 길이를 조정
  • AS number of the sender (보내는 사람의 AS를 여러개 설정)
  • Multihomed 일 경우에 사용
  • AS-Path의 길이에 대한 제약사항이 있을수 있으므로 설정 시 ISP나 받으려는 쪽에 확인을 해야한다.
  • debug 와 route-map 등 보내는 쪽에서는 확인할수 있는 방법이 없다.
    -> 받는 Route에서 확인해야한다.

Local-AS

  • no-prepending : AS 정보를 바라보고 있을때 추가하지 않겠다.
  • no-prepending replace-as
  • no-prepending replace-as Dual-AS

MED (Multi-Exit Discriminator)

  • 들어오는 Traffic을 control 하기 위해서
  • EBGP로 전달할수 있다.
  • AS Path 가 Empty(Null) 상태가 아니면 EBGP로 전달시 MED값은 사라진다.
    -> 값이 사라진 후 Route-map을 통해서 다시 seting 할수는 있다.
  • Default-metric : Seed metric
    -> redistribute 적용할때만 사용

MED Configuration

  • bgp alway-compare-med
    -> 서로 다른 AS에서 받은 MED 값을 비교하도록 하는 기능
  • bgp bestpath med missing-med-worst
    -> 정책을 우선순위를 가장 뒤로 하고 싶을때
  • bgp deterministic-med
received-routes ??

BGP Communities

  • Tag정보, 커뮤니티 자체가 의미를 가지고 있지는 않다
    -> Tag 정보를 가지고 필터링 or 정책을 설정 한다.

  • Default로 커뮤니티 값은 전달되지 않는다.

  • no-advertise : 서로만 알고 다른 router는 알수없다.

  • no-export : real EBGP로 전달하지 않는다.

  • loacl-as : 어떠한 EBGP로 전달하지 않는다.
    ->no-export

  • internet : permit any = permit internet

  • 기존에 있던 커뮤니티값은 삭제 하지 않고 커뮤니티값을 적용하는 곳은 정보를 공유해서 전달해야 한다.

  • 어느곳에서 사용하는지를 알기 위해 [AS-number]를 셋팅해서 사용한다.
    [AS-Number]:[low-order-16-bits]

  • 수정하거나 적용한 커뮤니티는 보내는 쪽에서 clear 명령어로 새로운 update를 전달해야 적용된다.

expended extended
  • configuration
    [exact] : 정확하게 매치가 되는 정책만 설정
  • 0과 65535는 커뮤니티 넘버로 사용하지 않도록 약속 함

Route reflectors

BGP confederations : CISCO를 제회하면 사용하는 곳이 거의 없다.
  • IBGP를 EBGP로 변환하여 전달
  • Client에게 받은 정보를 직접 받은 정보처럼 주변으로 광고를 한다.
  • 클라이언트가 아닌 것(non Client)은 클라이언트에게 전달 할수 없다.
  • Client 설정이 잘못 되면 Loop이 발생할수 있다.
  • route reflector가 장애발생시 문제점이 크기때문에 이중화하는것이 일반적이다.
    -> Cluster-ID list를 셋팅하여 보낸 후 클러스트 ID가 동일 하다면 받는쪽에서 Drop 시킨다.
    -> route reflector ID가 cluster ID가 된다.
    -> Originator-ID 를 설정하여 Loop발생을 막는다.
    Originator-Id BGP attribute
  1. AS를 작게 나눈 후 route reflector와 client를 구분한다.
  2. route reflector가 아닌 곳을 client로 지정한다.
  3. client와 client사이의 neighbor를 삭제한다.
  • client는 모든 roter reflector와 연결되어 있어야 한다.
  • client는 하나의 cluster에 속해야한다.
  1. cluster ID 지정
  2. route reflector와 session을 맺고 불필요한것은 삭제한다.
  • route reflector를 받은 쪽에서만 정보가 나온다

route-reflectors 중요

BGP Conferderations

  • AS number 64512 - 65535
  • conferderation AS number를 추가한다.
  • real AS는 conferderation number가 사라지고 리얼 AS number를 붙여서 전달하게 된다.
  • () 소괄호로 전달하게 된다
  • conferderation number는 Best-Path에 영향을 미치지 않는다.
  • conferderation은 SHow 명령어시 분리가 되어 표시가 된다.
  • 모든 장비가 conferderation을 지원해야한다.
    -> conferderation infomation를 호환하지 못하면 drop한다.

Conferderation EBGP 특징

  • TTL 값이 1로 날아간다.
  • ebgp-multihop을 통해 TTL을 높여야 loopback으로 neighbor를 맺을수 있다.
  • local preference, MED, Next-hop 값이 변경되지 않고 전달을 할 수 있다.
  • Next-hop이 변경되지 않는것이 중요하다.
  • EBGP로 받은 정보로 IBGP로 넘어갈때 Next-hop-self 적용이 가능하나 동작하게 되면 문제가 생기기 때문에 절대로 주면 안된다.
  • Conferderation 안에서도 route reflectors 를 설정할수 있다.
  • topology를 보고 중복되는 업데이트가 되지않도록 고려하여 설정하여야 한다.
  • route-map이 설정되어 있으면 route-map 에 입력하는 AS번호를 conferderation AS번호로 변경해야 하므로 정책을 재적용해야 한다.
conferderation은 실제로 많이 사용하지 않는다.
profile
시스코아카데미_주영민

0개의 댓글