first i must ask what you are doing to you hair. Do you chemically treat it often (ie, colour, perming, bleaching, stripping etc) or heat treat it often (blwodrying, straightening, curling)?
There are two possibilities
1. You aren;t conditioning enough
or 2. You need a protein treatment.
If you aren't conditioning enough, simple.
How often do you shampoo your hair? Every day? Every other day? Cut back on the shampoo as it dries out your hair and makes you produce extra oils. Instead of shampooing every time you shower, only condition every time you shower. It will moisturize, remove some oil (yes, it will clean you hair a bit) and take out those knots. I did this when my hair was uber dry and it worked like a charm. You migh notice your hair is greasier for the first two-three days. This is because your hair is still producing too much oil at first. Give it a few days and your hair will adjust. I just use my regular conditioner for this.
If you find this too extreme, deep condition every few days (but still, try to cut back on shampoo). You might like the Deep conditioner by Moroccan Oil. It's my favourite.
2. If you need a protein treatment (which you might need on top of suggestion no. 1) Go get one! Theres a number of good quality brands. Just pick one up and try it out. Use it every 3 days ish. Don;t over use, as too much protein can cause extra damage. If you fine you need something Hardcore, pick up the line called Aphogee (available at sallys). But do your research on this product, if used incorrectly, it can break off your hair big time
good luck.