1 / 59

ANT : A System for Audio Signaling Based NAT Traversal

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.

damali
Télécharger la présentation

ANT : A System for Audio Signaling Based NAT Traversal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ANT : A System for Audio Signaling Based NAT Traversal AshishPatroYadiMa FatemahPanahiJordan Walker Suman Banerjee Department of Computer Sciences University of Wisconsin-Madison COMSNETS 2011

  2. Outline • Problem • Overview of ANT • Component Details • Evaluation • Summary COMSNETS 2011

  3. Typical NAT scenario COMSNETS 2011

  4. Typical NAT scenario Problem : Setting up a direct connection between NATed clients across different LANs. COMSNETS 2011

  5. Scenario Cellular Phones Client B Client A Laptop COMSNETS 2011

  6. 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

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

  8. 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

  9. Outline • Problem • Overview of ANT • Component Details • Evaluation • Summary COMSNETS 2011

  10. ANT in action Client B Client A Step 1 : Setup a phone connection. COMSNETS 2011

  11. ANT in action Client B Client A Step 1 : Setup a phone connection. COMSNETS 2011

  12. ANT in action Client B Client A Step 1 : Setup a phone connection. COMSNETS 2011

  13. 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

  14. ANT in action NAT Router 10101001…… Client B Client A Step 3 : A encodes configuration data into audio signals. COMSNETS 2011

  15. 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

  16. 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

  17. 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

  18. ANT in action NAT Router Client B Client A 10101001…… Step 5 : B decodes audio, corrects errors and gets the data back. COMSNETS 2011

  19. ANT in action NAT Router NAT Router Client B Client A Step 6 : Setup a direct Peer to Peer (P2P) connection. COMSNETS 2011

  20. Outline • Problem • Overview of ANT • Component Details • Evaluation • Summary COMSNETS 2011

  21. ANT Components • Port Mapping at Client A. • Encoding/decoding audio signals. • Synchronizing encoder/decoder. • Noise filtering. • Error Correction. COMSNETS 2011

  22. NAT Traversal • NATed machines can only make outgoing connections directly. • NAT traversal requires internal-external IP/Port Mapping. • UPnP helps here. COMSNETS 2011

  23. 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

  24. 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

  25. 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

  26. Encoding Scheme • We group consecutive bits into symbols. • Use 1 unique frequency per symbol. • Symbol Size = N bits. • Unique frequencies required = 2N. COMSNETS 2011

  27. Encoding Scheme ------- 1200Hz ------- 1230Hz . . . ------- 8820Hz ------- 8850Hz 256 frequencies Symbol Size : 8 bits e.g. : 1001011 COMSNETS 2011

  28. 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

  29. Encoding Scheme ------- 1200Hz ------- 1250Hz . . . ------- 1900Hz ------- 1950Hz 16 frequencies Symbol Size : 4 bits e.g. : 1001 Easily fits within the frequency band available. COMSNETS 2011

  30. Synchronization • Problem : • Detect start and end of the audio transmission. COMSNETS 2011

  31. Synchronization • Problem : • Detect start and end of the audio transmission. • Solution : • Use a preamble/postamble for each transmission. COMSNETS 2011

  32. 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

  33. Synchronization COMSNETS 2011

  34. Synchronization COMSNETS 2011

  35. Synchronization COMSNETS 2011

  36. Synchronization COMSNETS 2011

  37. 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

  38. 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

  39. 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

  40. 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

  41. 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

  42. Putting the pieces together… NAT Router NAT Router Client B Client A COMSNETS 2011

  43. Other applications of ANT • Password Transfer. • Product Key exchange. COMSNETS 2011

  44. Outline • Problem • Overview of ANT • Component Details • Evaluation • Summary COMSNETS 2011

  45. 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

  46. 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

  47. Results : Experiment 1 COMSNETS 2011

  48. 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

  49. Experiment 2 • First client is a heavy noise environment. • Second client in a light/medium noise environment. COMSNETS 2011

  50. Results : Experiment 2 COMSNETS 2011

More Related