在路由器上设置端口转发或配置防火墙软件时,您可能已经看到对TCP和UDP的使用。这两个协议用于不同类型的数据。 TCP/IP 是互联网相关的各类协议族的总称,比如:TCP,UDP,IP,FTP,HTTP,ICMP,SMTP 等都属于 TCP/IP 族内的协议。这些协议可以划分为四层,分别为链路层、网络层、传输层和应用层。其中TCP(传输控制协议,Transport Controll Protocol)、UDP(用户数据报协议,User Data Protocol)是传输层最重要的两种协议,为上层用户提供级别的通信可靠性。
1、TCP和UDP的共同点 TCP和UDP都是用于通过Internet发送数据位(称为数据包)的协议。两种协议都基于IP协议。换句话说,无论您是通过TCP还是UDP发送数据包,该数据包都会发送到IP地址。这些数据包的处理方式相似,因为它们是从计算机转发到中间路由器再转发到目的地的。
TCP和UDP并不是唯一可以在IP上运行的协议。但是,它们是使用最广泛的。
2、TCP如何工作 TCP是Internet上最常用的协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。
当您在浏览器中请求网页时,计算机会将TCP数据包发送到Web服务器的地址,要求它将网页发送回给您。Web服务器通过发送TCP数据包流进行响应,您的Web浏览器将这些数据包组装在一起以形成网页。当您单击链接,登录,发表评论或执行其他任何操作时,Web浏览器将TCP数据包发送到服务器,而服务器将TCP数据包发送回。
TCP是面向连接的协议。面向连接意味着通信设备应在传输数据之前建立连接,并在传输数据之后关闭连接。 TCP是可靠的,因为它可以确保将数据传送到目标路由器。 TCP提供了广泛的错误检查机制。这是因为它提供了流控制和数据确认。 数据排序是传输控制协议(TCP)的功能。这意味着数据包按顺序到达接收器。
3、UDP如何工作 UDP协议与TCP协议一样用于处理数据包,是一种无连接的协议。UDP的缺点是不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
当应用程序使用UDP时,数据包仅发送到收件人。发送者不必等待确保接收者已收到该数据包,它只是继续发送下一个数据包。如果接收方到处都错过了一些UDP数据包,则它们只会丢失——发送方不会重新发送数据。丢失所有这些开销意味着设备可以更快地进行通信。
当需要速度且不需要纠错时,使用UDP。例如,UDP常用于直播和在线游戏。
例如,假设您正在观看实时视频流,该视频流通常使用UDP而不是TCP进行广播。服务器只是向观看的计算机发送恒定的UDP数据包流。如果几秒钟失去连接,视频可能会冻结或跳动一会儿,然后跳到广播的当前位置。如果您遇到小包丢失的情况,则由于视频继续播放而没有丢失数据,因此视频或音频可能会暂时失真。
这在在线游戏中也类似。如果您错过了一些UDP数据包,则当您收到较新的UDP数据包时,播放器角色可能会在地图上传送。如果您错过了旧数据包,则没有任何要求,因为没有您,游戏将继续进行。重要的是游戏服务器上正在发生的事情,而不是几秒钟前发生的事情。抛弃TCP的错误校正有助于加快游戏连接速度并减少延迟。
4、TCP和UDP的区别 5、使用TCP和UDP的应用层协议 了解了TCP和UDP,在设置端口映射和端口分流时,应该不会再为选择什么协议而烦恼了吧! |