1. A system for transmitting data in a communications network using a full-duplex, link-level protocol based on three packet types, the communications network comprising sending nodes and receiving nodes connected together by full-duplex links, the system comprising: a multitude of packets comprised of three packet types: data packets, empty packets, and sync packets; and wherein: each of the multitude of packets includes a link header for exchanging protocol state across the links, and a trailer containing a cyclic redundancy code (CRC) of contents of the each packet, and a known-bad-packet bit; the data packets transport application-layer packets between the sending nodes and the receiving nodes; the empty packets exchange protocol state between the sending nodes and the receiving nodes when there are no data packets to send between the sending nodes and the receiving nodes; and the sync packets maintain logic level transitions on the links when the links are idle.