Everybody has their own definition of what an ally or NAP is. It's probably best if you work it out with the tribe you want relations with, including boundaries and conditions.
In my opinion allies should be few and far between - they should be tribes that you actually want to work with and forge a long-term relationship with - perhaps just broadly in terms of defending one another if needed or maybe towards a specific goal such as controlling a continent or area.
NAPs are relationships that aren't very close at all, they basically involve not attacking each other, but they can be broken very easily and in my experience they are just temporary while you focus on a different area.
The bottom line is that in reality the only thing stopping an alliance or NAP being broken is a wave of surprise attacks or a few clicks of the mouse to remove the tribe from your list.
For the best tribes they're just a formal way of distinguishing between short-term and long-term targts.