HJW's IT Blog

Computer Network: 11주차 본문

컴퓨터 네트워크

Computer Network: 11주차

kiki1875 2023. 5. 21. 14:04

   Router Scaling

    > Destination 이 너무 많다 --> 모든 destination 정보를 routing table에 저장할 수 없다

        > 라우팅 테이블끼리 swamp link 공유

        > Administrative Autonomy

                > Internet 은 network of networks

                > 각 network admin은 자체 network에서 라우팅을 관리

       Internet Approach

                >> Intra-AS routing (AS: domains)

                        >>> 같은 AS 내 호스트오 라우터 간의 라우팅

                        >>> 같은 AS 내의 모든 라우터는 same intra-domain protocol을 실행해야 한다

                        >>> 다른 AS에 있는 라우터들은 다른 intra-domain protocol 실행 가능

                        >>> Gateway Router: 다른 AS 로의 링크 보유

                        >>> Interior Gateway Protocol (IGP) 로도 알려져 있음

                        >>> RIP: Routing Information Protocol

                        >>> OSPF: Open Shortest Path First

                        >>> IGRP: Interior Gateway Routing Protocol

 

                >> Inter-AS Routing

                        >>> AS들 간의 라우팅

                        >>> 각 gateway router 들 끼리 라우팅

                        >>> 

              >> Inter AS tasks

                      >>> AS 1 에 있는 라우터가 AS 1 밖에 있는 라우터에서 datagram 을 받는다고 가정

                      >>>  라우터는 패킷을 forwarding 해야 한다.

                        >>> AS1 은 이 때, 어떤 destination 에 도달 할 수 있는지를 배워야 한다(AS 2 와 AS 3 을 통해)(이어져 있음)

                        >>> 배운 정보를 모든 AS 1 내에 있는 라우터에게 알린다.           

 

OSPF(Open Shortest Path First)

        >  OPEN: 공개적으로 이용 가능

        > 링크 상태 패킷 전파

        > 각 노드에 대한 topology map

        > Dijkstra's Algorithm 사용하여 라우팅 경로 계산

        > 라우터는 OSPF 링크 상태를 AS 내의 모든 라우터에 알린다

        > 모든 OSPF 메세지는 보안을 위해 인증된 상태이다

        > 계층적 OSPF

                >> 두개의 계층: local area, backbone

                >> Link-state는 area 에서만 알려진다

                >> 각 노드는 detailed area topology를 보유: 다른 area로의 최단 경로만 알 고 있음

                >> Area Border Routers: 각 area 내의 거리에 대한 정보를 요약, 다른 Area Border 라우터에게 알린다

                >> Backbone Routers: Backbone에만 제한된 OSPF 라우팅 실행

                >> Boundary Routers: 다른 AS 에 연결되어 있음

Hierarchial OSPF

       


Internet Inter-AS Routing: BGP

        > BGP(Border Gateway Protocol): Inter-domain routing protocol

        > BGP는 각  AS 에 다음과 같은 기능 제공

                >>eBGP: 근접 AS로부터 서브넷 reachability 정보를 제공한다.

                >> iBGP: 모든 AS 내부 라우터에 reachability 정보를 전파한다.

        > Reachability 정보와 정책에 기반하여 좋은 경로 결정

eBGP & iBGP

        > BGP session: 두 BGP 라우터는 BGP msg를 반영구적 TCP 연결을 통해 교환한다

                >> 다른 네트워크로의 경로에 대한 정보를 교환한다(path vector)

        > 다음 사진에서 AS 3 gateway router 3a가 AS3,X를 AS 2 gateway router 2c에 알린다

                >> 이때 AS 3 은 x를 향해 datagram을 forward 하겠다고 AS 2 에 약속함

        > 알려진 prefix는 BGP attributes 를 포함한다

                >> Network Prefix + Attributes = "route"

        > Attributes

                >> AS-PATH: Prefix advertisement가 통과한 AS의 리스트

                >> NEXT-HOP: 다음으로 hop 한 internal-AS router 를 가르킨다.     

 

        > Policy-Based Routing

                >> 라우팅 정보를 받는 gateway는 import policy를 사용하여 경로를 수락할지 거절할지 결정한다

                        >>> 예를들면 다음과 같은 정책이 있을 수 있다(never route through AS Y)

 

BGP PATH Advertisement Example

        > AS2 router 2c는 AS3,X를 AS3 router 3a로부터 받는다

        > AS2 정책에 의해 AS2 router 2c는 AS3,X 경로를 수락하고 모든 AS2 라우터에 알린다

        > AS2 정책에 의해 AS2 router 2a는 경로 AS2,As3,X를 AS1 router 1c에게 알린다.

 

BGP PATH: multiple path

        > AS 1 gateway router 1c가 AS2, AS3, X 경로를 2a에서 받는다

        > AS 1 gateway router 1c가 AS3,X경로를 3a 에서 받는다

        > 정책에 의해 AS1 gateway router 1c 는 AS3,X 경로를 선택, AS1 내의 모든 라우터에게 알린다(iBGP를 통해)

 

        > BGP Messages

                >> OPEN: 떨어져 있는 BGP peer 끼리 TCP 연결을 연다

                >> UPDATE: 새로운 경로를 알린다

                >> KEEPALIVE: Update 가 없어도 연결을 살려둔다

                >> NOTIFICATION: 이전 메세지에 있는 에러를 알린다. 연결을 종료하기도 한다.

 

        > 라우터가 둘 이상의 경로에 대한 정보를 받을 수 있다. 이 경우..

                >> 정책 기반 선택

                >> 최단 AS-PATH

                >> 가장 가까운 NEXT-HOP 라우터(hot potato routing)

                        >> hot potato routing 이란 둘 이상의 경로가 존재할 때, 가장 적은 intra domain cost를 가지는 경로를 선택

                >> 추가 정보

        

        > Intra-AS 와 Inter-AS가 다른 이유:

                >> 정책: 

                        >> Inter-AS: 관리자가 트레픽이 어떻게 라우팅되며 누가 라우팅 하는지에 대한 제어

                        >> Intra-AS: single-Admin 이기 때문에, 정책 결정이 필요없다.

                >> 규모:

                        >> 계층적 라우팅은 라우팅 테이블 크기를 줄이고 update traffic을 감소시킨다.

                >> 성능: 

                        >> Intra-AS: 성능에 집중 할 수 있다

                        >> Inter-AS: 정책이 성능을 저하시킬 수 있다.        


Traffic Engineering

        > 만약 네트워크가 u ~ z 는 uvwz를 통해서, x ~ z 는 xwyz를 통해 가길 원한다면?

                >> 각 길에따라 링크 weight를 결정해야 한다.

        > 만약 네트워크가 u ~ z 의 경로를 둘로 나누려 한다면? (uvwz, uxyz)

                >> 불가능 or need new routing algorithm

                > w가 파랑과 빨강 traffic을 다르게 라우팅 하고 싶다면?

                        >> 불가능

 

 

Software Defined Networking(SDN)

        > 분산된 각 라우터 접근 방식을 통해 구현되어 왔다.

                >> 하나의 라우터에 스위칭 하드웨어가 내장되어 있으며, 특정 인터넷 프로토콜을 독자적으로 구현하는 proprietary 운영체제를 실행

                >> 다양한 "middlebox" 로, 다른 네트워크 계층 기능을 수행한다.EX)  방화벽, NAT 상자

 

Per-router Control Plane

        > 각 라우터 내에 각자의 routing algorithm component가 존재, control plane 과 소통

 

Per-Router Contol Plane

Logically Centralized Control Plane

        > Controller들이 local control agents랑 소통

Logically Centralized Control Plane

        > Why Logically Centralized?

                >> 네트워크 관리가 더 쉽다

                        >>> 라우터 misconfigurations 를 피하고 traffic flow관리에 대한 유연성이 좋다

                        >>> Table - Based forwarding은 라우터 프로그래밍을 가능하게 한다

                                <중앙에서 계산하고 분산>

        > 동작방식

                1. Flow-Based Forwarding

                2. Control, Data plane 분리

                3. Control Plane 함수를 사용해 외부 data plane 으로 변경

                4. Programming 가능 한 기능들 (control applications)

 

 

 

        > Control Applications

                >> SDN 환경에서 네트워크 정책을 관리 및 구성

        > SDN Controller

                >> Network 상태 정보를 보유, 네트워크 트래픽을 제어/ 관리

        > Data Plane Switches

                >> 빠르고 간편하며 data-plane forwarding이 하드웨어상 구현되어있다

                >> Switch Flow Table 이 계산된다

                >> controller와 소통하기 위한 프로토콜 존재

                       

 

OpenFlow Protocol

        > Controller 와 switch 사이에서 작동

        > TCP를 사용하여 msg 교환

        > 3 Classes

                >> Controller - to - Switch

                        >>> Features: controller 가 switch feature 에게 질의를 보내고 응답을 교환

                        >>> Configure: controller가 switch configuration을 질의/설정

                        >>> Modify-State: flow entry 들을 add delete modify

                        >>> Packet-out: Controller 가 이 페킷을 특정 포트로 보낼 수 있다

                >> Controller - to - Switch

                        >>> Packet-in: 패킷을 controller 에게 전달

                        >>> Flow-Removed: switch 에서 flow table entry 를 삭제

                        >>> Post Status: 컨트롤러에 포트 변경을 알린다.

                >> Asynchronous

                >> Symmetric

       

                

                        1. S1, 링크 실패 후 OpenFlow port status message를 통해 controller 에 알린다

                        2. SDN controller 가 메세지를 받고 링크 상태 정보를 업데이트 한다.

                        3. 다익스트라 라우팅 알고리즘 프로그램을 부른다

                        4. 프로그램 실행하여 네트워크 그래프 정보, 링크 상태 정보를 기반으로 새로운 route 를 계산.

                        5. Link state routing app은 flow table computation component를 이용해 새로운 flow table을 계산한다

                        6. Controller는 OpenFlow를 사용해 새로운 table을 switch들에 넣는다.

 

        > Generalized Forwarding 은 간단한 패킷 처리 규칙을 사용

                >> Pattern : 패킷 헤더 필드의 값과 일치하는지 확인

                >> 동작: 일치하는 패킷에 대해 drop, forward, modify 또는 컨트롤러로 보내는 동작 수행

                >> Priority: 겹치는 패턴을 구분하기 위함

                >> Counter: Byte 수와 패킷 수를 계산

 

SDN: Selected Challenges

       

'컴퓨터 네트워크' 카테고리의 다른 글

컴퓨터 네트워크: 13주차  (0) 2023.05.30
Computer Network: 12주차  (0) 2023.05.24
Computer Network: 10주차  (0) 2023.05.20
Computer Network: 9주  (0) 2023.05.19
Chapter 4.5: Routing Algorithm  (0) 2023.05.16