Sync uses various ports and protocols to function and connect peers. Depending on the network your peers are in, these shall be open and let traffic through, in and out, on either side:
1. First Sync needs to learn addresses of tracker and relay servers. For that it must be able download and parse sync.conf file. Discovery of tracker and relay IPs:
- HTTPS, port 80: access to config file https://config.resilio.com/sync.conf via DNS name.
2. Once tracker and relay are known, Sync must be able to connect to tracker so as to communicate its own IP address (public and local) and the list of shares it has and learn IP addresses of other peers with same shares from it.
- Connecting to the tracker server for automatic peer discovery: TCP and UDP, relevant port and addresses are here
3. Once Sync learns addresses of other peers, it will attempt to connect by these addresses directly, using both TCP and UDP. To make it possible, Sync's listening port, as defined in settings ("Preferences > Advanced : Connection - Listening port"), must be opened and forwarded on all firewalls, NATs and routers between the peers.
4. If direct connection is not possible, Sync will switch to indirect connection through relay server.
- Connecting to relay server to transfer data if direct connection is not possible: TCP, relevant port and addresses are here.
5. If peers are located in LAN, Sync can do without tracker and relays, provided peers are discovered through broadcast packets. Peer discovery in LAN:
- Multicast UDP, 239.192.0.0 over port 3838
- Broadcasts, 192.168.1.255
If broadcasts are not configured, Sync will be using tracker to discover other peers.
To ease port mapping, automatic port mapping over UPnP and NAT-PMP can be configured in router
- UDP, multicast to 239.255.255.250 port 1900
- UDP, unicast to default gateway port 5351