IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络面试高频考点 -> 正文阅读

[网络协议]计算机网络面试高频考点

计算机网络面试高频考点

1.TCP三次握手过程

在这里插入图片描述
①首先握手过程是建立在被动方处于监听状态。
②客户端发送syn报文并随机一个序列号发送给服务器,此时客户端为syn_send状态,
③服务器收到syn报文后,发送给客户端一个syn+ack报文,并随机一个序列号,确认序号为syn序号+1,发送后服务器会将这个连接添加到半连接队列,并处于syn_recv状态
④客户端收到服务器发来的syn+ack报文后,返回一个ack确认报文,序列号为syn的确认序列号,确认号为syn序列号+1,客户端处于established状态
⑤服务器收到客户端的确认报文后将对应的连接从半连接队列中取出放到全连接队列,此时服务器处于established状态,双方三次握手完成,可以正常传递数据。

1.1为什么不是两次?

握手过程是为了建立可靠的连接,可靠的是通过交换起始序号,后续的数据传输通过序号判断数据是否被对方接收到,如果是两次我收的话,那就不能保证客户端接收到服务器的序号,也就没有后续的可靠性传输。而且,不保证可靠性传输的同时,也会出现大量无效连接,浪费系统资源。

2.TCP四次挥手过程

在这里插入图片描述
客户端和服务器都处于established状态。
①客户端发送FIN报文,进入FIN_WAIT1状态
②服务器收到FIN报文,关闭读通道,并发送ACK确认报文,进入CLOSE_WAIT状态
③客户端收到ACK报文后,关闭写通道,进入FIN_WAIT2状态
④服务器发送FIN报文,进入LAST_ACK状态
⑤客户端收到FIN报文,发送ACK报文,关闭读通道,进入TIME_WAIT状态
⑥服务器收到ACK报文,关闭写通道

2.1为什么最后客户端还要等待2*MSL的时间呢?

1.防止最后一个ACK报文丢失;如果超时,服务器会重发上次FIN+ACK报文。
2.耗尽本次连接的所有报文。这样新的连接中就不会出现旧连接的请求报文。

2.2为什么建立连接是三次握手,关闭连接确是四次挥手呢?

建立连接的时候, 服务器在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。
而关闭连接时,服务器收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,而自己也未必全部数据都发送给对方了,所以己方可以立即关闭,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送,从而导致多了一次。

3.TCP如何保证的可靠性

校验和、序列号、连接管理
确认应答、超时重传
流量控制、拥塞控制

4.TCP保证性能的机制

滑动窗口、快速重传、延迟应答、捎带应答

5.TCP和UDP区别

TCP是一对一的、面向连接的、可靠的流式协议
UDP是一对一、一对多、多对多的、面向非连接的、不可靠的报文式协议

6.组播与广播

广播禁止在internet中传输,不能提供个性化服务,可能产生广播风暴
组播可在internet中传输,加入一个组播就能接受这个组中的信息,组播地址是D类地址

7.OSI七层模型及用途

①物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输
②数据链路层:通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,数据链路层的目的是解决同一网络内节点之间的通信
③网络层:将数据设法从源端经过若干个中间节点传送到目的端(点到点),从而向传输层提供最基本的端到端的数据传输服务,网络层主要解决不同子网间的通信
④传输层:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输
⑤会话层:组织和协调两个会话进程之间的通信 ,并对数据交换进行管理
⑥表示层:处理用户信息的表示问题,如编码、数据格式转换和加密解密等
⑦应用层:直接向用户提供服务,完成用户希望在网络上完成的各种工作

8.在浏览器输入网址的全过程

1、在地址栏输入网站的url地址。
2、输入url地址后,浏览器会查找浏览器缓存、系统缓存、路由缓存。如果有缓存就可以直接显示(在Cache—Control的max_age字段中有缓存的有效时间),如果没有就下一步。
3、通过DNS获取url对应的ip地址。通过本机的host文件中查找是否有url对应的ip地址,如果没有就请求DNS进行ip地址的获取。
4、建立TCP连接。通过TCP三次握手建立连接。
5、浏览器向web服务器发送请求。
6、浏览器给web服务器发送请求头信息。如果是POST还要发送请求体。
7、web服务器进行响应。
8、web服务器发送响应头消息。
9、web服务器发送数据。以响应头里面的content-type描述的格式发送数据。
10、web服务器关闭连接。web服务器向浏览器发送了应答数据之后,就要关闭tcp连接(TCP四次握手关闭连接),如果添加了connection:keep-alive就继续保持连接。
11.浏览器解析HTML

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-16 13:30:42  更:2022-02-16 13:31:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:35:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码