Explain the fundamental differences between TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) in terms of reliability, data ordering, and connection overhead.
For a real-time video streaming service, which transport protocol is generally more appropriate?
Justify your choice for real-time video streaming, explaining how the protocol's characteristics (reliability, ordering, connection overhead, latency tolerance, and impact of packet loss) make it suitable.
For a file transfer service requiring perfect data integrity, which transport protocol is generally more appropriate?
Justify your choice for a file transfer service requiring perfect data integrity, explaining how the protocol's characteristics (reliability, ordering, connection overhead, guaranteed delivery, and error checking) make it suitable.