I have seen quite a few people here with questions about how to get Rovio online so they can access it from outside of their home.
What I have noticed is that most of the people asking seem to have no basic knowledge on how networks and routing works. That is fine, I will try to explain the basic theory in as simple terms as I can and wrap it up by telling you how to get your Rovio accessible from work/school/iPhone/etc
What I will cover:
NAT (port forwarding)
What I will not cover:
Dynamic DNS services
Alright, I will start simple and keep in mind that I will be using simple examples and assume you all have very basic hardware for your network.
What you need to get Rovio online for use at home, and elsewhere:
Wireless access point
High speed internet access (DSL modem, Cable modem, fios, etc)
Since you are here posting I am going to assume you already have your high speed internet hooked up.
Most/many home wireless access points are also routers. They perform a plethora of functions in one device (great for home users) Good brands for these devices include Linksys, DLink, Netgear, Asus. There are others but I am certain the majority of users here have devices made by these brands.
Now, for the basic networking lesson.
When you have a wireless router hooked up to your network and plugged into your high speed internet modem you actually have two networks at your disposal. One is your WAN (wire area network, AKA the INTERNET!), the other is your LAN (local area network) which is your home computer, Rovio, laptops, any other devices that is hooked up to the internet using your home connection.
Now since you are actually running on two networks you will have a few IP addresses.
One will be your WAN IP, which is your external address that is used to access the internet. The other set will be for your home networks.
LAN addresses are limited to these numbers
10.0.0.0 through 10.255.255.255
172.16.0.0 through 172.31.255.255
192.168.0.0 through 192.168.255.255
Most people with home networks are in the 192.168.x.x range.
For my examples I will assume your network is 192.168.1.x
So, your wireless router actually has two IP addresses now. 192.168.1.1 which is your LAN address, and as an example we will use 220.127.116.11 for your WAN address.
Now, all your computers in your home network (including Rovio) have an address similar to 192.168.1.x
But that range is reserved for LANs only. Which means anyone on the internet cannot type in 192.168.1.100 and get access to your rovio. Only people on your home network can see that.
You have a mailbox in your building that the postal service drops mail off at. But in your building you have 5 rooms, each room has 2 workers in it all doing different things at the same time. The postman dropped off 10 letters each addressed to a different section (room).
The postman does not know who is who, and who does what so he will simply drop the mail off in the big box and it is up to the building's secretary to sort through the mail.
She will look through all the letters and bring them to the person/section they are addressed to.
Routers do the very exact same thing.
So the internet sends information to your WAN address (18.104.22.168) and your router has to send the information that was sent to that address to the correct place in your home network (192.168.1.x).
So lets say Rovio's LAN IP is 192.168.1.50
You need to setup NAT (network address translation, or "port forwarding") so that when the WAN address is accessed at a certain port (port 80) it sends the request/information to your internal LAN IP for Rovio.
So, if you setup port forwarding on your router (refer to your instruction manual for your router for help to do that) you can now access your Rovio from the internet.
Remember, you now need to access the WAN IP (22.214.171.124) because the 192.168.1.50 is a private internal address and cannot be accessed from the internet.
So, if you want to access Rovio do this:
This is assuming you have Rovio setup to run on port 80. If you choose another port for Rovio to use you need to make the URL different. If you make the port 8080 instead use this:
This concludes the basic networking lesson. Just remember, imagine a wall between the internet and your LAN, if you want to access a LAN resource from the internet you need to make a hole in the wall so you can reach through it to get what you need.
Oh, the cake was a lie. Not covering that.