The protocol relies on a few foundational record types that are used by servers to find other users, propagate data, and validate permissions.