美文网首页回家
TCP 和 UDP 的区别

TCP 和 UDP 的区别

作者: 王镇_ee87 | 来源:发表于2021-01-14 08:56 被阅读0次
前端的面试中经常问的 TCP 和 UDP 的区别,网上也有好多内容,比如
TCP 是面向连接的,UDP 是面向无连接的
UDP程序结构较简单
TCP 是面向字节流的,UDP 是基于数据报的
TCP 保证数据正确性,UDP 可能丢包
TCP 保证数据顺序,UDP 不保证

1. UDP

要想理解 TCP 和 UDP 的区别,首先要明白什么是 TCP,什么是 UDP
TCP 和 UDP 是传输层的两个协议
我们来看一下 UDP 的包头


image

由上图可以看出,UDP 除了端口号,基本啥都没有了。如果没有这两个端口号,数据就不知道该发给哪个应用。

UDP 的特点
沟通简单,不需要大量的数据结构,处理逻辑和包头字段
轻信他人。它不会建立连接,但是会监听这个地方,谁都可以传给它数据,它也可以传给任何人数据,甚至可以同时传给多个人数据。
愣头青,做事不懂变通。不会根据网络的情况进行拥塞控制,无论是否丢包,它该怎么发还是怎么发

2. TCP

首先是 TCP 的包头格式 image
TCP 的包头有哪些内容,分别有什么用

首先,源端口和目标端口是不可少的。
接下来是包的序号。主要是为了解决乱序问题。不编好号怎么知道哪个先来,哪个后到
确认序号。发出去的包应该有确认,这样能知道对方是否收到,如果没收到就应该重新发送,这个解决的是不丢包的问题
状态位。SYN 是发起一个链接,ACK 是回复,RST 是重新连接,FIN 是结束连接。因为 TCP 是面向连接的,因此需要双方维护连接的状态,这些状态位的包会引起双方的状态变更
窗口大小,TCP 要做流量控制,需要通信双方各声明一个窗口,标识自己当前的处理能力。

总结及面试问题

TCP 和 UDP 的区别
TCP 是面向连接的,UDP 是面向无连接的
UDP程序结构较简单
TCP 是面向字节流的,UDP 是基于数据报的
TCP 保证数据正确性,UDP 可能丢包
TCP 保证数据顺序,UDP 不保证
什么是面向连接,什么是面向无连接
在互通之前,面向连接的协议会先建立连接,如 TCP 有三次握手,而 UDP 不会
TCP 为什么是可靠连接
通过 TCP 连接传输的数据无差错,不丢失,不重复,且按顺序到达。
TCP 报文头里面的序号能使 TCP 的数据按序到达
报文头里面的确认序号能保证不丢包,累计确认及超时重传机制
TCP 拥有流量控制及拥塞控制的机制
TCP 的顺序问题,丢包问题,流量控制都是通过滑动窗口来解决的

拥塞控制时通过拥塞窗口来解决的

相关文章

  • TCP和UDP总结(区别、优缺点、应用实例)

    TCP和UDP的区别和优缺点以及应用实例 TCP和UDP区别总结: TCP面向连接,UDP是无连接的TCP在开始数...

  • TCP和UDP的区别

    TCP和UDP的区别: TCP协议和UDP协议特性区别总结: TCP协议可靠;UDP协议不可靠 TCP协议是面向连...

  • tcp和udp

    TCP和UDP的区别(转) TCP****协议与UDP协议的区别 首先咱们弄清楚, TCP 协议和 UCP ...

  • TCP

    TCP和UDP端口可以重复 TCP/IP协议中端口,范围从0到65535 TCP和UDP的区别 TCP协议需要创建...

  • 「基础知识总结」- 计算机网络

    TCP TCP和UDP区别 连接性: tcp:面向连接 udp: 无连接 可靠性: tcp:可靠(无差错、不丢失、...

  • Netty知识汇总

    1、TCP、UDP的区别? TCP与UDP区别总结: 1)、TCP面向连接(如打电话要先拨号建立连接);UDP是无...

  • 计算机网络面试题

    简述 TCP 和 UDP 的区别 TCP 和 UDP 是 OSI 网络模型中的运输层的协议,TCP 提供可靠的通信...

  • 2018-09-19

    网络面试集 一、TCP/UDP 1、UDP与TCP的区别 TCP(TransmissionControl ...

  • socket注意事项

    Socket TCP 和 UDP最大的区别就是:UDP 套接字没有 listen TCP 套接字使用recv()/...

  • TCP和UDP协议之间的区别,前端基础面试题

    前端基础面试题,TCP和UDP协议之间的区别 tcp和udp作为传输层的两个协议,主要区别: 1,tcp 是面向链...

网友评论

    本文标题:TCP 和 UDP 的区别

    本文链接:https://www.haomeiwen.com/subject/guabwktx.html