计算机网络期中复习笔记(自用)

复习大纲

--第一章 概述

计算机网络的组成


*

复制代码
##### 网络边缘:主机和网络应用程序(又称为"端系统")

* 端系统中运行的程序之间的通信方式可划分为两大类:

  * 客户/服务器方式(C/S方式)

    ![image-20250417233955379](https://i-blog.csdnimg.cn/img_convert/92124a2e5f324b17c4942231b61e250e.png)
  * 对等方式(P2P方式)

    ![image-20250417234012018](https://i-blog.csdnimg.cn/img_convert/3665e13f17dce12cf7923cad3722ecdf.png)
* 网络接入方式(P22\~P34)

  ![image-20250417234403139](https://i-blog.csdnimg.cn/img_convert/6b5a8f2c4c4f35ff6f1d09526caaa75e.png)
复制代码
##### 网络核心:路由器互连、网络的网络

*

  ###### 电路交换(分为建立连接、通信、释放连接三个阶段)

*

  ###### 报文交换(PPT中没写,但是王道课程里面有)

*

  ###### 分组交换(数据首先分成多个分组,每个分组单独传送)

* ![image-20250417234959673](https://i-blog.csdnimg.cn/img_convert/fcc25b476815d5328bad101a5ca9f486.png)**(这里会给出时延数据、报文长度、传输速率、请求处理时间等要求计算传播时长)**

网络性能的指标(P71)

复制代码
##### 带宽

* **速率:连接到网络上的节点在信道上传输数据的速率,也称数据率或比特率、数据传输速率,单位bit/s,b/s或bps**
* **信道:表示向某一方向传送信息的通道,信道≠通信线路,一条通信线路在逻辑上对应一条发送信道和接收信道**
* **带宽指某信道所能传送的最高数据率,单位:bit/s,b/s或bps**
复制代码
##### 时延(P76\~P79)

* **指数据从网络或链路的一段传送到另一端所需的时间。**
* **总时延=发送时延+传播时延+处理时延+排队时延**
复制代码
##### 吞吐量:指单位时间内通过某个网络(或信道、接口)的实际数据量

协议和分层体系结构

复制代码
##### 服务、协议

* **协议是通信实体之间通信所必须遵守的规则,其三要素为语法、语义、同步**
* **服务是下层为紧邻的上层提供的功能调用**
复制代码
##### OSI参考模型("物联网叔会使用")、TCP/IP模型

--第二章 应用层

网络应用概述

复制代码
##### 应用层协议的特点:没有通用的协议,每个应用都有专门的协议
复制代码
##### C/S、P2P、C/S和P2P混合结构(P11\~P22)
复制代码
##### P2P怎么查找资源?

*

  ###### 集中式查找:混合P2P

*

  ###### 洪泛式查找:每个peer都将查询请求转发给相邻的全部Peer

*

  ###### 分层叠加网查找
复制代码
##### 进程通信

*

  ###### P2P应用既运行client进程也运行是server进程

*

  ###### 不同主机间通信的接口:Sockets

*

  ###### 进程标识:主机IP地址+进程端口号
复制代码
##### 传输服务

*

  ###### 衡量指标:可靠性、实时性、吞吐量、安全性

  ![image-20250418192156596](https://i-blog.csdnimg.cn/img_convert/bc5a0bc24f557076d20dd770cc07f358.png)
*

  ###### TCP服务与UDP服务

  ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png)

DNS(一般使用UDP,服务端口号为53)

复制代码
###### DNS的功能和名字空间

![image-20250418192416976](https://i-blog.csdnimg.cn/img_convert/6beb9d0b30f7249f2caaffade5f02dc4.png)
复制代码
###### DNS服务器分为根域名服务器、顶级域名服务器、权威域名服务器、本地域名服务器(P41\~43)
复制代码
###### 迭代查询与递归查询(简单理解一下就是迭代查询是BFS,递归查询是DFS)
复制代码
###### DNS资源记录

*

  ###### RR格式:(name,TTL,class,type,value)

  * Type:
    * A:地址资源记录 name:主机域名 value:IP地址
    * NS:权威DNS服务器资源记录 name:域 value:此域的权威DNS服务器的域名
    * CNAME:标准名称资源记录 name:域名(别名) value:规范名
    * MX:邮件服务器资源记录 name:域 value:此域的邮件服务器的规范名字
  * 查询资源记录的命令:`nslookup`
复制代码
###### DNS的消息格式:DNS包含请求(query)和应答(reply)两个消息,其消息格式相同

![image-20250418212925512](https://i-blog.csdnimg.cn/img_convert/7e44b2d4083e85a8542c7e3e25e4e6f9.png)

WWW应用和HTTP

复制代码
##### WWW的体系结构

*

  ###### 以C/S模式工作

*

  ###### 使用URL标识分布在整个因特网上的页面

  * 编址格式:协议名://主机:端口号/文件路径及文件名
*

  ###### 使用HTTP协议实现通过www上的各种链接获取信息

*

  ###### 使用HTML标记语言显示页面并标识超链接

*

  ###### WWW应用客户:

  * 浏览器
  * web服务器
复制代码
##### 网页类型

* 静态网页

  ![image-20250418213754368](https://i-blog.csdnimg.cn/img_convert/ffac43f1e21538983b1061283e6f9169.png)
* 动态网页:如CGI脚本

  ![image-20250418213804894](https://i-blog.csdnimg.cn/img_convert/ec8281293381d6d37f7623a96a1285e4.png)
* 活跃网页:例如Java Applet

  ![image-20250418213817858](https://i-blog.csdnimg.cn/img_convert/bd9373b4be8b9e4ab8bfeb8649eb5d40.png)
复制代码
##### HTTP:操作过程、消息格式

*

  ###### 概述

  * 采用C/S模型
  * 传输层采用TCP
  * 无状态协议:服务器端不保存以前的访问记录,对于每个请求都是单独处理
*

  ###### HTTP操作过程(P69)

  ![image-20250418214031605](https://i-blog.csdnimg.cn/img_convert/7850498298e4f9f2ee534337b10a5a92.png)
复制代码
##### 持久连接与非持久连接

* 非持久连接:每次传输对象都要重新建立TCP连接,响应时间为2×RRT+文件传输时间(HTTP1.0)

  * 采用非流水线机制
* 持久连接:一个TCP连接可以传输多个对象(HTTP1.1)

  * 流水线机制:Client可以连续发出多个请求,而不必等待前一个请求的响应完成
复制代码
##### Cookies和Proxy

* HTTP有两类消息:请求(request),响应(response)

  * 消息格式:ASCII

  * 请求消息的格式:

    ![image-20250418214634781](https://i-blog.csdnimg.cn/img_convert/b97fd57c0b7a1a024422cb22aa4909df.png)
  * HTTP方法

    ![image-20250418214709591](https://i-blog.csdnimg.cn/img_convert/45b9a7b9c8473429b2b0b33ad296a1de.png)
  * HTTP响应消息的格式

    ![image-20250418214734408](https://i-blog.csdnimg.cn/img_convert/454c46f693d09e75ac78827d6b9a037a.png)
  * 状态码

    ![image-20250418214800663](https://i-blog.csdnimg.cn/img_convert/fe2fa03453723aedc249fe39249c692f.png)
*

  ###### Cookie:Web服务器对于访问用户的标识信息,可用于识别用户、记录用户信息和访问情况(用于保持访问应用)

  * 在HTTP响应中包含一行set-cookie头信息

  * 在HTTP请求中包含一行cookie头信息

  * Client主机中保存一个cookie文件,由浏览器管理

  * Server端的后台数据库

  * 应用包括:身份认证、购物车、个性化推荐信息、用户会话状态等

  * ![image-20250418215234524](https://i-blog.csdnimg.cn/img_convert/7dab2158588e5b84591cf44f243aebae.png)

*

  ###### 代理服务器(Proxy Server):目的用于减轻Web服务器的负担,加快访问速度

  * ![image-20250418215345766](https://i-blog.csdnimg.cn/img_convert/520726648606597f4c132be25c839c8f.png)
*

  ###### 浏览器Caching:浏览器缓存访问过的网页,进一步减少网络负载

  * 缓存更新:条件GET(P87)

Email应用

复制代码
##### 电子邮件系统的构成:用户代理(UA)、邮件服务器(mail servers)、邮件传输协议:SMTP、邮件访问协议:IMAP,POP3

*

  ###### 邮件服务器采用C/S模式

* ![image-20250418220018573](https://i-blog.csdnimg.cn/img_convert/d00c39c53c7c26cf4f5dbc16e9dc6483.png)

* ![image-20250418215957482](https://i-blog.csdnimg.cn/img_convert/92a7c85dfb576fd193bad6dba6bdb782.png)

*

  ###### SMTP采用C/S模式,传输层协议使用TCP,server端口号为25

  * 直接传输:邮件直接从发信人的服务器传输到收信人的服务器,而不从中间服务器转发
  * 命令/响应方式交互
  * ![image-20250418220350568](https://i-blog.csdnimg.cn/img_convert/2d71892254c506f92e2940a0911145a1.png)
*

  ###### 邮件访问协议:POP3(端口号:110)和IMAP(端口号:143)

  * ![image-20250418220550692](https://i-blog.csdnimg.cn/img_convert/8937b3fb74a31a775aa2f7de9448810e.png)
  * ![image-20250418220611547](https://i-blog.csdnimg.cn/img_convert/8972fab5f2d1e79e54b0e3d947075b78.png)
*

  ###### 邮件格式:多媒体扩展

  * SMTP不能传送可执行文件或其他的二进制对象,限于传送7为ASCII码,会拒接超过一定长度的邮件
  * 通过因特网邮件扩充(MIME)
  * ![image-20250418220821724](https://i-blog.csdnimg.cn/img_convert/6d84e24fff44b0535978903b9cc04cec.png)
  * ![image-20250418220846376](https://i-blog.csdnimg.cn/img_convert/8797eca14a0a1a5ee0f48a4aae3868c8.png)

FTP:文件传输协议

  • 用于和远程主机之间上传/下载文件
  • C/S模式
  • 传输协议使用TCP
  • FTP两个连接
    • 控制连接
      • FTP client 与 FTP server(端口21)建立控制连接
      • 进行身份验证
      • 传输命令和响应
      • 持久连接:在访问期间,控制连接一直存在
    • 数据连接
      • 需要传输数据时建立数据连接
      • 数据传输结束后,连接关闭

远程登录协议:Telent

  • 远程登录:从一台计算机通过网络登录到远程另一台计算机上进行操作

  • Telent特性:

    • C/S模型
    • 基于TCP,server端口号:23
    • 通用、双向、基于8位字符的通信协议
  • NVT:网络仿真终端

    • 标准的数据格式
    • 实现异构设备的互联

--第三章 传输层:实现端到端的可靠通信

传输层的功能及服务

复制代码
##### 进程-进程的逻辑通信
复制代码
##### 复用与解复用

* 多路复用:多个应用进程的消息在同一个网络接口上传输
* 进程标识:16位端口号
* 复用:源端传输层在应用层消息之前加上源端口号和目的端口号
* 解复用:目的端传输层根据端口号确定目的进程
复制代码
##### 端口号

* 熟知端口(常用端口)
  * 服务器进程使用
  * 开放、固定值
  * 值一般是0\~1023
* 短暂端口
  * 客户进程使用
  * 由操作系统分配,值不固定
  * 值一般是49152\~65535
复制代码
##### 两种服务:TCP与UDP

* TCP:可靠、按顺序交付
  * 建立连接
  * 流量控制
  * 拥塞控制
* UDP:不可靠、无序交付
复制代码
##### 传输层不提供时延保障和带宽保障

可靠数据传输的原理

复制代码
##### 提供可靠传输服务的层次:传输层和数据链路层
复制代码
##### 可靠传输代表:数据不会丢失、重复、失序(P18\~P50)
复制代码
##### ![image-20250419190749175](https://i-blog.csdnimg.cn/img_convert/23a760696ce2968bcf41cc4f14bfd168.png)

无连接传输协议:UDP

  • 简单高效的传输层协议

  • 提供"尽力而为"的服务

    • UDP数据报可能丢失
    • 接受的顺序可能与发送顺序不一致
  • 无连接协议

    • 在发送数据之前,发送端和接收端没有握手
    • 每个UDP数据报都是独立的,与其他的数据报无关
  • 相比IP:增强了多路复用/多路分解

  • 数据格式

  • 伪报头:只用于校验和的计算,不发送

面向连接的传输协议:TCP

  • 面向连接、全双工数据传输、端到端传输
  • 连接管理:三次握手建立连接,四步释放连接
  • 动态滑动窗口:发送窗口不超过对端通知的接收窗口值
  • 采用ARQ协议,流水线方式工作,流量控制,拥塞控制,可靠、按序的字节流传输
  • TCP不能保证上层消息的边界
  • TCP的报文段
    • 发送序号与接收序号
    • 控制字段
  • 可靠数据传输:序号管理
  • 流量控制:防止发送方发送过快导致接收方缓存溢出造成数据丢失
    • 基本方法:接收方反馈,限制发送方的发送数据量
  • RTT估值=α×RTT估值的历史值+(1-α)×RTT的测量值
  • 传输效率问题:
    • Nagle算法:一次尽量发送较大的数据量
    • Clark算法:只有在较大缓存时,才发送窗口更新通知

拥塞控制的主要原理

  • 拥塞即网络边缘主机发送到网络中的负载超出了网络的承载能力

  • 特征包括:时延增大(数据包在缓存中排队)、数据包丢失(路由器缓存溢出)

  • 拥塞控制是全局问题,涉及全网所有的路由器和主机

    • 流量控制是局部问题,仅限于发送方和接收方之间
  • 拥塞控制

    • 开环方法

    • 闭环方法

    • TCP拥塞控制方法

      • 细节发送端限制发送速率,发送速率近似为cwnd/RTT 字节/秒
      • cwnd动态变化,取决于网络拥塞情况
      • 发送端感知拥塞
        • 当定时器超时或收到3个重复ACK时,即认为有数据丢失
        • 发送端随即降低发送速率(降低cwnd)
      • 三个机制:慢启动、AIMD、根据拥塞情况调整策略
    • 慢启动:启动速率很低,按照指数级增加发送速率直至发现数据丢失(或者达到预先设定的阈值)

    • 拥塞窗口达到阈值后,进入拥塞避免(CA)阶段

    • 出现数据丢失的情况:MD

    • 快速重传机制

相关推荐
豆豆1 小时前
day26 学习笔记
笔记·opencv·学习·计算机视觉
YGGP1 小时前
【每日八股】复习计算机网络 Day1:TCP 的头部结构 + TCP 确保可靠传输 + TCP 的三次握手
网络·tcp/ip·计算机网络
愚润求学2 小时前
【数据结构】红黑树
数据结构·c++·笔记
a东方青4 小时前
vue3学习笔记之属性绑定
vue.js·笔记·学习
嵌入式DZC4 小时前
MCGS昆仑通太屏笔记
笔记
豆豆4 小时前
day28 学习笔记
图像处理·笔记·opencv·学习·计算机视觉
知孤云出岫5 小时前
计算机网络中科大 - 第7章 网络安全(详细解析)-以及案例
计算机网络·安全·web安全
只因从未离去5 小时前
黑马Java基础笔记-1
java·开发语言·笔记
还鮟6 小时前
JAVA 继承
java·开发语言·笔记