The files stopandwait.h and stopandwait.c contain a simplex, two-nodes-only stop-and-wait data link protocol. Your job is to modify them to make the protocol (1) duplex and (2) suitable as a data link protocol for a network of four nodes, each of which is linked to every other node. You will need to devise a way for each node to determine which nodes are connected to the other ends of each of its links. You may hard-code this information into your code, or you may invent some kind of neighbor discovery process, for which you may use CNET_write_physical_reliable() (for the rest of the code, you may not use CNET_write_physical_reliable(), except while you're debugging).
Here's a topology file to help you get started:
STOPANDWAIT.
If you print out any of the on-line resources below, please print 2-up if you can. For a lot of this technical stuff, I go with 4-up, but I don't have much trouble reading tiny type.