PLAN: Packet Language for Active Networks Michael Hicks joint work with Jon Moore, Pankaj Kakkar, Carl Gunter, and Scott Nettles Switchware Project Computer.

Slides:



Advertisements
Similar presentations
Static Routing Exercise AFNOG 2003/ Track 2 # 1 Static Routing Exercise u Unix network interface configuration u Cisco network interface configuration.
Advertisements

Internetworking II: MPLS, Security, and Traffic Engineering
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
Configuring and Troubleshooting Network Connections
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 6 Managing and Administering DNS in Windows Server 2008.
SYSTEM ADMINISTRATION Chapter 19
11 TROUBLESHOOTING Chapter 12. Chapter 12: TROUBLESHOOTING2 OVERVIEW  Determine whether a network communications problem is related to TCP/IP.  Understand.
Module 4: Configuring Network Connectivity
An Engineering Approach to Computer Networking
Week 5: Internet Protocol Continue to discuss Ethernet and ARP –MTU –Ethernet and ARP packet format IP: Internet Protocol –Datagram format –IPv4 addressing.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
CSCI 4550/8556 Computer Networks Comer, Chapter 19: Binding Protocol Addresses (ARP)
Introduction to TCP/IP
Network Layer Functions Key Layer in Internet Architecture End-to-end Packets Adapt to lower layers
Chapter 19 Binding Protocol Addresses (ARP) Chapter 20 IP Datagrams and Datagram Forwarding.
Delivery, Forwarding, and Routing
April 1998, University of Pennsylvania Anna Philippou PLAN: A Programming Language for Active Networks Hicks, Kakkar, Moore, Gunter, Nettles.
Vocabulary URL = uniform resource locator: web address protocol –set of rules that networked computers follow in order to share data and coordinate communications.
IP ROUTING -1 STATIC ROUTING DEFAULT ROUTING.  A routing protocol is used by routers to dynamically find all the networks in the internetwork and to.
CS 356 Systems Security Spring Dr. Indrajit Ray
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v2.2—1-1 MPLS Concepts Introducing Basic MPLS Concepts.
Chapter Eleven An Introduction to TCP/IP. Objectives To compare TCP/IP’s layered structure to OSI To review the structure of an IP address To look at.
Data Communications and Networks
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
S305 – Network Infrastructure Chapter 5 Network and Transport Layers.
Bootstrap and Autoconfiguration (DHCP)
Chapter 4: Managing LAN Traffic
23-Support Protocols and Technologies Dr. John P. Abraham Professor UTPA.
CEN Network Fundamentals Chapter 19 Binding Protocol Addresses (ARP) To insert your company logo on this slide From the Insert Menu Select “Picture”
S305 – Network Infrastructure Chapter 5 Network and Transport Layers.
Page 19/13/2015 Chapter 8 Some conditions that must be met for host to host communication over an internetwork: a default gateway must be properly configured.
Module 5: Isolating Common Connectivity Issues. Overview Determining the Causes of Connectivity Issues Network Utilities That You Can Use to Isolate Connectivity.
A+ Guide to Managing and Maintaining Your PC Fifth Edition Chapter 19 PCs on the Internet.
1 Chapter Overview TCP/IP DoD model. 2 Network Layer Protocols Responsible for end-to-end communications on an internetwork Contrast with data-link layer.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Router and Routing Basics
© 2006 Cisco Systems, Inc. All rights reserved.Cisco PublicITE I Chapter 6 1 Connecting to the Network Networking for Home and Small Businesses – Chapter.
October 8, 2015 University of Tulsa - Center for Information Security Microsoft Windows 2000 DNS October 8, 2015.
InfiniBand Routing Solution Approach Yaron Haviv, CTO, Voltaire
Internetworking – What is internetworking? Connect multiple networks of one or more organizations into a large, uniform communication system. The resulting.
Part 3: Internetworking Internet architecture, addressing, encapsulation, reliable transport and the TCP/IP protocol suite.
Hour 7 The Application Layer 1. What Is the Application Layer? The Application layer is the top layer in TCP/IP's protocol suite Some of the components.
S305 – Network Infrastructure Chapter 5 Network and Transport Layers.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
Link Layer5-1 Synthesis: a day in the life of a web request  journey down protocol stack complete!  application, transport, network, link  putting-it-all-together:
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Basic Routing Principles V1.2. Objectives Understand the function of router Know the basic conception in routing Know the working principle of router.
MPLS Concepts Introducing Basic MPLS Concepts. Outline Overview What Are the Foundations of Traditional IP Routing? Basic MPLS Features Benefits of MPLS.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Connecting to the Network Introduction to Networking Concepts.
Cisco 2 - Routers Perrine. J Page 112/19/2015 Chapter 8 TCP/IP Error Message Some of the conditions that must be met in order for host to host communication.
Scaling Networks with Network Address Translation Scaling Networks with Network Address Translation Solutions for IPv4 Security and Scalability ECPI College.
Network Management CCNA 4 Chapter 7. Monitoring the Network Connection monitoring takes place every day when users log on Ping only shows that the connection.
Network Layer (OSI and TCP/IP) Lecture 9, May 2, 2003 Data Communications and Networks Mr. Greg Vogl Uganda Martyrs University.
11 ROUTING IP Chapter 3. Chapter 3: ROUTING IP2 CHAPTER INTRODUCTION  Understand the function of a router.  Understand the structure of a routing table.
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
Networking (Cont’d). Congestion Control l Is achieved by informing nodes along a route that congestion has occurred and asking them to reduce their packet.
Submitted to: Submitted by: Mrs. Kavita Taneja Jasleen kaur (lect.) Hitaishi verma MMICT & BM MCA 4 th sem.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
1 K. Salah Module 5.1: Internet Protocol TCP/IP Suite IP Addressing ARP RARP DHCP.
Scaling the Network: Subnetting and Protocols
SwitchWare Active Network Architecture
Frame Relay lab1.
Scaling the Network: The Internet Protocol
Planning and Troubleshooting Routing and Switching
Chapter 5 Network and Transport Layers
Distributed Systems CS
Scaling the Network: The Internet Protocol
Connecting to the Network
Computer Networks Protocols
Distributed Systems CS
Presentation transcript:

PLAN: Packet Language for Active Networks Michael Hicks joint work with Jon Moore, Pankaj Kakkar, Carl Gunter, and Scott Nettles Switchware Project Computer and Information Science University of Pennsylvania

Distributed Programming for Active Networks n What is an Active Network? n Why would I want one? n How do I program one? n PLAN n Where can I get it?

Traditional Networks R R R H H H H H

R R R H H H H H

Active Networks A A A A A A A A

Why Program the Network? u Multicast u Network Searching u Congestion Avoidance u Web Caching u Switch Diagnostics and Configuration u...

Can’t I do this stuff now? n In some cases, yes, but u Evolution is slow u Programming is tedious and error-prone n In other cases, no u Many solutions require participation of all network nodes

Design Goals

Design Space Programmable Packets Dynamically Extensible Routers Endpoints only (Internet) Every hop Where to add programmability? Where to evaluate packets?

Two Level Architecture

Design Space Programmable Packets Dynamically Extensible Routers Endpoints only (Internet) Every hop Where to add programmability? Where to evaluate packets?

Ping A B

Ping in PLAN fun ping(source:host, dest:host):unit = if not thisHostIs(dest) then OnRemote(|ping|(source,dest), dest, … ) else OnRemote(|ack|(), source, … ) fun ack() : unit = print(“Success”)

PLAN: the Language n Based on simply-typed calculus n Remote evaluation with OnRemote and chunks n Access to services via function calls n Explicit, global resource bound n Exceptions and error handling n Static guarantees u Type safety u Termination

OnRemote Primitive For Remote Evaluation OnRemote(f,dest,rb,routFun) n f: function to invoke remotely + args (a chunk) n dest: remote location n rb: resource bound n routFun: routing function name

Chunks almost first-class functions n Three components: u code (optional) u function name u actual parameters n Semantics at evaluation time: u process code in fresh top-level environment u resolve function name u evaluate function with given parameters

Name Resolution n Three components: u code (optional) u function name u actual parameters n Semantics at evaluation time: u process code in fresh top-level environment u resolve function name u evaluate function with given parameters

Chunks means for encapsulation fun v(c:chunk, cs:blob): unit = if verifyCS(c,cs) then eval(c) let val c: chunk = |foo|() val d: chunk = checksum(c) in OnRemote(d,dest,getRB(),defaultRoute) end

What’s Missing? n Direct recursion u can fake it with OnRemote n General recursive types u built-in homogeneous lists + fold n Higher-order functions u can use chunks n Synchronization n Mutation u both may occur at the service level

Why not use language X? n Special domain n Simple languages for simple tasks n Lightweight interpretation n Possible a priori guarantees u type safety u memory/CPU usage u termination

PLANet n An Active Internetwork n Based on IP but all packets are PLAN programs n RIP, ARP, etc. are service-level protocols - communicate using PLAN programs

n RIP, ARP, DNS, etc. n Hard parts are implemented as services u Require state u Timing oriented u Security n Communication occurs via PLAN u Routing update broadcasts, ARP requests, etc. Service Level Protocols

Summary n Active Networks provide a richer network model u faster evolution u improved flexibility n PLAN embodies AN design space u packet programs (PLAN) u service programs (Caml) n Programming model is simple and effective

Where to get PLAN PLAN 3.1 (and PLANet) includes new security features! SwitchWare homepage (papers and code)