Expanding on Hudson Jameson's answer: "The hexadecimal node ID is encoded in the username portion of the URL"
The username portion is a 512-bit public key that is used to verify communication came from a particular node on the network.
More about the RLPx protocol used can be found here: https://github.com/ethereum/devp2p/blob/master/rlpx.md#network-formationbe found here.
Main parts of that:
Node discovery and network formation are implemented via a kademlia-like UDP. Major differences from Kademlia:
- packets are signed
- node ids are public keys
- DHT-related features are excluded. FIND_VALUE and STORE packets are not implemented.
- xor distance metric is based on sha3(nodeid)