计算机网络面试题2

WebSocket相关知识

什么是WebSocket?

WebSocket是一种基于TCP连接的全双工通信协议,即客户端和服务器可以同时发送和接收数据

WebSocket和HTTP有什么区别?

1.WebSocket是双向通信协议,HTTP是单向通信协议

2.WebSocket使用ws://或者wss://作为前缀

3.WebSocket可以支持扩展,用户可以实现部分自定义的子协议

4.WebSocket数据格式比较轻量

WebSocket的工作过程

1.客户端向服务端发起HTTP请求,要求升级协议为WebSocket

2.服务器收到请求后,如果支持WebSocket,回复101状态码,表示成功升级

3.客户端和服务端建立WebSocket连接,可以进行双向的数据传输,以帧的形式传送

4.双方各发送一个关闭帧,TCP连接关闭

通过心跳机制来保持WebSocket连接的稳定性和活跃性

SSE与WebSocket的区别

1.SSE单向通信,WebSocket全双工通信

2.SSE基于HTTP,不需要特殊协议或服务器实现,WebSocket需要单独服务器处理协议

3.SSE只能传送文本消息,WebSocket默认支持传送二进制数据

PING

PING命令的作用是什么?

测试网络中主机之间的连通性和网络延迟

PING命令的工作原理

通过在网络上发送和接收ICMP报文实现的

DNS

DNS是什么?解决了什么问题?

域名管理系统,解决的是域名和IP地址的映射问题

DNS服务器有哪些?

根DNS服务器、顶级域DNS服务器、权威DNS服务器、本地DNS服务器

DNS解析过程

以百度为例:
输入www.baidu.com域名,操作系统会先检查自己本地的 hosts 文件是否有这个网址映射关系,如果有就先调用这个IP地址映射。如果没有则查找本地 DNS 解析器缓存,是否有这个网址映射关系,有直接返回。
如果没有,首先找本地 DNS 服务器,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,此解析具有权威性。如果没有,但该服务器已缓存了此网址映射关系,则调用这个 IP 地址映射,此解析不具有权威性。
如果以上都没有,则根据本地 DNS 服务器的设置进行查询。

非转发模式:本地 DNS 就把请求发至根 DNS ,根 DNS 服务器返回一个负责该顶级域名服务器的一个IP。本地 DNS 服务器会联系负责 .com 域的这台服务器。这台负责 .com 域的服务器如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(baidu.com)给本地 DNS 服务器。当本地 DNS 服务器找 baidu.com 域服务器,重复上面的动作,进行查询,直至找到结果。
转发模式:此 DNS 服务器就会把请求转发至上一级 DNS 服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根 DNS 或把转请求转至上上级,以此循环。不管是本地 DNS 服务器用的是转发,还是根提示,最后都是把结果返回给本地 DNS 服务器,由此 DNS 服务器再返回给客户机。
 

TCP与UDP

 TCP三次握手

1.客户端发送带有SYN(SEQ = x)标志的数据包到服务端,然后客户端进入SYN_SEND状态,等待                服务端的确认

2.服务端发送带有SYN+ACK(SEQ = y, ACK = x + 1)标志的数据包到客户端,然后服务单进入                          SYN_RECV状态

3.客服端发送带有ACK(ACK = y + 1)标志的数据包到服务端,然后客户端和服务端都进入                          ESTABLISHED状态,完成三次握手

为什么要三次握手?

目的是建立可靠的通信信道,双方确认自已与对方的发送与接收是正常的

 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值