计算机网络重点概述(面试向)
本篇文章主要是整理面试常问的问题
七层协议
7 application layer
6 presentation layer
5 session layer
4 transport layer
3 network layer
2 link layer
1 physical layer
TCP
三次握手
1: client - 发送带有SYN标志的数据包
2: server - 发送带有SYN/ACK标志的数据包
3: client - 发送带有ACK标志的数据包
四次挥手
1: client - 发送FIN关闭数据传输
2: server - 发回一个ACK,确认序号为收到的序号加1(一个FIN占用一个序号)
3: server - 关闭与client的连接,发送一个 FIN给client
4: client - 发回 ACK 报文确认,并将确认序号设置为收到序号加 1
如何保证传输的可靠性
- checksum:TCP 将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP 将丢弃这个报文段和不确认收到此报文段
- TCP 的接收端会丢弃重复的数据
- 流量控制
- 拥塞控制
- ARQ 协议
- 超时重传
TCP和UDP的区别
- TCP面向连接,UDP无连接
- TCP可靠,UDP不可靠
- TCP以字节流的方式传输,UDP则是数据报文段
- TCP传输慢,所需资源多,UDP传输快,所需资源少
- 应用场景:TCP:文件传输,邮件传输等,UDP:域名转换,语音,视频
- 首部字节:TCP:20-60,UDP:8
状态码
1XX Informational 接收的请求正在处理
2XX Success 请求处理成功
3XX Redirection 需进行附加操作以完成请求
4XX Client Error 客户端错误,服务器拒绝请求或是找不到资源
5XX Server Error 服务器发生错误
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。