# SoftBank Robotics documentation What's new in NAOqi 2.8?

# Networking - Use Case

## Glossary

Internal networking
  Communication between applications and services available on the same robot. This is also called “direct connection protocol” in this document.
Remote networking
  Communication between remote applications and a device. This is also called “Remote connection protocol” in this document.

## Use Case

- Single Computer Robot

  Warning

  add cloud connection on the first two schema

  Robot has a single computer with only an external address. All services use internal networking to communicate. External clients use gateways.

- Multiple Computer Robot

  Warning

  add cloud connection on the first two schema

  Robot can have multiple computer with differents IP addresses that communicate together to from a single robot. In that case it’s particularly important to differenciate between internal and external busses. They do not need the same security level and do not have the same constraint. We want the internal network to never change, to be a DMZ. We want the external network to be very controlled, external network can have address that change according to the desire of the client. (for example from one hotspot to another).

  To easily support Choregraphe and external PC tools, only one public address have to be used to connect to the robot. So we need to have a public gateway, that forward request from/to services. The public gateway (the program that forward the data), need to run on the computer that have both internal and external address.

- Remote Device / Cloud

  We want to connect multiple devices together.

## Specific network issues

This is only applicable for external connection. There is no restriction on internal networking that can be considered like a DMZ.

NAT and Proxy support for local network

The solution is to use a gateway with a single address and port.

Direct connection by internet

To send audio/video between two device using internet, we can use a third party server where each device connect to. But we can try to use a more efficient connection mean by using STUN and similar techniques.

see also http://en.wikipedia.org/wiki/STUN and http://en.wikipedia.org/wiki/NAT_traversal

Glossary Site map Index Support Contact Legal Notices