TCP/IP 网络模型有哪几层?
应用层、
传输层 封装TCP
网络层 封装IP
网络接口层 封装帧
应用层
HTTP、DNS
传输层的特点?一般使用什么协议?
用于建立连接
TCP/UDP
网络层的特点?
ipV4等
负责实际的网络传输
网络接口层的工作是什么?为网络层提供哪一个级别的服务?
负责信息在链路级别的传输,
需要给报文封装MAC头部
用mac可以标识网络上的设备
键入网址到网页显示,期间发生了什么
- 应用层获取http请求体,
- 解析域名,DNS,得到ip地址
- 传输层建立连接,封装TCP
- 网络层封装IP头部,保证之后的路由跳转
- 消息传递给本机网卡
- 网卡算是网络接口层,给数据加上MAC头部,然后把消息体转换为电信号
- 交换机把电信号转换为数字信号发送给以太网
- 到达第一个路由,接着跳转至下一个,循环,直到到达目的地的路由
- 然后就是相反的,交换机、网卡、网络层、传输层、应用层,响应消息体封装后再返回。
域名解析的工作流程?
怎么知道下一跳的ip?mac
1、路由表
2、ARP广播
发送网络数据的时候,涉及几次内存拷贝操作?
1、应用层sk_buff
2、传输层-网络层
3、网络层
TCP相关面试题
TCP 头格式有哪些?
1、初始号
2、确认应答号
3、控制位ACK/SYN/FIN/RST
TCP 工作在哪一层?什么是TCP?
TCP连接连的是什么?
TCP 和 UDP 有什么区别呢?分别的应用场景是?
1、面向连接
2、可靠
3、传输方式
应用场景:
TCP适合服务器连接,HTTP连接
UDP:多媒体传输,广播
MAC、IP、端口号,分别都在哪一层进行寻址?
如何唯一确定一个 TCP 连接呢?
TCP 三次握手过程是怎样的?
过程
初始序列号、确认应答号、控制位、自身状态
第一次:
closed、listen
随机初始序列号client_syn、SYN、SYN_SEND
第二次:
随机初始序列号server_isn、应答号+1, SYN, ACK, SYN_RCVD
第三次:
应答号+1, establish。ACK
如何在 Linux 系统中查看 TCP 状态?
netstat -napt
为什么是三次握手?不是两次、四次?
不是两次:
避免历史报文的连接。
同步初始化序列号。
只有两次握手无法保证客户端收到想要的应答号,比如客户端的初始序列号为100,此时它发给服务端,得到的应该是101,如果不是,就通过第三次握手拒接连接。
然而如果只有两次握手,不管确认应答号是否正确都会发生连接。
不是四次:
第二次ACK和第三次SYN可以一起发送。
为什么每次建立 TCP 连接时,初始化的序列号都要求不一样呢?
既然 IP 层会分片,为什么 TCP 层还需要 MSS 呢?
什么是TCP粘包,拆包?
某一个环节丢失了会发生什么?
什么是 SYN 攻击?如何避免 SYN 攻击?什么是半连接队列?
TCP 四次挥手过程是怎样的?
ESTABLISH
1
FIN
FIN_WAIT1
2
ACK
CLOSE_WAIT
FIN_WAIT2
3
FIN
LAST_ACK
4
ACK
TIME_WAIT
2MSL CLOSE
丢失某一次挥手,发生什么?
CLOSE_WAIT和TIME_WAIT的作用?
为什么 TIME_WAIT 等待的时间是 2MSL?
服务器出现大量 TIME_WAIT 状态的原因有哪些?
没有使用长连接
长连接超时
长连接满了
Http相关面试题
HTTP 是什么?
HTTP 常见的状态码有哪些?
200
304
403
500
404
GET 和 POST 有什么区别?
功能
参数位置
安全幂等
HTTP 缓存有哪些实现方式?
强制缓存
协商缓存
cache-control 304
HTTP迭代
1.1
管道
解决了请求的队头阻塞,但是没法解决接收的队头阻塞
HTTP 与 HTTPS 有哪些区别?
1、明文、密文
2、SSL/TLS
3、80、443
4、CA
HTTPS 解决了 HTTP 的哪些问题?
查询
篡改
伪造
HTTPS 是如何建立连接的?其间交互了什么?
TLS四次握手
1、
随机数
TLS
密码套件
2、随机数
确认TLS
确认密码套件
3、
随机数
CA
执行加密
4、
执行加密
HTTPS 的应用数据是如何保证完整性的?
HTTPS可靠吗
HTTP/1.1 相比 HTTP/1.0 提高了什么性能?
长连接
管道
HTTP/2 做了什么优化?
Stream流
二进制传输
HTTP/3 做了哪些优化?
使用UDP+QUIC替代了TCP,实现了可靠传输。
速度更快,并且不存在队头阻塞
IP协议相关八股
IP地址多少位?怎么表示?
划分方案
分类方案
CIDR方案
子网掩码
公有 IP 地址与私有 IP 地址的区别?
IP 地址与路由?具体怎么跳转的?
什么是环回地址?具体IP是多少?
MTU、MSS
IPv6 基本认识
32 – 128
4–8
8–16
性能好,包头首部长度使用固定的40字节。
IP 协议相关技术
DNS
ARP
DHCP
NAT
ICMP
查询报文协议–ping
差错报文协议–traceroute