The current ITransport implementation handles connection pooling etc.. but unnecessarily exposes some specialized methods in the interface;
I propose you remove the following methods from the interface, making custom Transport implementation cleaner..
IList<Uri> Sniff();
void SniffClusterState();
bool Ping(Uri baseUri);
Task<bool> PingAsync(Uri baseUri);
(I personally like properties like the Settings and Serializer to be gone too... they shouldn't be part of the contract)