What Problems Need to Be Solved?

TCP is a connection-oriented, reliable protocol that
breaks messages into segments and reassembles
them at the destination station (it also resends
packets not received at the destination). TCP also
provides virtual circuits between applications.
A connection-oriented protocol establishes and
maintains a connection during a transmission. The
protocol must establish the connection before sending
data. As soon as the data transfer is complete,
the session is torn down.
User Datagram Protocol (UDP) is an alternative
protocol to TCP that also operates at Layer 4. UDP
is considered an “unreliable,” connectionless protocol.
Although “unreliable” may have a negative
connotation, in cases where real-time information is
being exchanged (such as a voice conversation),
taking the time to set up a connection and resend
dropped packets can do more harm than good.