Correct choice is (d) Patterns
For explanation: There are commonly reoccurring problems that occur in the design and implementation of communication protocol and can be addressed by patterns from several different pattern languages: Pattern Language for Application Level Communication Protocol etc.