NAT traversal techniques for MediaSense open source platform

University essay from Institutionen för informationsteknologi och medier

Author: Maksym Aryefyev; [2013]

Keywords: MediaSense; Java; NAT; traversal; STUN; UPnP;

Abstract: This thesis project concerns NAT traversal techniques and their application to P2P networking with regard to MediaSense platform. Since MediaSense open source platform, developed by Mid Sweden University, utilizes the benefits of P2P networking, it also suffers from the drawbacks provided by NAT. The issue of NAT traversal is not trivial due to the fact that the behavior of NAT devices is not standardized and vendors are free to provide their own implementations. The common knowledge is, that at least four main types of NATs exist, differing in the filtering and mapping algorithms employed. NAT traversal techniques vary accordingly. No single technique can handle all the cases. Most of the techniques can handle up to three main types of NAT. The last type is usually used in large corporate networks and is called the Symmetric NAT. The most viable, and basically the only available technique for its traversal, is data relaying. This thesis builds a NAT traversal module for the MediaSense platform. The main purpose of this module is to provide seamless NAT traversal capabilities to the platform. The module does this in several steps: UPnP enabled device discovery, NAT type determination and data relaying via the proxy. Firstly the module attempts to discover the presence of a UPnP enabled Internet Gateway Device on the network. If such a device is present on the network, a port mapping can be created, making the node located behind NAT accessible from the public Internet. If a UPnP enabled device was not found, the module will try to determine the type of NAT used. Based on the type of NAT used, the module can transit to either the proxy mode or request assistance of the STUN server to keep the created mapping alive. The resulting chapters provide the reader with the output produced by each step, conclusions the author has made while working on this project and some general ideas on future work within the subject.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)