Inspired by the comments to this answer and its question. Some of my local ISPs are using carrier grade nat, and as someone who occasionally runs his own servers, remote support, it would be highly useful to be able to work out if I, or someone I am trying to help is behind one of these.
How would I detect if I'm behind a nat? What would be some of the techniques that would be useful in determining this? How can I work out whether anomalies in my 'detected' IP address is due to NATting or other processes?