Bob Braden -- 3 May 20011 FARA: Reorganizing the Addressing Architecture David Clark MIT Laboratory for Computer Science Bob Braden, Aaron Falk, Venkata.

Slides:



Advertisements
Similar presentations
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Advertisements

IPv4 - The Internet Protocol Version 4
1 Internet Protocol Version 6 (IPv6) What the caterpillar calls the end of the world, nature calls a butterfly. - Anonymous.
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Internetworking.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 14.
COS 420 Day 18. Agenda Group Project Discussion Program Requirements Rejected Resubmit by Friday Noon Protocol Definition Due April 12 Assignment 3 Due.
COS 420 Day 20. Agenda Group Project Discussion Protocol Definition Due April 12 Paperwork Due April 29 Assignment 3 Due Assignment 4 is posted Last Assignment.
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Transport Layer.
Postmodern Internet Architecture Defense Zhaosheng Zhu Kevin Tan.
IP/ICMP Translation Algorithm (IIT) Xing Li, Congxiao Bao, Fred Baker
Gursharan Singh Tatla Transport Layer 16-May
1 TCP/IP architecture A set of protocols allowing communication across diverse networks Out of ARPANET Emphasize on robustness regarding to failure Emphasize.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Lecture 1 Internet CPE 401 / 601 Computer Network Systems slides are modified from Dave Hollinger and Daniel Zappala Lecture 1 Introduction.
Mobile IP Performance Issues in Practice. Introduction What is Mobile IP? –Mobile IP is a technology that allows a "mobile node" (MN) to change its point.
2002 년 2 학기이동인터넷프로토콜 1 Mobile IP:Overview 년 2 학기이동인터넷프로토콜 2 Mobile IP overview Is Mobile IP an official standard? What problems does Mobile IP solve?
Internet Applications
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
Presentation on Osi & TCP/IP MODEL
COMMUNICATIONPROTOCOL Kumar Vipul Shrivastawa and Abhinash. Regd.No:050 and 279 Branch: ETC A technical Seminar presented by.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 18 Omar Meqdadi Department of Computer Science and Software Engineering University.
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m network layer service models m forwarding.
1 Chapter 1 OSI Architecture The OSI 7-layer Model OSI – Open Systems Interconnection.
CMPT 471 Networking II Address Resolution IPv4 ARP RARP 1© Janice Regan, 2012.
7-1 Last time □ Wireless link-layer ♦ Introduction Wireless hosts, base stations, wireless links ♦ Characteristics of wireless links Signal strength, interference,
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Network Layer introduction.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
1. I NTRODUCTION TO N ETWORKS Network programming is surprisingly easy in Java ◦ Most of the classes relevant to network programming are in the java.net.
The Transport Layer application transport network data link physical application transport network data link physical application transport network data.
CS 453 Computer Networks Lecture 18 Introduction to Layer 3 Network Layer.
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
CS 4396 Computer Networks Lab
Transport Layer3-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Internet Protocols (chapter 18) CSE 3213 Fall 2011.
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Protocols and Architecture Slide 1 Use of Standard Protocols.
1. Layered Architecture of Communication Networks: TCP/IP Model
MULTIPLEXING/DEMULTIPLEXING, CONNECTIONLESS TRANSPORT.
Enterprise Network Systems TCP Mark Clements. 3 March 2008ENS 2 Last Week – Client/ Server Cost effective way of providing more computing power High specs.
David Clark, Robert Braden, Aaron Falk, Venkata Pingali ACM SIGCOMM 2003 Workshops August 25&27, Jongsoo Lee
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
K. Salah1 Security Protocols in the Internet IPSec.
IP Security (IPSec) Matt Hermanson. What is IPSec? It is an extension to the Internet Protocol (IP) suite that creates an encrypted and secure conversation.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
Lecture 10 Page 1 CS 236 Online Encryption and Network Security Cryptography is widely used to protect networks Relies on encryption algorithms and protocols.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
IP - The Internet Protocol
Encryption and Network Security
Scaling the Network: The Internet Protocol
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Layered Architectures
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
IP - The Internet Protocol
Lecture 2 Overview.
CPE 401 / 601 Computer Network Systems
IP - The Internet Protocol
ECE 544 Project3 Team member: BIAO LI, BO QU, XIAO ZHANG 1 1.
IP - The Internet Protocol
Advanced Computer Networks
FARA: Reorganizing the Addressing Architecture
Lecture 2: Overview of TCP/IP protocol
IP - The Internet Protocol
Scaling the Network: The Internet Protocol
IPv4 Addressing By, Ishivinder Singh( ) Sharan Patil ( )
IP - The Internet Protocol
Computer Networks Protocols
Presentation transcript:

Bob Braden -- 3 May FARA: Reorganizing the Addressing Architecture David Clark MIT Laboratory for Computer Science Bob Braden, Aaron Falk, Venkata Pingali USC Information Sciences Institute FDNA Workshop, SIGCOMM 2003 Karlsruhe, Germany August 27, 2003

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 2 Motivation Creating a better technical design for the Internet to meet today’s and tomorrow’s requirements. Can top-down, abstract “architectural” reasoning help in this effort? This paper is an exercise to explore this question. –And explore some new design territory as well as much well-trod ground.

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 3 Motivation... The original Internet design effort was largely bottom-up. –Found one approach to meet the apparent requirements –Guided by some abstract thinking about protocol modularity, simplicity, etc., but the effort was generally pragmatic. –A top-down discussion of the “Internet Architecture” and its relation to the requirements only came 10 years later (Clark, SIGCOMM 88). We understand more (maybe not a LOT more?) about network architecture today than we did in 1978.

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 4 Our Three-step Approach 1. Define an abstract architectural model: FARA. –Encompass an interesting part of the design space, while leaving many details unconstrained. –Maximize generality, to make the problem harder. 2. Define an architecture that instantiates FARA: the M-FARA architecture. –Bind some free parameters in FARA and define mechanisms. 3. Build an M-FARA prototype. –Define real protocols, packet formats, facilities, scenarios –Build and demonstrate a toy implementation

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 5 The Perpetrators FARA design: Dave Clark M-FARA design: Aaron Falk, Venkata Pingali M-FARA prototype: Venkata Pingali, Ted Faber With lots of advice from other members of the NewArch project: –Bob Braden, Noel Chiappa, Mark Handley, Karen Sollins, and John Wroclawski

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 6 FARA Objectives Cleanly decouple end-system identity from network- layer forwarding functions –The familiar location/identity split –Support general mobility Avoid the need for a new global namespace as a result Provide E2E security with a range of assurance levels Generalize architecture along several dimensions Support diverse naming & forwarding mechanisms

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 7 FARA* Model * “Forwarding directive, Association, and Rendezvous Architecture” (Also called "FARADS architecture") Re-modularization of function –Entities –Associations –Communication substrate –Forwarding Directives –Rendezvous

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 8 Entity The "thing" that has state and communicates. A generalization of an end-system application. An abstraction: might be a thread, process, set of processes, host, cluster of machines... (FARA allows all, but a derived architecture may provide mechanisms to support a subset of these alternatives.) The smallest unit that can be mobile.

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 9 Association A logical commun. link between two entities. –End-to-end abstraction –Has evolving shared communication state E.g., for reliable delivery, E2E security, … Data packet carries dest. Association ID (AId) Receiving entity uses AId to demux packet to association state AId is local to entity; format unspecified by FARA. Packets may also carry source AId’s

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 10 FARA end-to-end abstraction Entity A Entity B Associations Association state

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 11 Communication Substrate Packet delivery (~ network layer) FARA assumes connectionless delivery, but makes no assumption about the delivery mechanism. –One possibility: h/h forwarding with globally-unique topological addresses, as in the current IP. –A derived architecture may allow multiple mechanisms Delivery all the way to the entity Hence, parts of comm substrate are in node OSs. Comm. substrate may also provide: Delivery failure notification (ICMP) Resource control (congestion notification, QoS) Network-layer security (VPN tunnels, etc.)

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 12 Forwarding Directive (FD) Each FARA packet carries a destination FD (and probably a source FD) Comm. substrate uses FD to deliver the packet. FARA does not specify the format or contents of FD. –Derived architecture must define. –Depends upon supported forwarding mechanism(s) –Could be simple global address, source route, or something more complicated When entity moves: FD changes, AId doesn't.

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 13 Packet Delivery Entity A Entity B Communication Substrate Packet Delivery (FD) Network and OS deliver packet to entity B, using FD Entity uses AId to demux to association FARA E2E Abstraction Association end-point state “The Red Line”

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 14 FARA Packet Contents Commun. Substrate Header(s) Entity Header(s) Payload Destination FD [Source FD] Network-layer stuff… Destination AId Source AId E2E stuff… Link-layer Header(s) Exact packet contents and format depend upon derived architecture and detailed engineering, but FARA implies the following:

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 15 FARA Assumptions An Entity is the unit of mobility. –For any flavor of logical or physical mobility. Associations do not have global names. –AId’s local to entity, invariant in a move. Entities do not have global names. –Location defined implicitly, by FDs. –There must be higher-level mechanisms to allow users to locate/construct FDs for target entities. –There will be (perhaps many) user-level name spaces -- “service names” Globally-unique network addresses are not required (but are permitted)

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 16 Creating an Association Use Rendezvous mechanism Simple Rendezvous case:Simple Rendezvous case: –Discovery phase: Directory Service maps Service Name  FD –Initiation phase to target FD. –Initiation phase: Send initial packet to target FD. –Target entity assigns AId –Handshake to create shared state for reliability, security, etc.

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 17 More General Rendezvous Directory Service => Service Name  (FDi, RI) (RI: Rendezvous Information)Directory Service => Service Name  (FDi, RI) (RI: Rendezvous Information) Various possible mechanisms:Various possible mechanisms: –FD Generation at sender: Sender generates complete FD from RI and FDi.Sender generates complete FD from RI and FDi. –Third party remapping of FD: Isent to FD of proxy/agent for target entity.Initial packet sent to FD of proxy/agent for target entity. Proxy/agent rewrites (FD, RI) and forwards initial packet.Proxy/agent rewrites (FD, RI) and forwards initial packet. –FD remapping at receiver –FD remapping at receiver: Send RI in initial packet; target entity remaps locally.

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 18 Security FDs are not (necessarily) global and are not stable; they may be rewritten, may change due to mobility. An entity must implement some packet validation mechanism –For initial assoc establishment –(Perhaps) for all subsequent packets in association –FARA leaves these mechanisms to the entities and to a derived architecture. –Intent: support variety of mechanisms; trade security level vs. overhead. –Include lightweight security compable to IP’s, as well as cryptographic security.

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 19 Instantiating FARA FARA sounds nice, but is it self-consistent? Useful? –To get assurance, need to try deriving one or more specific architectures, complete with mechanisms. We designed and prototyped one derivative architecture, M-FARA. Chose an interesting point in FARA space -- –Explore mobility and addressing aspects of FARA –Demonstrate location/identity decoupling Not a complete architecture

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 20 M-FARA Architecture (1) Network Addressing –Multiple distinct addressing realms –Addresses unique within each realm. –Support mobility across realm boundaries

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 21 M-FARA Architecture (2) Packet delivery mechanism –Hop/hop forwarding within realm, source routing across realms. –FD contains realm/realm source route. –To simplify route computations: assume a distinguished "core" realm. Every entity knows FDup to reach core realm. Directory Service contains FDdown to reach target from core realm. Sender generates complete FD as (FDup, FDdown) –Reverse FD constructed in flight

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 22 M-FARA Architecture (3) FD Management –When destination entity moves, construct new FD and tell sender. –Mobility agents (M-agents): 3rd party rendezvous points to maintain and update active FDs. Security –Authentication of sender initially and after every move. –Not authenticate every packet –DCCP-style connection nonce

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 23 M-FARA Prototype Toy implementation Entities, “FARA kernels”, and M-agents are Unix processes Associations mapped onto Internet overlays Reliable association uses TCP subset (1-byte window) Two addressing realms: IPv4 and IPv6 It works -- –Seamless migration of endpoint of a reliable association to new attachment point in same or different addressing realm. –Re-authentication using connection nonce when FD changes.

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 24 Other Possible Instantiations IPv4-FARA –Put many restrictions on FARA  ~ IP architecture –Entity is a process in host. No mobility. –One global IP address space, hop/hop forwarding –FD = (IPaddr, port) –AId ~ file descriptor –TCP-FARA: no ports; new security mechanism; logically within user process (but sensible to implement it within OS kernel.)

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 25 Wilder Speculation... MIP-FARA architecture –Add mobility, e.g., Mobile IP or M-agents –More complex API across the “red line” NAT-FARA architecture –Allow multiple IPv4 addressing realms, with a central “core”. –Address translation rather than source-routing –Details left to reader...

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 26 What we did not accomplish The FARA model does not handle: –Multicast –Middleboxes M-FARA does not: –Define QoS or congestion control mechanisms –Explore a range of rendezvous mechanisms –Attempt movement of an entity to a different end system (but this is an OS problem more than a network problem)

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 27 Prior Work The architectural paths we trod were well worn... Significant footprints we recognized were left by John Shoch, Jerry Saltzer, Paul Francis, Victor Antonov, Dave Cheriton, and Bob Moskowitz, but there were many more...

FDNA/SIGCOMM 03 FARA -- Clark, Braden, Falk, Pingali 28 Conclusions We have tried to give a linear explanation of a rather non-linear research effort. Conclusion: top-down architectural reasoning can be very useful, but you have to iterate between top-down and bottom-up (at least, in the current stage of our understanding of network architecture.) For presentations on FARA, documentation of M-FARA and its prototype, and download of M-FARA code: