A Layer-Independent Architecture for a Testing System of Protocol Implementations