ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 11주차: NET) AS SDN
    교내 강의/컴퓨터 네트워크 2024. 5. 22. 18:41

    1. Making Routing Scalable

    scalable은 확장의 가능성을 말한다. scalability란 확장의 용이성을 판단하는 지표이다.
    실제로 몇 십 억 개의 destination이 존재하고 이를 전부 Routing Table에 집어 넣을 수는 없다.
    따라서 라우터는 계층구조로 이루워져 있고, 각 계층마다 관리규모를 작게 유지한다. 
    나눠진 하나의 네트워크 계층을 autonomous systems(AS)라고 한다.
    *지금까지 배운 내용은 AS내에서의 라우터를 말한다.

    Intra-AS: 
        *같은 AS 내부에서 이루워지는 라우팅
        AS에 속한 모든 라우터는 같은 Intra-AS 프로토콜을 사용해야 한다. 
        하나의 AS의 edge에 있는 다른 AS와 연결된 라우터를 gateway라우터(border router) 라고 한다.
        OSPF(Link State), RIP(Distance Vector)알고리즘을 주로 사용
    Inter-AS: 
        *AS간의 라우팅
        gateway 라우터는 inter-AS 라우팅과 더불어, 다른 AS의 gateway 라우터와 inter-AS 라우팅을 수행한다.
        BGP(Path Vector)알고리즘을 주로 사용
     
    라우터의 라우팅 테이블을 만들 때는 intra-AS, inter-AS 라우팅 알고리즘을 모두 사용하여 만든다.


    Intra-AS Routing

    *IGP(Interior gateway protocols)라고도 한다.
    RIP(Routing Information Protocol), OSPF(Open Shortest Path First), IGRP(Interior Gateway Routing Protocol) 등이 있다.
     

    OSPF(Open Shortest Path First):

    public하게 open되어 있다,
    link state algorithm을 사용한다.
    동작 방식:
        1. 각각의 라우터는 AS 내부의 모든 다른 라우터들에게 link state를 flood 한다.
        2. 각각의 라우터는 full topology를 가지고 있으며 , 다익스트라 알고리즘을 통해 다른 모든 라우터들까지의 최적 경로를 탐색한다.

    Hierarchical OSPF:

    두개의 계층:
        Local, Backbone
    area border router:
        Local과 Backbone을 잇는 라우터 (Local Area의 대표로 backbone에 속함)
    backbone router:
        OSPF routing을 backbone영역에 한정하여 돌림
    boundary router: 
        다른 AS와 연결하는 라우터


    Inter-AS Routing(BGP(Border Gateway Protocol)):

    빨간선과 파란선 구분.

    inter-AS 라우팅에는 BGP(Border Gateway Protocol)이 사용된다.
    eBGP: 
        이웃 AS들로부터 reachability information 을 받아온다(AS의 위치, 갈 수 있는 destination의 종류와 경로 정보 등)
        *reachability information은 두 라우터 간의 물리적 연결이 아니다. 다른 라우터를 거친 연결도 포함된다.
    iBGP: 
        reachability information을 AS 내부의 모든 라우터들에게 전파한다. (propagate)
     

    BGP:

    gateway 라우터들은 서로 BGP 메시지를 교환한다.
    이 메시지는 특정 destination으로 갈 수 있는 경로 정보를 담고 있다.
    AS-PATH:
        목적지에 도달하기 위해 거쳐야 하는 AS들.
    NEXT-HOP:
        다음 hop을 어느 라우터로 향해야 하는지에 대한 정보.
     
    정보를 받은 gateway 라우터들은 내부 정책을 통해 이 경로를 받아들일지(accept) 혹은 거부할지(decline)를 선택한다.
    정책을 따르기 때문에 BGP를 policy-based routing 을 한다고 한다.
    아래는 예시이다.

    더보기

     

    목적지인 w에 도달하려면 A를 거쳐야함을 eBGP로 B, C에게 알린다. (A, w)

    B는 정책에 따라 B, A, w를 C에게 보낼 수도 있고 안 보낼 수도 있다.

    BGP Message:

    TCP로 한다. (permanent하게 연결, 179번 포트)

    • OPEN : 다른 BGP 피어와 TCP 연결을 시도한다.
    • UPDATE : 새로운 경로 정보를 받아 이를 통해 정보를 갱신한다.
    • KEEPALIVE : 연결을 수립한 상대방이 아직 살아 있는지 (연결이 유효한지), 또는 OPEN 메시지에 대한 ACK 로써 사용된다.
    • NOTIFICATION : 에러가 발생하였음을 알리거나 연결을 끊고자 할 때 사용된다.

    Hot Potato Routing:

     AS2는 현재 AS3으로 가는 두 가지 경로를 알고 있다. 2c -> 3a 경로가 있고, 2a -> 1c -> 3a 경로가 있다.
    2d 라우터는 intra-AS cost가 가장 작은 경로를 사용한다.
    2d에서 2a로 가는 비용은 201이고 2c로 가는 경로는 263이다.
    이때 inter-AS cost는 고려하지 않는다.

    BGP route selection:

    하나의 라우터는 특정 목적지로 향하는 길을 n개 알고 있다. 그중 하나를 고르는 기준은 다음과 같다.
    1. policy
    2. shortest AS-PATH
    3. 가장 싼 next-hop(hot potato routing)
    4. 기타 기준


    Intra AS routing, Inter AS routing을 다르게 사용하는 이유?

    policy:
        inter-AS routing: admin은 트래픽이 어떻게 라우팅되고 누가 net을 사용하는지 컨트롤 해야한다.
        intra-AS routing: single admin이기 때문에 가 필요하지 않다.
    scale: 
        계층 구조는 라우팅 테이블의 사이즈를 줄이고 update traffic을 감소 시킬 수 있다.
    performance: 
        inter-AS routing: policy>performance
        intra-AS routing: performance에만 집중할 수 있음
           

    여러 라우팅 방식

    SDN Overview:

    Q: 만약 network operator가 u~z로 가는 트래픽을 경로를 임의로 수정하고 싶다면?
    A: Link Weight를 수정하여 routing algorithm을 그 경로로 유도해야한다.
    Q: 만약 트래픽에 따라 다른 경로를 사용하고 싶다면?
    A: LS, DV 라우팅 알고리즘으론 불가능하다.
     
    기존방식:  
        distributed, Per-router approach:
            각각의 라우터는 Control Plane과 Data Plane를 가지고 있고 라우팅 알고리즘의 요소가 각각의 라우터에 전부 들어가 있다.
            (혼잡도 등)
            라우팅 알고리즘을 통해 라우팅 테이블을 구성하여 forwarding을 수행한다.
            *시간이 지나 데이터 전송 기술이 발전함에 따라 control plane이 굉장히 복잡해지게 되었다. 
            *장비의 성능이 향상됨에 따라 가격 또한 같이 상승하게 되었다. (SDN의 등장)
    현재 방식: 
        Logically centralized control plane:
            하나의 control plane이 모든 Local control agents와 연결되어 있다.
            그 control plane에 라우팅 알고리즘, OS 등 필요한 정보를 적재한다.
     

    OpenFlow protocol:

    data plane과 control plane 사이를 이어주는 인터페이스. (TCP 메시지 교환)
    controller to switch, switch to controller 두개의 클래스가 있다.
     
    controller to switch Messages:

    • feature : switch의 상태에 대해 질의
    • configure : switch의 파라미터 확인 또는 설정
    • modify-state : flow entry를 추가하거나 삭제 또는 수정
    • packet-out : 스위치의 특정한 포트에서 패킷을 내보낼 때 사용

    switch to controller Messages:

    • packet-in : 패킷을 컨트롤러로 보낼 때 사용
    • flow-removed : table entry가 삭제되었음을 알림
    • port status : 포트의 상태 변화를 알림

     

    더보기
    나중에 복습해보자,....
Designed by Tistory.