TCP和UDP协议有什么区别?

TCP和UDP都是用来通过网络发送数据(通常称作数据包)的协议。他们都 是互联网中的顶层协议。换句话说,不管你通过TCP还是UDP发送数据包,它都会被发送到一个IP地址下。这两种数据包从你的计算机发送到中间路由器和目的地的处理方式都比较类似。

TCP意为“通讯控制协议”。它是互联网中最常用的协议。

TCP通过给数据包分配编号来保证接收端按顺序收到数据包。接收端收到信息时会给发送端返回信息表示已收到。如果发送端没有接到正确的反馈,它会重新发送数据包来保证接收端收到它们。数据包也进行了错误检测。TCP的可靠就在此——通过TCP发送的数据包都可以被追踪,所以在传输过程中不会丢失或出错。这就是为什么就算网络卡顿,下载的文件也不会出问题的原因。当然,如果接收端完全掉线,你的计算机就会放弃传输然后你会接到“无法与远程主机通信”的信息。

UDP意为“用户数据报协议”——数据报与数据包其实是同样的东西。UDP协议与TCP工作原理类似,但是TCP会把所有的错误检测信息也一并发出。所有的往返通信和传输保险会拖慢整体速度。

当使用UDP时,数据包会被直接发送到接收端。发送端不会等待接收端的回报——它会继续发送下一个数据包。如果你是接收端而且丢失了一些UDP封包,那么惨了——你不能重新请求数据包。你接收到所有的数据包时没有保障而且丢失的话没法要求重新发送,但好处是丢弃这些意味着计算机之间的通信速度可以加快。

更多信息请查阅How-to-Geek:

http://www.howtogeek.com/190014/htg-explains-what-is-the-difference-between-tcp-and-udp/

还有其它问题?提交请求

评论

由 Zendesk 提供技术支持