TCP and UDP are both transport-level protocols. TCP is designed to provide reliable communication across a variety of reliable and unreliable networks and internets.
UDP provides a connectionless service for application- level procedures. Thus, UDP is basically an unreliable service; delivery and duplicate protection are not guareented.