FARADS Forwarding Directives Associations and Rendezvous Aaron Falk
- Slides: 34
FARADS Forwarding Directives, Associations, and Rendezvous Aaron Falk, Bob Braden USC ISI September 17, 2002 FARADS -- Falk -- USC ISI -- New. Arch Project
Outline I. III. Architecture Overview Design Choices Implementation Notes FARADS -- Falk -- USC ISI -- New. Arch Project 2
I. FARADS Architecture Overview Summary of the architecture as defined by Dave Clark FARADS -- Falk -- USC ISI -- New. Arch Project
FARADS: Possible Newarch Functional Abstraction n Separate location from identity q q q 1. Support general mobility 2. Support wide range of routing/forwarding architectures 3. Support diverse naming schemes n q n May include e. g. , anonymity, local names as well as global names. 4. Cleanly decouple 2. from 3. Support range of mechanisms for end-system authentication despite this separation. n Including lightweight authentication FARADS -- Falk -- USC ISI -- New. Arch Project 4
The FARADS Architecture n Abstractions: q q n Entity Association Mechanisms q q q Forwarding Directives (FDs) Rendezvous Slot FARADS -- Falk -- USC ISI -- New. Arch Project 5
Entity n The Entity abstraction generalizes the traditional application. q n Entities communicate with each other, using association(s). q q n Might be: process, process group, entire machine, or cluster of machines Contains communication state for its association (as well as other state that is relevant to their higher-level function. ) Question: what about cwnd? MTU? rcvbuf? Entities are the unit of mobility – an entity moves as a unit. FARADS -- Falk -- USC ISI -- New. Arch Project 6
Association n Association = logical comm link between two entities q q n n An entity may have multiple concurrent associations Association within a particular entity is labeled with a local Association Identifier (AID) q q n Sequence of data packets Shared communication state A handle for locating associated comm state Unique within entity, not necessarily within node or across nodes. Hence, must be local to entity. AID is invariant during mobility, i. e. , as FD changes q A "fate-sharing region" FARADS -- Falk -- USC ISI -- New. Arch Project 7
Forwarding Directive n n Tells the "network" how to deliver a packet to an entity – or more strictly, to a slot within which the entity is instantiated. FD supports a range of forwarding mechanisms q q q Might specify globally-unique address, e. g. , a network attachment point (IP address); FD ~ (IP addr, port#), or Might specify a path/explicit route. Might be inherently reversible, or not. Might change in flight May be independent of sender, or not. FARADS -- Falk -- USC ISI -- New. Arch Project 8
Forward Directive (2) n FD contents are opaque to entity. FARADS -- Falk -- USC ISI -- New. Arch Project 9
The Red Line n n A "red line" separates forwarding (network) knowledge from entity (application) knowledge FD provides packet delivery (below the line) AID identifies association state (above the line) Some messiness in FD management q q E. g. , obtaining FDs, mobility awareness, etc Network congestion needs to be shown to the association FARADS -- Falk -- USC ISI -- New. Arch Project 10
Slots n n A slot is the local operating system interface to an entity. An FD actually delivers data to a slot, and hence to the entity, if any, currently occupying that slot. q q q If an entity moves to a different slot in the same (or different) end-system, the FD changes Slots are like dynamically-allocated ports ISSUE: Can slots be well known? May be stable, but form of slot specification might be specific to one OS, for example. FARADS -- Falk -- USC ISI -- New. Arch Project 11
Rendezvous n n n Establishing an association generally requires a procedure/mechanism called rendezvous. Entities wishing to initiate an association send a rendezvous string (RS) RS contains anything the receiving entity needs to establish an association q Examples: n n n TCP initialization URL click-through tags Authentication FARADS -- Falk -- USC ISI -- New. Arch Project 12
FD Management n FD Mgmt straddles red line q Tells entity things about the network n q Tells network things about the entity n n n E. g. , translates entity Qo. S needs to route preferences E. g. , notifies entity that packets from other end contain new source FD to prompt authentication Performs FD negotiation Performs site preparation for mobile entities FARADS -- Falk -- USC ISI -- New. Arch Project 13
Mobility n Several types: q q q Entity Mobility: entity moves to a new end-system Physical Mobility: end-system moves to new network attachment point Virtual Mobility: entity moves to a different slot (think “port”) in current end-system q n n Or: path changes during a connection All require FD changes Mobile entities can be found using agents FARADS -- Falk -- USC ISI -- New. Arch Project 14
Agents n Agents are a special type of entity that act as a helper for mobility q q n Required when mobile entity wants to be found in DNS May be useful at other times (e. g. , unexpected FD changes) Agents are special: they operate below the red line (they munge FDs) but have entity-like properties q E. g. , they have associations with the mobile entity to maintain the FD mapping FARADS -- Falk -- USC ISI -- New. Arch Project 15
Agents (2) n An entity may have multiple agents q n n All agents require updating when FDmobile changes An agent may support multiple entities The agent function may be located anywhere along the path, including within the sender or receiver q Locating the agent within the network has preferable scaling properties FARADS -- Falk -- USC ISI -- New. Arch Project 16
Problem & Undefined Areas: n N-way associations (n>2) q E. g. , middleboxes n Multicast Quality of Service Routing Subsystem Overlays n Consider i 3? n n n FARADS -- Falk -- USC ISI -- New. Arch Project 17
II. Design Choices Choosing an interesting and useful point in the space defined by the FARADS architecture FARADS -- Falk -- USC ISI -- New. Arch Project
New. Arch DNS (n. DNS) n n n An optional – albeit handy – way to obtain FDs and create RS Very similar to traditional DNS Returns globally reachable FD and a rendezvous template (RT) q RT tells the entity how to create an RS, possibly requiring local information FARADS -- Falk -- USC ISI -- New. Arch Project 19
FD Negotiation n n An entity can request a path change via FD definition or negotiation Used for q q q n expression of route preferences (WAN provider selection) server selection (load balancing) mobility Need a protocol here… FARADS -- Falk -- USC ISI -- New. Arch Project 20
Agents – How it works n n n A mobile entity, using a private association, loads a mapping (FDagent -> FDmobile) into the agent The mobile entity publishes FDagent in the DNS Two possible behaviors may be supported: q q n Incoming packets to FDagent are rewritten with FDmobile and sent out Incoming packets to FDagent trigger a redirect message to the sender As FDmobile changes, the agent is kept up to date for new associations FARADS -- Falk -- USC ISI -- New. Arch Project 21
Mobile End Systems n n If an entity knows it’s going to a new FD, existing associations are notified (via FD Mgmt) that the source FD of the ME is going to change For unexpected mobility, the agent can be used as a meeting place q If an entity stops getting responses from a known ME, it can send a query to FDagent FARADS -- Falk -- USC ISI -- New. Arch Project 22
Entity Moves to New End-System n Locate & prepare a slot (how? ) q n n n Acquire new FD Provide new FD to entities engaged in associations Collect & move state to new location (how? ) From new location, send an FD change to remote entities FARADS -- Falk -- USC ISI -- New. Arch Project 23
Resynchronization needs to occur after an entity moves q n n Accounts for packets that might go to wrong FD End-to-end, i. e. , agent not involved Could be a simple exchange of sequence numbers FARADS -- Falk -- USC ISI -- New. Arch Project 24
Route Subsystem n n Currently assuming black box which assembles a working FD Implies a method of expressing route preferences FDs are composed of route fragments reflecting path preferences/new location May be nimrod-like using route fragments q Some work by Xiaowei Yang at MIT FARADS -- Falk -- USC ISI -- New. Arch Project 25
Security n n Want to preserve “lightweight” nature of TCP pseudo-header Candidate solution: DCCP connection nonce q q q n Each entity exchanges a random number at the beginning of a connection When a nonce challenge is received, the XOR of the two random numbers is returned When FD management indicates packets have arrived on an existing association with a new source FD, the connection nonce is exchanged Alternate, more secure solution: purpose-built keys (? ) FARADS -- Falk -- USC ISI -- New. Arch Project 26
Examples (TBS) n n Simple connection establishment Simple plus n. DNS Mobile endpoint Route preference negotiation FARADS -- Falk -- USC ISI -- New. Arch Project 27
Implementation FARADS implementation performed at ISI FARADS -- Falk -- USC ISI -- New. Arch Project
Overview n n n Entities → processes f. Kernel → user-level process Network → overlay network of f. Kernels FARADS -- Falk -- USC ISI -- New. Arch Project 29
Implementation Details n n C++ User space for ease of debugging FARADS packets sent over IP with new protocol number BSD firewall code used to grab packets f. Kernel q n n (courtesy Ted Faber) FARADS kernel (f. Kernel) routes packets to correct slot FD Management, DNS, and simple apps exist as separate entities FARADS -- Falk -- USC ISI -- New. Arch Project 30
Implementation - Packet Format n FD = IP address + port number FARADS -- Falk -- USC ISI -- New. Arch Project 31
Implementation – Status n n Ted’s playground defines f. Kernel First apps: q q q Ping Simple, unreliable file push Simple DNS FARADS -- Falk -- USC ISI -- New. Arch Project 32
Implementation – Plans n n Mobility Path negotiation Demonstrate simple scenarios Security stuff? HIP/IPSEC? FARADS -- Falk -- USC ISI -- New. Arch Project 33
The End FARADS -- Falk -- USC ISI -- New. Arch Project
- Rendezvous political cartoon meaning
- Patched conics
- Evening standard cartoon
- E-rendezvous
- Rvc canada
- Earth educators rendezvous
- Nancy falk
- Miranda falk
- John falk museum
- Falk meissner
- Falk mylich
- Falk 2002
- Anne falk
- Negative coping
- Thomas falk
- Limitations of advance directives
- Ptr operator in assembly language
- 8051 equ
- What are the types of advance directives
- A simple sic assembler
- What is assembler directives in 8086 microprocessor
- What are the types of advance directives
- Directive control examples
- What are the financial reporting requirements in ethiopia
- Jsp taglib directive example
- Advance directives
- Forward reference table (frt) is arranged like
- Nws directives
- Forest service directives
- For imperative statement 2 pass assembler
- Iec directives
- Fsis directives
- Commander's intent example
- Examples of eu directives
- Ce directives