1 A High-Level Framework for Network Application Design Mel Tsai 12/5/2002 EE249 Final Project Presentation.

Slides:



Advertisements
Similar presentations
M A Wajid Tanveer Infrastructure M A Wajid Tanveer
Advertisements

Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
OpenFlow overview Joint Techs Baton Rouge. Classic Ethernet Originally a true broadcast medium Each end-system network interface card (NIC) received every.
Integration of PAP site 17 th July 10. Requirements of PAP SITE  Bandwidth drop  Router  RJ45 cables  Switch  Gateway  Nodes  Ups  9urack.
Campus LAN Overview. Objectives Identify the technical considerations in campus LAN design Identify the business considerations in campus LAN design Describe.
Multi-Layer Switching Layers 1, 2, and 3. Cisco Hierarchical Model Access Layer –Workgroup –Access layer aggregation and L3/L4 services Distribution Layer.
Performance Evaluation of Open Virtual Routers M.Siraj Rathore
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Prototyping the WAN Designing and Supporting Computer Networks – Chapter 8.
The RouterVM Architecture: Motivation and Principles Mel Tsai
CCU EE&CTR1 Software Architecture Overview Nick Wang & Ting-Chao Hou National Chung Cheng University Control Plane-Platform Development Kit.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 14: Troubleshooting Remote Connections.
The RouterVM Architecture: Motivation and Principles Mel Tsai
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 14.
This work is supported by the National Science Foundation under Grant Number DUE Any opinions, findings and conclusions or recommendations expressed.
Chapter 13 Internetworking Technologies Part III: Wide Area Networks and Internetworking Technologies.
The RouterVM Architecture: Motivation and Principles Mel Tsai
A Programming Model and VM Architecture for Next-Generation Programmable Routers Mel Tsai
Router modeling using Ptolemy Xuanming Dong and Amit Mahajan May 15, 2002 EE290N.
TCP/IP Protocol Suite 1 Chapter 3 Objectives Upon completion you will be able to: Underlying Technology Understand the different versions of wired Ethernet.
UCB Switches Jean Walrand U.C. Berkeley
TCP/IP Reference Model Host To Network Layer Transport Layer Application Layer Internet Layer.
1 25\10\2010 Unit-V Connecting LANs Unit – 5 Connecting DevicesConnecting Devices Backbone NetworksBackbone Networks Virtual LANsVirtual LANs.
We will be covering VLANs this week. In addition we will do a practical involving setting up a router and how to create a VLAN.
Chapter Six NetworkingHardware. Agenda Questions about Ch. 11 Midterm Exam Ch.6 Cable kit.
1 The SpaceWire Internet Tunnel and the Advantages It Provides For Spacecraft Integration Stuart Mills, Steve Parkes Space Technology Centre University.
Chapter 4: Managing LAN Traffic
1 Wide Area Networks Computer Networks. 2 Motivation Connect multiple sites Span geographic distances Cross public right-of-way streets buildings railroads.
Chapter 5 Switching. Introduction Look at: –Bridges and Bridging(5.1) –Switches and Switching(5.2) –Spanning Tree Algorithm(5.3) –Virtual Local Area Networks.
Copyright ©Universalinet.Com, LLC 2009 Implementing Secure Converged Wide Area Networks ( ISCW) Take-Aways Course 1: Cable (HFC) Technologies.
Common Devices Used In Computer Networks
– Chapter 5 – Secure LAN Switching
LAN Switching and WAN Networks Topic 6 - OSPF. What we have done so far! 18/09/2015Richard Hancock2  Looked at the basic switching concepts and configuration.
Network Admin Course Plan Accede Institute Of Science & Technology.
Our Last Class!!  summary  what does the future look like?
Internetworking and ATM Lecture 8, April 30, 2003 Data Communications and Networks Mr. Greg Vogl Uganda Martyrs University.
 Spring 2011  CSCI 27 Computer Networking Course Overview.
Repeaters and Hubs Repeaters: simplest type of connectivity devices that regenerate a digital signal Operate in Physical layer Cannot improve or correct.
 Network Segments  NICs  Repeaters  Hubs  Bridges  Switches  Routers and Brouters  Gateways 2.
Computer Communication & Networks Lecture # 02 Nadeem Majeed Choudhary
Network Fundamentals. Network Devices Routers (Layer 3)
LAN Switching and Wireless – Chapter 1
University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department INTRODUCTION TO COMPUTER NETWORKS Dr. Abdelhamid.
CCNA 2 Week 1 Routers and WANs. Copyright © 2005 University of Bolton Welcome Back! CCNA 2 deals with routed networks You will learn how to configure.
Day11 Devices/LAN/WAN. Network Devices Hub Switches Bridge Router Gateway.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 1: Introduction to Scaling Networks Scaling Networks.
2 …it’s even got its own trade show …it’s expected to be rapidly deployed… WW Market forecast (millions) The truth about gigabit networking It’s a big.
William Stallings Data and Computer Communications
Chapter2 Networking Fundamentals
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
Network design Topic 4 LAN design. Agenda Modular design Hierarchal model Campus network design Design considerations Switch features.
Network Infrastructure Microsoft Windows 2003 Network Infrastructure MCSE Study Guide for Exam
Switching Topic 2 VLANs.
. Large internetworks can consist of the following three distinct components:  Campus networks, which consist of locally connected users in a building.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 16 Connecting LANs, Backbone Networks, and Virtual LANs.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 VLAN Trunking Protocol Cisco Networking Academy.
Router Basics MM Clements.
Networking Components William Isakson LTEC 4550 October 7, 2012 Module 3.
Release 16/7/2009 Internetworking Devices Chapter 10 Jetking Infotrain Ltd.
PART1: NETWORK COMPONENTS AND TRANSMISSION MEDIUM Wired and Wireless network management 1.
CHAPTER -II NETWORKING COMPONENTS CPIS 371 Computer Network 1 (Updated on 3/11/2013)
Connectors, Repeaters, Hubs, Bridges, Switches, Routers, NIC’s
Configuring Network Devices
Network Concepts.
Instructor Materials Chapter 6: VLANs
Connecting Network Components
IS3120 Network Communications Infrastructure
Routing and Switching Essentials v6.0
Software Defined Networking (SDN)
CCNA Cisco Certified Network Associate
Presentation transcript:

1 A High-Level Framework for Network Application Design Mel Tsai 12/5/2002 EE249 Final Project Presentation

2 Outline 1) Motivation: modular routers 2) Real-world routers & applications 3) The problem: a productivity mismatch 4) A solution: a high-level framework for router application design 5) The generalized packet filter concept 6) Results and status 7) Conclusion

3 Background

4 Modular Routers Goal  Provide a software framework to quickly design & test any network protocol, service, or algorithm running on a server, network appliance, or router Existing Systems  MIT’s Click Modular Router  Washington University’s Router Plugins  VERA

5 Network Application Space Access LAN Switches & Routers GbE, 10/100 Ethernet Error Control Token Ring FDDI Wireless Devices Edge Terminators Cable Access Multiplexers Modems xDSL Analog ISDN IAD / Telephony Devices Voice over X WAN Packet Routers IP ATM Frame Relay X.25, SDMS MPLS WAN Bridges IP over ATM Firewalls DCS over ATM Servers L4-7 Routing Network Management & Accounting High-Speed Backbone Routers ATM IP Frame Relay EdgeCore WAN Circuit Switches xDSL ISDN Error Correction Mobile IP PBX Devices DSLAMs Frame Relay IP ATM Inverse Multiplexers Frame Relay IP ATM VPNs MPLS QoS SSL Accelerators SAN Devices Load Balancers NAT Encryption NAT Encryption Remote Access QoS X over WDM X over SONET MPLS NICs

6 MIT’s Click “Push-Pull” semantics Single-threaded Network element database: 200+ elements Tight integration with Linux

7 Click’s Shortcommings Complexity scales with the number of ports Difficult to modify or augment behavior without restructuring 50+ elements just for a basic 2-port IPv4 router: does not include several desirable features Steep learning curve and implementation time

8 An MPLS Example

9 Some Observations The goal of modular routers is to quickly prototype & develop network router applications  Actually very cumbersome in Click to implement moderately complex functions  You don’t get “out of the box” router functionality Implementing new functionality usually requires rewriting or adding new elements Functionality cannot easily be changed, and implementation complexity scales with # of ports and application size

10 A New Model High productivity  high-level design  Current modular routers are very fine-grained Atomic elements: queues, classifiers, basic routers, etc. Key questions:  Is a fine-grained approach necessary?  Instead, how can we achieve a high-level framework for router application design, while maintaining generality and performance?

11 Commercial routers Through simple command-line parameters, a complex router application with n ports can be configured in minutes & hours, not days & weeks  Firewall rules, NAPT, VLANs, OSPF, RIP, L2 switching, L3 routing, L4-7 load balancing, port trunking, bandwidth rate limiting Router:/config/vlan/4/ip/create /24 Router:/config/vlan/4/ports/add 0-15 Router:/config/vlan/5/ip/create /24 Router:/config/vlan/5/ports/add Router:/config/ip/traffic-filter/1/destination /32 Router:/config/ip/traffic-filter/1/action drop Router:/config/ip/traffic-filter/1/apply 2,3,6

12 Achieving Generality We can mimic an existing router CLI in software, but how do we implement arbitrary functionality?

13 A New Framework: Generalized Packet Filters Existing routers have predefined “filter rules” that can be enabled/disabled per port via globally-unique names Can be extended to support arbitrary packet operations

14 Packet Filters Actions  Allow, drop, redirect, tag, forward to control plane Basic L2-L4 Filters  “Drop packets with DIP=10.x.x.x and Dport=80” Sophisticated L7 Filters  “Allow HTTP packets to Arbitrary Filters  Network address translation, MPLS, iSCSI, ATM, Frame Relay

15 Example 1: NAT Firewall ( elements in Click for a complex 16-port NAT firewall)

16 Example 1: NAT Firewall ( elements in Click for a complex 16-port NAT firewall) Shared State

17 Example 2: RED Congestion Control Policy ( elements in Click)

18 Example 3: Server Load Balancing (??? elements in Click)

19 Implementing the Framework One possible communication model for filters: Dataflow Process Networks with bounded buffers  Inherently supports multithreading & distributed hardware implementation  Simple C++ interface for implementing packet filters Programming model  CLI-based configuration does most of the work  If new exotic functionality is required, just write a new packet filter in C++ Linux runtime  Linux pcap library  CLI-based configuration

20 Other Considerations Simulation speed  Native multithreading, message passing, shared memory Estimation of performance  Click has zero notion of time!  Filters & components in this framework can be annotated with performance estimates  Runtime environment can estimate overall performance Clear path to HW/SW implementation Click may still be better for:  WSIWYG  (Very) small examples & experiments

21 Summary & Conclusion This approach allows you to design, test, and implement general network applications at a much higher level than Click, with higher productivity Achieves out-of-the-box functionality that mimics the desired structure of most interesting applications  Supports fine-grained packet processing without the limitations of a fine-grained environment  Whenever you need to modify or extend functionality beyond existing capabilities, add a new filter!

22 Future Work Generalized packet filter concept is unique, fits well with my personal research agenda Need to implement:  More of the out-of-box functionality (e.g. OSPF, VLANs, RiP)  More types of filters  Better multithreading  Extend the CLI (it’s very basic right now)  Simulation & workload generation tools Release the software! Has many uses in the networking & Linux community