ANT : A System for Audio Signaling Based NAT Traversal

59
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 Sciences Department of Computer Sciences University of Wisconsin- University of Wisconsin- Madison Madison

description

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. - PowerPoint PPT Presentation

Transcript of ANT : A System for Audio Signaling Based NAT Traversal

Page 1: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 2: ANT : A System for Audio Signaling Based NAT Traversal

Outline

Problem

Overview of ANT

Component Details

Evaluation

Summary

Jan 8, 2011 COMSNETS 2011

Page 3: ANT : A System for Audio Signaling Based NAT Traversal

Typical NAT scenario

Jan 8, 2011 COMSNETS 2011

Page 4: ANT : A System for Audio Signaling Based NAT Traversal

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.

Page 5: ANT : A System for Audio Signaling Based NAT Traversal

Scenario

Jan 8, 2011 COMSNETS 2011

Client A Client B

Laptop

Cellular Phones

Page 6: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 7: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 8: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 9: ANT : A System for Audio Signaling Based NAT Traversal

Outline

Problem

Overview of ANT

Component Details

Evaluation

Summary

Jan 8, 2011 COMSNETS 2011

Page 10: ANT : A System for Audio Signaling Based NAT Traversal

ANT in action

Jan 8, 2011 COMSNETS 2011

Step 1 : Setup a phone connection.Step 1 : Setup a phone connection.

Client A Client B

Page 11: ANT : A System for Audio Signaling Based NAT Traversal

ANT in action

Jan 8, 2011 COMSNETS 2011

Step 1 : Setup a phone connection.Step 1 : Setup a phone connection.

Client A Client B

Page 12: ANT : A System for Audio Signaling Based NAT Traversal

ANT in action

Jan 8, 2011 COMSNETS 2011

Step 1 : Setup a phone connection.Step 1 : Setup a phone connection.

Client A Client B

Page 13: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 14: ANT : A System for Audio Signaling Based NAT Traversal

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……

Page 15: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 16: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 17: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 18: ANT : A System for Audio Signaling Based NAT Traversal

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……

Page 19: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 20: ANT : A System for Audio Signaling Based NAT Traversal

Outline

Problem

Overview of ANT

Component Details

Evaluation

Summary

Jan 8, 2011 COMSNETS 2011

Page 21: ANT : A System for Audio Signaling Based NAT Traversal

ANT Components

Port Mapping at Client A.

Encoding/decoding audio signals.

Synchronizing encoder/decoder.

Noise filtering.

Error Correction.

Jan 8, 2011 COMSNETS 2011

Page 22: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 23: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 24: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 25: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 26: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 27: ANT : A System for Audio Signaling Based NAT Traversal

Encoding Scheme

Jan 8, 2011 COMSNETS 2011

Symbol Size : 8 bits

e.g. : 1001011

------- 1200Hz------- 1230Hz

.

.

.------- 8820Hz------- 8850Hz

256 frequencies

Page 28: ANT : A System for Audio Signaling Based NAT Traversal

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.

Page 29: ANT : A System for Audio Signaling Based NAT Traversal

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.

Page 30: ANT : A System for Audio Signaling Based NAT Traversal

Synchronization

Jan 8, 2011 COMSNETS 2011

Problem :-Detect start and end of the audio transmission.

Problem :-Detect start and end of the audio transmission.

Page 31: ANT : A System for Audio Signaling Based NAT Traversal

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.

Page 32: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 33: ANT : A System for Audio Signaling Based NAT Traversal

Synchronization

Jan 8, 2011 COMSNETS 2011

Page 34: ANT : A System for Audio Signaling Based NAT Traversal

Synchronization

Jan 8, 2011 COMSNETS 2011

Page 35: ANT : A System for Audio Signaling Based NAT Traversal

Synchronization

Jan 8, 2011 COMSNETS 2011

Page 36: ANT : A System for Audio Signaling Based NAT Traversal

Synchronization

Jan 8, 2011 COMSNETS 2011

Page 37: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 38: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 39: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 40: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 41: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 42: ANT : A System for Audio Signaling Based NAT Traversal

Putting the pieces together…

Jan 8, 2011 COMSNETS 2011

Client A Client B

NAT Router

NAT Router

Page 43: ANT : A System for Audio Signaling Based NAT Traversal

Other applications of ANT

Password Transfer.

Product Key exchange.

Jan 8, 2011 COMSNETS 2011

Page 44: ANT : A System for Audio Signaling Based NAT Traversal

Outline

Problem

Overview of ANT

Component Details

Evaluation

Summary

Jan 8, 2011 COMSNETS 2011

Page 45: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 46: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 47: ANT : A System for Audio Signaling Based NAT Traversal

Results : Experiment 1

Jan 8, 2011 COMSNETS 2011

Page 48: ANT : A System for Audio Signaling Based NAT Traversal

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.

Page 49: ANT : A System for Audio Signaling Based NAT Traversal

Experiment 2

First client is a heavy noise environment.

Second client in a light/medium noise environment.

Jan 8, 2011 COMSNETS 2011

Page 50: ANT : A System for Audio Signaling Based NAT Traversal

Results : Experiment 2

Jan 8, 2011 COMSNETS 2011

Page 51: ANT : A System for Audio Signaling Based NAT Traversal

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.

Page 52: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 53: ANT : A System for Audio Signaling Based NAT Traversal

Results : Experiment 3

Jan 8, 2011 COMSNETS 2011

Page 54: ANT : A System for Audio Signaling Based NAT Traversal

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.

Page 55: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 56: ANT : A System for Audio Signaling Based NAT Traversal

Outline

Problem

Overview of ANT

Component Details

Evaluation

Summary

Jan 8, 2011 COMSNETS 2011

Page 57: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 58: ANT : A System for Audio Signaling Based NAT Traversal

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

Page 59: ANT : A System for Audio Signaling Based NAT Traversal

Thank you.

Questions ?

Jan 8, 2011 COMSNETS 2011