网络相关面试题汇总、欢迎纠正

1、TCP与UDP的区别

  UDP TCP
是否连接 无连接 面向连接
是否可靠 不可靠传输,不适用流量控制与拥塞控制 可靠传输,使用流量控制与拥塞控制
连接对象个数 支持一对一,一对多,多对一,多对多交互通信 只支持点对点通信
传输方式 面向报文 面向字节流
首部开销 首部开销8字节 首部最小20,最大60字节
应用场景 适用于实时应用,IP电话,直播,视频会议,实时游戏,多媒体数据流等 要求可靠传输的应用,文本传输,客户端应用

2、TCP三次握手

(1)客户端向服务端发送请求连接报文:标记位为SYN,表示请求建立新连接,序号为Seq=x,x一般为1;随后客户端进入到SYN-SENT状态

(2)服务器端接受到客户端的请求连接报文,结束其当前的LISTEN状态,返回一段TCP报文:

标记位为SYN与ACK,表示服务器端可以正常收到客户端发送的数据,并同意建立连接;

序号为Seq = y;确认号为Ack = x+1;表示收到客户端序号Seq,并将其值+1作为自己确认号Seq的值,同时服务器端进入到SYN-RCVD阶段

(3)客户端收到服务器端的确认收到数据的TCP报文,确定客户端到服务器端数据传输是正确的,结束SYN-SENT状态,返回最后一段TCP报文,其中:

标志位ACK;确认收到服务器端连接信号;序号为Seq = x+1;表示收到服务器的确认号,并将其值作为自己的序号值;

确认号Ack = y+1;表示收到服务器序号,并将其加+1作为自己的确认号

客户端进入ESTABLISHED阶段

服务器收到来自客户端的“确认收到服务器数据”的TCP报文之后,明确了从服务器到客户端的数据传输是正常的。结束SYN-SENT阶段,进入ESTABLISHED阶段。

在客户端与服务器端传输的TCP报文中,双方的确认号Ack和序号Seq的值,都是在彼此Ack和Seq值的基础上进行计算的,这样做保证了TCP报文传输的连贯性。一旦出现某一方发出的TCP报文丢失,便无法继续"握手",以此确保了"三次握手"的顺利完成。

此后客户端和服务器端进行正常的数据传输。这就是“三次握手”的过程。

3 http与https的区别

(1)https协议需要用到CA证书,免费证书较少

(2)http超文本传输协议信息是明文传输,https则是具有安全性的ssl/tls加密传输协议

(3)采用不同的连接方式,端口不同,http为80,https为443

(4)http连接无状态,https为加密传输,身份认证的网络协议,比http安全

猜你喜欢

转载自blog.csdn.net/qq_35478250/article/details/107491621
今日推荐