200 likes | 323 Views
D istributed T elecommunications S ystems C olumbia U niversity. Lecture 5: Programmable and Active Networks. Guest Speaker: J OHN V ICENTE Columbia University Visiting Researcher Intel Corporation jvicente@comet.columbia.edu 13, October 1998. Traditional Networks.
E N D
Distributed Telecommunications Systems Columbia University Lecture 5: Programmable and Active Networks Guest Speaker: JOHNVICENTE Columbia University Visiting Researcher Intel Corporation jvicente@comet.columbia.edu 13, October 1998
Traditional Networks • Vertically integrated • Proprietary implementations • Slow standardization process • New network services & protocols • Inflexible • Static communication model • Intolerance to heterogeneity • Closed, non-programmable
Evolving Network Systems • Abstract the network infrastructure • Open, programmable interfaces • Separate hardware from software • Enable new paradigms for networking • Open, extensible and highly programmable • Rapid creation, delivery of new network services • Concerns over network safety and security?
Industry Initiatives • OPENSIG • Primary technology: Telecommunications • Open programmability • Separation of control and data path • Programmable switches • Active Networks • Primary technology: Internet • Dynamic deployment of of software for new services at runtime • Capsules and node primitives/APIs • IEEE PIN 1520
Lead Applications • Network management • Application services • Mobile or wireless environments • Proxies/firewalls • Virtual private networks
Characteristics • Networking technology • Degree of programmability • Programmable communications abstractions • Programming methodology • Architectural domain
Computation model Communication model Application layer Transport layer Network layer Data link layer Management plane Control plane Transport plane Architectural Viewpoint
Network programming interfaces Communication Model Programmable Network Architecture Network Programming Environment Computational Model Node Kernel Node Kernel Node interfaces Node HW Node HW Programmable Network Framework
Node Kernels • Distinguishing characteristics • Programmable node abstractions • Networking technology • Architectural domain • Enabling features • Support for multiple network architectures or execution environments • Low-level resource and state abstractions through interfaces • Resource management support • Binding mechanisms • Security support • Example projects: • Active Network Node OS (Active Network Group) • ANN project (U Kansas)
Network Programming Environments • Distinguishing characteristics • Degree of programmability • Programmable methodology • Programming communication abstractions • Enabling features • Service composition & control • Resource management • Security • Example approaches: • ANTS (MIT) • Netscript (Columbia University)
Programmable Network Architectures • Distinguishing characteristics • Programmable network service abstractions • Networking technology • Architectural domain • Enabling features • Application-level services • Network management • Network control • Data transport • Routing • Example projects: • xbind (Columbia University - COMET) • DARWIN (CMU)
Quick Review • Limitations of existing networks • Industry directions • Generalized programmable framework • Emerging insights • Open, programmable interfaces • Virtualization through abstractions • Virtual networking
Towards Programmable Virtual Networks The Genesis Project
Director’s Meeting Conference Call Simulation Network Field Sales Network President’s Video Address to Sales Team Manufacturing Network Sales & Marketing Network IT Task Force Mgmt Network Company X Physical Network Infrastructure Virtual Networking • Requirements: Group Collaboration • Isolation • Security & privacy • Connectivity - QoS • Challenge: Automation • Deployment • Configuration • Virtualization • Separation • Resource partitioning • Management
Network Objects Topology graph Resource requirements Profiling Refinement Object deployment Monitoring Admission control Management Spawning Visualization Resource partitioning Life Cycle Process Profiling Virtual Network Life Cycle Management Spawning
Middleware for Virtual Networks • State-of-the-art • TEMPEST (realizing virtual switches - switch-lets) • NETSCRIPT (composing virtual active networks) • X-Bone (tunneling virtual networks through encapsulation) • Technology requirements • “Speed” of deployment • Network services “glue” • The Genesis Middleware • Virtual network operating system • Software methodology for architecting virtual networks • Profiling, spawning, managing
virtual network programming interface Containers T: Transport C: Control M: Management CNPE: Child NPE CNK: Child NK VS: VN Scheduler child communication model C T C CNPE CNPE C’ CNPE T T M M child computation model VS VS VS CNK CNK CNK virtual network thread Spawning virtual network architecture node thread switchlet object Parent Network Programming Environment Profiling to/from client Virtual Network Controller Virtual Network Server Node Scheduler Management Spawning Virtual Network Manager Parent Node Kernel Genesis System
Genesis Characteristics • Networking technology • Internet • Degree of programmability • Dynamically composing virtual network architectures • Quasi-static, low-level node kernel interfaces. • Programmable communications abstractions • Virtual network containers, network service objects, switchlets, virtual links and threads • Programming methodology • Leverage CORBA technology • Architectural domain • Virtual networks
More information? • The Genesis project • http://comet.columbia.edu/genesis • Industry pointers • OPENSIG • http://www.comet.columbia.edu/opensig • DARPA Active Networks • http://www.darpa.mil/ito/ResearchAreas/ActiveNetsList.html • IEEE PIN 1520 • http://www.ieee-pin.org/