I'm not 100% sure what the question is so I'll try and give you some general information;
There are two main types of CDN, Origin-Pull and Origin-Push
Origin-Pull means the CDN provider will pull content from your server and store it on their network of POPs (Points of presence). Say you had a file located at http://domain.com/image.jpg, and you wanted to pull it through your CDN providers domain, http://somecdn.com/, you could just send a request to http://somecdn.com/image.jpg. The first time the file was requested the CDN provider would connect to your server like a normal user but then save and distribute the content to all the POPs (Some CDN providers have upwards of 20 POPs), the next time the content is requested the POPs already have the content cached so they can just serve it straight from their local disks, until whatever factors the CDN provider used to store data (Normally a combinations of headers, expires, last-modified etc.)
Origin-Push means you push your content to a remote server which stores it automatically on the POPs, so even the first request is fast.
In terms of performance, their about the same, so it's really down to which system you find easier to work with. I generally choose origin-pull because I find it easier, although most origin-push providers also give you cloud storage (See Amazon S3, Rackspace CloudFiles, Edgecast etc.)
In terms of setting it up, most CDN providers give you a domain to use (cloudfront.net for Amazon, edgecastcdn.net for Edgecast etc.) but nearly all will also allow you to CName your own domain (cdn.mydomain.com). Your content should, but doesn't need to, send correct last-modified, cache-control and expires headers, but these can easily be set up by Apache in .htaccess files
If you're looking to just play around with the different types, or using a CDN, get yourself an Amazon AWS account, you pay for what you use and there's no minimum usage requirement so you can play around with professional level systems for just a few cents