Download presentation
Presentation is loading. Please wait.
1
Exploiting Packet Header Redundancy for Zero Cost Dissemination of Dynamic Resource Information Peter A. Dinda Prescience Lab Department of Computer Science Northwestern University http://www.cs.northwestern.edu/~pdinda
2
2 Overview Piggyback information on outgoing packets Encode information into redundant or unused TCP, IP, and Ethernet fields Result: Disseminate information with no additional packets or increased packet size Identified: >=86 bits per packet Proof-of-concept: 17 bits per packet
3
3 Outline Disseminating dynamic resource info Theoretical redundancy Mechanisms for exploiting redundancy Prospects Proof-of-concept Using the mechanisms Conclusion and future work
4
4 Disseminating Dynamic Resource Information Sensor Consumer
5
5 Current Model Transport Network Data Link Physical Transport Network Data Link Physical App SensorConsumer Sensor is just another application
6
6 Problems With Current Model Bandwidth consumption –Can be reduced via adaptive techniques –Different available BW to different consumers Additional packets injected into network Consumers must know to ask for data But packets already flow through the network!
7
7 Proposed Model App Transport Network Data Link Physical App Transport Network Data Link Physical Sensor Header Editing Consumer Data Extraction Sensor data piggybacked on application packets
8
8 Header Editing Data TCPIPEthernetPadding Overwrite unused or redundant fields with sensor data Sensor Data How much redundancy is there and how do we exploit it?
9
9 Packet Traces NLANR Passive Measurement Network All packets at points of presence 28 90 second traces –4 sites (U. Buffalo, Columbia, Colorado State, U. Memphis) –Late September, 2001 –68,000 to 3 million packets per trace
10
10 How Much Redundancy Is There? Headers as a sequence of 1 byte symbols Shannon entropy –Number of bits needed per symbol –Does not capture correlation Mutual information –Bits per byte assuming one-step correlations Evaluate the theoretical limits to redundancy
11
11 Redundancy in IP Headers Shannon entropy: 4.8 bits per byte –40 % redundant –8 extra bytes per header Mutual information: 1.2 bits per byte –85 % redundant –17 extra bytes per header How does this redundancy manifest in practical ways? Considerable redundancy is available
12
12 Practical Mechanisms: TCP Header flagshlenreserved destination port window size checksum sequence number options MechanismBits Reserved bits6 Ack field when ACK=032 Urgent field when URG=016 NOP option paddingvaries Total>=54 source port acknowledgement number urgent pointer
13
13 Prospects: TCP Header flagshlenreserved destination port window size checksum sequence number options MechanismBits Reserved bits6 Ack field when ACK=032 Urgent field when URG=016 NOP option paddingvaries Total>=54 source port acknowledgement number urgent pointer Always Zero! Untested Options rare
14
14 Practical Mechanisms: IP Header vershlenTOSlength identifierfragment offset TTLprotocolchecksum source address destination address options flags MechanismBits Reserved TOS bits2 Reserved IP flag1 Identifier when DF=116 Fragment offset when DF=113 NOP option paddingvaries Total>=32
15
15 Prospects: IP Header vershlenTOSlength identifierfragment offset TTLprotocolchecksum source address destination address options flags MechanismBits Reserved TOS bits2 Reserved IP flag1 Identifier when DF=116 Fragment offset when DF=113 NOP option paddingvaries Total>=32 95% Zero Always zero 90% DF=1 Options rare 90% DF=1
16
16 Practical Mechanisms: Ethernet Padding Data TCPIPEthernetPadding Ethernet frame’s data must be at least 46 bytes long TCP+IP+keystroke = 20+20+1 = 41 bytes TCP ACK = 20+20 = 40 bytes Prospects: Untested
17
17 Proof-of-concept Evaluate IP Header approaches Random bit source for data Minet user-level stack –~20 lines of header-editing/data extraction code –~200 lines of ancillary code (output) Study interaction with Linux stack (2.2 kernel) and Cisco router
18
18 Proof-of-concept results MechanismBits Minet to Linux Minet to Router to Minet Minet to Router to Linux Demon- strated bits Reserved TOS bits2OKFAILSOK0 Reserved IP flag1OK 1 Identifier when DF=116OK 16 Fragment offset when DF=113FAILS 0 NOP option paddingvariesuntested 0 Total>=3217 IP Header can transport 17 extra bits 90% of the time What should we use them for?
19
19 Using the Bits 1 sample per packet –Host load: 1.4-15 bits per sample –Network bandwidth / latency: ? –Sample resolution can be varied Timestamps –Easy for TCP packets – use RTT estimate
20
20 Using the Bits Using this channel to transport streams Unreliable like IP Also can’t choose where/when data is sent –Only goes to “friendly” hosts –Or have to wait until someone sends a packet to the machine you are targeting What are appropriate coding approaches?
21
21 Diffusion App Transport Network Data Link Physical Sensor Header Editing Consumer Data Extraction Information diffuses out from a sensor to “friendly” hosts Random Drop
22
22 Conclusions and Future Work Introduced concept of exploiting packet header redundancy for zero cost information dissemination –Intentionally extreme approach Identified mechanisms and prospects Demonstrated proof-of-concept Future work: Linux kernel implementation
23
23 For More Information Peter Dinda –http://www.cs.northwestern.edu/~pdinda Minet –http://www.cs.northwestern.edu/~pdinda/minet/ Prescience Lab –http://www.cs.northwestern.edu/~plab
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.