Protocol testing means to test the functionality of the node (piece of software) which should comply to some standard message flow. For this one should take a tester (Testing Unit) which should send standard messages to the node (Item under test). Above all tester mentioned are good but according to me K1297-G20(Tektronics)is the best tester.
1) Many standard Protocol are supported by this tester
2) One can add just new protocol supports easily
3) With introduction of G-20 its interface is really good, one can easily learn.
1) Load can't be tested with this, as this tester is windows based with low processing capabilities
2) It is little bit costly as it give license per link per protocol base
3) Support too have some issues
I think because of its high cost small companies don't use it and also big shots doesn't have enough number K1297-G20. Ethereal is also a tool to perform protocol testing.