15 744 Computer Networking L5 Software Forwarding Outline

  • Slides: 60
Download presentation
15 -744: Computer Networking L-5 Software Forwarding

15 -744: Computer Networking L-5 Software Forwarding

Outline • Need for hierarchical routing • BGP • • • ASes, Policies BGP

Outline • Need for hierarchical routing • BGP • • • ASes, Policies BGP Attributes BGP Path Selection i. BGP Inferring AS relationships • Multi-Homing • Stability Issues 2

Multi-homing • With multi-homing, a single network has more than one connection to the

Multi-homing • With multi-homing, a single network has more than one connection to the Internet. • Improves reliability and performance: • Can accommodate link failure • Bandwidth is sum of links to Internet • Challenges • Getting policy right (MED, etc. . ) • Addressing 3

Multi-homing to Multiple Providers • Major issues: • Addressing • Aggregation • Customer address

Multi-homing to Multiple Providers • Major issues: • Addressing • Aggregation • Customer address space: • Delegated by ISP 1 • Delegated by ISP 2 • Delegated by ISP 1 and ISP 2 • Obtained independently ISP 3 ISP 1 ISP 2 Customer 4

Address Space from one ISP • Customer uses address space from ISP 1 •

Address Space from one ISP • Customer uses address space from ISP 1 • ISP 1 advertises /16 aggregate • Customer advertises /24 route to ISP 2 • ISP 2 relays route to ISP 1 and ISP 3 • ISP 2 -3 use /24 route • ISP 1 routes directly • Problems with traffic load? ISP 3 138. 39/16 ISP 1 ISP 2 Customer 138. 39. 1/24 5

Pitfalls • ISP 1 aggregates to a /19 at border router to reduce internal

Pitfalls • ISP 1 aggregates to a /19 at border router to reduce internal tables. • ISP 1 still announces /16. • ISP 1 hears /24 from ISP 2. • ISP 1 routes packets for customer to ISP 2! • Workaround: ISP 1 must inject /24 into I-BGP. ISP 3 138. 39/16 ISP 1 ISP 2 138. 39. 0/19 Customer 138. 39. 1/24 6

Address Space from Both ISPs • ISP 1 and ISP 2 continue to announce

Address Space from Both ISPs • ISP 1 and ISP 2 continue to announce aggregates • Load sharing depends on traffic to two prefixes • Lack of reliability: if ISP 1 link goes down, part of customer becomes inaccessible. • Customer may announce prefixes to both ISPs, but still problems with longest match as in case 1. ISP 3 ISP 1 138. 39. 1/24 ISP 2 Customer 204. 70. 1/24 7

Address Space Obtained Independently • Offers the most control, but at the cost of

Address Space Obtained Independently • Offers the most control, but at the cost of aggregation. • Still need to control paths ISP 3 ISP 1 ISP 2 Customer 8

Outline • Need for hierarchical routing • BGP • • • ASes, Policies BGP

Outline • Need for hierarchical routing • BGP • • • ASes, Policies BGP Attributes BGP Path Selection i. BGP Inferring AS relationships • Multi-Homing • Stability Issues 9

Safety: No Persistent Oscillation 130 10 1 0 210 20 2 3 320 30

Safety: No Persistent Oscillation 130 10 1 0 210 20 2 3 320 30 Varadhan, Govindan, & Estrin, “Persistent Route Oscillations in Interdomain Routing”, 1996 10

Main Idea of Optional Paper • Permit only two business arrangements • Customer-provider •

Main Idea of Optional Paper • Permit only two business arrangements • Customer-provider • Peering • Constrain both filtering and ranking based on these arrangements to guarantee safety • Surprising result: these arrangements correspond to today’s (common) behavior Gao & Rexford, “Stable Internet Routing without Global Coordination”, IEEE/ACM To. N, 2001 11

Signs of Routing Instability • Record of BGP messages at major exchanges • Discovered

Signs of Routing Instability • Record of BGP messages at major exchanges • Discovered orders of magnitude larger than expected updates • Bulk were duplicate withdrawals • Stateless implementation of BGP – did not keep track of information passed to peers • Impact of few implementations • Strong frequency (30/60 sec) components • Interaction with other local routing/links etc. 12

BGP Limitations: Oscillations AS 0 (*R, 1 R, 2 R) R AS 2 (0

BGP Limitations: Oscillations AS 0 (*R, 1 R, 2 R) R AS 2 (0 R, 1 R, *R) AS 1 (0 R, *R, 2 R) 13

BGP Limitations: Oscillations AS 0 (-, *1 R, 2 R) (*R, 1 R, 2

BGP Limitations: Oscillations AS 0 (-, *1 R, 2 R) (*R, 1 R, 2 R) W R W AS 2 (0 R, 1 R, *R) (*0 R, 1 R, -) W AS 1 (*0 R, -, 2 R) (0 R, *R, 2 R) 14

BGP Limitations: Oscillations AS 0 01 R AS 2 (*0 R, 1 R, -)

BGP Limitations: Oscillations AS 0 01 R AS 2 (*0 R, 1 R, -) (01 R, *1 R, -) R (-, *1 R, 2 R) 01 R AS 1 (-, -, *2 R) (*0 R, -, 2 R) 15

BGP Limitations: Oscillations AS 0 R 10 R AS 1 AS 2 (01 R,

BGP Limitations: Oscillations AS 0 R 10 R AS 1 AS 2 (01 R, *1 R, -) (*01 R, 10 R, -) (-, -, *2 R) (-, *1 R, 2 R) 10 R (-, -, *2 R) 16

BGP Limitations: Oscillations AS 0 20 R R AS 1 AS 2 (*01 R,

BGP Limitations: Oscillations AS 0 20 R R AS 1 AS 2 (*01 R, 10 R, -) (-, -, -) (-, -, *2 R) 20 R (-, -, *20 R) (-, -, *2 R) 17

BGP Limitations: Oscillations AS 0 R 12 R AS 1 AS 2 (*01 R,

BGP Limitations: Oscillations AS 0 R 12 R AS 1 AS 2 (*01 R, 10 R, -) (*01 R, -, -) (-, *12 R, -) (-, -, -) 12 R (-, -, *20 R) 18

BGP Limitations: Oscillations AS 0 21 R R AS 1 AS 2 (*01 R,

BGP Limitations: Oscillations AS 0 21 R R AS 1 AS 2 (*01 R, -, -) (-, *12 R, 21 R) (-, *12 R, -) 21 R (-, -, -) (-, -, *20 R) 19

BGP Oscillations • Can possible explore every possible path through network (n-1)! Combinations •

BGP Oscillations • Can possible explore every possible path through network (n-1)! Combinations • Limit between update messages (Min. Route. Adver) reduces exploration • Forces router to process all outstanding messages • Typical Internet failover times • New/shorter link 60 seconds • Results in simple replacement at nodes • Down link 180 seconds • Results in search of possible options • Longer link 120 seconds • Results in replacement or search based on length 20

Route Flap Storm • Overloaded routers fail to send Keep_Alive message and marked as

Route Flap Storm • Overloaded routers fail to send Keep_Alive message and marked as down • I-BGP peers find alternate paths • Overloaded router re-establishes peering session • Must send large updates • Increased load causes more routers to fail! 21

Route Flap Dampening • Routers now give higher priority to BGP/Keep_Alive to avoid problem

Route Flap Dampening • Routers now give higher priority to BGP/Keep_Alive to avoid problem • Associate a penalty with each route • Increase when route flaps • Exponentially decay penalty with time • When penalty reaches threshold, suppress route 22

Next Lecture: Software Forwarding • Friday: project group meeting • Programming abstractions for routers

Next Lecture: Software Forwarding • Friday: project group meeting • Programming abstractions for routers • Click • Open. Flow • Assigned Reading • Open. Flow: Enabling Innovation in Campus Networks • The Click Modular Router 23

IP Router Design • Different architectures for different types of routers • High speed

IP Router Design • Different architectures for different types of routers • High speed routers incorporate large number of processors • Common case is optimized carefully 24

What Does a Router Look Like? • Currently: • Network controller • Line cards

What Does a Router Look Like? • Currently: • Network controller • Line cards • Switched backplane • In the past? • Workstation • Multiprocessor workstation • Line cards + shared bus 25

Line Cards • Network interface cards • Provides parallel processing of packets • Fast

Line Cards • Network interface cards • Provides parallel processing of packets • Fast path per-packet processing • Forwarding lookup (hardware/ASIC vs. software) 26

Network Processor • Runs routing protocol and downloads forwarding table to line cards •

Network Processor • Runs routing protocol and downloads forwarding table to line cards • Some line cards maintain two forwarding tables to allow easy switchover • Performs “slow” path processing • Handles ICMP error messages • Handles IP option processing 27

The End of Networking Research? • The Internet is a “success disaster” • •

The End of Networking Research? • The Internet is a “success disaster” • • Many successful applications Critical for economy as a whole Too huge a vested infrastructure Vendors loathe to change anything • Fear in community: “ossification” • New ideas cannot get deployed

Three logical stages • Active networking era • Case for “programmable” network devices •

Three logical stages • Active networking era • Case for “programmable” network devices • “Separation” of control vs data era • Specifically about routing etc • Open. Flow/Network OS era

Software-Based Routers • Enabling innovation in networking research • Software data planes • Readings:

Software-Based Routers • Enabling innovation in networking research • Software data planes • Readings: • Open. Flow: Enabling Innovation in Campus Networks • The Click Modular Router • Optional reading • Route. Bricks: Exploiting Parallelism To Scale Software Routers

Click overview • Modular architecture • Router = composition of modules • Router =

Click overview • Modular architecture • Router = composition of modules • Router = data flow graph • An element is the basic unit of processing • Three key components of each element: • Ports • Configuration • Method interfaces

Simple Tee Element

Simple Tee Element

Two types of “connections” • Push • Source element has finished processing • Sends

Two types of “connections” • Push • Source element has finished processing • Sends it downstream • E. g. , From. Device • Pull • Destination is ready to process • Initiates packet transfer • E. g. , To. Device

“Flow” of processing

“Flow” of processing

Click Config File

Click Config File

Other elements • Packet Classification • Scheduling • Queueing • Routing • What you

Other elements • Packet Classification • Scheduling • Queueing • Routing • What you write…

Takeaways • Click is a flexible modular router • Shows that s/w x 86

Takeaways • Click is a flexible modular router • Shows that s/w x 86 can get pretty good performance • Extensible/modular • Widely used in academia/research • Play with it!

Software-Based Routers • Motivation • Enabling innovation in networking research • Software data planes

Software-Based Routers • Motivation • Enabling innovation in networking research • Software data planes • Readings: • Open. Flow: Enabling Innovation in Campus Networks • The Click Modular Router • Optional reading • Route. Bricks: Exploiting Parallelism To Scale Software Routers

Network Management Traffic Engineering Performance Security Compliance Resilience

Network Management Traffic Engineering Performance Security Compliance Resilience

Problem: Toolbox is bad! Traffic Engineering Performance Security Compliance Resilience

Problem: Toolbox is bad! Traffic Engineering Performance Security Compliance Resilience

Why: Toolbox is implicit in routers! Traffic Engineering Performance Security Compliance Resilience Motivation: Management

Why: Toolbox is implicit in routers! Traffic Engineering Performance Security Compliance Resilience Motivation: Management is complex, expensive, fragile Need: Direct control, expressive policy, network-wide views

Solution • Separate out the “data” and the “control” • Open interface between control/data

Solution • Separate out the “data” and the “control” • Open interface between control/data planes • Logically centralized views • Simplifies optimization/policy management • Network-wide visibility

Today: Open. Flow Controller Open. Flow Config

Today: Open. Flow Controller Open. Flow Config

Next Lecture: ONIX Controller Config E. g. , ONIX, NOX, … Config

Next Lecture: ONIX Controller Config E. g. , ONIX, NOX, … Config

Driving questions • Get our own operators comfortable with running network experiments • Isolate

Driving questions • Get our own operators comfortable with running network experiments • Isolate experimental traffic from production traffic • What is the functionality that enables innovation?

Rejected alternatives • Get vendors to support • Use PC/Linux based network elements •

Rejected alternatives • Get vendors to support • Use PC/Linux based network elements • Existing research prototypes for programmable elements

Their Path • “Pragmatic compromise” • Sacrifice generality for: • Performance • Cost •

Their Path • “Pragmatic compromise” • Sacrifice generality for: • Performance • Cost • Vendor “buy-in”

Three Basic Parts of Switch in Open. Flow Controller Secure Channel Config Flow Table

Three Basic Parts of Switch in Open. Flow Controller Secure Channel Config Flow Table Open. Flow Protocol Config

Flow. Table Actions • Forward on specific port/interface • Forward to controller (encapsulated) •

Flow. Table Actions • Forward on specific port/interface • Forward to controller (encapsulated) • Drop • Forward legacy • Future support: counters, modifiers

What is nice • Fits well with the TCAM abstraction • Most vendors already

What is nice • Fits well with the TCAM abstraction • Most vendors already have this • They can just expose this without exposing internals

Example Apps • Ethane • Amy’s own OSPF • VLAN • Vo. IP for

Example Apps • Ethane • Amy’s own OSPF • VLAN • Vo. IP for Mobile • Support for non-IP

Driving questions: Did it achieve this? • Get operators comfortable with running experimental? •

Driving questions: Did it achieve this? • Get operators comfortable with running experimental? • Isolate experimental traffic from production traffic? • What is the functionality that can enable innovation?

Software-Based Routers • Enabling innovation in networking research • Software data planes • Readings:

Software-Based Routers • Enabling innovation in networking research • Software data planes • Readings: • Open. Flow: Enabling Innovation in Campus Networks • The Click Modular Router • Optional reading • Route. Bricks: Exploiting Parallelism To Scale Software Routers

Today: fast or programmable • Fast “hardware” routers • throughput : Tbps • little

Today: fast or programmable • Fast “hardware” routers • throughput : Tbps • little programmability • Programmable “software” routers • processing by general-purpose CPUs • throughput < 10 Gbps

Route. Bricks • A router out of off-the-shelf PCs • familiar programming environment •

Route. Bricks • A router out of off-the-shelf PCs • familiar programming environment • large-volume manufacturing • Can we build a Tbps router out of PCs?

A hardware router R R N linecards • Processing at rate ~R per linecard

A hardware router R R N linecards • Processing at rate ~R per linecard

A hardware router R R N switch fabric linecards • Processing at rate ~R

A hardware router R R N switch fabric linecards • Processing at rate ~R per linecard • Switching at rate N x R by switch fabric

Route. Bricks R R commodity interconnect N servers • Processing at rate ~R per

Route. Bricks R R commodity interconnect N servers • Processing at rate ~R per server • Switching at rate ~R per server

Summary • Vision of active networking • Separating data plane and control plane •

Summary • Vision of active networking • Separating data plane and control plane • Building software routers by starting with: • closed, commercial routers vs. • commodity PCs • Pros and cons?

Next Lecture • Software-Defined Networking • Readings: • 4 D: Read in full •

Next Lecture • Software-Defined Networking • Readings: • 4 D: Read in full • Onix: Read intro • Ethane: Optional reading