面试题
简述一下TCP和UDP的区别。★★★★★
- TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层协议
- UDP(用户数据报协议)是一种无连接的、不可靠的、基于数据报的传输层协议
- TCP 适用于可靠性高的应用,如网页浏览 UDP 适用于实时性好的应用,如视频通话、直播
TCP的机制是什么
- 在数据传输开始之前,TCP需要通过“三次握手”过程建立一个连接。数据传输完成后,通过“四次挥手”过程终止连接。
- 如果数据包在传输过程中丢失,TCP会重新发送丢失的数据包。通过序列号和确认应答(ACK)机制,TCP确保数据包按序到达。
- 用户消息通过TCP协议传输时,消息可能会被操作系统分组成多个的TCP报文。数据的边界不由TCP维护,而是由上层应用层协议(如HTTP)来处理。
建立TCP连接为什么要三次握手,而不是不两次握手?
- 三次握手可以确保双方都知道自己和对方具有接收和发送的能力,二次握手不能确定发送方的接受能力。
- 第一次握手(SYN):客户端发送SYN,证明自己具备发送能力。
- 第二次握手(SYN-ACK):服务器回复SYN-ACK,证明自己具备接收能力和发送能力。
- 第三次握手(ACK):客户端回复ACK,证明自己具备接收能力。三次交互确保双方均确认了双向通信的可靠
性。
TCP三次握手的过程是怎样的?★★
DNS域名解析的过程?★★★★
DNS解析就是将域名转换为IP。按照本地DNS服务器→根域名服务器→顶级域名服务器→权威域名服务器的顺序递归查询,得到IP。