Great responses here... I want to add: Keep in mind that at this age...a toddler does NOT have 'impulse control' yet. FULL impulse control is not "developed" until about 3 years old... and even then, older kids cannot be expected to "completely" be impulse free. Even adults have impulse trouble or containing themselves.
So, even though he is told "no"... a child WILL do it again. Socialization and learning "rules" is an ongoing process... all throughout their lives, no matter what age. Just make sure to use age appropriate methods, and don't expect them to act older than they are.
Naturally, at this age, they yell, scream, tantrum, get frustrated when they don't get their way, or if they are not being understood. It's just how the age is and developmentally.
Mainly, at this age, try "modeling," distraction, redirection, positive reinforcement, not bringing attention to the "unwanted" behavior etc.
But yes, he is simply communicating, and this is what they do. It's "pre-talking" especially is he is not yet talking or talking fluently. Perhaps, teach him sign language for things... then he can communicate it to you. Also, (what I did with my kids) is I taught them the "names" for their feelings already... and it really makes them articulate and understanding of what is going on.
This age, they protest a lot anyway... time-out is a little young for this age, to me. For my kids, I used redirection a lot and distraction. I also do not try to show any stress or an "upset" face if they reacted this way... I just would wait a bit... verbally tell them "please don't yell...come, tell Mommy want you want..." and if this didn't work, then I would pick them up, hug them, tickle them, and THEN say "we don't yell... show Mommy what you mean..." etc. Or, when my kids are yelling, sometimes I go up to them crouch down to their eye level, have them look at me, and in an almost whisper voice... I talk to them....this interrupts their yelling, re-focuses them on something else and since you are whispering they are more apt to look at you and/or listen. My daughter's Preschool teacher did this too. (Just an example).
You need to pick your battles. Yes, they need to be able to express themselves... and are only learning now, about communication. You want to encourage, rather than stifle that. Sometimes, after gaging the situation....I simply let my youngest get his yah-yah's out... I let him yell... and I turn it into a game... and make different intonations and sounds and tell him to copy me... then it becomes "fun." Other times, they may yell...but I KNOW it will stop on their own... after a few seconds, and it's fine. Sometimes I will tell my kids... "When you are done yelling/being grumpy... Mommy will be able to listen...then you can speak nicely and I will be here..." Then, they do it, and the volume reduces.
It's not easy... good luck, just some ideas on what I do.