04-网络 协议
2022-03-22 13:59:13 4 举报
AI智能生成
以思维导图的形式,汇总 【网络 协议】相关的面试点
作者其他创作
大纲/内容
IP vs MAC
分支主题
CIDR
为什么要分离网络号和主机号?
子网掩码
网络号 和 主机号
基本概念
流程
IP地址与路由控制
IP 分片与重组
IPv6 基本认识
DNS 域名解析
IP转MAC地址
ARP
RARP 协议
相关协议
IP
HTTP 解析URL
查询服务器域名对应的 IP 地址 DNS
超链接
URL
ping
30.什么是Cookie和Session?
32.Cookie和Session的区别?
33.如何考虑分布式Session问题?
31.Cookie和Session是如何配合的呢?
Cookie和Session?
DD0S攻击?
XSS攻击?
安全
应用
那「HTTP 是用于从互联网服务器传输超文本到本地浏览器的协议 ,这种说法正确吗?
超文本传输协议
是什么?
5##
4##
3##
2##
状态码
响应字段
通用字段
请求字段
前端发送post请求给后端,需要哪一些必须的header? 比如Content-type
后端返回的?
请求报文和响应报文的格式?
GET VS POST
常用请求方式
请求方式
缓存机制
3、不安全
2、明文传输
1、无状态
劣势
HTTP优劣势
长连接里,怎么判断http响应数据的结束
1、长连接
特性
2、管道网络传输
性能上
对头阻塞
HTTP1.1 存在的性能问题
HTTP1.1
5、数据流
4、服务器推送
3、多路复用
2、二进制
1、头部压缩
和HTTP1.1区别?
缺陷?HTTP/3
HTTP2.0
HTTPS 的优缺点?
HTTP 与 HTTPS 的区别?
怎么解决这些问题的?
HTTPS解决了哪些问题?
概念
是怎么生成对称会话密钥的?
采用混合加密的原因?
整体流程
数字证书签发和验证流程
数字证书里有什么
握手详细过程?
为什么要握手?
TLS 四次握手流程
原理
一些问题
HTTPS
加解密过程
错误码
服务端对手机端的推送,能用http来做吗?
实战
HTTP
为什么需要 TCP 协议? TCP 工作在哪一层?
什么是 TCP ?
TCP和UDP的区别?
UDP 和 TCP 对应的应用场景是什么?
有一个 IP 的服务器监听了一个端口,它的 TCP 的最大连接数是多少?
什么是MTU 和 MSS
既然 IP 层会分片,为什么 TCP 层还需要 MSS 呢?
MTU MSS ?
基本认知
为什么要建立连接
如何唯一确定一个 TCP 连接呢?
为什么需要三次握手,而不是两次?
为什么要三次握手,而不是四次?
详细介绍一下TCP的三次握手机制?
三次握手时,第一个ACK丢失会怎么样?
三次握手连接阶段,最后一次ACK包丢失,会发生什么?
第二个SYN+ACK丢失会怎么样?
异常
为什么客户端和服务端的初始序列号 ISN 是不相同的?
初始序列号 ISN 是如何随机产生的?
初始序列号
三次握手
为什么需要4次?
详细介绍一下TCP的四次挥手过程?
第四次
第三次
第二次
第一次
异常情况
如果服务端处于LASK_ACK状态,会怎么样?
假设 TIME-WAIT 没有等待时间或时间过短,被延迟的数据包抵达后会发生什么呢?
为什么要有TIME-WAIT状态
2MSL有多久?
MSL TTL
为什么客户端的TIME-WAIT状态必须等待2MSL?
处理方案
TIME-WAIT状态过多会产生什么后果?
如何优化TIME-WAIT
TIME-WAIT
四次挥手
开启了 TCP 保活,需要考虑以下几种情况
TCP保活机制时间
为什么需要多次探活才能决定一个 TCP 连接是否已经死亡呢?
有人说额外的探活报文占用了有限的带宽,对此你是怎么想的呢?
针对 TCP 的探活,那么你觉得这样的方法是否同样适用于 UDP 呢?
保活机制 Keep-Alive
为什么需要?
应用层探活机制
服务器端口关闭了,客户端这时候发送报文,会发生什么
如果已经建立了连接,但是客户端出现故障了怎么办?
路由器突然断开了,需要重新连接嘛
连接阶段
连接挥手
校验和
汇总
什么情况会发生?
在重传的情况下,超时时间 RTO 「较⻓或较短」时,会怎么样?
RTT 、RTO
超时时间应该设置多少呢?
存在的问题?
超时重传
存在什么问题?
解决什么问题?
工作流程?
快速重传
SACK
D-SACK
重传
累计确认或者累计应答?
窗口实现?
窗口大小由哪一方决定?
窗口大小
接收窗口和发送窗口的大小是相等的吗?
程序中是如何表示发放方的四个部分?
发送方的滑动窗口
接收方的滑动窗口
滑动窗口
窗口关闭现象
数据丢失现象?
操作系统缓冲区与滑动窗口
怎么解决的?
有什么危害?
什么时候会发生?
窗口关闭
怎么让接收方不通告小窗口呢?
Nagle 算法
怎么让发送方避免发送小数据呢?
怎么解决?
是什么?什么时候发生?
糊涂窗口综合症
流量控制
SYN_SENT 状态的优化
客户端优化
SYN队列 和 ACK队列
什么是SYN洪泛攻击?如何防范?
如何查看由于 SYN 半连接队列已满,而被丢弃连接的情况?
如何调整 SYN 半连接队列大小?
如果 SYN 半连接队列已满,只能丢弃连接吗?
SYN_RCV 状态的优化
如何查看由于 accept 连接队列已满,而被丢弃的连接?
accept 队列已满,只能丢弃连接吗?
如何调整 accept 队列的⻓度呢?
如何查看服务端进程 accept 队列的⻓度?
服务端优化
如何绕过三次握手
握手调优
安全关闭连接
关闭连接的方式
调用 close 函数和 shutdown 函数有什么区别?
FIN_WAIT1 状态的优化
FIN_WAIT2 状态的优化
如果连接双方同时关闭连接,会怎么样?
主动方的优化
挥手优化
如何确定最大传输速度?
怎样调整缓冲区大小?
传输阶段
TCP 调优
如何快速建立连接
用什么命令看tcp 的状态信息?
TCP
协议
0 条评论
回复 删除
下一页