The question is so broad that it's unanswerable. Generally speaking, the idea of simulations is that they approximate reality. That is all they can do or else they become reality and they would run very slow. There will always be things that you don't model in a simulation!
How you choose to set up a simulation ought to depend on what you want to learn from doing it and what you are able to model. Depending on what you are trying to learn and what you can model this can be fairly easy, quite difficult, or impossible.
Once you have that figured out, then it becomes a matter of programming and making sure the simulation is good enough to answer your questions.
So, I have two questions for you:
What questions should be answered by doing this simulation?
What details about the protocol do you feel like you can or should model?
Perhaps with good answers to those, the bright people here could help you a little better.