Design and implement a communication protocol for a network application. Thenetwork application enables a group of nodes (end systems) to communicate over TCP/IP networks.The nodes in this network application are divided into two groups, namely job-seeker and job-creator.For simplicity, assume that the node during any active communication scenario could only play onerole (job-seeker or job-creator). Also, the job-seeker nodes do not connect directly to each others.Each job-seeker connects to one job-creator at a time, even if there are more than one job-creator.The job-seeker offers his services (e.g., computational resources) to the job-creator. The job-creatordepends on the availability of a job (e.g. computational task). It could assign the job immediately tothe job-seeker or take a note of the job-seeker availability to give it a job when a job becomes available.There is a predefined set of job-types that the job-creator could assign to the seekers. Depend on thejob size, the creator could give the same job to multiple job-seekers. After the job is assigned to theseeker, the connection could be maintained or terminated depending on the job. When the seekercompleted the job, it reports the job status and any result to the job creator. The creator could assignmultiple jobs to the job-seeker, but one job at a time. The job seeker could accept/reject a job. Thecreator or the seeker could choose to terminate the connection at any time.Q1) Design a network application protocol for this application and justify your design decision. Inyour protocol design, you should address the following. [35 points]
The communication patterns of the network application.Define the protocol design goals.Define the message format, structure and semanticsDesign the communication rules.Q2) Argue the need for a new application layer protocol for this network application instead of usingexisting standard protocols (e.g. HTTP, SMTP, WebSocket, etc.) [10 points]Q3) Provide the implication source code of your network application protocol with sufficient test casesbased on the design goals, message philosophy
A communication protocol for a network application.