728x90
aggregated route는 단일 route announcement 에 여러 ip 경로를 보내는 것을 말한다. 간단히 말해서 경로를 요약해서 광고하는 것 이다.
 


Chardonnay는 Shiraz와 연결되어있고 BGP를 이용해서 라우팅 정보를 광고해야 한다. 이를 해결하기 위해 multiple
methods를 사용할 수 있지만 우리는 Shiraz에게 요약된 경로를 보내고 싶다. 이 요약된 경로는 Merlot, Cabernet, Riesling과 연결된 모든 고객들의 경로를 포함하고 있을 것이다. 가장 정확한 요약정보는 192.168.0.0./17 이고 이런 설정이 active 되면 요약된 경로들은 BGP로 재분배 및 광고가  될 것이다.
 
Contributing Routes

라우팅테이블에 aggregate route를 만드는 핵심포인트는 하나 이상의 contributing route 가 있느냐 없느냐 이다.
contributing route는 요약된 경로보다 더 구체적이면서 라우팅 테이블에 active되어 있는 경로를 말한다.  위의 그림에서 192.168.16.0/24, 192.168.32.0/24, 192.168.48.0/24 는 aggregate route ( 192.168.0.0/17)의 contributing route 이다.

user@Chardonnay> show route protocol aggregate detail
inet.0: 23 destinations, 25 routes (23 active, 0 holddown, 0 hidden)
192.168.0.0/17 (1 entry, 1 announced)
*Aggregate Preference: 130
Next hop type: Reject
State: <Active Int Ext>
Age: 23
Task: Aggregate
Announcement bits (2): 0-KRT 5-Resolve inet.0
AS path: I (LocalAgg)
Flags: Depth: 0 Active
AS path list:
AS path: I Refcount: 3
Contributing Routes (3):
192.168.16.0/24 proto Static
192.168.32.0/24 proto Static
192.168.48.0/24 proto Static 

 show route 명령어에 detail 이나  extensive 옵션을 사용하면 모든  aggregated route들을 확인 할 수 있다.

Next-Hop Options

 라우팅테이블에 있는 모든 경로들은 반드시 next-hop 이 유효해야 한다. aggregated route도 예외는 아니다.  static route와는 달리 오로지 2가지 옵션만 사용이 가능하다.

 reject 
   null값으로 설정되어 있고, reject가 선언된 구문에 매치되면 패킷을 드랍하고  ICMP는 "목적지가 도달불가능" 이라고
   메시지를 되돌려보냅니다. 디폴트로 설정되어 있다.
 discard
   null값으로 설정되어 있고, discard가 선언된 구문에 매치되면 패킷을 드랍시킨다.

Aggregate Route Attributes

static route에서 보았던 많은 어트리뷰트들이 aggregate route에서 볼 수 있다. 이는 JUNOS의 특성이다. 어트리뷰트 옵션을 알아보자
routing-options {
   aggregate {
       defaults {
         aggregate-options;
       }
       route destination-prefix {
          policy policy-name;
          aggregate-options;
       }
   }
}

active 
    next-hop이 사용불가능할 경우 라우팅 테이블에서 해당경로를 제거합니다. 디폴트로 설정되어 있습니다.
as-path
    static route에 수동으로 AS path를 설정하는 옵션이고 BGP로 재분배할때 유용합니다. 
brief
   모든 BGP contributing경로의 AS path 중에 가장 긴 common sequence를 가진 경로만 aggregate로 전송한다.
community
   BGP community값을 경로에 할당한다. 또한 경로 재분배할때 유용하다.
full
   모든 BGP contributing 경로의 AS path의 AS값이 aggregate 에 포함된다  기본적으로 설정되어 있다.
metric
   preference값이 동일할때 라우팅엔진이 어떤 경로를 선택할지 결정하기 위해 metric 값을 할당하는 옵션 
 

Configuration Examples

[edit routing-options]
user@Chardonnay# set aggregate route 192.168/17

이렇게 설정 하면 요로케 보인다..

[edit routing-options]
user@Chardonnay# show
   aggregate {
      route 192.168.0.0/17;
   }

지금의 설정에서는  attribute가 설정되어 있지 않다. 기본적으로 aggregate route 가  inet.0 라우팅 테이블에 등록이 될려면 적어도 하나의 contributing route가 필요하다.

contributing route를 입력하자.

routing-options {
    static {
        route 192.168.16.0/24 next-hop 1.1.1.1;
        route 192.168.32.0/24 next-hop 1.1.1.1;
        route 192.168.48.0/24 next-hop 1.1.1.1;

확인해보자

user@Chardonnay> show route protocol aggregate detail
inet.0: 11 destinations, 26 routes (11 active, 0 holddown, 0 hidden)
192.168.0.0/17 (1 entry, 1 announced)
*Aggregate Preference: 130
Next hop type: Reject
State: <Active Int Ext>
Age: 3
Task: Aggregate
Announcement bits (2): 0-KRT 5-Resolve inet.0
AS path: I (LocalAgg)
Flags: Depth: 0 Active
AS path list:
AS path: I Refcount: 3
Contributing Routes (3):
192.168.16.0/24 proto Static
192.168.32.0/24 proto Static
192.168.48.0/24 proto Static

[edit]
root@R1# run show route
inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
192.168.0.0/17     *[Aggregate/130] 00:37:48
                               Reject

3개의  static route가 하나의 aggregate로 묶였다.

aggregate에서 default next-hop이  reject 이다.


728x90

JUNOS에서 static route 란 next hop을 사용자가 지정해준 경로를 말합니다. static route가 라우팅 테이블에 등록되기
위해서는 반드시  next hop  이 유효해야 합니다. (next hop이 다운 이라면 테이블에 등록이 안되겠죠~)  이는 즉, 라우터는
next hop을 사용하여 패킷을 포워딩 한다는 말 입니다.
static route는 토폴로지 변경이나 새로운 라우팅 정보에 영향을 받지 않고 테이블에서 삭제할 때 까지 라우팅 테이블에 존재합니다. 간단하게 예를들어 봅시다.


위 그림에서 Chardonnay는 192.168.16.0/24, 192.168.48.0/24, 192.168.32.0/24 네트워크와 연결되길 원합니다. 이 세가지 경로들은 각각 Merot, Cabernet, Riesling뒤에 위치하고 있고, Chardonnay 라우터에 각각의 경로에다 static route 설정을 했습니다..  
Chardonnay에 연결된 Riesling의 인터페이스가 next-hop 이 될 것이고 두 라우터 간의 링크가 Chardonnay 와의 연결 가능한 유일한 링크이기 때문에 이 설정은 잘 동작할 것이다. 만약 이 링크가 죽는다면 대체 링크는 없고 Chardonnay는 연결이 끊어질 것이다. 이 간단한 예제의 문제는 확장성(scalability)이 없다는 것이다. 만약 네트워크가  커진다면 Chardonnay는 네트워크가 커질 때 마다 관리자는 일일이 static route를 설정해줘야 한다.

단일링크 연결일 경우에는 static route가 좋은 방법중에 하나일 것이다. 밑의 그림을 보자 Shiraz는 AS65001의 경계라우터이고 5개의 고객사 라우터에 단일링크로 연결되어 있다. 각각의 라우터들은 AS65001을 통하여 인터넷 연결을 하고싶어 한다. 이럴 경우에는 static route가 좋은 방법이다. Shiraz는 5개의 static route 가 설정되어 있다. 5개의 static route들은 다이나믹 라우팅 프로토롤을 통해서 AS65001에 있는 다른 라우터들에게 광고가 된다.


각각의 고객 라우터들은 자신들이 연결하고 싶어하는 네트워크에 static route 설정을 하였다. 이런 연결 방법은 이전 예제와 같은 제약사항이 있다. 연결가능한 네트워크가 늘어날 때 마다 static route를 설정해 주어야 하기 때문이다. 한가지 해결 방법은 default route (0.0.0.0/0)를 설정하는 것이다. 이렇게 되면 각 고객들의 라우터에 있는 모든 네트워크는 인터넷에 연결이 가능하게 된다.  
그럼 지금부터 왜 static route가 필요한지, 어떻게 config를 해야하는지 자세히 알아봅시다~

Next-Hop Option

static route 를 사용할때 netxt-hop은 무조건 유효하거나 사용가능한 next-hop으로 설정해줘야 합니다. JUNOS는 6개의 next-hop 옵션을 제공합니다.
 
Directly connected IP address 
   물리적으로 연결된 서브넷의 IP Address은 static route의 next-hop으로 자주 사용됩니다. remote router와 연결된
   인터페이스는 패킷을 포워딩 할 때 사용합니다.
Remote IP address
   네트워크 안에 있는 다른 IP들 또한 next-hop으로 사용가능 합니다. 로컬 라우터는 inet.0 routing table에서 설정되어 있는
   Address로 가는 물리적 next-hop 을 찾기위해 recursive lookup을 수행합니다. IP를 선얼할때 resolve명령어를 사용하여
   이런 기능을 활성화 시킬 수 있습니다.
reject
   reject값은 null 로 설정되고 라우터가 라우팅 테이블을 lookup 할때  reject옵션이 쓰인 static route에 매칭이 된다면 
   매칭된 패킷은 드랍됩니다.
discard
   discard값은 null 로 설정되고 라우터가 라우팅 테이블을 lookup 할때 discard 옵션이 쓰인 static route에 매칭되면 
   매칭된 패킷은 드랍됩니다.
 qualified next hop 
   단일의 static route 에 next-hop으로 여러 IP Address를 할당 할 수 있다. qualified next hop을 설정하면 하나의 네트워크
    에 preference값만 다른 여러 경로가 라우팅 테이블에 보여진다.

          예)   192.168.1.0/24     *[Direct/0] 00:21:10
                                              > via em2.0
                                           [Static/100] 00:05:03
                                              > to 192.168.4.2 via em3.0
                                           [Static/110] 00:05:03
                                             > to 192.168.4.2 via em3.0
  Label switched path (LSP)
    MPLS가 설정된 네트워크에서는 static route는 LSP의 next-hop 값으로 설정할 수 있다. 이 next-hop 에 매칭되는 모든
    경로들은 IP address 가 아니라 Lable value 에 의해서 포워딩 된다. 자세한 내용은  MPLS 부분에서 확인하자.

Static Route Attributes

  next-hop값은 static route에 단 하나만 할당가능한 어트리뷰트 입니다. JUNOS에서는 static route에 다양한 파라미터 값을
  설정할 수 있습니다.  몇몇의 기능들은  static route 에 유용한 기능들이고 그 중에 preference 값은 floating static route 에
  사용됩니다. 다른 어트리뷰트들은 다이나믹 라우팅 프로토콜에 유용합니다. 예를들어 BGP는 static route에 할당된
  community 값을 사용합니다.
  이제 기본적인 static route 설정을 확인해 봅시다.

routing-options {
   static {
      defaults {
      static-options;
      }
   route destination-prefix{
         next-hop next-hop;
         qualified-next-hop address{
            metric metric;
            preference preference;
         }
         lsp-next-hop lsp-name{
            metric metric;
            preference preference;
            }
         static-options;
      }
   }
}


static route 어트리뷰트 들은 route부분은 실제 prefix부분이 설정되는 곳 입니다. next-hop 과 다른 모든 설정들이 각각의 route 부분에 들어갑니다.  default부분은 각각의 static routes들이 모두 동일한 설정값을 가질때 사용합니다. default 부분은 오로지 floating static route만 사용할 때 사용합니다. 각각의 경로에  preference 값을 설정하는 대신에 default 부분에 한번만 설정하면 각각의 경로는 default 부분에 선언된 어트리뷰트 값을 상속받아 사용합니다.

static route에 사용가능한 옵션값을 알아봅시다.

   active 
      next-hop이 사용불가능할 경우 라우팅 테이블에서 해당경로를 제거합니다. 디폴트로 설정되어 있습니다.
   as-path
      static route에 수동으로 AS path를 설정하는 옵션이고 BGP로 재분배할때 유용합니다. 
   community 
      BGP community값을 설정할 때 사용한다. 이것 또한 재분배할 때 유용하다.
   install
      패킷포워딩 엔진에 있는 포워딩 테이블에 사용가능한  static route 를 넣는다. 디폴트로 설정되어 있다.
   metric
      metric옵션을 사용하면 라우팅엔진이 static route에 설정된 메트릭 값을 참고하여 동일한 경로(같은 preference) 중에
      어떤 경로를 사용할지 결정한다. 
   no-install
      install옵션의 반대로 동작함.
   no-readvertise
      이 옵션은 외부에서 들어온  static route 경로가 라우팅 테이블에 올라가는 것과 라우팅 정책을 사용하여 다른 라우팅
      프로토콜로 재분배 되는 것을 막는다. 
   no-retain
      라우팅 프로세스가 shut down 되면 static route 가 포워딩 테이블에서 지워진다. 디폴트로 설정되어 있다. 
   passive
      active옵션의 반대로 동작
   readvertise
      no-readvertise옵션의 반대로 동작. 디폴트로 설정되어있다.
   retain
      no-retain 과 정반대로 동작함.

Configuration Examples

 


 192.168.16.0/24 네트워크에 연결하기 위해서 Chardonnay에 아래와 같은 설정이 필요하다.

[edit routing-options]
user@Chardonnay# show
     static {
         route 192.168.16.0/24 next-hop 1.1.1.1;
         }

 설정된 next-hop (1.1.1.1)이 바로 연결되어있는 인터페이스이기 때문에 static route는 active 상태가 되고  inet.0
 라우팅 테이블에서 볼 수 있다. 다음과 같은 명령어로 확인할 수 있다.

   user@Chardonnay> show route protocol static
   inet.0: 10 destinations, 15 routes (10 active, 0 holddown, 0 hidden)
   + = Active Route, - = Last Active, * = Both
   192.168.16.0/24 *[Static/5] 00:02:28
   > to 1.1.1.1 via fe-0/0/0.0

 나머지 네트워크도 동일한 방법으로 설정하면
inet.0: 13 destinations, 15 routes (13 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
192.168.16.0/24 *[Static/5] 00:03:58
> to 1.1.1.1 via fe-0/0/0.0
192.168.32.0/24 *[Static/5] 00:01:14
> to 1.1.1.1 via fe-0/0/0.0
192.168.48.0/24 *[Static/5] 00:01:14
> to 1.1.1.1 via fe-0/0/0.0
요로케 될 것이다.


+ Recent posts