The Serving GPRS Support Node, or SGSN for short, takes care of some important tasks, including routing, handover and IP address assignment.
The SGSN has a logical connection to the GPRS device. As an example, if you where in a car travelling up the M1 on a long journey and were browsing the Internet on a GPRS device, you will pass through many different cells. One job of the SGSN is to make sure the connection is not interrupted as you make your journey passing from cell to cell. The SGSN works out which BSC to "route" your connection through.
If the user moves into a segment of the network that is managed by a different SGSN it will perform a hand-off of to the new SGSN, this is done extremely quickly and generally the user will not notice this has happened. Any packets that are lost during this process are re-transmitted. The SGSN converts mobile data into IP and is connected to the GGSN via a tunneling protocol.