计算机网络二轮复习
牛客网上的知识点
1、请你说说 TCP 和 UDP 的区别
- 区别
- 是否面向连接
- 是否可靠
- udp是否可以实现可靠传输(等待确认和超时重传)
- 首部大小(tcp 20-60字节,udp 8字节)
- 传输的形式(字节流、数据报)
- 传输的效率
- 应用的场景
- 各自的协议
- TCP:Http、SSH、SMTP、FTP
- UDP:DNS、TFTP(简单文件传输协议)
2、请你说说 TCP 三次握手四次挥手过程
- 三次握手
- 过程
- C发syn
- S发ack和syn(为什么带上syn:建立并确认与客户端的通信)
- c发送ack(establish状态)
- 为什么要三次握手(为什么要建立连接)
- 确认双方的收发是否正常
- 防止历史连接的初始化
- 同步双方的初始的序列号(去除重复数据,数据排序)
- 节约资源
- 过程
3、请你说说 GET 和 POST 的区别
- url的可见性
- 是否可以缓存
- 请求数据的大小或者长度
- 安全性
- 数据传输
4、浏览器从输入 URL 开始到页面显示内容,中间发生了什么?
- 将封装成HTTP请求,将url通过域名解析协议找到ip地址
- 根据IP地址,发送tcp请求建立tcp连接发送http请求(数据在路由中以ospf的方式发送,arp协议转换ip和mac地址)
- 服务器端收到请求建立tcp连接,解析返回http响应
- 客户端收到响应通过浏览器解析渲染
5、请你说说 HTTP 状态码及其含义
- 1XX响应继续、2XX成功、3XX重定向、4XX请求错误、5XX服务器错误
6、HTTP 和 HTTPS 的区别
- https,http+SSL/TLS 安全套接字协议
- 端口上:80,443
- 安全性(明文、密文)
- 如何加密(RSA的方式)
- 先非对称加密传输对称加密密钥,用ca数字证书保证不会被替换
- 后面用对称加密的加密的方式通信
- 如何加密(RSA的方式)
- 资源的消耗
- 是否需要购买证书
7、TCP 如何实现可靠传输
- 数据包的校验
- 数据包重排序
- 流量控制
- 拥塞控制
- 慢开始
- 拥塞避免
- 快重传
- 快恢复
- ARQ
- 超时重传
- 等待确认
8、请你说说 TIME_WT
- 四次挥手主动发起方在发送完最后一个ack信息时进入,等待2msl
- 保证tcp连接的可靠释放
- 保证数据包在网络中过期
- 大量的TIME_WAIT会造成什么问题
- 导致服务器多个端口被占用,消耗资源
- 解决
- 服务器在终止的时直接发送rst(连接异常终止)来断开连接
- 服务器的设置相关
9、请你说说拥塞控制机制
- 慢开始、拥塞避免、快重传、快恢复
10、请你说说 OSI七层、TCP/IP 四层模型
- OSI(应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)
- tcp/ip(应用层、传输层、网际层、网络接口层)
11、请你说说 TCP 粘包
- tcp是基于字符流的,当多个数据包被连续存储于连续的缓存中,在对数据包进行读取时由于无法确定发生方的发送边界,而采用某一估测值大小来进行数据读出,若发送方发送数据包的长度和接收方在缓存中读取的数据包长度不一致,就会发生粘包
- 解决
- 数据包头部加上数据包的长度
- 数据包末尾加上\r\n标记
- 发送定长的数据包
12、请你说说滑动窗口
- 在流量控制中维护了一个窗口来接受数据,随着TCP协议的运行、数据的运输,这个窗口在序号空间向前滑动,因此这个窗口被称为滑动窗口
13、请你说说 DNS 解析过程以及 DNS 劫持
- 本地-》根域名服务器(有多台)-》顶级域名服务器-》次级域名服务器
14、请你说说ARP协议,协议是怎么实现的,是怎么找到MAC地址的
- 以广播的形式在组网中发送ip,对应地址的主机回复信息并带上自己的mac地址
15、请你说说 CLOSE_WT
- 四次挥手,被请求释放的一方确认连接释放后进入,可能会有一些数据还没发完
16、请你说说对称加密和非对称加密
- 对称加密
- AES
- 非对称加密
- RSA
17、请你说说 HTTP1.x 和 HTTP2.0 的区别是什么?
- 1.0:短链接
- 1.1:
- 长连接
- 请求头加入host信息
- 管道通信:可以发送多个请求
- 2.0:
- 二进制编码:首部和请求头都是二进制
- 完全的多路复用
- 头部压缩
- 服务器可以主动推送