590 likes | 677 Views
ANT : A System for Audio Signaling Based NAT Traversal. Ashish Patro Yadi Ma Fatemah Panahi Jordan Walker Suman Banerjee Department of Computer Sciences University of Wisconsin-Madison. Outline. Problem Overview of ANT Component Details Evaluation Summary.
E N D
ANT : A System for Audio Signaling Based NAT Traversal AshishPatroYadiMa FatemahPanahiJordan Walker Suman Banerjee Department of Computer Sciences University of Wisconsin-Madison COMSNETS 2011
Outline • Problem • Overview of ANT • Component Details • Evaluation • Summary COMSNETS 2011
Typical NAT scenario COMSNETS 2011
Typical NAT scenario Problem : Setting up a direct connection between NATed clients across different LANs. COMSNETS 2011
Scenario Cellular Phones Client B Client A Laptop COMSNETS 2011
Goal • Create a direct end to end connection between any 2 NATed clients. • Use no third party intermediate node. • Can be used as a building block by applications. • e.g. : Direct Transfer of Large Files, Chat etc. COMSNETS 2011
Issues • Identify internal and external IP/port information. • Common Solutions : Modify router configuration (Port Mapping), use external relay servers etc. • Cumbersome for lay users to deal with NAT traversal COMSNETS 2011
Solution?? • ANT…. • A system for Audio signaling based NAT Traversal. • Uses an ordinary phone connection as an “out of band” mechanism for NAT traversal. COMSNETS 2011
Outline • Problem • Overview of ANT • Component Details • Evaluation • Summary COMSNETS 2011
ANT in action Client B Client A Step 1 : Setup a phone connection. COMSNETS 2011
ANT in action Client B Client A Step 1 : Setup a phone connection. COMSNETS 2011
ANT in action Client B Client A Step 1 : Setup a phone connection. COMSNETS 2011
ANT in action Internal IP:Port : 10.0.0.3:6000 Configuration Info :- External IP:Mapped port : 128.32.12.3:54678 NAT Router Client B Client A Step 2 : A obtains configuration information for NAT traversal from its UPnP enabled router. COMSNETS 2011
ANT in action NAT Router 10101001…… Client B Client A Step 3 : A encodes configuration data into audio signals. COMSNETS 2011
ANT in action NAT Router Client B Client A Step 4 : Sound is transferred from A’s laptop to A’s phone, then from B’s phone to B’s laptop. COMSNETS 2011
ANT in action NAT Router Client B Client A Step 4 : Sound is transferred from A’s laptop to A’s phone, then from B’s phone to B’s laptop. COMSNETS 2011
ANT in action NAT Router Client B Client A Step 4 : Sound is transferred from A’s laptop to A’s phone, then from B’s phone to B’s laptop. COMSNETS 2011
ANT in action NAT Router Client B Client A 10101001…… Step 5 : B decodes audio, corrects errors and gets the data back. COMSNETS 2011
ANT in action NAT Router NAT Router Client B Client A Step 6 : Setup a direct Peer to Peer (P2P) connection. COMSNETS 2011
Outline • Problem • Overview of ANT • Component Details • Evaluation • Summary COMSNETS 2011
ANT Components • Port Mapping at Client A. • Encoding/decoding audio signals. • Synchronizing encoder/decoder. • Noise filtering. • Error Correction. COMSNETS 2011
NAT Traversal • NATed machines can only make outgoing connections directly. • NAT traversal requires internal-external IP/Port Mapping. • UPnP helps here. COMSNETS 2011
UPnP for NAT traversal • Standard interface and widely available in Internet Gateway Devices (IGD) for the purpose of mapping ports to clients. • Retrieves the external IP address device. • Can add/remove port mappings. • We use Java Library for UPnP to create a port mapping for ANT. COMSNETS 2011
Data to Audio Conversion • Modulate binary data to audio signals. • Keying techniques • ASK : Amplitude Shift Keying • PSK : Pulse Shift Keying • FSK : Frequency Shift Keying • We use a technique analogous to FSK. COMSNETS 2011
Audio Frequencies • Human audible frequency range : 20Hz to 20,000Hz. • Laptop soundcards work well between 800Hz to 9000Hz. • Phone soundcards work well between 1000Hz to 4000Hz. • We used the range 1200Hz – 3100Hz. COMSNETS 2011
Encoding Scheme • We group consecutive bits into symbols. • Use 1 unique frequency per symbol. • Symbol Size = N bits. • Unique frequencies required = 2N. COMSNETS 2011
Encoding Scheme ------- 1200Hz ------- 1230Hz . . . ------- 8820Hz ------- 8850Hz 256 frequencies Symbol Size : 8 bits e.g. : 1001011 COMSNETS 2011
Encoding Scheme ------- 1200Hz ------- 1230Hz . . . ------- 8820Hz ------- 8850Hz 256 frequencies Symbol Size : 8 bits e.g. : 1001011 Requires a band of 7650 Hz for 256 unique frequencies separated by 30 Hz. COMSNETS 2011
Encoding Scheme ------- 1200Hz ------- 1250Hz . . . ------- 1900Hz ------- 1950Hz 16 frequencies Symbol Size : 4 bits e.g. : 1001 Easily fits within the frequency band available. COMSNETS 2011
Synchronization • Problem : • Detect start and end of the audio transmission. COMSNETS 2011
Synchronization • Problem : • Detect start and end of the audio transmission. • Solution : • Use a preamble/postamble for each transmission. COMSNETS 2011
Synchronization • Detect start of transmission. • Similar to “preamble” in wireless networks. • Also used to infer timing information. • 2 synchronization frequencies for start. • 1 synchronization frequency for end. COMSNETS 2011
Synchronization COMSNETS 2011
Synchronization COMSNETS 2011
Synchronization COMSNETS 2011
Synchronization COMSNETS 2011
Distinguish Consecutive Symbols • Consecutive symbols can be same. • Need to distinguish between them. • One solution : Use a separation beep. • Problem : Halves the data rate. COMSNETS 2011
Distinguish Consecutive Symbols • Our Solution : Use two non-overlapping frequency bands. • Transmit consecutive symbols in alternating bands. • Much easier to decode symbols. • ANT uses two separate bands of 16 frequencies (< 2000 Hz). COMSNETS 2011
Decoding Audio Symbols • Synchronization to detect start of transmission. • Fast Fourier Transform (FFT) on captured audio samples. • Noise Filtering : Discard noise away from relevant frequencies (F – 15Hz to F + 15Hz) and below certain amplitude. COMSNETS 2011
Error Correction • Handle errors/erasures during transmission/reception. • ANT uses Forward Error Correction (FEC). • FEC avoids a back-channel. • ANT uses Reed-Solomon codes in GF(16). COMSNETS 2011
Putting the pieces together… • Use UPnP to setup a port mapping at Client A. • Client A transmits mapping via the out-of-band audio channel to Client B. • Client B decodes audio signals to obtain mapping. • Client B connects to Client A. COMSNETS 2011
Putting the pieces together… NAT Router NAT Router Client B Client A COMSNETS 2011
Other applications of ANT • Password Transfer. • Product Key exchange. COMSNETS 2011
Outline • Problem • Overview of ANT • Component Details • Evaluation • Summary COMSNETS 2011
Evaluation • Tested ANT with a variety of devices (laptops, phones). • Environments • No or Light Noise : Quiet Conference Room. • Medium Noise : Offices, homes. • Heavy Noise : Compute Lab (Background noise). COMSNETS 2011
Experiment 1 • Clients A and B are in quiet environments. • Used different combinations of phones. • Tested ANT 4-6 times for each combination. • Reported the overall success rate. COMSNETS 2011
Results : Experiment 1 COMSNETS 2011
Results : Experiment 1 • ANT performed really well in the presence of little or no noise. • Failures occurred due to a bad speaker in the Sony phone. COMSNETS 2011
Experiment 2 • First client is a heavy noise environment. • Second client in a light/medium noise environment. COMSNETS 2011
Results : Experiment 2 COMSNETS 2011