This may be a little technical, but i discovered the following problem and after corrective actions, I'm able to access the apple store from my iPod Touch 4g.
Circumstances surrounding my problems accessing the store:
- This started with upgrade to IOS 6.
- Able to access store from a number of locations (other than home)
- Home works fine for _most_ applications but not Itunes store and ESPN score center (at least).
Short answer, check your router/firewall/ISP for MTU values, you can try reducing the MTU on the private side of your firewall or enable path MTU discovery. The goal here is to make your iPod/Phone/Pad send smaller packets which don't get dropped on the network.
Either the older iOS didn't send large packets, had a smaller MTU, or didn't use the DF-bit as it does today. It's also possible that the VPN functionality in earlier releases had a "default on" behavior which may have reduced the MTU.
Obviously, if you can never access the store, the above fix may not help you, but if you find things work at a friends house or a hotspot, do have a look at your MTU settings.
For the more technologically inclined:
To diagnose this I ran a packet capture against the iPod's traffic. In this capture i discovered a large number of retransmits of the HTTPS data the iPod uses to communicate with the webserver providing the app store functionality.
Looking at the actual packets retransmitting, the iPod was sending standard ethernet MTU of 1500 bytes. All other setup packets traversed the network fine.
Upstream from my firewall, I found a link using a lower mtu (1492, probably a holdover from PPPoE config).
Rather than reduce MTU inside the firewall I enabled path mtu discovery, which allows devices to use ICMP error messages to adjust MTU dynamically (if needed). Since this was not enabled initially, the client inside of the firewall had no idea that MTU was actually less than 1500 bytes.
It is possible to adjust MTU on most routers/firewalls or setting of TCP max segment size (tcp mss-adjust for cisco people), those should work as well.
It's very possible that the device picked up a larger mtu because of an application (built in cisco client or third party VPN client?), but I'm not sure if it's possible to examine the device's network settings at that low of a level.
Maybe an MTU option might be warranted on these devices? Or some type of a troubleshooting tool that includes MTU adjustment as a test. Or for these critical applications/APIs, the OS could retry the TCP session with a reduced packet size by default.
Note: this may reduce throughput (lower mtu) or reduce security (path mtu discovery), though most people wouldn't notice. 🙂
Check here for more info:
https://discussions.apple.com/thread/2606337?start=0&tstart=0https://discussions.apple.com/thread/3948222?start=0&tstart=0