sdn-ip
TRANSCRIPT
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
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)
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