15 744 Computer Networking L5 Software Forwarding Outline
- Slides: 60
15 -744: Computer Networking L-5 Software Forwarding
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 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 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 • 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 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 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 aggregation. • Still need to control paths ISP 3 ISP 1 ISP 2 Customer 8
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 Varadhan, Govindan, & Estrin, “Persistent Route Oscillations in Interdomain Routing”, 1996 10
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 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 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 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, -) (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, *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, 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, 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, -, -) (-, *12 R, 21 R) (-, *12 R, -) 21 R (-, -, -) (-, -, *20 R) 19
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 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 • 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 • 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 routers incorporate large number of processors • Common case is optimized carefully 24
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 path per-packet processing • Forwarding lookup (hardware/ASIC vs. software) 26
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” • • 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 • “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: • 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 = data flow graph • An element is the basic unit of processing • Three key components of each element: • Ports • Configuration • Method interfaces
Simple Tee Element
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
Click Config File
Other elements • Packet Classification • Scheduling • Queueing • Routing • What you write…
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 • 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
Problem: Toolbox is bad! Traffic Engineering Performance Security Compliance Resilience
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 planes • Logically centralized views • Simplifies optimization/policy management • Network-wide visibility
Today: Open. Flow Controller Open. Flow Config
Next Lecture: ONIX Controller Config E. g. , ONIX, NOX, … Config
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 • Existing research prototypes for programmable elements
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 Open. Flow Protocol Config
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 have this • They can just expose this without exposing internals
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? • 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: • 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 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 • 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 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 server • Switching at rate ~R per server
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 • Onix: Read intro • Ethane: Optional reading
- Software defined networking vs traditional networking
- 18 446 744 073 709 551 615
- Arm-744
- Ipx 744
- Cs 744
- Ley 16 744
- Forwarding in computer architecture
- Reno computer networking
- How to calculate subnet mask
- Computer networking 101
- An engineering approach to computer networking
- Computer networking terms
- Computer networking
- Hotmail
- Analog and digital signals in computer networking
- Jim kurose umass
- Computer networking
- Modulation in computer network
- An engineering approach to computer networking
- "computer networking"
- Data plane control plane and management plane
- Mininet tutorial for beginners
- Floodlight sdn controller tutorial
- Python event manager
- Topic sentence outline example
- Owner
- Forwarding table example
- Forwarding table example
- Call manager.rcn
- App portic
- Vmware player wikipedia
- Forwarding equivalence classes
- Interplay between routing and forwarding
- Adobe audience manager server side forwarding
- Delivery and forwarding of ip packets
- Delivery and forwarding of ip packets
- Examples of sdn
- Palo alto policy based forwarding
- Datagram forwarding table
- Email advantages and disadvantages
- Forwarding email etiquette
- Internal forwarding and register tagging
- Generalized forwarding and sdn
- Double data hazard
- Forwarding state
- Shitao li
- Fairpoint call forwarding
- Spectrum call forwarding
- Forwarding table
- App portic
- Amno region
- Telenor port forwarding
- Protocol oblivious forwarding
- Kar freight & forwarding
- Dreamhost email forwarding to gmail
- I hg
- Generalized forwarding and sdn
- Centrex call forwarding
- Introduction to software engineering course outline
- Wireless intelligent networking
- Cisco academy