sdn-ip

48
2016. 8. 안종석 NAIM Networks, Inc. SDN-IP

Upload: james-jong-seog-ahn

Post on 21-Feb-2017

322 views

Category:

Internet


3 download

TRANSCRIPT

2016. 8.

안종석NAIM Networks, Inc.

SDN-IP

2Copyright ⓒ 2015 by NAIM Networks, Inc. All rights reserved.

Contents

1. SDN-IP 개요

2. Assignment

3. 응용

3Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

--- eMail WWW Phone ---

--- SMTP HTTP RTP ---

TCP UDP ---

IP

이더넷 PPP

--- CSMA async sonet ---

--- copper fiber radio ---

1. SDN-IP 개요

코어의 변화와 SDN-IP

• 2G : CS Core

• 3G : CS and PS Core

• 4G : All PS (Flat IP)

• 5G : SDN ( OpenFlow)

4Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. SDN-IP 개요

IP

IP

IP

IP

IP

IP

IP

IP

IP

IP

IP

IP

SDNSDN

SDN

SDN과 IP의 피어간 연결 아키텍처 필요

5Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

SDNIP

IP

IP

IP

NOSBGP

Daemon

RIB RoutingRIB

Sync

BGP routing updates

1. SDN-IP 개요

SDN의 IP 라우팅: 외부의 피어(Peer)에서 전체 SDN의 AS를 하나의 커다란

라우터로 인식

6Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. SDN-IP 개요

프로액티브(Proactive) 플로우 적용: ‘Proactive flow installer’App은 IP Prefix

기반의 플로우 엔트리를 생성

SDN

IPIP

NOS

RIBMatch Action

Add Prefix ...

Match Action

Add MAC ...Match Action

Add MAC ...

Match Action

Add MAC ...

Proactive Flow InstallerBGP 라우트 갱신Match Action

Add Prefix ...

• ONOS 1.2의 경우 IP 기반 플로우 사용

7Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Prefix ZMAC C

1. SDN-IP 개요

플로우 엔트리 연산

SDN

Match Action

Prefix X Rewrite destination to MAC A, output 1

Prefix Y Rewrite destination to MAC B, output 2

Prefix Z Rewrite destination to MAC C, output 2

IP

SDN 코어에서는 MAC 기반의 Forwarding

Prefix Y

MAC A

MAC B

1

1

2

2

첫번째 스위치 Hop에서Prefix 기반의 Lookup

플로우 테이블

Prefix X

플로우 테이블

Match Action

MAC_B output = 1

MAC_C output = 2

Y

8Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Prefix ZPrefix ZMAC C

SDN

Match Action

Prefix X Rewrite destination to MAC A, output 1

Prefix Y Rewrite destination to MAC B, output 2

Prefix Z Rewrite destination to MAC C, output 2

IP

MAC A

MAC B

1

1

2

2

Flow Table

Prefix X

Flow Table

Match Action

MAC_B output = 1

MAC_C output = 2

Prefix YPrefix Y

Match Action

Prefix X Rewrite destination to MAC A, output 1

Prefix Y Rewrite destination to MAC C, output 2

Prefix Z Rewrite destination to MAC C, output 2

1. SDN-IP 개요

BGP Reroute 후: BGP 라우트 플랩(Flap) 발생시 Churn 감소

SDN 코어에서는 MAC 기반의 Forwarding첫번째 스위치 Hop에서Prefix 기반의 Lookup

Y

• ONOS 1.2의 경우 IP 기반 플로우 사용

9Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

RouteFlow vs. SDN-IP

1. SDN-IP 개요

RouteFlow SDN-IP

중앙 콘트롤러에서 분산된 IP 콘트롤플레인 에뮬레이션 SDN OS 상에서 본래의 애플리케이션을 구동

각각의 OpenFlow 스위치를 IP 라우터 처럼 처리 전체 SDN AS를 하나의 거대 라우터 처럼 처리

IGP에 의한 Topology discovery 수행 SDN Os에 의한 Topology discovery 수행

10Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

ONOS 적용 방법(예)

1. SDN-IP 개요

Proactive Flow Installer

Prepopulate flows based on BGP updates

ZebOSBGPD

RIB RIB pusher

External BGP peers

Prefix, Nexthop

BGP Route

RIBRIB

Syncer

ONOS

Flow ManagerTopology Discovery

OpenFlow

11Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

BGP routes

OpenFlow Entries

ONOS intents

ONOS의 SDN-IP 아키텍처

• Compatibility : eBGP/iBGP 연결 호환성

• Operational flexibility : 1개 이상의 ONOS 컨트롤러가 다양한 BGP 구성 지원

• High availability : ONOS가 HA 지원

• Scalability : ONOS 클러스터와 BGP 기반의 Confederation 기반 확장

• Protocol compatibility and vendor independence : 표준 BGP 지원

1. SDN-IP 개요

12Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

2. Assignment

도구 사용 분석 가능

‘xterm’ for Physical Topology

Controller

Switches

Hosts

ONOS Topology 비교

WireShark for Analyzing

Controller

Inter Switch Link

etc.

Flows

sudo ovs-ofctl dump-flows?

13Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

3. 응용

복수 ONOS 상의 SDN-IP

SDN-IP

Prefix, Nexthop

Instance 1

FM

Instance 2

FM

Instance 3

FM

BGPD

RIB RIB

14Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

확장성: BGP의 Scaling out

단일 BGP 프로세스의 한계:

• 피어(Peer)의 증가: Limited scaling of BGP router process as peers grow

neighbor 들과 BGP 세션 유지 관리

수신한 갱신 내용 업데이트, 피어(Peer)들에 갱신 내용 전송

BGP 엔트리를 위한 IP RIB 갱신

• 연동 등의 Use case: private IP peering like MPLS L3VPNs

다중 BGP 프로세스:

• 가상 라우팅 지원: Partition VRFs handled by each BGP process

• route reflector 사용: consolidate RIB

HA(High availability): 논스탑 라우팅 (non-stop routing)

• BGP uses graceful-restart or non-stop routing

3. 응용

15Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

3. 응용

확장성: BGP의 Scaling out

SDN-IP

Prefix, Nexthop

Instance 1

FM

Instance 2

FM

Instance 3

FMBGPD

Route ReflectorRoute

Reflector

BGPD

BGPD

RIBRIBRIB

16Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

3. 응용

운영의 유연성

17Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

3. 응용

SDN data plane 연결

• eBGP 피어링(Peering): 내부 BGP Speaker들과 외부 BGP 라우터들 간의 BGP

제어트래픽 전송

• 외부 IP networks 간의 트래픽을 전송

18Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

The SDN-IP application listens by default for incoming BGP connections onthe non-standard port 2000. This not the standard port normally used forBGP connections, which is 179. The port number is configurable and it maybe possible to configure port 179, but a processes must be run as root tobind to a protected port. Running ONOS as root is currently not supported.

SDN-IP doesn’t load balance its work amongst ONOS instances. All the workis performed by a single “Leader” instance at any one time. The leader canfail over to backup instances if an instance fails however.

There are no explicit iBGP sessions configured on the SDN-IP applicationside: by default the SDN-IP application will accept all BGP Open messagesand will self-configure to use the AS number of the originating BGP speaker.

Currently only IPv4 is supported. Peering sessions between external BGP routers and internal BGP speakers

must used TCP port 179 for one side of the peering connection. Only TCPconnections to/from port 179 are allowed in and out of the SDN network forthe peering IP addresses.

In version 1.0.0 the system can handle approximately 15,000 routes due tolimitations in the intent framework

3. 응용

ONOS의 SDN-IP 한계 (2016년 8월 현재)

19Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

3. 응용

Goldeneye (1.6.0) : Documentation (coming soon)

20Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

3. 응용

SDN-IP 적용 물리적 환경 고려 (예)

21Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

3. 응용

SDN-IP 적용 하드웨어 (예)

22Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Copyright ⓒ 2015 by NAIM Networks, Inc. All rights reserved.

[email protected]+82-2-552-05555th Floor, Anam BLDG616 Yeondongdaero, Kanamgu, Seoul, Republic of Korea

24Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Routing – BGP Topics• Border Gateway Protocol (BGP)

– The Protocol and Its Use– Autonomous Systems– BGP Messaging (Neighbor Establishment and

Termination)– Internal Border Gateway Protocol/External Border

Gateway Protocol – BGP Basic Configuration– Route Injection– BGP Attributes & Route Selection– Route Aggregation – BGP Monitoring & Clearing– Advanced Topics

24

Considering OpenFlow switch in SP environment for SDN.

25Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Routing – BGP

• The Border Gateway Protocol (BGP) is an exterior gateway protocol (EGP) that is used to exchange routing information among routers in different autonomous systems (ASs)

• EGP and IGP differ in how best possible path is determined for a given route:– IGP determines best route by established metric for complete path– RIP utilizes hop count as a metric to determine best route– OSPF can use metrics such as various interface costs to determine

best route– EGP directs traffic from source AS to destination AS based on path

knowledge and path attributes. Path attributes are route parameters that can influence the direction traffic will flow in

25

The Protocol & Its Use

26Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Routing – BGP

• The protocol is used to define an administrative boundary between autonomous systems

• The process of routing with BGP is often referred to as external routing

• BGP is a Path Vector Protocol• BGP routing information includes the complete route to each

destination along with detailed information on how the route should be handled

• Utilizes Classless Inter-Domain Routing (CIDR) which Eliminates shortcomings of original classful IP addressing by allowing aggregation of blocks of IP addresses to reduce size of routing tables

26

The Protocol & Its Use

27Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Routing – BGP

• A Autonomous System (AS) is collection of networks with the same routing policy

• Usually running a single routing protocol (IGP) within the interior

• Typically under a single ownership and administration• Originally identified by a unique AS numbers (1-65535) • As of January 2009 expanded to 4,294,967,296. (See RFC

4893, BGP Support for Four-octet AS Number Space)• AS numbers 64512 through 65534 are designated for

private use

27

Autonomous Systems

28Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Autonomous System (AS)

28

Routers in the above diagram are under one authority for management

AS-100

Routing – BGPAutonomous Systems

29Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Interfacing Two ASs

29

AS-200

AS-100

EBGP

EBGP Neighbors/Peers

Routing – BGPAutonomous Systems

30Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Application

Presentation

Session

TCP/UDP

Network

Data Link

Physical

7

6

5

4

3

2

1

Application

Presentation

Session

TCP/UDP

Network

Data Link

Physical

7

6

5

4

3

2

1

Peer Establishment / Packet ExchangeEstablish TCP session

Routing – BGP

30

31Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Open Message

31

Open

Keep Alive

NEIGHBORS

Routing – BGP

Neighbor Establishment & Termination

32Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Keepalive Messages

32

Keepalives simply to let BGP neighbors know about the current state of the connection. They are used to maintain the link when routers have

no routing updates to exchange.

Routing – BGP

Neighbor Establishment & Termination

33Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Update Message

33

BGP uses Update Messages to exchanged or withdraw routes. Detailed information about the route is passed

using attributes which are present in the update packet.

Routing – BGP

Neighbor Establishment & Termination

34Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Notification Message

34

I am going to have to close my link

Routing – BGP

Neighbor Establishment & Termination

35Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

IBGP/EBGP

The BGP protocol specifies two types of BGP Neighbor Relationships IBGP and EGBP:

External Neighbors (EBGP) reside in different ASs

Internal Neighbors (IBGP) reside in the same AS

IBGP is used to carry BGP route information across an ISP backbone

EBGP is used to exchange BGP route information with different ASs

IBGP/EBGP

35

Routing – BGP

36Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Basic IBGP/EBGP Model

36

1

2 3

4 5

6 7

AS-200 AS-300

AS-100

IGP=OSPF/BGP IGP=OSPF/BGP

IGP=OSPF/BGP

GEGE

TGTG

GE GE

GE

GEGE

TGTG

GE

GEGE

EBGP EBGP

IBGP IBGP

IBGP

IBGP

IBGP

Routing – BGP

37Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

AS-200

AS-100

BGP Neighbors

R1

R2

Enabling BGP & Identify Your Neighbors

37

Routing – BGPBasic Configuration

38Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Configure:

− The AS the router belongs to− The BGP router ID− Neighbor IP address and remote AS− Route injection of a directly connected interface via network command

Enabling BGP & Identify Your Neighbors (EBGP)

VLAN 13192.168.13.0/24

AS-200

R2AS-100

R1 VLAN 12192.168.12.0/24

.1 .2

VLAN 14192.168.14.0/24

38

Routing – BGPBasic Configuration

39Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Enabling BGP & Identify Your Neighbors (IBGP)

InitialPeering

AS-100

R1 .1

.2

VLAN 13192.168.13.0/24

AS-100

R3

VLAN 15192.168.15.0/24

OSPF

Loopback:1.1.1.1

Loopback:3.3.3.3

IGP Router

IGP Router

OSPF

OSPF

OSPFVLAN 19

192.168.19.0/24VLAN 17

192.168.17.0/24

.1

.1.1

.2

.2 .2

InitialPeering

X

AlternatePeering

AlternatePeering

39

Routing – BGPBasic Configuration

40Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

BGP Route Injection:

Condition 1 for announcing IP into BGP

The BGP process must be aware of the route.It can become aware of the route by:

A BGP Neighbor Redistributed from another routing protocolA local network statement

Condition 2

The Route must already be present in the IP Routing Table

Could be a Static RouteCould be a directly connected routeIt could have been installed by the IGP (OSPF, RIP, etc…)

Route Injection

40

Routing – BGPBasic Configuration

41Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

BGP Attributes:

Routing information exchanged by BGP routers includes the complete route to each destination, as well as additional information about the route. This additional information is referred to as attributes

BGP attributes are a set of parameters that describe the characteristics of a route.

The BGP process uses attributes to select the best route to a destination

Attributes are categorized as being (Optional or Mandatory) and (Transitive or Non-Transitive)

Attributes

41

Routing – BGPBasic Configuration

42Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Local preference: This attribute is used to influence a preferred exit pointfrom the local autonomous system (AS). The higher value will determine theexit point for the AS.

Routing – BGP

42

Attributes

43Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Multi-Exit Discriminator (MED): It is a suggestion to external neighborsabout the preferred path into an AS that has multiple entry points. The lowervalue MED will determine the entry point

43

Routing – BGPAttributes

44Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

No Aggregation:

44

Route Aggregation

Routing – BGP

45Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Route Reflection:

Router 1

Router 3

Router Reflector

Router 2

Router 3

Router 2

Router 1

Full Mesh IBGP

Route Reflection IBGP

AS 100

AS 100

45

Advanced Topics

Routing – BGP

46Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Confederations:

AS 300

Confederation 100

Router 5

Router 6

Router 4

Full Mesh IBGP AS 65002

Router 3

Router 1

Full Mesh IBGP AS 65001

Router 2

EBGP

AS 200

EBGP

EBGP

46

Advanced Topics

Routing – BGP

47Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Implementing a BGP Route-Map:AS-Path Regular Expressions

47

Advanced Topics

Routing – BGP

48Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Routing – Layer 3 Tunneling

48

Traffic Flow