传输层协议主要有TCP与UDP。
UDP:提供无连接的通信,不能保证数据包被发送到目的地址,典型的即时传输少量数据的应用程序使用 UDP。
TCP:面向连接的。可靠地。基于字节流的通信协议,它为传输大量数据或为需要接受数据许可的应用程序提供定向可靠地通信,TCP连接就像打电话,用户拨特定的号码,对方在线并拿起电话,然后双方进行通话,通话完毕之后再挂断。
而UDP就像是发短信,用户短信发送给对方,对方有没有收到信息,发送者根本不知道,而且对方是否回答也不知道,对方对信息发送者发送消息也是一样。
TCP与UDP都是一种常用的通信方式,在特定的条件下发挥不同的作用。具体而言,TCP和UDP的区别主要表现在以下几个方面:
(1)TCP是面向连结的传输控制协议,UDP提供的是无连接的数据包服务。
(2)TCP具有高可靠性,确保传输数据的正确性,不出现丢失或乱序;
(3)UDP在传输数据前不建立连结,不对数据报进行检查和修改,无需等待对方的应答,所以会出现分组丢失,重复,乱序,应用程序需要负责传输可靠性方面的所有工作。
(4)TCP对系统资源要求多,UDP对系统资源要求少。
(5)UDP具有较好的实时性,工作效率较TCP高。
(6)UDP的段结构比 TCP简单,因此网络开销小。
有的朋友可能会问:UDP比TCP效率高,为什么TCP能够保留呢?
其实TCP和UDP各有所长,各有所短,适用于不同的通信环境,有的环境用 UDP确实高效,有些环境需要可靠的连接,此时采用TCP则更好。在提及TCP的时候,一般也提及IP。
IP协议是一种网络层协议,它规定每个互联网上的计算机都有一个唯一的IP地址,这样数据包就可以通过路由器转发到达指定的计算机,但IP并不保证数据传输的可靠性。