I know this is an old question, but I figured I would add some additional details since the current answers are not very helpful. It works using IP, typically via WiFi, but not technically required. Below are some more specific details of the actual communication used for the devices to interact.
The Google TV Remote application uses Google s Anymote Protocol, which any application can use to create second screen style applications. There are several pieces to the Anymote Protocol.
The first being the discovery phase, where multicast DNS messages are used to discover any GTV based devices on the network. The mDNS messages are multicast using an IP of 224.0.0.251 port 5353. Any GTV devices who receive this message will respond with their machine name. At this point we now have a list of possible GTV devices.
The second/third phases are the identification and authentication phases, where the TV issues a challenge for the device to complete. After this pairing is established, SSL certificates are exchanged between the devices for future communication over a secure SSL/TLS channel.
The final phase involves the tablet/phone/etc device sending messages to the GTV device. There are several messages defined in the Anymote Protocol. The fling message, for instance, is translated into an Intent on the GTV device when received. This Intent can be used in any manner that a normal intent would be.