From where on the network is time information received? From where is the time information updated when the option Date &amp; time settings -&gt; Automatic - Use network-provided values is selected?

Is it from GSM, WiFi, GPS or anything else?

I believe it is from GSM, but I'd like to get a confirmation.
Thanks to t0mm13m's comments:

The keyword is NITZ - that is where it comes from.

Certain ROMs fail to handle it, others do. If it fails, can always fallback on a NTP app like ClockSync (this requires root BTW) :)