第一节:概述

1.1 计算机网络在信息时代的作用

1.1.1 定义

Internet是全球最大的,最重要的计算机网络,是计算机网络的一部分

1.1.2特点

1.连通性(connectivity)2.资源共享(sharing)

image-20230716125923545

1.2 互联网概述

1.2.1 网络的网络

网络=节点(node)+链路(link)

链路有点抽象

image-20230716131517681

多个网络——》路由器连接——》更大的网络——》网络的网络——》互连网

更多的互连网覆盖全球连接成互联网

image-20230716131956839

1.2.2 互联网基础结构发展的三个阶段

第一阶段(1965–1990):1983年作为互联网的诞生时间,TCP/IP协议成为APPANET的标准协议

第二阶段(1985–1993):三级结构:主干网,地区网,校园网或者企业网

第三阶段(1993–至今): 多层isp结构:主干isp,地区isp,本地isp

isp就是卖卡的运营商:smile://

(isp ix:互联网交换点)

image-20230716132040781

cp就是b站这种

image-20230716133419473

*一些历史

image-20230716133634489

1.2.3 互联网的标准化工作

管理金字塔:image-20230716133852203

发表格式:image-20230716133959590

标准化过程:image-20230716134141548

1.3 互联网的组成

1.3.1互联网的边缘部分

工作方式分:

image-20230716180923056

核心(服务

边缘:终端系统,例如你的手机,电脑,是网络的尽头,不负责转发

计算机之间的通信:

主机a的某个进程与主机b的某个进程进行通信

通信方式:

1.客户-服务器方式(c/s方式)

image-20230716182252086

客户主动,服务被动,通信是双向的

特点:image-20230716182549951

2.对等连接方式(p2p方式–cs升级版)

image-20230716193447000

既能请求又能提供服务,平等对等通信

1.3.2*互联网的核心部分

  • 复杂部分

  • 连接边缘的主机

    路由器(router)–>实现分组交换的关键构件

电路交换

三个阶段:
  • 建立连接:占用通信资源
  • 通话:一直占用通信资源
  • 连接释放:归还通信资源

!!!要一直占用才算电路交换

优点:
  1. 通信时延小。因为通信线路为通信双方用户专用,数据直达,因此通信时延非常小,当连续传输大量数据时,这一优点非常明显。
  2. 有序传输。因为通信双方之间只有一条专用的通信线路,数据只在这一条线路上传输,因此不存在失序问题。
缺点:

1.建立连接时间长。电路交换的平均连接建立时间对计算机通信来说太长。

2.线路独占,使用效率低。电路交换一旦建立连接,物理通路就被通信双方独占,即使通信线路空闲,也不能够供其他用户使用,因而信道利用率很低。

3.灵活性差。只要连接所建立的物理通路中的任何一点出现了故障,就必须重新拨号建立新的连接,这对十分紧急和重要的通信是很不利的。

4.难以规格化。电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信,也难以在通信中进行差错控制。

分组交换:

特点:
  • 采用储存转发技术

image-20230716200204320

工作方式

image-20230716201153174

  • 数据段前面添加首部就构成了分组(packet)

image-20230716200136812

这个部分的不同称呼)))

物理层数据包: 比特流 (bit stream)
链路层数据包:帧 (frame)
网络层数据包: IP 数据报或分组 (packet)
运输层数据包: TCP 报文段 (segment) 或
UDP 用户数据报 (datagram)
应用层数据包: 报文 (message)

*首部由不同的协议决定

  • 接收到后去掉首部并且还原

  • 每个分组独立选择传输路径

优点

image-20230716201920058

高效、灵活、迅速、可靠

缺点

image-20230716202046591

排队、带宽不确定、开销大

10个字节利用率为百分之90

报文交换:

优点:
  1. 无需建立连接。报文交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接的时延,用户可以随时发送报文。
  2. 动态分配线路。当发送方把报文传送给节点交换机时,节点交换机先存储整个报文,然后选择一条合适的空闲线路,将报文发送出去。
  3. 可靠性。如果某条传输路径发送故障,会重新选择另一条路径传输数据,因此提高了传输的可靠性。
  4. 提高线路利用率。通信双方不是固定占用一条通信线路,而是在不同的时间分段部分占用物理线路,因而大大提高了通信线路的利用率。
缺点
  1. 引起了转发时延。这是因为报文在节点交换机上要经历存储转发的过程
  2. 需要较大的存储缓存空间。这是因为报文交换对报文的大小没有限制
  3. 需要传输额外的信息量。这是因为报文需要携带目的地址、源地址等信息。

image-20230716202236271

直观体现分组交换的便利快捷

image-20230716202442974

1.4计算机在我国的发展

*一些历史

image-20230717101308796

cn规模最大的五个计算机网络

image-20230717101458456

1.5 计算机网络的类别

1.5.1 计算机网络的定义

未统一定义,有通俗定义(怎么连接?怎么管理?怎么共享?)

image-20230717103507953

1.5.2 几种不同类别的计算机网络

  • 按作用范围分

image-20230717103752857

  • 按使用者分

公用网(public)和专用网(private)

  • 接入网

image-20230717104426936

1.6*计算机网络的性能

1.6.1* 计算机网络的性能指标

1.速率(香农)

  • 比特是成为信息的基本单位
  • 速率指的是数据的传送速率,称为数据率或者比特率
  • 单位:bit/s kbit/s Mbit/s Gbit/s(速率的换算为10的三次方,数据量的换算为2的10次方)
  • 为理想状态额定功率

2.带宽(bandwidth)

频域与时域(?)

image-20230725171202338

下载速度用字节表示,带宽用比特表示

指网络系统的通信链路(与信道或者传输媒体同意)传输数据的能力,即表征单位时间内从网络中的某一点到另一点所能通过的”最高数据率“。单位是bit/s

3.吞吐量(略)

image-20230725172027073

image-20230725172045324

吞吐量降低会感觉到时延

4.时延(delay)

1.发送时延(终端)

*数据从电脑等发送到网络上,与数据量和带宽有关(带宽提高发送时延降低)

image-20230725175506604

公式:
$$
发送时延=数据帧长度(bit)/发送速率(bit/s)
$$
发射时延与传输距离没有关系

2.传播时延(线路)

image-20230725175843073

传播时延与传播距离有关,与发送速率无关,因为一般来说速率是固定的

3.处理时延和排队时延(路由器)

*排队时延和处理时延是息息相关的

*当排队时延无限大时,数据会爆,这是很糟糕的情况

*处理时延是主机或路由器处理分组花的时间

*排队时延是排队等待处理的时间花费

4.时延带宽积

image-20230725181859712

带宽是线路的横截面积,时延是长度,单位是比特,表示数据栈排满能装多少数据 (发了,但对方还没接收到的数据量)

总时延

总时延=发送时延+传播时延+排队时延+处理时延

image-20230725181042881

5.往返时间RTT(round-trip time)

从发送完数据到确认接收完数据的时间

(传输时延+处理时延+返回时延)

image-20230725195443604

相关公式:
$$
有效数据率=数据长度/(发送时间+RTT)=数据长度/总时延
$$

6.利用率

image-20230725200730902

利用率指的是有多少信道正在被利用

时延带宽积是指完全使用时有多少空位可以让数据等待

  • 利用率越大时延越大,不是越大越好,需要一定的容错(一般在30-50%,超过70%认为拥挤)

1.6.2计算机网络的非性能特征

image-20230725202926390

1.7*计算机的体系结构

1.7.1计算机网络体系结构的形成

*因为差别多需要统一的结构便于沟通

*将大问题通过分层变成若干个小问题

1983年ISO 7498标准

OSI

image-20230725204046783

1.7.2协议与划分层次

image-20230725204220292

工作分层,设定规则

协议(语法、语义、同步/时序)

image-20230725204325136

协议分为文字描述和代码描述

划分层次(理解不能)
分层要求
  • 层次适度
  • 功能确定
  • 层次独立
  • 层次关联
  • 层次对等
  • 层次协议
  • 层次接口
层次功能
  • 差错控制
  • 流量控制
  • 分段和重装
  • 复用和分用
  • 逻辑连接的建立和释放

1.7.3具有五层协议的体系结构

osi不适合市场因此被淘汰了,取而代之的是由市场选择的事实上的国际标准(TCP/IP),分为应用层、运输层、互联网层、网络接口层

image-20230725210708216

缺点

image-20230725211115327

实际教学为5层结构

image-20230725211349577

先大体过一下每个层次的功能

  • 应用层

用户之间

image-20230725211621386

  • 运输层(TCP/UDP)

进程之间

image-20230725211705488

  • 网络层(IP)

主机之间

image-20230725211812661

  • 数据链路层

相邻节点之间

image-20230725212835168

  • 物理层

    传比特image-20230725213023391

通信示例:image-20230725213651601

(路由器也有应用层这些,但实际应用不使用)

1.7.4实体、协议、服务和服务访问点

image-20230725213905325

*协议沟通同一层次的实体,对上层透明

*服务访问点用于相邻两层的实体进行交换信息,本质上是一个逻辑接口

*服务是垂直的

*上层以为他们直接靠协议进行通信,实际上是上层在使用下层的服务,下层对上层来说是透明的

1.7.5 TCP/IP的体系结构(实际)

image-20230725215853688

image-20230725215920283核心部分越简单越好

体系结构对比

image-20230802235901147

第二节:物理层

2.1 物理层的基本概念

  • 位置:网络体系结构的最底层(不是具体的传输媒体,也不是连接计算机的具体物理设备
  • 功能:image-20230726202057797

接收,编码,传输

  • 作用:屏蔽掉不同传输媒体和通信手段的差异(将同一句话说给不同的人)

  • 主要任务:确定与传输媒体的接口有关的一些特性

  • 物理层协议是DTE和DCE间的约定,具有以下特性:

  1. 机械特性(长什么样)
  2. 电气特性(用多少电平,电阻之类)
  3. 功能特性(每根线的作用)
  4. 过程特性(各种事件的出现顺序)

2.2 数据通信的基础知识

基本术语:

  1. 通信:在源点和终点之间传递消息或者信息(消息不等于信息)
  2. 消息:能被通信双方理解而且可以相互传递的文字、符号、数据、语音和图像等
  3. 信息:消息中的有意义的部分,消息是信息的载体(关键)
  4. 数据:运送消息的实体,分为模拟数据和数字数据
  5. 信号:是消息的载体,通信系统中消息通过电信号传递,分为模拟信号和数字信号

栗子:我发了一段乱码给小米,我们在通信,我发的是消息,但是小明看得懂每个字,但是连在一起就不会了,这段话对他没有意义,他也就没收到信息,乱码中有字母数字等为数据,在路线中通过电信号传递

画个示意图整理概念:

image-20230726213808371

常见编码方式

  • 不归零制(不确定·比特数)

  • 归零制(跳变后归零)

  • 曼切斯特编码(由上升沿或者下降沿作为0或1)

  • 差分曼切斯特编码(由下一个比特状态确定,下一个是0边缘跳变,否则不变)

    特点

    image-20230726230337759

基本带通调制方法

image-20230726230632971

调幅:不同信号用不同幅度的波形替代(高低电平幅度不同)

调频:高低电平频率不同

调相:高低电平相位不同

码元

image-20230726231645991

2.2.1 数据通信系统的模型

源系统(信源和发送器)

传输系统

目的系统(接收器和信宿)

image-20230726211024317

2.2.2 有关信道的几个基本概念

  • 信道:信号传输的通道(单工、半双工、全双工通信)
  • 基带信号(未调制,较多低频)
  • 调制(基带调制和带通调制)

image-20230726211736738

基带调制(编码coding)—改装自行车

带通调制—自行车放在大货车上、

2.2.3 信道的极限容量

信道传输信号会失真

image-20230726231845885

失真原因:

image-20230726232158449

image-20230726232222015

信噪比:信号和噪声的比值

信道的频率范围

奈氏准则(理想情况)

image-20230726232653280

image-20230726235024390

信噪比

image-20230726233449890

s———signal

n———noise

香农公式!!!!

image-20230726233652065

将信噪比考虑进去了,只要速率低于这个值就一定能找到传输方式减少差错

image-20230726234017828

奈氏是上限,香农是下限

奈氏考虑码制,香农考虑信噪比

2.3 物理层下面的传输媒体

2.3.1 导引型传输媒体

image-20230727202119189

*有线–网线等

双绞线

特点

twist起来可以减少信号辐射

A/D信号都可以传输

一般来说默认最高传输距离为100m

便宜

image-20230727202737489

类别差别

image-20230727202810661屏蔽更安全

image-20230727203032556

F/UTP最外层

U/FTP里层

F/FTP双层

标准

image-20230727203754882

8类线,负责传输电磁波信号

image-20230727203910384

同轴电缆

特点

一层包一层

被双绞线和光纤薄纱

容易被偷

image-20230727204822445

光缆

image-20230727205119550

特点

发送端要有光源,不能有电源(发光二极管,半导体激光器等)

接收端要有光检测器还原出电脉冲

传输方式

利用物理相关知识设计使得光以某个入射角入射时,光线一直在线路中进行全反射传播

image-20230727205628057

多模与单模

image-20230727205919922

多模传的多但是距离短(损耗大)

单模传的少但是长

使用类别

image-20230727210131465

优缺点

image-20230727210212003太脆弱了需要很多保护层

2.3.2 非导引型传输媒体

image-20230727202135018

*无线–wifi

无线电微波通信

image-20230727211708263

通过微波接力扩大传输距离(地面和太空)

同步卫星

image-20230727212445803

近地卫星

image-20230727212625219

2.4 信道复用技术

2.4.1 频分复用、时分复用和统计时分复用

信道复用—–传输多个信号,提高信道利用率,降低成本

image-20230727213639106

频分复用(电视同一时间有不同的频道可以观看)

image-20230727213835807

分到哪个就只能用哪个

频分多址(同一个频道轮流有不同的电视节目)

image-20230727214102303

时分复用

image-20230727214404250

一天按一个小时为单位(TDM帧),前20分钟给a用,然后给b用,最后给c用,循环24次

缺点

前20分钟不管你用不用,后面的人都得等待,效率低——

时分多址

前20分钟不单单给a用,也可以给a的好朋友efg用

image-20230727214859241

统计时分复用

前面说了时分复用会让利用率降低,那么统计时分就是在此基础上添加新补丁的版本

将原本的TDM帧升级为STDM帧,通过复用器将每个部分进行扫描,有数据则存入STDM中,当帧满时再发送

image-20230727224015005

2.4.2 (光)波分复用

其实就是光波的频分复用,只不过这里的频率指的是光波的波长

image-20230727224336036

image-20230727224415679

2.4.3 码分复用(码分多址)

前面的时分和波分复用都是固定了时间或者频率范围进行描述的,而码分复用就是要求时间及频率都相同的情况下如何进行码分复用,很简单,就是给不同的游客分发不同的牌证在同一辆车上跑,等下车时看牌分人

image-20230727225132254*

原理

image-20230727225745816

将原来的0和1扩展内核变成一个m位的二进制数,例如1101代表1,那么它的反码0010就是表示0

为了便于计算,码片的0表示成-1,1就是1

为了能复用传输的东西也扩大了m倍

如何区分不同码片?

类比数学上的向量内积

image-20230727230407485

image-20230727230416910

怎么从合并信号中分离出单一信号?

image-20230727231251326

首先确定两个码片的波形,然后将两个信号叠加起来(算数),最后将信号分离时需要哪一个信号就将合并的信号与其码片进行内积计算,得到的波形就是我们需要的原信号(这里1代表1,0代表-1)

各种复用技术的使用条件

频分复用适用于传输的信号在不同的频带上

时分复用适用于在不同的时间上传输的信号

波分复用适用于光信号传播

码分复用适用于干扰较强时

第三节 数据链路层概述

3.1.1 关于数据链路层

作用:

    1.在比特流中找到一组数据的开始以及结束位置

    2.解决多个设备接收比特流问题

    3.**解决比特传输错误问题** 

链路、数据链路、层、帧

image-20230801160555027

链路:物理且无源

数据链路=链路+协议

层:将结点与结点之间通过链路传输帧

帧:分组交换的单位到了链路层被叫做帧

协议栈看数据链路层

image-20230801160948245

层对层,无视下层(透明),服务上层,看做直接传输帧通信

image-20230801161140434

数据链路层的信道类型

  1. 点对点信道(骨干线路)
  • 使用协议?

PPP

  1. 广播通信(边缘线路)
  • 使用协议?

CSMA/CD

3.1.2 三个基本问题

封装成帧

比特流前加首部和尾部进行帧定界

数据链路层往上只加首部

MTU(Maximum Transfer Unit)—帧的数据部分最长限制/IP数据报长度(图片蓝色部分)

image-20230801162117153

规定原因:()

成帧(FRAMING)方式

  • 字节计数法(无差错情况)

出错会导致一连串帧的错误

image-20230801162707892

  • 带字节填充的定界符法

SOH(首部)与EOT(尾部)

数据部分若有与SOH或EOT相同的部分则会错误判断帧的边界

image-20230801163037221升级版:在有歧义的数据前面加上特殊字节或者字符

image-20230801163526670

  • 带比特填充的定界符法
  • image-20230801164114484
  • 物理层编码违例
  • image-20230801164129689

透明传输

翻译:发送不发生差错

利用前面的插入方式使得传输正确

差错控制

误码率(BER)

错误的比特占传输比特的总数

纠错码(改)

使用于错误发生比较频繁的线路(无线链路)

检错码(丢)

用在高可靠、误码率较低的信道上,例如光纤线路(光纤线路)

循环冗余检验CRC原理

  1. 在原来的数据部分(k位)加上n位的冗余码(FCS)构成帧

  2. 整体有错丢弃反之接收

  3. 计算方式:image-20230801165716585

  4. 栗子:image-20230801171636250

     这种应该是通过代码程序实现![image-20230801171652908](https://gitee.com/Charles-Webber/blog-image1/raw/master/img/image-20230801171652908.png)
    

国际标准P

image-20230801172010613

FCS不一定由CRC得到

CRC只能做到接收到的帧没有错误,但是顺序问题不能判断

3.2 点对点协议PPP

3.2.1 PPP协议的特点

工作要求

image-20230802112600769

image-20230802112720563

PPP不同于广播在于它会进行地址协商

协议组成

LCP与NCP

LCP(Link Control Protocol):链路控制协议—-用于建立、配置和测试数据链路的链路控制协议,双方可以协商一些选项最重要****的功能之一是身份验证**

NCP(Network Control Protocol):里面包括了不同的协议,用于不同网络层的数据传输

3.2.2 PPP协议的帧格式

帧格式

image-20230802113938474

透明传输方式

异步传输—字节填充法

image-20230802114528795

IP数据报里面与首位尾部一样的字节(7E)前面填充一个特殊字节,例如7D,然后IP数据报中原来就有的7E改为别的特殊字节例如5E

同步传输—零比特传输法

image-20230802114935943

标志符是六个一,为了不让IP数据报中出现6个1,在传输数据时当出现连续的5个1时添加一个0(与后面数据无关),接收同理出现连续的五个1则删除接下来的那个比特

同步异步区别

*同步面向比特,单位帧,时钟统一,无间隔

*异步面向字节,单位字符,效率低,高速来南路开销大

3.2.3 PPP协议的工作状态

image-20230802115318053
(还是挺清晰的)

3.3广播通信的数据链路层

3.3.1 局域网的数据链路层

优点:

具有广播功能便于拓展

局域网拓扑结构

image-20230802220608850

优缺点

总线:

(优点)结构简单布线容易、可靠性较高,易于扩充

(缺点)所有的数据都需经过总线传送,总线成为整个网络的瓶颈;出现故障诊断较为困难。另外,由于信道共享,连接的节点不宜过多,总线自身的故障可以导致系统的崩溃

星型:

优点:结构简单、容易实现、便于管理,通常以集线器(Hub)作为中央节点,便于网络维护和网络管理

缺点:中心结点是全网络的可靠瓶颈,中心结点出现故障会导致网络的瘫痪。

环形结构:

优点:结构简单,适合使用光纤,传输距离远,传输延迟确定。

缺点:环网中的每个结点均成为网络可靠性的瓶颈,任意结点出现故障都会造成网络瘫痪,另外故障诊断也较困难。最著名的环形结构网络是令牌环网(Token Ring)

树型结构:

优点:连结简单,维护方便,适用于汇集信息的应用要求。

缺点:资源共享能力较低,可靠性不高,任何一个工作站或链路的故障都会影响整个网络的运行

网状结构:

优点:系统可靠性高,比较容易扩展,但是结构复杂,每一结点都与多点进行连结,因此必须采用路由算法流量控制方法。目前广域网基本上采用网状结构。

缺点: 1、拓扑结构复杂,其安装和配置都比较困难。 2、网络控制机制复杂,必须采用路由算法和流量控制机制

媒体共享技术

静态划分通道:频分、时分、波分、码分

(通信量大且稳定,用户少且固定,代价高,不适合局域网)

动态媒体接入控制(多点接入):随机接入(以太网)与受控接入(轮询polling)

*为解决数据发生冲突的情况,使用动态媒体接入控制

以太网的两个标准

  1. IEEE 802.3(有LLC协议)

  2. DIX Ethernet V2(商用,仅有MAC协议)

适配器

计算机通过适配器(网卡)来与互联网进行通信

image-20230802234920407

cpu找IP地址,网卡找硬件地址

作用

image-20230802235303986

以太网的两个重要措施

  1. 采用较为灵活的无连接的工作方式
  2. 发送使用曼切斯特编码,便于同步

3.3.2 CSMA/CD协议(半双工)

工作方式

(先听后发,边听边发,冲突停止,延迟重发)

  • 多点接入–说明是总线型网络
  • 载波监听–边发送边监听,发前和发中都要检测
  • 碰撞检测–判断有没有发生碰撞:检测信道上电压的变化情况,电压摆动值超过一定值认为碰撞

解决方法

  • 适配器立即停止发送
  • 等待随机时间后再次发送

流程图

CSMA/CD原理及流程图-布布扣-bubuko.com

问题

image-20230803002133229

监听反应不过来,发生碰撞到终点的时间里不能判断,而此时还在发数据,数据会发生更大的错误

image-20230803002420476

image-20230803002639512

确实是:laughing:

二进制指数退避

image-20230803002804614

image-20230803002813046

  • 二进制的名字来源于2的k次方-1那里

  • r=2*k-1

  • T=r*2t(基本退避时间)

  • k=Min[重传次数,10]

  • 重传16次丢弃并且高层报告

image-20230803003354398

这个64字节有历史遗留:dancer:

发生碰撞后线路上的其他用户可能不知道,这时发送站会人工发送信号到线路上通知所有用户发生碰撞

特性

image-20230803005808940

3.3.3 使用集线器的星型拓扑

  • 传统传输媒体发展:粗同轴电缆–细同轴电缆–双绞线
  • 双绞线对应星型拓扑,相对总线更好组网
  • 可靠性依靠集线器(hub)

*每个站到集线器的距离不超过100m

image-20230804115517088

F对应光纤

特点

image-20230804115611779

  • 逻辑上还是总线型

  • 共享带宽

  • 工作在物理层

3.3.4 以太网的信道利用率

  • 多个站可能会发生碰撞
  • 碰撞后利用率低于100%

计算公式:
$$
Smax=T0/T+t=1/(1+a)
a=t/T
其中t为争用期的一半,T为帧的发送时间
$$
image-20230804120238964

帧长路短就是好(S低于30%过载)

3.3.5 以太网的MAC层

*LLC层已经不用了

image-20230804120639225

就类似于你家的经纬度,固定了的

*一个接口一个网卡一个MAC地址

结构

image-20230804121054951

厂家就后三个字节自己定义不重复即可

分类

image-20230804121255567

发一个人,发一个组,发一个班

image-20230804125654311

image-20230804125712343

  • 适配器收到一个MAC帧会先用硬件检查帧中的MAC地址
  • 是发送给自己的则接收并处理
  • 不是发给自己的就丢弃
  • 混杂方式工作的有帧就收

MAC的帧格式

image-20230804130016505

image-20230804130025433

image-20230804130203716

无效MAC帧

image-20230804130249583

无效丢弃,不重传

3.4 扩展的以太网

*扩展仍然是一个网络

3.4.1 在物理层扩展以太网

使用光纤扩展(距离)

image-20230804130815062

使用集线器进行扩展(用户数量)

image-20230804130917492

限制:双绞线最大距离,集线器接口数

图示正好是一个冲突域,扩展越多冲突域越来越大

优缺点

image-20230804131350009

image-20230804131358658

3.4.2 在数据链路层扩展以太网

早期网桥,现在交换机(多接口网桥)

特点
  • 两个都是全双工工作方式,解决了共享总线的问题

  • 减少了碰撞域(具有并行性 )

  • 接口有存储器

  • 即插即用,交换表通过自学习建立

  • 使用专用的交换结构芯片,比使用软件转发的网桥快的一

  • 接口独享带宽,支持多类型多速率的接口

自学习

image-20230804132613963

与集线器相连

image-20230804132928791

更新困难,集线器没有交换表,默认广播

两台交换机相连

image-20230804133029794

多台交换机相连

image-20230804133503240

可能会形成回路,导致广播风暴

生成树协议

image-20230804133842252

从逻辑上把两条线变成一条线(前两张图)

从总线到星型以太网

image-20230804134709381

从CSMA/CD协议到全双工

image-20230804134751497

3.4.3 虚拟以太网

以太网的问题

image-20230804134815560

广播域

image-20230804135215265

image-20230804135227396

冲突域:相互发信息会冲突的区域

广播域:发送消息大家都能收到的区域

安全问题、管理问题

在一个广播域不想让某些用户接收到消息

解决方法:虚拟局域网VLAN(Virtual LAN)

image-20230804135545399

只是局域网的一种服务,是一种协议,不是新型的局域网

image-20230804135807660

优点

image-20230804140138213

划分标准

image-20230804140242934

一般基于端口

3.5 高速以太网(介绍)

3.5.1 100BASE-T 以太网

image-20230804140538329

特点

image-20230804140711348

3.5.2 吉比特以太网

特点

image-20230804140737933

3.5.3 10吉比特以太网(10GE)和更快的以太网

特点image-20230804140817558

3.5.4 使用以太网进行宽带接入

特点

image-20230804140849208

第一次考试纠错

image-20230804191349420

电路交换比其他两种方式实时性都要高,分组交换主要是 时延比报文小

img

局域网是分组广播式网络,不需要网络层的路由功能

image-20230804191934268

审题!!!这里说的是三层以下,即是1,2层,网桥交换机是数据链路层的,中继器和集线器是物理层的

三层的是三层交换机

image-20230804192126631

A给B发送消息,B要回复A是否收到消息了(题目没说就忽视了)

第四章 网络层

网络层解决了什么问题

image-20230808141049355

4.1 网络层提供的两种服务

观点一:网络负责可靠交付(虚电路———逻辑链接)

image-20230806211230128

很容易发生数据的丢失

image-20230806211535386

观点二:网络提供数据报服务

image-20230806211626416

由更高层负责可靠通信(运输层)

问题是会产生失序问题,但是网络健壮性增强了

虚电路和数据报服务的对比

image-20230806212312552

image-20230806212321164

4.2 网际协议IP

4.2.1 虚拟互连网络

不同网络的差异

image-20230806212752293

通过使用中间设备来互连不同的网络—路由器(网络层)

各种中间设备

image-20230806213117006

中继器和集线器是物理层设备

IP协议

image-20230806213247881

image-20230806213257734

***IGMP?

image-20230806213403935

数据实际上运输会由上往下封装再由下往上解码运输,但是

4.2.2 IP数据报的格式

image-20230806214222431

IP数据报分为首部和数据两部分,其中首部分为固定部分20字节和可变部分

版本

前4个字节是协议版本,例如IPv4

首部长度

一比特代表4字节

为1111时首部长15*4=60字节

区分服务

一般不用

总长度

首部+数据的长度,一比特为一字节

最大为2的16次方-1字节,但是实际上传输不了这么多—MTU限制总长度,那么就要将数据分片传输

标识位

为了将分片的数据能够准确无误的重组

所有分片都有相同的标识

标志

为了将分片的数据能够准确无误的重组

标志位中有保留位,待开发

MF位:more fragment(是否最后分片),1表示后面还有分片,反之没有

image-20230806220909198

DF位:don‘t fragment(是否允许分片),1表示没有分片,0表示分片

image-20230806220920117

片偏移

为了将分片的数据能够准确无误的重组

判断给数据开🔪的地方在哪里

栗子

image-20230806220507327

每个MTU里面包括20字节的首部和1480字节的数据,增加了首部开销

问题:为什么不把分组平均

答:避免头重脚轻,浪费首部

计算

image-20230806221237407

数据的尾巴除以8得到偏移量

生存时间

路由器之间传递一次叫

生存时间就是规定这个跳的次数

不同的操作系统这个TTL(生存时间)值不同

目的是不让数据在网络上无休止的浪费资源

协议

协议负责指出数据部分应该交给上层的哪个部分

image-20230806222222105

首部校验和

只对首部的部分进行校验,首部变了校验和也发生变化,不用管数据部分,错了让运输层想办法

image-20230806222448510

源地址,目的地址

一个接口一个IP地址,32位的二进制地址

可选字段

不怎么用

IP协议功能及报头字段总结

image-20230806223210166

以上首部各部分功能

4.2.3 IP地址

IP是啥?你家的经纬度~

image-20230806223603213

32位还是少了

IP地址采用2级结构

image-20230806224526292

哪一个网络的哪一台主机?

image-20230806224635807

分级地址优点

方便分配和数据转发

image-20230806224902585

点分十进制

image-20230806225032707

一个字节一个部分

分类的IP地址(old)

image-20230806225250534

类别判断:A类第一个比特是0,B类前两位是10,c类前三位是110;A类网络地址8位,B类16位,C类24位

以A类地址为例

image-20230806225710816

网络地址除了标识符以外,全1表示用于本地软件环回测试,全0代表本网络(?)

主机地址全1表示该网络的所有主机(广播),全0代表主机所在的网络地址(84.0.0.0)

网络大小

这个网络大小差别太大,可能会取上不足取下有余,分配不灵活

image-20230806230132160

不可分配地址

image-20230806230218512

子网划分(subnetting)

就是使得划分标准增加以便合理调整网络大小image-20230806230730738

栗子:

image-20230806230913588

这样就能按照用户需求diy网络大小了

子网掩码(可变VLSM?)

image-20230806231804265

掩码用来计算网络地址

网络和子网位为1,主机位为0,再把掩码和IP地址AND一下后,仅保留网络地址(路由器要用)

IP地址是否在同一个网络
  • 子网掩码的位数相等

  • 网络地址每一位都相同

优缺点

image-20230806232354376

解决了网络过大的问题,没有解决网络太小的问题

无分类编制方法CIDR(new)

image-20230806232545705

网络前缀可以变长度

CIDR用掩码表示网络前缀的长度

image-20230806232941019

三个特殊地址块

image-20230807000645119

特点
  • 构造超网

image-20230807000813594

image-20230807004212535

分地址块就是把小数点往后面移动,构造超网就是左移(? )

  • 减少路由条目

image-20230807004706061

地址数量也没有增加

IP地址的特点

  • 每个IP地址都由网络前缀和主机号两部分组成image-20230807005239784
  • IP地址是标志一台主机(或路由器)和一条链路的接口

image-20230807005258395

  • 转发器或交换机连起来的若干个局域网仍为一个网络image-20230807005354436
  • 在IP地址中,所有分配到网络前缀的网络都是平等的

4.3 IP分组的转发

路由器分组转发算法

image-20230807111631247255.255.255.255是广播地址但是发送这个的资源要求太大,一般情况下属于受限地址,只有直接地址可以转发

4.3.1 基于终点的转发

image-20230807101322460

路由器转发表包含哪些信息?
  • 终点地址
  • 下一跳地址

*都是目的网络地址,为节约路由表空间

栗子

image-20230807103230926

转发步骤

image-20230807103438419

问题:掩码从哪来?

IP首部不能更改,但是路由表还可以更改,在转发表地址加一个后缀即可,如128.0.0.12/24

将目的地址和掩码AND后的网络号相同则转发,不同则跳过,比对下一条,全部不匹配则丢弃

image-20230808141625182

4.3.2 最长前缀匹配

查找转发表的过程就是逐行寻找前缀匹配

使用CIDR时,查找转发表时可能会得到不同的匹配结果,子网掩码越大越精确(网络地址最长)

一般出现这种情况,网络有包含关系,例如学校的哪一个班

image-20230807110520624前缀最长的排更前面

特殊路由

  • 主机路由a.b.c.d/32—转发表最前面
  • 默认路由0.0.0.0/0—转发表最后面(兜底)
二叉线索查找

image-20230807141640178

4.3.3 IP地址与MAC地址

网络层已经有了IP地址,那么MAC地址还有用吗?

上层的工作要依靠下层的服务

image-20230807141846232

对比

image-20230807142034635

image-20230808141221807

那么怎么知道下一个路由器的MAC地址是多少呢?(由IP得到MAC地址–ARP协议)

4.3.4 地址解析协议ARP

过程

image-20230807142659965

广播ARP请求

image-20230807142749072单播ARP响应

image-20230807143004913流程图

ARP高速缓存

image-20230807143045605

作用

image-20230807143137784

减少广播通信,节约资源

2台主机在不同的局域网地址ARP时通过路由器来代传输,首先路由器当接收者回应ARP,然后又当发送者发送ARP请求,简称又当爹当妈

image-20230807143744911

image-20230807143753000

使用ARP的4种情况

  • 同一局域网的不同主机

image-20230807143953144

  • 不同局域网的不同主机

image-20230807144030029

  • 路由器和主机(近)

image-20230807144218044

  • 路由器和主机(远)

image-20230807144251058

使用IP的原因

image-20230807144456071

4.4 网络控制报文协议ICMP

确保一定的准确性措施

4.4.1|4.4.2 ICMP报文的格式和种类|ICMP的实际运用

  • 允许主机或者路由器报告差错情况和提供有关异常情况的报告
  • 由主机和路由器用于网络层的 通信
  • 是网络层的协议

image-20230807151542329

报文种类

image-20230807151607124

某个问题的细节原因

image-20230807151758185

差错单向,询问双向

ICMP差错报文

在数据丢失的时候产生报文

image-20230807152032143

Traceroute/Tracert(追踪路由)

image-20230807152201649

方法

image-20230807152424539

  • 源故意发错误信息
  • 路由器丢弃
  • 产生ICMP错误报文
  • 回应,报文暴露路由器IP地址

但是现在一些重要的路由器IP地址会收到保护无法使用Tracert

image-20230808141723742

不发ICMP的情况

image-20230807152745857

  • ICMP自己错误
  • 第一个分片错了以后都不发(肯定错)
  • 多播不发
  • 特殊地址不发

ICMP询问报文

image-20230807153029924

PING和ICMP

  • 用于测试两个主机之间的连通性
  • 使用了ICMP的回送请求与会送回答报文

image-20230807153321359

  • 疯狂PING一个主机可以把它的资源占用完–DDoS

image-20230808141704500

  • 可以通过返回的TTL值判断对方的操作系统

4.5 IPv6

4.5.1 IPv6协议概述

出现原因:

  • 地址不足

  • 分类不合理

  • NAT没有完美解决大小问题

  • 安全问题

  • 移动性支持弱

主要变化

image-20230807154601034

image-20230807154703967

看看得了,记不住

IP数据报的一般形式

image-20230807154809377

基本首部+有效载荷(扩展首部加数据部分)

基本首部

image-20230807154925383

版本

指明协议版本–4位(0110=6)

通信量类

8位,区分不同类别IPv6数据报或者优先级

流标号

image-20230807155217831感觉有伏笔

有效载荷长度

16位,指明有效载荷的字节数(除去基本首部)

下一个首部

告知上层该数据之后要交给哪一个协议进行处理

跳数限制

类似TTL

IPv4和IPv6报文对比

image-20230807155730602

扩展首部

image-20230807155924524

4.5.2 IPv6的地址

  • 地址占128位
  • 三种基本类型:单播、多播、任播–找最近的(广播变任播)

冒泡十六进制

image-20230807160309236

16个比特转为4位16进制数

零压缩:一连串的0化简为两个冒号

image-20230807160759262这种情况只能简化较为长的一段0,只能压缩一次

点分十进制后缀

image-20230807161315016

image-20230808141811108

前缀的表示方法

image-20230807161004686

子网掩码没了

分类(略)
零压缩

image-20230808141849205

地址分配

image-20230807161701344

无地址自动配置就是网络前缀加上你的MAC地址

ND:邻居发现

RS:路由器请求报文

4.5.3 从IPv4到IPv6

太先进很难适应,现在还在过渡

  • 向后兼容:v6可以兼容v4

  • 过渡策略:

    双协议栈

    image-20230807162407784image-20230808142050720

    2.隧道技术

image-20230807162520160

给v6套了个皮变成v4了

image-20230808142120111

4.5.4ICMPv6

升级版!ARP没了

image-20230807165514244

image-20230807165554884

ND:临站发现

MLD:多播听众交付

4.6 路由选择协议

路由器怎么智能选择线路进行数据传输?

4.6.1 路由选择协议概述

策略分类

image-20230807170106633

问题

image-20230807170254095

采用层次路由

image-20230807170345001

image-20230807171111130

自治系统

image-20230807170431409

每一个AS区域使用单一和一致的路由选择策略

接下来就介绍这些AS内策略,称为内部网关路由协议(IGP)

》》》》OSPF,RIP,IS-IS,IGPR,EIGRP

不同AS之间靠BGP协议

4.6.2内部网关协议RIP

image-20230807171135311

工作原理

image-20230807171208954

  • 简单
  • 基于经过路由器的数量
  • 距离就是跳数
  • image-20230807171337327

16这个数字在RIP中意为不可达

特点

  • 仅和相邻路由器交换信息
  • 交换路由表
  • 固定时间间隔交换信息

RIP路由表的建立

  • 每个路由器刚开始知道自己的邻居
  • 接着再告诉自己的其他邻居
  • 若干次后谁都知道有谁了
  • RIP路由表项:目的网络,距离,下一跳
  • !!下一跳不变的情况下无脑更新,下一跳不同比较跳数,更新选择跳数小的

RIP2

待补充

优缺点

好消息传得快,坏消息传得慢

image-20230807173546461

4.6.3内部网关协议OSPF

基于速度来判断

特点

image-20230807174609321

适用于大网络,使用层次结构的区域划分,加快了收敛速度,减少了网络流量(分主干区域和普通区域)

度量值

费用,带宽,时延,距离

区域边界路由器ABR

image-20230807175227842

如图R7

自治系统边界路由器ASBR

image-20230807175330310

如图R6

5种分组类型

image-20230807175524218

OSPF分组

image-20230807175549576	好复杂。。。

可靠的洪泛法

待补充

4.6.4外部网关协议BGP

特点

image-20230807175850277

BGP发言人(ASBR)

*感觉就像外交官,主管外国

image-20230807180238722

内部不能通过BGP分享信息

BGP路由信息

image-20230807180705853

BGP路由选择顺序

image-20230807180740690

  • 不能兜圈子
  • AS-PATH中,不允许出现相同的AS号

4.6.5路由器工作原理

image-20230807181339505

核心功能:控制层面(各种路由协议+转发表)+数据层面(传输IP数据报)

数据层面

image-20230807181613046

核心层面

image-20230807181635738

结构

image-20230807181842439

有点像交换机

路由种类优先级

image-20230807182009045

IP报文转发过程

  • 链路层解封,IP头部校验
  • 获取报文目的IP地址
  • 基于IP地址查转发表
  • 查询失败,丢弃报文
  • 查询成功–》获取转发出接口和下一跳IP,TTL减一,计算校验和,链路层封装发送

交换结构

image-20230807182454857

4.7 IP多播

image-20230807182649216

应用

image-20230807182725459

实现步骤

  • 确定多播组成员

image-20230807182825052

  • 多播路由

image-20230807182936016

转发多播数据的三种方法

image-20230807183421026

4.8 VPN和NAT

4.8.1 VPN

image-20230807183641376

4.8.2 NAT

image-20230807183802714

NAPT

image-20230807183840227

为了让公有网络进入私有网络能够分辨给哪个主机(一定程度上保护了私有网络)

优缺点

image-20230807184107243

4.9 MPLS(简化路由表)

image-20230807184225019

  • 打标签
  • 在链路层硬件转发

格式

image-20230807184601827

4.10 软件定义网络SDN

优点

image-20230807184656953

在路由器的控制层面工作,将每一个路由器各自计算路由升级成统一管理,路由器就只有查表转发了,效率增加了

image-20230807184919702

image-20230807185050656

openflow–数据层面:流表(匹配加动作)

第五章 运输层

5.1 运输层解决的问题

5.1.1 进程之间的通信

  • 主机间的通信,本质上是两台主机的应用进程之间的通信

  • 不同协议使用同一个运输协议叫做复用,从同一协议传输信息到不同进程叫做分用

image-20230812152945343

运输层提供的服务

  • 进程到进程的数据传输
  • 差错检测
  • 流量控制和拥塞控制

5.1.2 运输层的两个重要协议

可靠信道与不可靠信道

TCP面向连接的全双工可靠信道

UDP使用无连接的不可靠信道

协议传输数据单元(TPDU)

TCP—-TCP报文段

UDP–UDP报文段或用户数据报

二者区别

image-20230812153907764

image-20230812153925210

这张图很重要,他会问你哪些应用适用哪个协议

5.1.3 运输层的端口

复用和分用

image-20230812154208217

端口

全称协议端口号

image-20230812154251939

image-20230812154330272

IP是不能重复的,端口是独立的,是可以重复的

image-20230812154428483

管理部门:IANA

  • 通信需要知道对方的IP地址和端口(套接字socket=(IP地址:端口号),如192.0.0.1:80)
  • UDP套接字——<IP地址,端口号>
  • TCP套接字——<源IP地址,目的地址,源端口号,目的端口号>

5.2 用户数据报协议UDP (单工不连接)

5.2.1 UDP概述

在IP数据报上增加了复用,分用和差错检验

特点

  1. 无连接

  2. 尽最大努力交付

  3. 面向报文(不拆分)

  4. 没有拥塞控制

  5. 支持一对一,一对多,多对一,多对多

  6. 首部8字节,开销小

适用应用

image-20230812155300614

5.2.2 UDP的首部

image-20230812155331566

计算检验和的时候临时将12字节的伪首部计算,计算完成后丢弃

image-20230812160908216

5.3 传输控制协议TCP概述(全双工面向连接)

5.3.1 TCP概述

  • 面向连接
  • 提供可靠传输
  • 支持一对一通信
  • 全双工通信
  • 面向字节流,不保留报文边界

各种面向连接

image-20230812155819063

5.3.2 TCP的首部

image-20230812155956746

20**字节固定首部**

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
1. 源端口和目的端口:各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能通过端口实现。

2. 序号:占 4 字节。TCP 连接中传送的数据流中的每一个字节都有一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。

3. 确认号:占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。

若确认号 = N,则表明:到序号 N 1 为止的所有数据都已正确收到。

4. 数据偏移(即首部长度):占 4 位,指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。单位是 32 位字(以 4 字节为计算单位)

5. 保留:占 6 位,保留为今后使用,但目前应置为 0

6. 紧急 URG:控制位。当 URG = 1 时,表明紧急指针字段有效,告诉系统此报文段中有紧急数据,应尽快传送 (相当于高优先级的数据)。

7. 确认 ACK:控制位。只有当 ACK =1 时,确认号字段才有效。当 ACK =0 时,确认号无效。

8. 推送 PSH (PuSH) :控制位。接收 TCP 收到 PSH = 1 的报文段后,就尽快(即“推送”向前)交付接收应用进程,而不再等到整个缓存都填满后再交付。

9. 复位 RST (ReSeT) :控制位。当 RST=1 时,表明 TCP 连接中出现严重差错(如主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。

10. 同步 SYN (SYNchronization) :控制位。同步 SYN = 1 表示这是一个连接请求或连接接受报文。当 SYN = 1,ACK = 0 时,表明这是一个连接请求报文段。当 SYN = 1,ACK = 1 时,表明这是一个连接接受报文段。

11. 终止 FIN (FINish) :控制位。用来释放一个连接。FIN=1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。

12. 窗口:占 2 字节。窗口值告诉对方:从本报文段首部中的确认号算起,接收方目前允许对方发送的数据量(以字节为单位)。

窗口字段明确指出了现在允许对方发送的数据量。窗口值经常在动态变化。

13. 检验和:占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。

14. 紧急指针:占 2 字节。在 URG = 1时,指出本报文段中的紧急数据的字节数(紧急数据结束后就是普通数据),指出了紧急数据的末尾在报文段中的位置。

15. 选项:长度可变,最长可达 40 字节。

16. 填充:使整个 TCP 首部长度是 4 字节的整数倍。

发送序号和确认序号的含义

发送序号:数据载荷中第一个字节在字节的序号

确认号:期望收到的下一个字节的序号

最大报文段MSS

image-20230812161113341

  • 太小网络利用率低
  • 太大分片的开销大

5.4 可靠传输的工作原理

5.4.1 停止等待协议

  • 每发送完一个分组就停止发送,等待对方的确认
  • 全双工工作方式下既是发送方又是接收方

无差错情况

image-20230812161740264

分组错误

image-20230812161804355

b接收到M1时检测出错误并且丢弃

分组丢失

image-20230812161821756M1在传输过程中就丢失了,b不知道也什么都不做

解决方法超时重传

image-20230812162110026image-20230812162126132image-20230812162932293

如果确认信息也丢失了?

  • 确认丢失

image-20230812162408674

丢弃第二次收到的分组,向a发送确认

  • 确认迟到

image-20230812162946549

双方都只认第一次

b丢弃第二次收到的M1,并且重新发送确认信息,a丢弃第二次确认

特点

  • 停止等待
  • 暂存,为了重传
  • 编号
  • 超时重传

信道利用率

image-20230812163432742

解决方法

image-20230812163451290image-20230812163519604

5.4.2 连续ARQ协议

image-20230812163929140

原理

image-20230812163959931

累计确认

image-20230812164129206

  • 优点:容易实现,确认丢失也不需要重传
  • 缺点:不能向发 送方反应出接收方已经正确收到的

Go-back-N

image-20230812172657080

与停止等待的对比

image-20230812172743718

5.5 TCP可靠运输的实现

5.5.1 以字节为单位的滑动窗口

  • 发送方和接收方各维持一个发送窗口和接收窗口
  • 发送方根据接收方给出的窗口值构建出自己的发送窗口
  • 发送窗口里面的序号表示允许发送的序号
  • 窗口只能往序号大的方向移动和扩张

image-20230812173419545

image-20230812173740468

窗口的滑动

image-20230812173845689

确认号是还没有收到的数据,是期望接收到的数据的序号

发送方每收到一个接受确认,就将发送窗口向前滑动一个字节的位置

发送缓存

image-20230812175414815

接收缓存

image-20230812175613916

5.5.2 超时重传时间的选择

加权平均往返时间RTTs

image-20230812175755674

超时重传时间RTO

image-20230812175920696

RTT偏差的加权平均值

image-20230812180008096

Karn算法

image-20230812180115248

修正版

image-20230812180141017

5.5.3 选择确认SACK

一段数据中中间部分数据未传输,怎么只传输这些数据呢?

image-20230812180317612

image-20230812180327548

5.6 TCP的流量控制

5.6.1 利用滑动窗口实现流量控制

image-20230812180818607

按接收方的接受能力来决定发送方的发送能力

图片

持续计时器

只要 TCP 连接的一方收到对方的零窗口通知,就启动该持续计时器。

若持续计时器设置的时间到期,就发送一个零窗口探测报文段(仅携带 1 字节的数据),对方在确认这个探测报文段时给出当前窗口值。

若窗口仍然是零,收到这个报文段的一方就重新设置持续计时器。

若窗口不是零,则死锁的僵局就可以打破了。

5.6.2 TCP的传输效率

  • 缓存中数据到达MSS长度就组装成一个TCP报文段发送出去
  • 按发送方的应用进程要求发送
  • 发送方的计时器时间到了将当前的缓存数据发送出去

糊涂窗口综合征

image-20230812183202333

5.7 TCP的拥塞控制

5.7.1 拥塞控制的一般原理

拥塞原因:大量分组短时间进入网络,超过网络的处理能力

  1. 节点缓存容量太小
  2. 链路容量不足
  3. 处理机处理速率太慢
  4. 拥塞本身会进一步加剧拥塞
  5. 资源要求大于供给

理论解决方法

image-20230812183924857

image-20230812183948388

5.7.2 TCP的拥塞控制方法

image-20230812184138229

出现拥塞将窗口减少,没有拥塞加大窗口

拥塞发生依据

超时重传计时器超时

收到三个重复的确认

4种拥塞控制算法

  1. 慢开始

  2. 拥塞避免

  3. 快重传

  4. 快恢复

ssthresh是标准,是阈值,cwnd是变量

慢开始
  • 慢开始就是指数增长(2的n次方)

  • cwnd和门限值的关系:

    (1)当 cwnd < ssthresh 时,使用慢开始算法。(指数)

    (2)当 cwnd > ssthresh 时,停止使用慢开始算法,改用拥塞避免算法。(线性)

    (3)当 cwnd = ssthresh 时,既可使用慢开始算法,也可使用拥塞避免算法。(线性)

拥塞避免

这时候cwnd线性增加

无论在慢开始阶段还是在拥塞避免阶段,只要发送方判断网络出现拥塞(重传定时器超时):

(1)ssthresh = max (cwnd/2,2)

**(2)cwnd =1

*不能完全避免拥塞,只能减轻

快重传

1.目的:让发送方尽早知道发生了个别报文段的丢失。

2.发送方只要连续收到三个重复的确认,就立即进行重传(即“快重传”),这样就不会出现超时。

3.使用快重传可以使整个网络的吞吐量提高约 20%。

4.快重传算法要求接收方立即发送确认,即使收到了失序的报文段,也要立即发出对已收到的报文段的重复确认。

收到三个确认后会立即进行快恢复!!!(和拥塞避免有一点点差别)

1.慢开始门限 ssthresh = 当前拥塞窗口 cwnd / 2 ;

2.乘法减小 MD (Multiplicative Decrease) 拥塞窗口。(?)

新拥塞窗口 cwnd = 慢开始门限 ssthresh

3.执行拥塞避免算法,使拥塞窗口缓慢地线性增大(加法增大 AI)。

图片

图片

5.8 TCP的运输连接管理

5.8.1 TCP的连接建立

采用三报文握手:在客户和服务器之间交换三个 TCP 报文段,以防止已失效的连接请求报文段突然又传送到了服务器,因而产生TCP连接建立错误。

图片

5.8.2 TCP的连接释放

数据传输结束后,通信的双方都可释放连接。

TCP 连接释放过程是四报文挥手

图片等待2MSL的时间的原因:

  1. 保证发送的最后一个ACK报文段能够到达B
  2. 防止以失效的请求报文段出现在连接中(?)

保活计时器:防止在TCP连接中出现长时间空闲

第六章 应用层

6.1 域名系统DNS

6.1.1域名系统概述

  1. 域名系统 DNS用来把人们使用的机器名字(域名)转换为 IP 地址。

  2. 域名采用层次树状结构的命名方法

  3. DNS 是一个联机分布式数据库系统,采用客户服务器方式。

  4. 域名到 IP 地址的解析是由若干个域名服务器程序共同完成。

  5. 域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器

6.1.2 互联网的域名系统

  1. 命名方法:层次树状结构方法。

  2. 任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名

  3. 域 (domain):

(1)名字空间中一个可被管理的划分。

(2)可以划分为子域,而子域还可继续划分为子域的子域,这样就形成了顶级域、二级域、三级域,等等。

  1. 域名结构:层次结构。由标号序列组成,各标号之间用点(.)隔开,各标号分别代表不同级别的域名

图片

6.1.3 域名服务器

区的不同划分

区等于域,区小于域

image-20230812204224682

树状结构的域名服务器

image-20230812204259630

类型

image-20230812204320673

域名的解析过程

靠自己/靠别人

递归查询(靠别人)

通常,主机向本地域名服务器查询时使用,若不知道,就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。

图片

迭代查询(靠自己)

本地域名服务器向根域名服务器查询时使用,要么给出所要查询的 IP 地址,要么告诉下一个要查询的域名服务器的 IP 地址,本地域名服务器继续后续查询

图片

高速缓存域名服务器

存放最近用过的名字以及从何处获得名字映射信息的记录。

作用:大大减轻根域名服务器的负荷,使 DNS 查询请求和回答报文的数量大为减少。

6.2 文件传送协议FTP

使用了TCP

6.2.1 FTP概述

image-20230812204746175

特点

image-20230812204817385image-20230812204827665

主进程工作步骤

image-20230812205039858

6.2.3 简单文件传送协议TFTP

概述

image-20230812205255268特点

image-20230812205324981

6.3 远程终端协议TELNET

使用TCP

概述

image-20230812205408164

TELNET使用网络虚拟终端NVT格式

6.4 万维网www

6.4.1 万维网概述

  1. 万维网 WWW (World Wide Web) 是一个大规模的、联机式的信息储藏所,并非某种特殊的计算机网络

  2. 访问方法:链接

  3. 提供分布式服务

  4. 万维网的工作方式:客户服务器方式

6.4.2 统一资源定位符URL

URL 的格式:由以冒号(:)隔开的两大部分组成,对字符大写或小写没有要求

一般形式:图片

6.4.3 超文本传送协议http

HTTP 使用了面向连接的 TCP 作为运输层协议,保证了数据的可靠传输。

HTTP 协议本身是无连接的。

代理服务器(万维网高速缓存):

它代表浏览器发出 HTTP 请求,使用高速缓存可减少访问互联网服务器的时延。

类似于高速缓存域名服务器

6.4.4 万维网的文档

在一个客户程序主窗口上显示出的万维网文档称为页面 (page)。

页面制作的标准语言:HTML。

注:HTML 不是应用层的协议,它只是万维网浏览器使用的一种语言。

想起了配置博客的痛苦时光

6.4.5 万维网的信息检索系统

在万维网中用来进行搜索的程序叫做搜索引擎,分为全文检索搜索和分类目录搜索。

6.4.6 博客和微博

image-20230812210104614

image-20230812210133543

6.4.7 社交网络

image-20230812210147387

栗子:osu

6.5 电子邮件

电子邮件 (e-mail):指使用电子设备交换的邮件及其方法。

优点:使用方便,传递迅速,费用低廉,可以传送多种类型的信息(包括:文字信息,声音和图像等)

电子邮件系统的组成:

  1. 用户代理(用户与电子邮件系统的接口,又被称为电子邮件客户端软件)

  2. 邮件服务器(发送和接收邮件,同时还要向发信人报告邮件传送的情况,又被称为邮件传输代理,按照客户服务器方式工作)

  3. 邮件发送和读取协议(简单邮件发送协议 SMTP:用于在用户代理向邮件服务器或邮件服务器之间发送邮件。邮局协议 POP3:用于用户代理从邮件服务器读取邮件)

发送和接收电子邮件的步骤:

图片

6.6 动态主机配置协议DHCP

概述

  1. 动态主机配置协议 DHCP提供了即插即用连网的机制,允许一台计算机加入网络和获取 IP 地址,而不用手工配置。

  2. DHCP 使用客户服务器方式,采用请求/应答方式工作

  3. DHCP 基于 UDP 工作,DHCP 服务器运行在 67 号端口, DHCP客户运行在 68 号端口。

DHCP中继代理

图片

DHCP 中继代理收到主机广播发送的发现报文后,就以单播方式向 DHCP 服务器转发此报文,并等待其回答,收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将其发回给主机。

  • 每个网络上不都需要DHCP服务器
  • 每一个网络至少有一个DHCP中继代理,它配置了DHCP服务器的IP地址信息

DHCP协议的工作过程

图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1. DHCP 服务器被动打开 UDP 端口 67,等待客户端发来的报文。

2. DHCP 客户从 UDP 端口 68 发送 DHCP 发现报文 DHCPDISCOVER。

3. 凡收到 DHCP 发现报文的 DHCP 服务器都发出 DHCP 提供报文 DHCPOFFER,因此 DHCP 客户可能收到多个 DHCP 提供报文 。

4. DHCP 客户从几个 DHCP 服务器中选择其中的一个,并向所选择的 DHCP 服务器发送 DHCP 请求报文 DHCPREQUEST。

5. 被选择的 DHCP 服务器发送确认报文 DHCPACK,DHCP 客户可开始使用得到的临时 IP 地址了,进入已绑定状态。DHCP 客户现在要根据服务器提供的租用期 T 设置两个计时器 T1 和 T2,它们的超时时间分别是 0.5T 和 0.875T。当超时时间到时,就要请求更新租用期。

6. 租用期过了一半(T1 时间到),DHCP 发送请求报文 DHCPREQUEST,要求更新租用期。

7. DHCP 服务器若同意,则发回确认报文 DHCPACK。DHCP 客户得到了新的租用期,重新设置计时器。

8. DHCP 服务器若不同意,则发回否认报 DHCPNACK。这时 DHCP 客户必须立即停止使用原来的 IP 地址,而必须重新申请 IP 地址(回到步骤2)。若 DHCP 服务器不响应步骤6的请求报文 DHCPREQUEST,则在租用期过了 87.5% 时 (T2 时间到),DHCP 客户必须重新发送请求报文 DHCPREQUEST(重复步骤6),然后又继续后面的步骤。

9. DHCP 客户可随时提前终止服务器所提供的租用期,这时只需向 DHCP 服务器发送释放报文 DHCPRELEASE 即可。

6.7 简单网络管理协议SNMP

6.7.1 网络管理的基本概念

image-20230812212126877

被管对象

image-20230812212213600

网络管理协议

image-20230812212251871

6.7.2 管理信息结构SMI

image-20230812212323067

功能

  1. 被管对象命名
  2. 储存被管对象的数据类型有哪些
  3. 管理数据怎么编码

6.7.3 管理信息库MIB(略)

6.7.4 SNMP的协议数据单元和报文

image-20230812212513276image-20230812212616304

陷阱

image-20230812212646703

报文格式

image-20230812212724355

6.8 应用进程跨越网络的通信

6.8.1 系统调用和应用编程接口

系统调用

image-20230812213014751

image-20230812213004210

应用编程接口

image-20230812212915430

种类

image-20230812212933833

应用进程通过套接字接入到网络

套接字作用

image-20230812213156041

6.9 P2P应用

6.9.1 具有集中目录服务器的P2P工作方式(Napster)

最早的P2P技术

6.9.2 具有全分布方式结构的P2P文件共享程序(eMule)

使用分散定位和分散传输技术

6.9.3 P2P文件分发的分析(略)

第三次作业改正

image-20230812215039154

第一个报文丢失,b要求a重发这个报文段,而确认号就是b想要的报文段的序号

所以是100

image-20230812215153679

第一次1

第二次2

3–4

4–8

5–9

6–10

7–1(门限值变成4)

8–2

9–4

10–5

11–6

大小为6

image-20230812215358639

贝多芬题

image-20230812215432062