ANT - University of Wisconsin

advertisement
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
Jan 8, 2011
COMSNETS 2011
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
Problem : Setting up a direct connection between NATed
clients across different LANs.
Jan 8, 2011
COMSNETS 2011
Scenario
Cellular Phones
Client B
Client A
Laptop
Jan 8, 2011
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.
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
Client B
Client A
Step 1 : Setup a phone connection.
Jan 8, 2011
COMSNETS 2011
ANT in action
Client B
Client A
Step 1 : Setup a phone connection.
Jan 8, 2011
COMSNETS 2011
ANT in action
Client B
Client A
Step 1 : Setup a phone connection.
Jan 8, 2011
COMSNETS 2011
ANT in action
Internal IP:Port : 10.0.0.3:6000
NAT Router
Configuration Info :External IP:Mapped port : 128.32.12.3:54678
Client B
Client A
Step 2 : A obtains configuration information for NAT traversal
from its UPnP enabled router.
Jan 8, 2011
COMSNETS 2011
ANT in action
NAT Router
10101001……
Client B
Client A
Step 3 : A encodes configuration data into audio signals.
Jan 8, 2011
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.
Jan 8, 2011
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.
Jan 8, 2011
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.
Jan 8, 2011
COMSNETS 2011
ANT in action
NAT Router
Client B
Client A
10101001……
Step 5 : B decodes audio, corrects errors and gets
the data back.
Jan 8, 2011
COMSNETS 2011
ANT in action
NAT Router
NAT Router
Client B
Client A
Step 6 : Setup a direct Peer to Peer (P2P) connection.
Jan 8, 2011
COMSNETS 2011
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
------- 1200Hz
------- 1230Hz
.
.
.
------- 8820Hz
------- 8850Hz
Symbol Size : 8 bits
e.g. : 1001011
256 frequencies
Jan 8, 2011
COMSNETS 2011
Encoding Scheme
------- 1200Hz
------- 1230Hz
.
.
.
------- 8820Hz
------- 8850Hz
Symbol Size : 8 bits
e.g. : 1001011
256 frequencies
Requires a band of 7650 Hz for 256 unique frequencies
separated by 30 Hz.
Jan 8, 2011
COMSNETS 2011
Encoding Scheme
------- 1200Hz
------- 1250Hz
.
.
.
------- 1900Hz
------- 1950Hz
Symbol Size : 4 bits
e.g. : 1001
16 frequencies
Easily fits within the frequency band available.
Jan 8, 2011
COMSNETS 2011
Synchronization
Problem :
- Detect start and end of the audio transmission.
Jan 8, 2011
COMSNETS 2011
Synchronization
Problem :
- Detect start and end of the audio transmission.
Solution :
- Use a preamble/postamble for each transmission.
Jan 8, 2011
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.
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-ofband 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…
NAT Router
NAT Router
Client B
Client A
Jan 8, 2011
COMSNETS 2011
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
- ANT performed really well in the presence of little or no
noise.
- Failures occurred due to a bad speaker in the Sony phone.
Jan 8, 2011
COMSNETS 2011
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
- Errors/erasures caused by noise cause a few failures.
- Success rate still above 66% in all cases.
Jan 8, 2011
COMSNETS 2011
Experiment 3 (Speak Test)
 Human speakers present near laptop with
4 scenarios :
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
Jan 8, 2011
COMSNETS 2011
Results : Experiment 3
Jan 8, 2011
COMSNETS 2011
Results : Experiment 3
- Human voice causes some problems for ANT.
- 2-3 attempts enough to establish a connection in most cases.
Jan 8, 2011
COMSNETS 2011
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
Download