FLIP : Flexible Interconnection Protocol Ignacio Solis Katia Obraczka
Talk overview ● FLIP overview ● Why FLIP? Motivation ● FLIP headers ● FLIP packets ● Comparison with IP ● Comparison with Diffusion ● Conclusions
What is FLIP? ● FLIP is a network protocol that aims to be flexible. It tries to reduce the overhead as much as possible for small devices but does not limit the functionality of more powerful ones. ● Configurable by higher layers (Header morphing)
Why FLIP? ● Generic protocols have too much overhead for small devices. ● Specific protocols are not general enough. ● Applications need access to the lower layers to optimize use. ● Every bit counts
Sensor Networks ● Data gathering ● Small power constrained devices ● Wireless communication ● Long Lifetime ● Large Scale ● Specific Tasks ● Unattended
What about IP? ● Overhead ● Addressing scheme? ● Routing? ● Fragmentation? ● Size? ● etc.
Fields defined by FLIP ● Version (1 byte) ● Destination (2, 4 or 16 bytes) ● Source (2, 4 or 16 bytes) ● Length (2 bytes) ● Time To Live (1 byte) ● Flow (4 bytes) ● Protocol (1 byte) ● Checksum (2 bytes)
The Meta-Header Bitmap ● The meta-header bit map defines which fields will be included in the header. ● Each header field will be represented by one or more bits in the meta-header. ● If the bit is on, the field will appear.
The continuation bit ● We don't really need the whole meta-header bitmap since not all fields might be required. ● The bitmap is divided in groups which are then placed on different bytes.
The ESP packet ● Extra-Small-Packet ● For special very small payloads (6 or 14 bits)
11 Current Work on FLIP FLIP HeaderGTP Header GTP flags
12 Sample FLIP Packets FLIP ESP packet (extra simple packet) FLIP/GTP packet
Sample API ● Uses standard socket interface
14 FLIP Functions
Comparison with IP The special cases of Destination and Source and Destination only use 2 byte addresses. Percentages are overhead of header compared to data. Packet sizes for 1 and 1000 byte payloads
18 Directed Diffusion ● Sink node collects data ● Sink floods an interest to the whole network, establishing reverse paths to itself. ● Nodes that have the data the sink is interested in report back (multiple-paths). ● Sink reinforces the best path, that is, requests a higher data rate on that path. ● The interest is flooded periodically ● Newer versions of Directed Diffusion have other mechanisms
19 Scenario 1: Diffusion Packets Diffusion Static Header Flexible Header Can we optimize Diffusion by using FLIP?
20 Diffusion Monitoring
21 Scenario 2: Simple Data Gathering
22 Simulation Parameters ● NS-2, 2000m x 2000m area, 10 runs, 21 secs. ● 300 nodes, no movement. ● 250m transmission range. ● like MAC. 660 mW / 395 mW ● Starting energy is 1 Joule ● Interests are every 5 seconds ● 1 source, 1 sink requesting 10pkts/sec
23 Simple Data Gathering
24 Adding Data Aggregation ● Aggregate data as it flows through the network ● Data must meet certain criteria ● Not all data can be aggregated ● Lossy & lossless aggregation
25 Scenario 3: Ring Aggregation
Conclusions ● FLIP incurs in small overhead when providing IP functionality. ● Header overhead on special cases can be very small. For example on very small payloads. ● It does not try to replace protocols such as IP. ● More research is needed since many variables are yet to be determined.
Thank You Ignacio Solis