A Multicast Transport Protocol Design Methodology: Analysis, Implementation and Performance Evaluation