transport layer transport agnostic - developer chooses which transport protocol to use. provides communication primitives - listening and dialing. multaddress - specify transport protocols, addresses, peerId. TBD - peer routing - do not have to use transport addresses. switch (previously swarm) - multiplexing, protocol negotation, secure comms.