It's not totally easy, but it's possible. For example, a node could listen on the network and see that you are using the same IP when sending from two of your different addresses, and thus associate those addresses. To prevent this, you should mask your IP using Tor or similar.
There's also a more fundamental risk in that the chain of ownership of each bitcoin is public knowledge. So, if you, say, purchased the bitcoin from an exchange and gave your name during that, then the exchange can associate your name with that bitcoin. There's a really really nice post by Theymos on that here, and the following thread proposes some great solutions (mainly, a "scrambler"):
https://bitcointalksearch.org/topic/anonymity-241
Even besides these two things, there are some other things that need to be handled. For example, you should find a way to encrypt your traffic so your ISP can't read your addresses. Also, you should send out identical traffic regularly, so that your ISP cant associate your addresses using timing alone.
If all of these things are accounted for, I believe you are very close to 100% safe from technical address association.