当前位置: 首页 > news >正文

计算机网络面试题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状态,完成三次握手

为什么要三次握手?

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

 

http://www.lryc.cn/news/409978.html

相关文章:

  • Linux网络——深入理解传入层协议TCP
  • 快速搞定分布式RabbitMQ---RabbitMQ进阶与实战
  • 5万字长文吃透快手大数据面试题及参考答案(持续更新)
  • WordPress原创插件:启用关闭经典编辑器和小工具
  • 萝卜快跑:自动驾驶的先锋与挑战
  • 得到xml所有label 名字和数量 get_xml_lab.py,get_json_lab.py
  • 数据结构算法-排序(二)
  • Linux安装与配置
  • AI赋能交通治理:非机动车监测识别技术在城市街道安全管理中的应用
  • 水电站泄洪放水预警广播系统解决方案
  • 【Django】ajax和django接口交互(获取新密码)
  • Logback 日志打印导致程序崩溃的实战分析
  • 新加坡 Numen Cyber 与香港光环云数据有限公司达成战略合作
  • Laravel魔术方法:框架的隐秘力量
  • 系统复习Java日志体系
  • 网络管理linux命令
  • PowerDNS架构解析与安装部署指南
  • Ubuntu 20.04.6 安装 Elasticsearch
  • Python for循环迭代原理(迭代器 Iterator)
  • 通信原理-思科实验四:静态路由项配置实验
  • ngzero使用外部的svg图标
  • 逆矩阵、秩
  • pc端小程序抓包修改数据相关记录
  • 用Python打造精彩动画与视频.2.1 Python基础语法概述
  • Golang高效合并(拼接)多个gzip压缩文件
  • MySQL数据库-基本概念
  • 【无标题】web+http协议+nginx搭建+nginx反向代理(环境准备)
  • c-periphery RS485串口库文档serial.md(serial.h)(非阻塞读)(VMIN、VTIME)
  • Matlab arrayfun 与 bsxfun——提高编程效率的利器!
  • 【Unity编辑器拓展】GraphView自定义可视化节点