iwehdio的博客园:https://www.cnblogs.com/iwehdio/
1、HTTP
- 什么是HTTP?
- HTTP1.0的特点与缺点?
- HTTP1.1对无状态的改进?
- HTTP的请求与响应消息结构?状态码?请求方法?常见字段?
- GET和POST的区别?安全与幂等?
- HTTP1.1的性能优化?
- HTTP 与 HTTPS 有哪些区别?
- HTTPS 解决了 HTTP 的哪些问题?如何解决的?
- HTTP/1.1 有什么性能瓶颈?HTTP/2 做了什么优化?
- HTTP/2 有哪些缺陷?HTTP/3 做了哪些优化?
2、IP
- TCP/IP协议簇和四层结构?
- 数据包的结构和发送历程?
- IP(网络层) 和 MAC (数据链路层)之间的区别和关系?
- IP地址的结构与分类?
- 广播、多播和组播?
- IP分类的优缺点?
- 无分类地址CIDR和子网掩码?
- 为什么要分离网络号和主机号?
- 子网划分?
- 公有IP和私有IP?
- 路由控制?
- IP分片与重组?
- IPV6的好处?
- IPV6地址结构和首部改进?
- DNS是什么?
- 域名解析流程?
- ARP协议与RARP协议?
- DHCP 动态获取 IP 地址过程?
- DHCP 中继代理?
- NAT 网络地址转换?
- ICMP 互联网控制报文协议?分类?
- IGMP 因特网组管理协议?查询与退出组?
3、TCP
- TCP头部格式?
- 为什么需要 TCP 协议?
- 什么是TCP?
- 什么是TCP连接?
- 如何唯一确定一个 TCP 连接呢?
- 有一个 IP 的服务器监听了一个端口,它的 TCP 的最大连接数是多少?
- UDP 和 TCP 有什么区别呢?分别的应用场景是?
- TCP和UDP的区别?应用场景?
- 为什么 UDP 头部没有「首部长度」字段,而 TCP 头部有「首部长度」字段呢?
- 为什么 UDP 头部有「包长度」字段,而 TCP 头部则没有「包长度」字段呢?
- TCP的三次握手过程?
- 如何在 Linux 系统中查看 TCP 状态?
- 为什么是三次握手?不是两次、四次?
- 为什么每次的初始序列号 ISN 是不相同的?
- 初始序列号 ISN 是如何随机产生的?
- 既然 IP 层会分片,为什么 TCP 层还需要 MSS 呢?
- 什么是 SYN 攻击?如何避免 SYN 攻击?
- TCP半连接队列和全连接队列?
- TCP 四次挥手过程和状态变迁?
- 为什么挥手需要四次?
- 为什么 TIME_WAIT 等待的时间是 2MSL?
- 为什么需要 TIME_WAIT 状态?
- TIME_WAIT 过多有什么危害?
- 如何优化 TIME_WAIT?
- 如果已经建立了连接,但是客户端突然出现故障了怎么办?
- 超时重传?
- 超时时间应该设置为多少呢?
- 快速重传?
- SACK方法选择性确认?
- D-SACK?D-SACK 的好处?
- 为什么引入滑动窗口?累计确认?
- 窗口大小由哪一方决定?
- 发送方的滑动窗口?
- 程序是如何表示发送方的四个部分的呢?
- 接收方的滑动窗口?
- 接收窗口和发送窗口的大小是相等的吗?
- 流量控制是什么?
- 操作系统缓冲区与滑动窗口的关系?如何影响发送窗口和接收窗口的呢?
- 窗口关闭?窗口关闭的潜在危险?
- TCP 是如何解决窗口关闭时,潜在的死锁现象呢?
- 糊涂窗口综合症?怎么让接收方不通告小窗口呢?怎么让发送方避免发送小数据呢?
- 为什么要有拥塞控制呀,不是有流量控制了吗?
- 什么是拥塞窗口?和发送窗口有什么关系呢?
- 怎么知道当前网络是否出现了拥塞呢?
- 拥塞控制有哪些控制算法?
- 慢启动?
- 拥塞避免?
- 拥塞发生?超时重传和快速重传?
- 快速恢复?
4、其他
- ICMP协议?分类?
- 查询报文类型?查询报文的使用?
- 差错报文类型?差错报文的使用?
- 当键入网址后,到网页显示,其间发生了什么?
- HTTP、DNS、TCP、IP、MAC、网卡、交换机、路由器、服务器
- TCP、UDP 协议通信的 socket 编程模型?
- 封装成帧,透明传输和差错控制?
- PPP协议?
- 以太网?
参考
- HTTP:硬核!30 张图解 HTTP 常见的面试题
- IP:IP 基础知识“全家桶”,45 张图一套带走
- TCP:
- ICMP:听说你 ping 用的很 6 ?给我图解一下 ping 的工作原理!
- 数据包发送流程:探究!一个数据包在网络中的心路历程
iwehdio的博客园:https://www.cnblogs.com/iwehdio/