Tracker server is a reference point for all Agents. When looking for other peers for a particular folder, each Agent attempts to connect to the Tracker and asks it to:
a) let all other peers with the same folder id know where it is - it tells its local and public addresses
b) get the list of local and public IPs:ports for all peers with the same folder id.
By default, all Agents attempt to connect to Resilio-hosted tracker server (see here for ports and protocols required to connect to our tracker server). You can also setup your own Tracker server and configure Resilio Agents to connect to it.
Administrator can configure multiple Tracker servers in Profile or in agent configuration file. Multiple tracker servers can be used in 2 modes: load balancing and high availability.
Load balancing mode forces each agent to distribute their requests to all tracker servers they know of as even as it is possible. Distribution is done on a job level. For example, we have 3 jobs (A, B, C) and 2 tracker servers available. Agent will connect to tracker #1 for jobs A and C and tracker #2 for job B. The algorithm of choosing tracker is pseudo-random and gives always same results on all Agents if they have same list of trackers. Providing different lists of trackers when Agents use trackers in load balancing will result in inability to connect. This is the default mode.
High Availability mode forces each agent to connect to all trackers it can reach for each job to get maximum information of all peers. You can configure any number of tracker servers for each Agent in HA mode, although ensure that they intersect (and able to connect) to at least one common tracker server. See here how to enable HA mode.