TCP和UDP分别指的是什么?
UDP:全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的;
TCP:全称是传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP 是面向连接的、可靠的流协议。流就是指不间断的数据结构。
TCP通过哪些方式来保证可靠性?
应用数据被分割成TCP认为最适合发送的数据块
确认机制,发送报文后,等待确认
重发机制,没有收到确认,将重发数据报
保持它的首部和数据校验,确认数据的准确性
排序,将重复数据丢掉,进行流量控制
TCP和UDP的区别是什么?
TCP和UDP的使用场景
TCP应用场景:效率要求相对低,但对准确性要求相对高的场景。因为传输中需要对数据确认、重发、排序等操作,相比之下效率没有UDP高。例如:文件传输(准确高要求高、但是速度可以相对慢)、接受邮件、远程登录。
UDP应用场景:效率要求相对高,对准确性要求相对低的场景。例如:QQ聊天、在线视频、网络语音电话(即时通讯,速度要求高,但是出现偶尔断续不是太大问题,并且此处完全不可以使用重发机制)、广播通信(广播、多播)。
TCP协议为什么更安全,更可靠?
确认和重传机制:建立连接时三次握手同步双方的“序列号 + 确认号 + 窗口大小信息”,是确认重传、流控的基础。传输过程中,如果Checksum校验失败、丢包或延时,发送端重传
数据排序:TCP有专门的序列号SN字段,可提供数据re-order
流量控制:窗口和计时器的使用。TCP窗口中会指明双方能够发送接收的最大数据量
拥塞控制
UDP协议为什么不安全,不可靠?
不保证消息交付:不确认,不重传,无超时
不保证交付顺序:不设置包序号,不重排,不会发生队首阻塞
不跟踪连接状态:不必建立连接或重启状态机
不进行拥塞控制:不内置客户端或网络反馈机制
为什么可靠 udp_js面试之TCP和UDP的区别
最新推荐文章于 2024-05-07 09:55:35 发布