jan 8, 2011comsnets 2011 ant : a system for audio signaling based nat traversal ashish patro yadi ma...
TRANSCRIPT
Jan 8, 2011 COMSNETS 2011
ANT : A System for Audio Signaling Based NAT
Traversal
Ashish Patro Yadi Ma Fatemah Panahi Jordan Walker
Suman Banerjee
Department of Computer SciencesDepartment of Computer Sciences
University of Wisconsin-MadisonUniversity of Wisconsin-Madison
Outline
Problem
Overview of ANT
Component Details
Evaluation
Summary
Jan 8, 2011 COMSNETS 2011
Typical NAT scenario
Jan 8, 2011 COMSNETS 2011
Typical NAT scenario
Jan 8, 2011 COMSNETS 2011
Problem : Setting up a direct connection between NATed clients across different LANs.
Problem : Setting up a direct connection between NATed clients across different LANs.
Scenario
Jan 8, 2011 COMSNETS 2011
Client A Client B
Laptop
Cellular Phones
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.
Jan 8, 2011 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
Jan 8, 2011 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.
Jan 8, 2011 COMSNETS 2011
Outline
Problem
Overview of ANT
Component Details
Evaluation
Summary
Jan 8, 2011 COMSNETS 2011
ANT in action
Jan 8, 2011 COMSNETS 2011
Step 1 : Setup a phone connection.Step 1 : Setup a phone connection.
Client A Client B
ANT in action
Jan 8, 2011 COMSNETS 2011
Step 1 : Setup a phone connection.Step 1 : Setup a phone connection.
Client A Client B
ANT in action
Jan 8, 2011 COMSNETS 2011
Step 1 : Setup a phone connection.Step 1 : Setup a phone connection.
Client A Client B
ANT in action
Jan 8, 2011 COMSNETS 2011
Step 2 : A obtains configuration information for NAT traversal from its UPnP enabled router.
Step 2 : A obtains configuration information for NAT traversal from its UPnP enabled router.
Client A Client B
NAT Router
Internal IP:Port : 10.0.0.3:6000
Configuration Info :-External IP:Mapped port : 128.32.12.3:54678
ANT in action
Jan 8, 2011 COMSNETS 2011
Step 3 : A encodes configuration data into audio signals.
Step 3 : A encodes configuration data into audio signals.
Client A Client B
NAT Router
10101001……
ANT in action
Jan 8, 2011 COMSNETS 2011
Step 4 : Sound is transferred from A’s laptop to A’s phone,
then from B’s phone to B’s laptop.
Step 4 : Sound is transferred from A’s laptop to A’s phone,
then from B’s phone to B’s laptop.
Client A Client B
NAT Router
ANT in action
Jan 8, 2011 COMSNETS 2011
Step 4 : Sound is transferred from A’s laptop to A’s phone,
then from B’s phone to B’s laptop.
Step 4 : Sound is transferred from A’s laptop to A’s phone,
then from B’s phone to B’s laptop.
Client A Client B
NAT Router
ANT in action
Jan 8, 2011 COMSNETS 2011
Step 4 : Sound is transferred from A’s laptop to A’s phone,
then from B’s phone to B’s laptop.
Step 4 : Sound is transferred from A’s laptop to A’s phone,
then from B’s phone to B’s laptop.
Client A Client B
NAT Router
ANT in action
Jan 8, 2011 COMSNETS 2011
Step 5 : B decodes audio, corrects errors and gets the data back.
Step 5 : B decodes audio, corrects errors and gets the data back.
Client A Client B
NAT Router
10101001……
ANT in action
Jan 8, 2011 COMSNETS 2011
Step 6 : Setup a direct Peer to Peer (P2P) connection.Step 6 : Setup a direct Peer to Peer (P2P) connection.
Client A Client B
NAT Router
NAT Router
Outline
Problem
Overview of ANT
Component Details
Evaluation
Summary
Jan 8, 2011 COMSNETS 2011
ANT Components
Port Mapping at Client A.
Encoding/decoding audio signals.
Synchronizing encoder/decoder.
Noise filtering.
Error Correction.
Jan 8, 2011 COMSNETS 2011
NAT Traversal
NATed machines can only make outgoing connections directly.
NAT traversal requires internal-external IP/Port Mapping.
UPnP helps here.
Jan 8, 2011 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.
Jan 8, 2011 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.
Jan 8, 2011 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.
Jan 8, 2011 COMSNETS 2011
Encoding Scheme
We group consecutive bits into symbols.
Use 1 unique frequency per symbol.
Symbol Size = N bits.
Unique frequencies required = 2N.
Jan 8, 2011 COMSNETS 2011
Encoding Scheme
Jan 8, 2011 COMSNETS 2011
Symbol Size : 8 bits
e.g. : 1001011
------- 1200Hz------- 1230Hz
.
.
.------- 8820Hz------- 8850Hz
256 frequencies
Encoding Scheme
Jan 8, 2011 COMSNETS 2011
Symbol Size : 8 bits
e.g. : 1001011
------- 1200Hz------- 1230Hz
.
.
.------- 8820Hz------- 8850Hz
256 frequencies
Requires a band of 7650 Hz for 256 unique frequencies separated by 30 Hz.
Requires a band of 7650 Hz for 256 unique frequencies separated by 30 Hz.
Encoding Scheme
Jan 8, 2011 COMSNETS 2011
Symbol Size : 4 bits
e.g. : 1001
------- 1200Hz------- 1250Hz
.
.
.------- 1900Hz------- 1950Hz
16 frequencies
Easily fits within the frequency band available.Easily fits within the frequency band available.
Synchronization
Jan 8, 2011 COMSNETS 2011
Problem :-Detect start and end of the audio transmission.
Problem :-Detect start and end of the audio transmission.
Synchronization
Jan 8, 2011 COMSNETS 2011
Problem :-Detect start and end of the audio transmission.
Problem :-Detect start and end of the audio transmission.
Solution :-Use a preamble/postamble for each transmission.
Solution :-Use a preamble/postamble for each transmission.
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.Jan 8, 2011 COMSNETS 2011
Synchronization
Jan 8, 2011 COMSNETS 2011
Synchronization
Jan 8, 2011 COMSNETS 2011
Synchronization
Jan 8, 2011 COMSNETS 2011
Synchronization
Jan 8, 2011 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.
Jan 8, 2011 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).
Jan 8, 2011 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.
Jan 8, 2011 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).
Jan 8, 2011 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.
Jan 8, 2011 COMSNETS 2011
Putting the pieces together…
Jan 8, 2011 COMSNETS 2011
Client A Client B
NAT Router
NAT Router
Other applications of ANT
Password Transfer.
Product Key exchange.
Jan 8, 2011 COMSNETS 2011
Outline
Problem
Overview of ANT
Component Details
Evaluation
Summary
Jan 8, 2011 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).
Jan 8, 2011 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.
Jan 8, 2011 COMSNETS 2011
Results : Experiment 1
Jan 8, 2011 COMSNETS 2011
Results : Experiment 1
Jan 8, 2011 COMSNETS 2011
- ANT performed really well in the presence of little or no noise.
- Failures occurred due to a bad speaker in the Sony phone.
- ANT performed really well in the presence of little or no noise.
- Failures occurred due to a bad speaker in the Sony phone.
Experiment 2
First client is a heavy noise environment.
Second client in a light/medium noise environment.
Jan 8, 2011 COMSNETS 2011
Results : Experiment 2
Jan 8, 2011 COMSNETS 2011
Results : Experiment 2
Jan 8, 2011 COMSNETS 2011
- Errors/erasures caused by noise cause a few failures.- Success rate still above 66% in all cases.- Errors/erasures caused by noise cause a few failures.- Success rate still above 66% in all cases.
Experiment 3 (Speak Test)
Human speakers present near laptop with 4 scenarios :
Jan 8, 2011 COMSNETS 2011
Scenario Client A Client B
Scenario 1 (S1) Speaking with soft voice
Quiet, no/light background
noise
Scenario 2 (S2) Speaking with loud voice
Quiet, no/light background
noise
Scenario 3 (S3) Speaking with soft voice
Quiet, heavy background
noise
Scenario 4 (S4) Speaking with loud voice
Quiet, heavy background
noise
Results : Experiment 3
Jan 8, 2011 COMSNETS 2011
Results : Experiment 3
Jan 8, 2011 COMSNETS 2011
- Human voice causes some problems for ANT.- 2-3 attempts enough to establish a connection in
most cases.
- Human voice causes some problems for ANT.- 2-3 attempts enough to establish a connection in
most cases.
Playing Background Music…
Cause major problems to ANT.
Music generates a vast range of frequencies.
Interferes with ANT by inserting spurious symbols into audio transmissions.
Causes problems for the decoder.
Jan 8, 2011 COMSNETS 2011
Outline
Problem
Overview of ANT
Component Details
Evaluation
Summary
Jan 8, 2011 COMSNETS 2011
Summary
UPnP is easily available and provides a standard interface for port mapping.
Short Audio transmission (few seconds).
Out-of-band audio mechanism for NAT traversal works well is most scenarios.
Can also use audio mechanism for short, robust and secure data transmissions.
Jan 8, 2011 COMSNETS 2011
ANT Demo.
A demo video demonstrating ANT is available at :-
http://www.cs.wisc.edu/wings/projects/ant
Link also available in the paper.
Jan 8, 2011 COMSNETS 2011
Thank you.
Questions ?
Jan 8, 2011 COMSNETS 2011