Computer Network-05.Network Layer: Control Plane(BGP,SDN,ICMP, SNMP)

CHO WanGi·2023년 12월 13일
0

Network

목록 보기
7/11

Routing Among ISPs: BGP

전에 살펴보았던 Inter-AS(Inter Domain) => AS끼리의 라우팅

Intra-AS(Intra domain)은 같은 AS내에서의 라우팅 개념

BGP : Border Gateway Protocol

인터넷이 붙어있을 수 있도록 "glue together"
=> ISP들을 연결

  • policy-based Routing
  • path vector routing Protocol로 분류
    목적지 까지 가는데 ASN들의 full path list를 Routing Loop에 전달(advertise) 하지 않음(DV의 단점)
  • advertise: will foward, 나중에 패킷이 오면 forwarding 하겠다.
  • Classless inter Domain Routing
    BGP는 패킷을 특정 목적지 주소가 아니라 CIDR로 표현된 주소의 앞쪽 Prefix를 향해 포워딩.
    Prefix는 서브넷이나 서브넷 집합
  • Incremental Updates: 변경된 내용만 Update

BGP : Peering

BGP간의 연결을 Peering 이라고 함.
peer들 사이에 BGP메시지를 주고 받는다

  • External BGP Peering between diffrent AS: eBGP
    서로 다른 AS간 연결 맺을때 각 ASBR, Peer맺고 polcy기준으로 물리적으로 (directly) 연결

  • Internal BGP peering within the same AS : iBGP
    iBGP Peer 들은 같은 ASN,그들은 TCP로 fully meshed(directly Connected 될 필요는 X)

eBGP와 iBGP running 하고 있는 라우터(ASBR)에서 나머지 모든 IBGP TCP Session 을 맺어야 함

결국 eBGP가 다른 AS로 부터 얻은 정보를 자신의 AS안에 있는 모든 라우터들에게 알려주기 위해 iBGP session을 직접 맺음

BGP : inter-AS routing

  • eBGP : learns subnet reachability information from neighboring ASs.
    eBGP와 iBGP 모두 running하는 ASBR은 학습한 내용을 자신의 AS 안에 있는 모든 라우터와 맺은 TCP iBGP session으로 전달.

  • iBGP : propagates prefixed learned from outside the AS to all AS-internal routers.
    eBGP를 운용중인 ASBR에게 받은 정보로 끝, 다른 internal iBGP와 정보를 주고 받지 X.

good Routes = policy

BGP Protocol: message format

  1. open: ASN number를 주고 받고 eBGP 인지 iBGP인지 판단

  2. Update : 기존 경로를 철회하고 새로운 경로로 advertise

  3. keepalive: Update 없이 연결 유지 및 ACKs OPEN Request

  4. Notification: 이전 메시지에 있는 에러를 리포트, 또한 closed connection 사용.

Path attributes and BGP routes

BGP는 경로를 Prefix + attributes 형태로 advertise.

  • prefix: 전파되는 목적지
  • Attributes
  1. AS-PATH: 목적지 서브넷으로 가기 위한 Path Attribute, 어떤 AS를 거쳐야 하는 지의 AS list들
  2. NEXT-HOP: AS-PATH를 시작하는 라우터 인터페이스의 IP주소

각 BGP 경로는 NEXT-HOP, AS_PATH, 목적지 주소 Prefix로 구성

Hot Potato Routing

가능한 적은 cost로 intra-domain 벗어나도록 하는 AS를 선택하는 것(cost는 신경X)

SDN Control Plane

Internet Network layer는 역사적으로 router control approach 에 의해 시행되고 분배되었음

Per router Control Plane

전톡적으로 사용한 방식으로, 개별적인 routing 알고리즘을 사용하여, 각각의 라우터가 forwarding table과 상호작용(각각 진행)

Software-Defined Networking(SDN) control plane

Control plane 영역에서,
Remote controller 가 forwarding table을 계산하고 라우터에 설치까지(한데 모아서 진행)

why logically centralized?

  1. 네트워크 관리의 용이 : 라우터의 잘못된 구성을 방지하고, traffic flow에 대한 유연성을 증대시키기 위함
  2. Programming router 사용: 각각의 라우터가 계산을 하는 것 보다, 중앙에서 계산하고 뿌려주는게 더 효율적
  3. Open implementation of control Plane:

SDN 의 구성

  1. flow-based forwarding(Open Flow)의 일반화
  2. data plane, control plane을 구분해서 control
  3. control plane 관련 기능들은 data plane 외부로 빼놓기
  4. programmable control Apps

1. Data-palne switches

  • 빠르고 간편하게 일반화된 data-plane forwarding을 실행
  • flow(forwarding) table이 계산하면,controller supervision 아래 실시
  • Open flow등 table-based switch control을 위한 API
  • Controller 와 상호작용하기 위한 프로토콜(Open API)

2. SDN Controller(Network OS)

  • network 상태 정볼르 유지
  • 네트워크를 통제하는 어플리케이션과 northbound API를 통해 상호작용(상단)
  • network switch들과 southbound API를 통해서 상호작용(하단)
  • 퍼포먼스,규모, 오류-관용성 등등을 위해 distributed 되어 실시
Components of SDN Controller

3. network-control apps

  • brains of control: lower-level service인 API는 SDN controller에 의해 제공받아서 기능을 통제
  • unbundled: 제 3자에게도 제공이 가능하며 vender 나 SDN controller 에서 거리가 있어도 가능

Open flow protocol

  • controller 와 switch 사이에서 동작
  • TCP는 메시지 교환을 위해 사용
  • Openflow 메시지의 3가지 클래스
  1. controller-to-switch
  2. 비동기(switch to controller)
  3. symmetric(misc.)

controller-to-switch messages

  • features : 컨트롤러가 스위치 설정 파라미터들을 문의 혹은 설정 가능
  • modify-state: 컨트롤러가 스위치 flow-table의 엔트리 추가, 제거, 수정, 설정하기 위해 사용
  • packet-out: 컨트롤러가 제어하는 스위치의 지정된 포트에서 특정 패킷을 내보내기 위해 사용

asynchronous: switch-to-controller messages

  • packet-in: 패킷을 컨트롤러에게 보내기 위해 사용
  • flow-removed: 스위치가 컨트롤러에게 어떤 플로우 테이블 엔트리가 만료되었거나, modifiy-state 수신시 삭제되었음을 알림
  • port status: 스위치가 컨트롤러에게 port의 상태 변화를 알리기 위해 사용

=> Flow table은 SDN controller 가 아닌 network-control Apps 가 프로그래밍, 컨트롤러는 전달

SDN : selected challenges

  • control Plane 통제가 점점 어려워짐 -> 의존성, 퍼포먼스 규모, 분배시스템 보안 관련
  • 네트워크와 프로토콜이 mission specific requirements에 유용

Internet Control Message Protocol : ICMP

ICMP는 호스트와 라우터가 서로간 네트워크 계층 정보를 주고 받기 위해 사용 ex. 오류보고
IP Datagram의 Payload 안에 TCP/UDP segment, OSPF, ICMP 메시지 들어갈 수 있음
ICMP report는 문제가 발생한 패킷을 처음 생성하여 보낸 IP에게 보냄
=> TTL= 1 로 보내어 One hop 딜리버리 타임 측정 혹은 목적지까지의 hop횟수 측정도 가능

Network management configuration : SNMP

network management?

  • network = autonomous System, 수천개의 하드웨어, 소프트웨어가 상호작용하는 공간
  • 항공기, 원전 등등 여러가지 것들에서 네트워크 감시나 통제가 필요함

Components of network management

  1. Managing server : 어플리케이션이나 특히 네트워크 관리자가 서버를 관리
  2. Managing Devies : 관리 대상 네트워크에 존재하는 장비들(호스트, 라우터, 스위치 등등)
  3. MIB(Management Infromaton Base): 관리되는 기기들에 agent를 띄워 관련 정보들을 여기에 저장.

Managing Server와 Agent 사이에 MIB DATA 를 주고 받는 프로토콜이 SNMP(UDP)

profile
제 Velog에 오신 모든 분들이 작더라도 인사이트를 얻어가셨으면 좋겠습니다 :)

0개의 댓글