3

I am a mobile apps developer who has run into some strange and interesting problems with 3G connections. We develop applications using both the Twitter API and Twitter Streaming API. The normal Twitter API allows 150 requests per hour from one IP. This limit is cleared for every IP at the beginning of every hour (e.g. 3:01 PM).

What we experience using AT&T's 3G service on the IPad is, no matter how many new IPs we get toward the end of the hour, usually somewhere around and after (e.g. 3:30 PM), we get rate limited. My theory is that AT&T actually uses the same IP's for multiple devices and is routing the requests through a central computer. So the device doesn't really have it's own IP Address. I have no idea how these systems works or weather I am even on the right stackexchange, but is this theory correct?

There is no way our device is hitting the 150 requests an hour. That would literally be almost 2.5 requests a minute. The device always gets rate limited towards the end of the hour even with an IP change.

5
  • 1
    What IP is the device getting? If the device wont tell you, try connecting to a server where you can pull the logs and see the IP there. If the IP is in the 1918 ranges then it's getting NAT somewhere in the line. In any case the IPs get routed through an ASN Gateway which might also be doing some sort of NAT. Cellular size IP networks are somewhat complicated...
    – Chris S
    Commented Feb 10, 2012 at 19:16
  • Our last IP was 166.147.104.159
    – Caimen
    Commented Feb 10, 2012 at 19:27
  • 2
    It's not so much "complicated" but rather "the carrier is trying to save on IP addresses by NATing everyone and hoping they won't notice", since it is much harder to notice on a cellphone. My previous carrier used to do that for mobile internet. Commented Feb 10, 2012 at 19:27
  • I just need to confirm what "NATing" means. Does that mean several devices are all effectively under the same IP, sending requests out under the same IP?
    – Caimen
    Commented Feb 10, 2012 at 19:30
  • 2
    It means that requests from several different devices will be seen, from the point of view of a server on the Internet, as having originated from the same IP address. This is one of the many reasons that rate-limiting by IP (rather than by account or some other way) is generally considered to be bone-headed (except for handling obvious, mass abuse). Commented Feb 10, 2012 at 19:48

0

You must log in to answer this question.

Browse other questions tagged .