0909_BGP

주영민·2024년 9월 9일

Interdomain Routing

  • AS는 단일기술 관리자 집단 안에 있는 네트워크 영역
  • 나가는 트래픽은 어느정도 컨트롤 가능하지만 나간 후 와 들어오는 트래픽을 컨트롤 할수 없다.(RFC문서에 기재됨)
  • EGP 서로 다른 AS끼리 통신하는 것(EGP는 사라짐)
  • 다른 네트워크와 연결되기 때문에 보안을 강화해야한다.
  • 네트워크에 대한 최소한의 정보만 주고 받는다.
  • Best-Path를 찾을때 bandwidth를 고려하지 않는다.
  • 정책기반의 Routing Protocol
  • 2024년 현재 대략 700,000개 이상의 네트워크가 존재한다.
  • 서로 다른 네트워크로 연결되어 있기때문에 모든 정보를 신뢰할순없다.
  • 항상 Optimum Path(최적의 경로)로 가는것은 아니다.

BGP

  • Path vector Prtotocol
  • reliable updates(네트워크 변경시 정확하게 전달가능)
    -> ACK는 존재하지않는다. 프로세스 자체가 TCP(179) 세션을 맺는 방식을 사용한다.
  • triggered updates only(주기적인 업데이트는 없다)
  • Rich Metrics(called path attributes) 하나의 네트워크가 전송될때 경로요소를 추가하여 사용한다.
  • 하나의 식으로 계산되기 보다 우선순위에 따라 계산방법이 달라진다.
  • Designed to scale to huge internetworks
  • TCP를 사용하는 protocol은 keepalive
  • IDLE Time 때문에 Keepalive를 사용한다.
  • IDEL time이 끝나면 세션이 종료되기 때문에 주기적으로 리셋시켜준다.
    -> 네트워크가 단절되도 시간이 끝나기 전까지 세션을 가지고 있기때문에 주기적으로 리셋시킴
  • Triggerd ipdates Batched and rate-limited
  • 첫번째 업데이트 후 IBGP(5초) / EBGP(30초)가 지나야 업데이트정보를 광고한다.
  • convergence time을 고려하지 않는다.
  • Routing protocol or routing apllications이라고 한다.

    BGP uses(BGP를 사용하는 경우)

  • 두개 이상의 ISP와 연결되어 있을 경우에 필수로 BGP를 사용한다.
  • exchange point

    Single-Homed

    -> BPG 사용은 Option으로 선택한다.
    -> ISP와 통신상태를 Detect하기 위해서 사용한다.
    용어 메트로이더넷
  • 사설 AS 번호(Private AS number) : 임시사용
용어 Smaller ISP
  • Use static Routering 사용하라고 권고함

    Dual-Homed

    -> RFC에는 공식기재되어 있진 않지만 CISCO에서 사용하는 용어
    -> Multihomed
    Provider-independent

    BGP Limitations (한계점)

  • AS로 들어오는 트래픽에 대해서 트래픽컨트롤을 할수없다.
    (RFC 1771)

    NAT(PAT)로 경로를 변경할수 있는 방법이 있긴하다.

    BGP Path Attributes

    Path attributes 두가지

    TLV : time , langth, value

1. Well-Known Attributes

  • Transitive 가 1로 셋팅되어 전달된다.
  • 모든 장비가 인식을 해야한다.
  • 지금 사용하는 모든 장비가 아는 것
  • Version 도중에 추가하는 기능은 없다.
    1-1 Mandatory
    -> 모든 업데이트 패킷에 반드시 들어가야 하는 패킷
  • Origin
    자신의 RIB에 존재하면 network로 광고 할수 있다.
    -> the origin of a BGP Route (처음 데이터베이스에 들어오게 된 경로)
    I : Route originated in an IGP(ex RIB, EIGRP, Static)
    -> Network로 광고
    E : Route originated in EGP(현재 사라짐)
    ? : Route was redistributed into BGP
    Best-path를 찾는 순서 I>E>?.
    Code Number I<E<.?

AS-path : 어떤 경로로 들어오게 되었는지
-> AS를 통할때 마다 AS-Path에 기입된다.
Next-Hop : 어디로 누구에게 보낼지를 결정

1-2 Discretionary

-> 업데이트 패킷에 선택적으로 넣을수 있는 패킷

  • Local AS prefernece
    -> default(100) // 로컬에서 어디를 선호할지 결정
    -> EBGP로 보낼때는 사라질수 있다.
  • Atomic aggregate
    ->

2. Optional Attributes

  • 일부 장비는 인지 하지 못할수도 있다.
    2-1 Transitive
  • Aggregator
  • Community
    -> BGP에서의 Tag(자체적으로 기능을 가지고 있지는 않다)
    -> 인지하지 못해도 다른 네이버에게 Partial bit를 전달 한다.
    -> Partial bit(1)
    2-2 NonTransitive
  • MED(Multi-exit discriminator)
    -> 알지 못하면 그 필드만 드랍시킨다.
    -> Transitive(0)
  • BGP는 version 호환이 되어야 한다.

AS-Path Attribute

  • 처음에는 Empty 상태이다.
  • Sender 의 AS 넘버가 추가된다
  • AS-path 안에 자신의 AS 넘버가 있으면 드랍한다.
  1. 처음광고시 Null 상태 (데이터는 없지만 필드는 존재한다.)
    -> 내부에서 전달할때까지 Null{}상태를 유지한다.
  2. 다른 AS로 이동할때 {AS Number}를 붙여 패킷을 전달한다.
    (자신의 AS를 추가)
  3. IBGP로 받은 자신의 AS 번호를 필터링 하지 않는다.
  4. EBGP로 받을 때만 자신의 AS 번호를 필터링 한다.(드랍)

Next-Hop Attribute

  • EBPG로 보낼때 자신의 IP로 셋팅한다.
  • 최적의 경로 보내기위해 제3의 IP로 보낼수도 있다.
  1. Next-Hop을 설정
  • MA(멀티액세스)로 되어 있을땐 Next-hop IP를 변경하지 않고 전달한다.
  • Connect은 Next-hop 존재하지 않아 0.0.0.0 으로 가져온다.
  1. IBGP로 전달 시 설정된 Next-hop은 그대로 존재하지 않는 next-hop은 전달하는 장치의 IP로 설정한다.
  2. IBGP -> EBGP로 전달할때 전달하는 인터페이스의 IP로 전달한다.
  3. IBGP로 전달할때는 Next-hop이 변경되지 않기 때문에 Next-hop을 찾아갈수 있도록 IGP로 광고를 해주어야한다.

IBGP로는 어떠한 Attribute도 변경되지 않는다.

ISP 내부에서 EBGP로 들어오는 경로의 값도 계산을 하기 위해서

ishare2 ??

BGP Neighbor Discovery

  • BGP는 수동으로 Neighbor를 지정해서 맺어야 한다.
  • 세션이 만들어지면 만들어진 세션을 사용하게 된다.
  • 두개의 세션이 동시에 만들어진 경우 한 세션을 끊는다.
  • TCP 179
  • 들어온 연결이 네이버로 셋팅이 되어 있지 않으면 세션이 끊어진다.
  • 멀리 떨어져 있어도 TCP를 통해 네이버를 맺을수 있다.
  • 동일한 IP가 아니라면 세션은 추가 구성할수 있다.
  • loopback을 통해서 TCP 세션을 통해 네이버를 맺는다.
    -> neighbor () update-source lo 0
    -> 세션이 하나만 만들어져도 통신은 가능하지만 관리의 목적 상 두 세션을 유지한다.
    -> show ip bgp summary

Establishing a BGP Session

-> debug ip tcp transactions
-> debug ip bgp events

용어 Established

Open Message Contains the following

  • BGP version number(BGP version 번호)
  • AS number of the local router(자신의 AS 번호)
    -> TCP 179을 사용하기 때문에 프로세스가 두개이상 올라가지 않는다.
  • Holdtime
    -> 서로간에 맞출필요가 없다. 서로 네고하는 방식을 쓴다.
  • BGP router identifier
    -> router-ID가 겹치면 네이버가 맺어지지 않는다.
  • Optional parameters
    -> 내가 어떠한 기능이 있는지에 대한 정보
  • TblVer :
  • PfxRcvd : 받은네트워크

Keepalives

  • CISCO는 Keepalive-time 60초 / Hold-Time 180초
    타 벤더 및 Keepalive-time RFC 30초 Hold-Time 90초
  1. 가장 작은 Time으로 동기화 한다.
  2. Hold-Time을 3으로 나누어 Keppalive-time을 계산하여 값을 구한다.
  3. Keepalive-Time과 Config값을 비교 후 더 작은값을 우선시 하므로 작은값을 적용한다.
  4. Holde-time은 Keepalive-time x 3 의 값과 같거나 높아야 한다.
  • MD5 세션이 맺어진 후 에는 인증이 사용이 안되므로 세션을 재실행하거나 세션이 맺어지긴 인증을 적용해야한다.

Receiving Routing Update

route installing : RIB 학습되었다는 뜻
-> 자신의 RIB에 학습이 되어지지 않아도 Best-path를 update한다.

BGP <-> IGP 사이는 Redistribute 하지 않는것을 권장한다.

Show ip bgp

-> network 뒤에 subnet 정보가 없으면 Majar네트워크이다.
-> next hop 이 0.0.0.0인경우
1. 자신의 주소
2. 다이렉트커넥팅
3. 내가 만들 어그리게이트

  • MED(Metric) : 정보가없으면 정보가 없는것
  • LocPrf : 정보가 없으면 Default 값
  • Path+orizination Code : 뒤에서 부터 읽는다.

BGP Table 공부할 것(읽는방법 및 내용)

BGP Route Selection Criteria(우선순위 선정 순서)

필수 1.Next-hop이 나의 RIB에 학습이 되어 있어야 한다.
-> Next-hop까지 찾아갈수 있어야 한다.
2.Router의 정책 :Highest weight (해당 정보는 업데이트하지 않는다.)
3.AS의 정책 : LocPrf_Local Preference(선호도)가 높은 것이 우선시 된다.
IBGP로만 정보를 업데이트를 할수 있다.
4. 자기 자신이 광고한 경우
-> CISCO의 경우 weigth값을 32768으로 설정하여 자신이 광고한 경우를 최우선시 하게 한다.
5.외부정보 : AS path(AS를 거친 값)가 가장 짧은 것을 우선시 한다.
-> 아무 정책이 없을시 우선시 되는 값
6. 낮은 Origin code를 우선시한다.(Code번호가 더 크다)
-> IGP(i) < EGP(e) < Incomplete(?)
7. MED값이 낮으쪽을 우선시 한다.
-> BGP와 IBGP를 동시에 받으면 EBGP를 더 우선시 한다.
8 둘다 IBGP로 동시에 받으면 next-hop을 비교하여 더 가까운쪽을 우선시 한다.
9 둘다 EBGP로 동시에 받으면 먼저 받은 정보를 우선시
한다.
10. Neighobr의 router-ID를 비교하여 낮은 값을 우선시 한다.
11. Neighbor IP-Addr

-> 해당값을 조정해서 Best-path를 조정한다.

SDN을 하게 되면 클라우드와 같은 연동형프로세서와 정책을 공용으로 사용할수 있다. // SDN에 대해서 알아볼것
정책기반에 대해서 공부할것
profile
시스코아카데미_주영민

0개의 댓글