TCP与UDP简略

来源:互联网 发布:面向对象的编程思想 编辑:程序博客网 时间:2024/06/15 02:26

UDP的概念

(user Datagram Protocol 用户数据报协议)是一种非面向连接、不可靠协议,具有资源消耗小、处理速度快的特点。

由于UDP通信之前不需要先建立一个连接,因此UDP应用要比TCP应用更加简单。UDP比TCP更为高效,也能更好地解决实时性的问题。目前为止,包括网络视频会议系统在内的众多客户/服务器模式的网络应用都使用UDP。


TCP的概念

  (Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的、可靠的、基于IP的传输层协议,由IETF的RFC 793说明(specified)。TCP在IP报文的协议号是6。

  一、传输控制协议

  1 面向连接意味着两个使用TCP的应用(通常是一个客户端和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。

  2 TCP通过下列方式来提供可靠性:

  1)应用数据被分割程TCP认为合适的数据块。TCP传递给IP的信息单位称为报文段。

  2)当TCP发出一个段后,它启动一个计时器,等待目的端确认这个报文段。如果不能及时收到确认,将重新发送这个报文段。

  3)当TCP收到发自一个TCP连接另一端的数据,它将发送一个确认。这个确认将推迟几分之一秒。

  4)TCP将保持它首部以及数据的检验和。如果检验和接收端将丢弃这个报文段而且不确认收到此报文段。

  5)TCP提供流量控制。

  3 TCP对字节流内容不作任何解释,对字节流的解释交由应用层。

  二、TCP首部

  一个TCP首部的长度为20字节。



一个TCP连接由一个包含源ip,源端口,目的ip,目的端口的四元组唯一表示。序号用来标示从发送端到接收端的数据字节流,它表示在一个报文段的首字节。确认序号为上次成功接收的数据字节序号加一。接收窗口表示用来完成TCP的流量控制,表明接收端还能接收的字节。检验和覆盖了整个TCP报文段:包括首部和数据,由发端计算和存储,由收端进行验证。

  TCP与UDP的区别

  TCP协议面向连接,UDP协议面向非连接;

  TCP协议传输速度慢,UDP协议传输速度快

  TCP有丢包重传机制,UDP没有;

  TCP协议保证数据正确性,UDP协议可能丢包;



0 0
原创粉丝点击