IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络面试复习 -> 正文阅读

[网络协议]计算机网络面试复习

计算机网络

1.三次握手

第一次客户端发送syn向服务端,第二次服务端返回ack和syn到客户端,第三次客户点返回ack。

三次握手的目的就是为了建立可靠的通信信道,经过三次握手,双方都可以确认自己和对方的发送和接收是正常的。

第二次握手服务端返回syn即告诉客户端,我接受的消息确实是你发送给我的。

2.四次挥手

第一次,主动关闭方发送一个fin到被动关闭方,用来告知自己想关闭信道

第二次,被动方返回ack,确认收到主动关闭方信息。但是此时被动关闭方可能还有消息没有传完

第三次,被动方消息传完后,发送fin到主动方

第四次,主动方返回ack确认消息

3.TCP如何保证可靠传输

  1. 分块:应用程序被分割成tcp认为最适合发送的块
  2. 编号:tcp对发送的包编号,接收端根据编号排序
  3. 校验和:覆盖tcp首部和数据,如果传输过程中检测数据发生变化,校验和就会改变,接收端将丢弃这个报文段且不确认接收。
  4. 丢弃重复数据
  5. 流量控制(滑动窗口):接收端只允许发送端发送缓冲区能容纳的数据
  6. 拥塞控制:网络拥塞时减少数据的发送
  7. ARQ协议自动重传请求

4.ARQ协议

ARQ:自动重传请求,包括停止等待ARQ协议和连续ARQ协议

  1. 停止等待ARQ:每发完一个分组就停止传输,等待对方确认。若超时后还是没有ack确认,说明没有发送成功,重新发送,直到收到确认再发下一个分组。超时时间应该把比平均往返时间更长
  2. 连续ARQ:发送方维持一个发送窗口,凡是窗口内的分组可以连续发送,不需要等待确认。接收方采用累计确认,对按序到达的最后一个分组发送确认。会发生Go-Back-N

5.滑动窗口和流量控制

为了控制发送方发送速率,保证接收方来得及接收。接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。

6. 拥塞控制

tcp发送方维持一个拥塞窗口,窗口的大小取决于网络的拥塞程度,动态变化。发送方让自己的发送窗口取为拥塞窗口和接收方接受窗口中较小的一个。

  1. 慢启动:先探测网络状况,由小到大逐渐增大窗口。初始为1,每个传播轮次加倍
  2. 拥塞避免:缓慢增大窗口,每一个往返时间加1
  3. 快重传与快恢复:如果接收器接收到了一个不按顺序的数据,向发送机发送一个重复确认。如果发送机接收到了3个重复确认,就会认定数据丢失并立即重传。不会因为重传而被要求暂停

7.打开一个网页的流程

  1. DNS解析

  2. TCP连接

  3. 发送http请求

  4. 服务端处理请求并返回http报文

  5. 浏览器解析渲染界面

  6. 连接结束

8.HTTP如何保存用户状态

http是一个无状态协议,Session机制的存在解决了保存用户状态的问题。

服务端给特定的用户创建特定的Session来标识、跟踪这个客户

保存Session的方法,常用内存或数据库,比如redis,大部分情况是在cookie中附加一个sessionId

9. Cookie

cookie一般用来保存用户信息

session通过服务端记录用户的状态,典型例子购物车

10.HTTP1.0和HTTP1.1主要区别

  1. 长连接:1.0默认短链接
  2. 响应码增加
  3. 缓存处理
  4. 带宽优化
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-17 12:19:05  更:2021-10-17 12:20:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:21:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码