计算机网络面试题

计算机网络面试题

一、http协议

1.概念

1)超文本传输协议:H即超文本,可以传输除了文本以外的视频,图片,甚至链接。

2)HTTP协议是用于客户端和服务器端之间的通信,用于客户端和服务器端之间的通信有HTTP协议和TCP/IP协议族在内的其他众多的协议。

2.http常见状态码

在这里插入图片描述

3.get和post区别

在这里插入图片描述

4.http1.0,1.1,2.0对比

http1.0

在这里插入图片描述

http1.1

在这里插入图片描述

http2.0

在这里插入图片描述
在这里插入图片描述

5.https

概述

为了解决HTTP明文传输数据可能导致的安全问题,出现HTTPS(HyperText Transfer Protocol Secure)超文本传输安全协议,数据通信仍然是HTTP,但利用SSL/TLS加密数据包。

实现原理

SSL(Secure Sockets Layer)安全套接层和TLS(Transport Layer Security)传输层安全协议其实是一套东西。

工作流程

在这里插入图片描述
在这里插入图片描述

对称加密与非对称加密

对称加密
对称加密是指有一个密钥,用它可以对一段明文加密,加密之后也只能用这个密钥来解密得到明文。

非对称加密
非对称加密有两个密钥,一个是公钥,另一个是私钥。一般来说,公钥用来加密,这时密文只能用私钥才能解开。

CA出现背景

在这里插入图片描述
出现这一问题的核心原因是客户端无法确认收到的公钥是不是真的是服务端发来的。为了解决这个问题,互联网引入了一个公信机构,这就是CA。

私钥除了解密外的真正用途其实还有一个,就是数字签名,其实就是一种防伪技术,只要有人篡改了证书,那么数字签名必然校验失败。具体过程如下

在这里插入图片描述

二、TCP协议

1.TCP和UDP的不同

在这里插入图片描述
TCP 和 UDP 应用场景
在这里插入图片描述

2.为什么需要 TCP 协议

IP 层是「不可靠」的,它不保证网络包的交付、不保证网络包的按序交付、也不保证网络包中的数据的完整性。

如果需要保障网络数据包的可靠性,那么就需要由上层(传输层)的 TCP 协议来负责。

因为 TCP 是一个工作在传输层的可靠数据传输的服务,它能确保接收端接收的网络包是无损坏、无间隔、非冗余和按序的。

3.TCP头部的内容

在这里插入图片描述
在这里插入图片描述

4.TCP三次握手过程

在这里插入图片描述
1)一开始,客户端和服务端都处于 CLOSED 状态。先是服务端主动监听某个端口,处于 LISTEN 状态。

2)在这里插入图片描述
客户端会随机初始化序号(client_isn),将此序号置于 TCP 首部的「序号」字段中,同时把 SYN 标志位置为 1 ,表示 SYN 报文。接着把第一个 SYN 报文发送给服务端,表示向服务端发起连接,该报文不包含应用层数据,之后客户端处于 SYN-SENT 状态。

3)在这里插入图片描述
服务端收到客户端的 SYN 报文后,首先服务端也随机初始化自己的序号(server_isn),将此序号填入 TCP 首部的「序号」字段中,其次把 TCP 首部的「确认应答号」字段填入 client_isn + 1, 接着把 SYN 和 ACK 标志位置为 1。最后把该报文发给客户端,该报文也不包含应用层数据,之后服务端处于 SYN-RCVD 状态。

4)在这里插入图片描述
客户端收到服务端报文后,还要向服务端回应最后一个应答报文,首先该应答报文 TCP 首部 ACK 标志位置为 1 ,其次「确认应答号」字段填入 server_isn + 1 ,最后把报文发送给服务端,这次报文可以携带客户到服务器的数据,之后客户端处于 ESTABLISHED 状态。

5)服务器收到客户端的应答报文后,也进入 ESTABLISHED 状态。

第三次握手是可以携带数据的,前两次握手是不可以携带数据的

5.为什么是三次握手?不是两次、四次?

原因一:避免历史连接

在这里插入图片描述
在这里插入图片描述

原因二:同步双方初始序列号

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

原因三:避免资源浪费

在这里插入图片描述
在这里插入图片描述
即两次握手会造成消息滞留情况下,服务器重复接受无用的连接请求 SYN 报文,而造成重复分配资源。

总结

在这里插入图片描述

6.TCP四次挥手过程

天下没有不散的宴席,对于 TCP 连接也是这样, TCP 断开连接是通过四次挥手方式。

双方都可以主动断开连接,断开连接后主机中的「资源」将被释放。

在这里插入图片描述
在这里插入图片描述

7.为什么挥手需要四次?

在这里插入图片描述

8.TCP重传机制

超时重传

重传机制的其中一个方式,就是在发送数据时,设定一个定时器,当超过指定的时间后,没有收到对方的 ACK 确认应答报文,就会重发该数据,也就是我们常说的超时重传。

TCP 会在以下两种情况发生超时重传
数据包丢失
确认应答丢失

在这里插入图片描述

快速重传

TCP 还有另外一种快速重传(Fast Retransmit)机制,它不以时间为驱动,而是以数据驱动重传。

在这里插入图片描述

SACK方法

还有一种实现重传机制的方式叫:SACK( Selective Acknowledgment 选择性确认)。

这种方式需要在 TCP 头部「选项」字段里加一个 SACK 的东西,它可以将缓存的地图发送给发送方,这样发送方就可以知道哪些数据收到了,哪些数据没收到,知道了这些信息,就可以只重传丢失的数据。

Duplicate SACK

Duplicate SACK 又称 D-SACK,其主要使用了 SACK 来告诉「发送方」有哪些数据被重复接收了。

9.TCP滑动窗口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.流量控制

在这里插入图片描述

11.拥塞控制

在这里插入图片描述

三、网络安全

1.SYN Flood攻击

SYN超时了怎么处理

在这里插入图片描述

攻击及解决策略

你看到没 SYN 超时需要耗费服务端 63s 的时间断开连接,也就说 63s 内服务端需要保持这个资源,所以不法分子就可以构造出大量的 client 向 server 发 SYN 但就是不回 server。
在这里插入图片描述
在这里插入图片描述

四、各层协议

在这里插入图片描述

五、其他知识

1.网络分层模型

在这里插入图片描述

2.键入网址后,期间发生了什么?

1)浏览器做的第一步工作是解析 URL

在这里插入图片描述

2)生产HTTP请求信息

对 URL 进行解析之后,浏览器确定了 Web 服务器和文件名,接下来就是根据这些信息来生成 HTTP 请求消息了。

在这里插入图片描述

3)真实地址查询 —— DNS

在这里插入图片描述

域名解析的工作流程

在这里插入图片描述
在这里插入图片描述

4) 指南好帮手 —— 协议栈

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5)生成TCP,IP头部,然后在 IP 头部的前面加上 MAC 头部。

在这里插入图片描述

6)出口 —— 网卡

IP 生成的网络包只是存放在内存中的一串二进制数字信息,没有办法直接发送给对方。因此,我们需要将数字信息转换为电信号,才能在网线上传输,也就是说,这才是真正的数据发送过程。

负责执行这一操作的是网卡,要控制网卡还需要靠网卡驱动程序。

7)送别者 —— 交换机

数据包通过交换机转发抵达了路由器

8)出境大门 —— 路由器

数据包通过多个路由器,到达服务器

9)互相扒皮 —— 服务器与客户端

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值