此专栏可以说是计算机相关专业最重要的,那就是计算机网络,无论考研还是就业,它都是我们最重要的,所以我把我从学习湖科大教书匠的计算机网络进行总结的笔记也上传上来了,未来如果学到没有总结到的,也会继续更新。

这几篇老文章都是我之前用飞书云文档写的,因转换格式问题,本文之前已写完的文档图片太多了,不想一一转化了,大家可以访问我的飞书云文档来查看这些图片–https://miu7shl031o.feishu.cn/drive/folder/WJiBfqX9klvKNEdpTHccfrEQn3e

(一)计算机网络概述

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

  • 计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施。
  • 计算机网络已经像水、电、煤气这些基础设施一样,成为我们生活中不可或缺的一部分。

2. 因特网概述

2.1 网络、互连网(互联网)和因特网

  1. 网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成。
  2. 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)因此,互联网是“网络的网络(Netwrok of Networks) “。
  3. 因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数以百万计)。
  4. internet与lnternet的区别 internet(互联网或互连网) 是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。 Internet(因特网) 则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的 ARPANET。

2.2 因特网发展的三个阶段

1. 从单个网络ARPANET向互联网发展

  • 1969年,第一个分组交换网 ARPANET;
  • 70年代中期,研究多种网络之间的互连;
  • 1983年,TCP/IP协议成为ARPANET的标准协议(因特网诞生时间)

2. 逐步建成三级结构的因特网

  • 1985年,NSF围绕六个大型计算机中心建设NSFNET(主干网、地区网和校园网);
  • 1990年,ARPANET任务完成,正式关闭;
  • 1991年,美国政府将因特网主干网交给私人公司经营,并开始对接入因特网的单位收费;

3. 多层次ISP结构的因特网

  • 1993年,NSFNET逐渐被若干个商用因特网主干网替代;政府机构不再负责因特网运营,让各种因特网服务提供者ISP来运营。
  • 1994年,万维网wwW技术促使因特网迅猛发展;
  • 1995年,NSFNET停止运作,因特网彻底商业化。

ISP: 因特网服务提供者ISP(Internet Service Provider)

2.3 因特网的标准化工作

  1. 因特网的标准化工作对因特网的发展起到了非常重要的作用。
  2. 因特网在制定其标准上的一个很大的特点是面向公众。
    1. 因特网所有的RFC(Request For Comments)技术文档都可从因特网上免费下载;(http://www.ietf.org/rfc.html)
    2. 任何人都可以随时用电子邮件发表对某个文档的意见或建议。
  3. 因特网协会ISOC是一个国际性组织,它负责对因特网进行全面管理,以及在世界范围内促进其发展和使用。
    1. 因特网体系结构委员会IAB,负责管理因特网有关协议的开发;
    2. 因特网工程部IETF,负责研究中短期工程问题,主要针对协议的开发和标准化;
    3. 因特网研究部IRTF,从事理论方面的研究和开发一些需要长期考虑的问题。
  4. 制订因特网的正式标准要经过以下4个阶段:
    1. 因特网草案(在这个阶段还不是RFC文档)
    2. 建议标准 (从这个阶段开始就成为RFC文档)
    3. 草案标准 (目前已取消)
    4. 因特网标准

2.4 因特网组成

因特网由边缘部分和核心部分组成。

1. 边缘部分

由所有连接在因特网上的 主机 组成。这部分是 用户直接 使用的,用来进行 通信 (传送数据、音频或视频)和 资源共享

2. 核心部分

由 大量网络 和连接这些网络的 路由器 组成。这部分是 为边缘部分提供服务 的(提供连通性和交换)

3. 三种交换方式

  • 电路交换(Circuit Switching)
  • 分组交换(Packet Switching)
  • 报文交换(Message Switching)

3.1 电路交换

电话交换机接通电话线的方式称为电路交换;

从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;

电路交换的三个步骤:

  1. 建立连接(分配通信资源)
  2. 通话(一直占用通信资源)
  3. 释放连接(归还通信资源)

img

当使用电路交换来传送计算机数据时, 其线路的传输效率往往很低。

3.2 分组交换

img

3.3 报文交换

报文交换对报文的大小没有限制,这就要求结点有较大的缓存空间。报文交换主要用于早期的电报通信网,现在较少使用。通常被较先进的分组交换方式所替代。

3.4 三种方式对比

4. 计算机网络的定义和分类

4.1 计算机网络的定义

  • 计算机网络的精确定义并未统一
  • 计算机网络的最简单的定义是: 一些 互相连接 的、自治 的计算机的 集合。
    • 互连 是指计算机之间可以通过有线或无线的方式进行数据通信
    • 自治 是指独立的计算机,它有自己的硬件和软件,可以单独运行使用
    • 集合 是指至少需要两台计算机
  • 计算机网络的较好的定义 是: 计算机网络主要是由一些 通用的、可编程的硬件互连 而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来 传送多种不同类型的数据,并能 支持广泛的和日益增长的应用。 该定义表明:
    • 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件。
    • 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)

以下系统并不是一个计算机网络。 因为图示终端机只是具有显示和输入设备的终端,不是自治的计算机。因此,这只是一个运行分时系统的大型机系统。

4.2 计算机网络的分类

  1. 按照交换技术分类
    1. 电路交换网络
    2. 报文交换电路
    3. 分组交换电路
  2. 按使用者分类
    1. 公用网
    2. 专用网
  3. 按照传输介质分类
    1. 有线网
    2. 无线网
  4. 按覆盖范围分类
    1. 广域网 WAN
    2. 城域网 MAN
    3. 局域网 LAN
    4. 个域网 PAN
  5. 按拓扑结构分类
    1. 总线型网络
    2. 星型网络
    3. 环型网络
    4. 网状型网络

5. 计算机网络的性能指标

5.1 常用性能指标

性能指标可以从不同的方面来度量计算机网络的性能。 常用的计算机网络的性能指标有以下8个:

  • 速率
  • 带宽
  • 吞吐量
  • 时延
  • 时延带宽积
  • 往返时间
  • 利用率
  • 丢包率

5.2 速率

1. 比特

计算机中 数据量的单位,也是信息论中信息量的单位。一个比特就是二进制数字中的一个 10

常用数据量单位:

8 bit = 1 Byte  
KB = 2^10B
MB = K·KB = 2^10·2^10 B = 2^20 B
GB = K·MB = 2^10·2^20 B = 2^30 B
TB = K·GB = 2^10·2^30 B = 2^40 B Copy to clipboardErrorCopied

2. 速率

连接在计算机网络上的主机在数字信道上传送比特的速率,也称为 比特率 或 数据率。

常用数据单位:

bit/s (b/s,bps)  
kb/s = 10^3 b/s (bps)
Mb/s = k·kb/s = 10^3·10^3 bls = 10^6 b/s (bps)
Gb/s = k·Mb/s = 10^3·10^6 b/s = 10 b/s (bps)
Tb/s = k·Gb/s = 10^3·10^9 b/s = 10^2 b/s (bps)Copy to clipboardErrorCopied

例1∶有一个待发送的数据块,大小为100 MB,网卡的发送速率为100 Mbps,则网卡发送完该数据块需要多长时间?

𝑇=100𝑀𝐵100𝑀𝑏/𝑠=𝑀𝐵𝑀𝑏/𝑠=220𝐵106𝑏/𝑠=220⋅8𝑏106𝑏/𝑠=8.388608𝑠T=100Mb/s100MB=Mb/sMB=106b/s220B=106b/s220⋅8b=8.388608s

5.3 带宽

带宽在模拟信号系统中的意义:信号所包含的各种不同频率成分所占据的频率范围。

带宽在计算机网络中的意义:用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的 “最高数据率”。

单位:b/s, (kb/s, Mb/s, Gb/s, Tb/s)

其实,“带宽”的这两种表述之间有着密切的联系。一条通信线路的“频带宽度”越宽,其所传输数据的“最高数据率”也越高。

5.4 吞吐量

  • 吞吐量表示在单位时间内 通过某个网络(或信道、接口)的数据量。
  • 吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
  • 吞吐量受 网络的带宽或额定速率 的限制。

5.5 时延

网络时延 = 发送时延 + 传播时延 + 处理时延

1. 发送时延

发送时延(s) = 分组长度(b) / 发送速率(b/s)

发送速率受 网卡的发送速率 、信道带宽、接口速率 影响。

2. 传播时延

传播时延(s) = 信道长度(m) / 电磁波传播速率(m/s)

电磁波在 自由空间 的传播速率 𝑣=3×108𝑚/𝑠v=3×108m/s

在铜线中:𝑣=2.3×108𝑚/𝑠v=2.3×108m/s

在光纤中:𝑣=2.0×108𝑚/𝑠v=2.0×108m/s

要计算传播时延,先确定传播媒体。

3. 处理时延

不方便计算。

发送时延占主导还是传播时延占主导,要根据具体例子实际分析。

img

5.6 时延带宽积

时延带宽积 = 传播时延 * 带宽

  • 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特
  • 链路的时延带宽积又称为 以比特为单位的链路长度。

5.7 往返时间RTT

  • 从发送端发送信息开始,到发送端接收到来自接受端发送的确认信息,称为往返时间RTT。
  • 在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互
  • 我们有时很需要知道双向交互一次所需的时间;
  • 因此,往返时间 RTT(Round-Trip Time)也是一个重要的性能指标。

5.8 利用率

利用率分类为 信道利用率 和 网络利用率

  • 信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过)
  • 网络利用率:全网络的信道利用率的加权平均

根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加。

如果令:

  • 𝐷0D0:网络空闲时延
  • 𝐷D:网络当前时延
  • 𝑈U:利用率

那么则有下列关系:

𝐷=𝐷01−𝑈D=1−UD0

img

  • 当网络的利用率达到50%时,时延就要加倍
  • 当网络的利用率超过50%时,时延急剧增大
  • 当网络的利用率接近100%时,时延就趋于无穷大
  • 因此,一些拥有较大主干网的ISP通常会控制它们的信道利用率不超过50%。如果超过了,就要准备扩容,增大线路的带宽

也不能使信道利用率太低,这会使宝贵的通信资源被白白浪费。应该使用一些机制,可以根据情况动态调整输入到网络中的通信量,使网络利用率保持在合理范围内。

5.9 丢包率

  1. 丢包率即分组丢失率,是指在一定的时间范围内,传输过程中 丢失的分组数量与总分组数量的比率。
  2. 丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等。
  3. 丢包率是 网络运维人员 非常关心的一个网络性能指标,但对于普通用户来说往往并不关心这个指标,因为他们通常意识不到网络丢包。
  4. 分组丢失主要有两种情况:
    1. 分组在传输过程中出现 误码,被结点丢弃;
    2. 分组到达一台队列已满的分组交换机时被丢弃;
    3. 在通信量较大时就可能造成 网络拥塞。
  5. 因此,丢包率反映了网络的拥塞情况:
    1. 无拥塞时路径丢包率为0
    2. 轻度拥塞时路径丢包率为1%~4%
    3. 严重拥塞时路径丢包率为5%~15%

6. 计算机网络体系结构

6.1 常见的计算机网络体系结构

  • 常见网络体系结构–>OSI体系结构
  • 常见网络体系结构–>TCP/IP体系结构
  • OSI体系结构–>五层协议结构
  • TCP/IP体系结构–>五层协议结构

1. OSI体系结构

法律上的国际标准时 OSI 七层体系结构,但由于专家却反实际经验、分层过于复杂、指定周期长、层次划分不合理等原因,并没有投入实际引用。

2. TCP/IP体系结构

img

3. 五层协议体系结构

结合了 OSI 和 TCP/IP 的特点,一般用于学习。

img

6.2 计算机网络体系结构分层的必要性

  • 计算机网络是个非常复杂的系统。早在最初的ARPANET设计时就提出了分层的设计理念。
  • “分层” 可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

下面按照由简单到复杂的顺序,来看看实现计算机网络要面临哪些主要的问题,以及如何将这些问题划分到相应的层次,层层处理。

img

6.3 计算机网络体系结构分层思想举例

6.4 计算机网络体系结构中的专用术语

1. 实体

实体:任何可发送或接受信息的 硬件 或 软件进程。

对等实体:收发双方 相同层次中的实体。

img

2. 协议

协议:控制两个对等实体进行逻辑通信的规则的集合。协议的三要素:语法、语义、同步

  • 语法:定义所交换信息的格式
  • 语义:定义收发双方所要完成的操作
  • 同步:定义收发双方的时序关系

img

  • 在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。
  • 要实现本层协议,还需要使用下面一层所提供的服务。
  • 协议是“水平的”,服务是“垂直的”。
  • 实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是 “透明” 的。

3. 服务

  • 服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
    • 数据链路层的服务访问点为帧的“类型”字段。
    • 网络层的服务访问点为IP数据报首部中的“协议字段”。
    • 运输层的服务访问点为“端口号”。
  • 服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语。
  • 协议数据单元PDU:对等层次之间传送的数据包称为该层的协议数据单元。
  • 服务数据单元SDU:同一系统内,层与层之间交换的数据包称为服务数据单元。
  • 多个SDU可以合成为一个PDU,一个SDU也可划分为几个PDU。
  1. 总时延计算

假设:分组等长,各链路长度相同、带宽也相同,忽略路由器的处理时延。

若有 𝑛n 个分组,𝑚m 段链路,则总时延计算公式为:

总时延 = n个分组的发送时延 + 1 个分组的发送时延 * (m-1) + 1段链路的传播时延 * m

设:

  • 总时延:𝑇T
  • 一个分组的发送时延:𝑡0t0
  • 一段链路的传播时延:𝑡𝑠ts

则有:

𝑇=𝑛×𝑡0+(𝑚−1)×𝑡0+𝑚×𝑡𝑠T=n×t0+(m−1)×t0+m×ts
  1. 练习题

  2. 在OSI参考模型中,自下而上第一个提供端到端服务的层次是B

A.数据链路层

B.传输层

C.会话层

D.应用层

  1. 下列选项中,不属于网络体系结构所描述的内容是C

A.网络的层次

B.每一层使用的协议

C.协议的内部实现细节

D.每一层必须完成的功能

  1. TCP/IP参考模型的网络层提供的是A

A.无连接不可靠的数据报服务

B.无连接可靠的数据报服务

C.有连接不可靠的虚电路服务

D.有连接可靠的虚电路服务

  1. 在TCP/IP体系结构中,直接为CMP提供服务的协议是B

A.PPP

B.IP

C.UDP

D.TCP

  1. 在OSI参考模型中,下列功能需由应用层的相邻层实现的是B

A.对话管理

B.数据格式转换

C.路由选择

D.可靠数据传输

  1. 在OSI参考模型中,直接为会话层提供服务的是C

A.应用层

B.表示层

C.传输层

D.网络层

  1. 通过POP3协议接收邮件时,使用的传输层服务类型是D

A.无连接不可靠的数据传输服务

B.无连接可靠的数据传输服务

C.有连接不可靠的数据传输服务

D.有连接可靠的数据传输服务

  1. 在OSI参考模型中,R1、Switch、Hub实现的最高功能层分别是C

A.2、2、1

B.2、2、2

C.3、2、1

D.3、2、2

  1. 假设OSI参考模型的应用层欲发送400B的数据(无拆分),除物理层和应用层之

外,其他各层在封装PDU时均引入20B的额外开销,则应用层数据传输效率约为A

A.80%

B.83%

C.87%

D.91%

  1. 下列TCP/IP应用层协议中,可以使用传输层无连接服务的是B

A.FTP

B.DNS

C.SMTP

D.HTTP

(二)物理层

1. 物理层基本概念

  • 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流。
  • 物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。
  • 物理层协议的主要任务:机械特性、电气特性、功能特性、过程特性
  • 传输媒体不属于任何一层,如果一定要分类,则属于物理层
  • 传输媒体
    • 导引型传输媒体
      • 同轴电缆
      • 双绞线
      • 光纤
    • 非导引型传输媒体:微波通信

2. 物理层下面的传输媒体

img

双绞线绞合的作用:

  1. 抵御部分来自外界的电磁干扰
  2. 减少相邻导线的电磁干扰
  • 目前的家用以太网,最低应选用超5类(5E)双绞线
  • 屏蔽双绞线比非屏蔽双绞线只有更好的抗干扰性能,但价格也更贵。|

微波传播特性

  1. 直线传播,可以穿透电离层
  2. 地面100米发生塔,最大视距LOS传输距离为100公里
  3. 地球同步卫星
  4. 低轨道卫星

3. 传输方式

img

1. 串行传输与并行传输

  1. 串行传输 串行传输是指数据是一个比特一个比特依次发送的,只需要一条传输链路。
  2. 并行传输 并行传输是指一次发送n个比特而不是一个比特,为此。在发送端和接收端之间需要有n条传输线路。

img

2. 同步传输和异步传输

  1. 同步传输 收发双方时钟同步的方法
    1. 外同步: 在收发双方之间添加一条单独的时钟信号线
    2. 内同步: 发送端将时钟同步信号编码到发送数据中一起传输(例如曼彻斯特编码)
  2. 异步传输
    1. 字节之间异步(字节之间的时间间隔不固定)
    2. 字节中的每个比特仍然要同步(各比特的持续时间是相同的)

img

3. 单工、半双工、全双工通信

  1. 单工:一方向另一方传递信息
  2. 半双工:双方互相传递信息,但是不能同时传递
  3. 全双工:双方可同时互相传递信息

img

4. 编码与调制

4.1 编码与调制

4.2 码元

码元:在使用时间域的波形表示数字信号时,代表不同 离散数值的基本波形。

img

4.3 传输媒体与信道的关系

传输媒体不等同于信道,对于单工通信,传输媒体只有一条 发送信道或者接收信道;对于半双工和全双工传输,则包含两条信道;如果使用 信道复用 技术,则可以包含多条信道。

img

4.4 信道复用技术

4.5 常用编码

img

4.6 基本调制方法

基本调制方法:调幅、调频、调相

4.7 混合调制

正交振幅调制:通常情况下,相位和振幅可以结合起来一起调制,称为正交振幅调制 QAM。

4.8 混合调制举例:正交振幅调制

img

5. 信道的极限容量

5.1 信号失真

信号在通过信道时,会产生失真现象。

信号通过通信质量较好的信道时,失真不严重,可以识别;但信号通过通信质量较差的信道时,失真严重,无法识别。

影响失真的因素:码元传输速率、信号传输距离、噪声干扰、传输媒体质量等

5.2 奈氏准则

img

奈氏准则计算公式

理想低通信道下极限数据传输速率

𝐶=2𝑊log⁡2𝑉C=2Wlog2V

其中,C是数据传输速率(bit/s),W是信道带宽(Hz),V是信号状态数(可调制的不同波形的数量)

5.3 香农公式

5.4 数据传输速率公式

数据传输速率(比特/秒) = 波特率(码元传输速率,码元/秒) * 每个码元携带的信息量(比特/码元)

5.5 奈氏准则与香农公式的意义

6. 习题课

img

解答:

img

img

解析

img

(三)数据链路层

1. 数据链路层概述

1.1 数据链路层在网络体系结构中的地位

数据链路层上传输的数据包称为帧。

1.2 使用点对点信道的数据链路层

数据链路层的三个重要问题

1. 封装成帧

封装成帧:数据链路层给网络层交付的协议数据单元添加 帧头和帧尾 的操作。称为封装成帧。

目的:为了在链路上 以帧为单元 来传送数据,也就是 为了实现数据链路层本身的功能。

img

2. 差错检测

接收方主机收到帧后,通过检错码和检错算法,就可以判断出帧在传输过程中是否出现了了误码。

img

3. 可靠传输

接受方主机收到有误码的帧后,不会接受,将其丢弃。

如果数据链路层向其上层提供的是不可靠服务,丢弃就丢弃了,不会有更多措施。

如果数据链路层向其上层提供的是 可靠服务,就还需要其他措施,确保接收方主机回以重新收到被丢弃的这个帧的确副本。

以上都是使用 点对点 信道的数据链路层来举例的。

1.3 使用广播信道的数据链路层

  • 共享式以太网的媒体接入控制协议CSMA/CD
  • 802.11局域网的媒体接入控制协议CSMA/CA

img

1.4 数据链路层的互联设备

  • 网桥和交换机的工作原理
  • 集线器(物理层互连设备)与交换机的区别

2. 封装成帧

2.1 封装成帧

封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。

  • 帧头和帧尾中包含有重要的控制信息。
  • 帧头和帧尾的作用之一就是帧定界。

1)PPP帧的帧头和帧尾各有一个标志字节,作用是帧定界。

img

2)并不是每一种数据链路层协议的帧都包含帧定界标志。 例如,以太网MAC帧。而且以太网V2的MAC帧还有帧间间隔,规定为 96 比特时间。

2.2 透明传输

透明传输:是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。

例题

img

2.3 提高帧传输效率

img

3. 差错检测

3.1 差错检测

  • 比特差错:实际的通信链路都不是理想的,比特在传输过程中可能会产生差错: 1可能会变成0,而0也可能变成1。这称为比特差错。
  • 误码率BER:在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate)
  • 差错检测码FCS:使用差错检测码来检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的重要问题之一。

3.2 奇偶校验

  • 奇/偶校验:在待发送的数据后面 添加1位奇偶校验位,使整个数据(包括所添加的校验位在内)中 “1”的个数 为奇数(奇校验)或偶数(偶校验)。
  • 如果有 奇数个位发生误码,则奇偶性发生变化,可以检查出误码
  • 如果有 偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(漏检)

奇偶校验法的漏检率较高,数据链路层一般不采用这种方法。

3.3 循环冗余检验

1. 循环冗余检验:CRC(Cyclic Redundancy Check)

1)CRC

2)生成多项式

2. 举例

1)发送方处理

img

2)接收方处理

img

3.4 本节总结

4. 可靠传输

4.1 可靠传输的基本概念

  • 使用 差错检测技术 (例如循环冗余校验CRC),接收方的数据链路层就可检测出帧在传输过程中是否产生了 误码 (比特错误)。
  • 数据链路层向上层提供的服务类型
    • 不可靠传输服务: 仅仅丢弃有误码的帧 ,其他什么也不做;
    • 可靠传输服务: 想办法实现 发送端发送什么,接收端就收到什么。

img

  • 一般情况下,有线链路 的误码率比较低,为了减小开销,并 不要求数据链路层向上提供可靠传输服务。即使出现了误码,可靠传输的问题由其上层处理。
  • 无线链路 易受干扰,误码率比较高,因此 要求数据链路层 必须向上层提供 可靠传输服务。
  • 比特差错 只是传输差错中的一种。
  • 从整个计算机网络体系结构来看,传输差错还包括分组丢失、分组失序 以及 分组重复。
  • 分组丢失、分组失序以及分组重复这些传输差错,一般不会出现在数据链路层,而会出现在其上层。
  • 可靠传输服务并不仅局限于数据链路层,其他各层均可选择实现可靠传输。

img

  • 可靠传输的实现比较复杂,开销也比较大,是否使用可靠传输取决于应用需求。

4.2 三种可靠传输实现机制

下面介绍可靠传输的三种实现机制:

停止等待协议SW、回退N帧协议GBN、选择重传协议SR

  • 这三种可靠传输实现机制的基本原理并不仅限于数据链路层,可以应用到计算机网络体系结构的各层协议中。
  • 在学习时,不要把思维局限在数据链路层,而应放眼于整个网络体系结构。

4.3 (一)停止-等待协议

1. 停止-等待协议

停止-等待协议:SW(Stop and Wait):发送方每发送一个分组,就停止发送并等待接收方的确认分组。当收到接收方的确认分组后,才能发送下一个数据分组,如此反复进行。

  • DATA:发送分组
  • ACK:确认接受分组
  • NAK:未接受,否定应答分组

2. 超时重传机制

3. 避免分组重复

分组重复:接收方发送的 ACK 数据包丢失,发送方启动超时重传机制,发送重复分组。

解决机制:为 避免分组重复这种传输错误,必须给 每个分组带上序号。对于停止-等待协议,由于每发送一个数据分组就停止等待,只要保证每发送一个新的数据分组,其发送序号与上次发送的数据分组的序号不同就可以了,因此用 一个比特来编号就够了。

img

4. 确认分组ACK迟到:确认分组也需要编号

对于PPP信道的数据链路层实现停止-等待协议,往返时间固定,不需要给确认分组编号。

5. 停止-等待协议的注意事项

  • 接收端检测到数据分组有误码时,将其 丢弃并等待发送方的超时重传。但对于误码率较高的点对点链路,为使发送方尽早重传,也 可给发送方发送NAK分组
  • 为了让接收方能够判断所收到的数据分组是否是重复的,需要给 数据分组编号。由于停止-等待协议的停等特性,只需1个比特编号就够了,即编号0和1.
  • 为了让发送方能够判断所收到的ACK分组是否是重复的,需要 给ACK分组编号,所用比特数量与数据分组编号所用比特数量一样。
  • 点对点信道的数据链路层一般不会出现ACK分组迟到的情况,因此 在数据链路层实现停止-等待协议可以不用给ACK分组编号。
  • 超时计时器设置的重传时间应仔细选择。一般可将重传时间选为 略大于“从发送方到接收方的平均往返时间”。
    • 在数据链路层点对点的往返时间比较确定,重传时间比较好设定。
    • 然而在运输层,由于端到端往返时间非常不确定,设置合适的重传时间有时并不容易

6. 停止-等待协议的信道利用率

  • 𝑇𝐷TD:数组分组的发送时延
  • 𝑇𝐴TA:接收方主机的处理时延
  • 𝑅𝑇𝑇RTT:往返时延

则 停止-等待协议的信道利用率计算公式 𝑈U 为:

𝑈=𝑇𝐷𝑇𝑑+𝑅𝑇𝑇+𝑇𝐴U=Td+RTT+TATD

计算举例

img

  • 当往返时延RTT远大于数据帧发送时延Tp时(例如使用卫星链路),信道利用率非常低。若出现重传,则对于传送有用的数据信息来说,信道利用率还要降低
  • 为了克服停止-等待协议信道利用率很低的缺点,就产生了另外两种协议,即 后退N帧协议GBN和选择重传协议SR

例题

4.4 (二)回退N帧协议GBN

1. 停止-等待协议SW的缺点及优化

  • 缺点:停止-等待协议SW的信道利用率很低,若出现超时重传,利用率更低。
  • 优化:采用流水线传输可以提高信道利用率。

img

2. 回退N帧协议

在流水线传输的基础上,利用发送窗口限制发送方可连续发送数据分组的个数。

  1. 使用3个比特给分组编序号,0−70−7
  2. 发送窗口的尺寸 𝑊𝑇WT 取值:1<𝑊𝑇<=23−11<WT<=23−1,本例取 𝑊𝑇=5WT=5
  3. 接收窗口𝑊𝑅WR的取值:𝑊𝑅=1WR=1

当 𝑊𝑇=1WT=1 为停止-等待协议SW。

(1)无差错情况

无差错情况:正常发送与接受,无误码或丢失等情况。

(2)累计确认

累计确认:接收方不一定要对收到的数据分组逐个发送确认,而是可以在收到几个数据分组后(由具体实现决定)对 按序到达的最后一个数据分组发送确认。𝐴𝐶𝐾𝑛ACKn表示序号为n及以前的所有数据分组都已正确接收。

即使 AKC1丢失了,也有ACK4来确认,发送方也可能不必重传。

img

  • 累计确认的优点:减少接收方的开销、减少对网络资源的占用。
  • 累计确认的缺点:不能向发送方及时发送接收方正确接受数据分组的信息。
(3)有差错情况
  • 在本例中。尽管序号为6,7,0,1的数据分组正确到达接收方,但由于5号数据分组误码不被接受,它们也“受到牵连”而不被接受。发送方还要重传这些数据分组,这就是所谓的 Go-back-N (回退N帧)
  • 可见,当通信线路质量不好时,回退N帧协议的信道利用率并不比停止-等待协议高。

img

(4)𝑊𝑇WT超过其上限7

若𝑊𝑇WT超过取值范围,例如𝑊𝑇=8WT=8,会出现什么情况?

如果是失败重传,序号为0-7;如果是发送新的分组,序号也为0-7。就无法分辨新旧数据分组了。

3. 回退N帧协议总结

  • 回退N帧协议在流水线传输的基础上利用发送窗口来限制发送方连续发送数据分组的数量,是一种连续ARQ协议。
  • 在协议的工作过程中发送窗回和接收窗口不断向前滑动,因此这类协议叉称为滑动窗回协议。
  • 由于回退N帧协议的特性,当通信线路质量不好时,其信道利用率并不比停止-等待协议高。

例题

4.5 (三)选择重传协议SR

1. 由GBN过渡到SR

  • 回退N帧协议 的接收窗口尺寸 𝑊𝑅WR只能等于1,因此 接收方只能按序接收正确到达的数据分组。
  • 一个数据分组的误码就会导致其后续多个数据分组不能被接收方按序接收而丢弃(尽管它们无乱序和误码)。这必然会造成发送方对这些数据分组的超时重传,显然这是对通信资源的极大浪费。
  • 为了进一步提高性能,可设法只重传出现误码的数据分组。因此,接收窗口的尺寸 𝑊𝑅WR不应再等于1(而应大于1),以便接收方先收下失序到达但无误码并且序号落在接收窗口内的那些数据分组,等到所缺分组收齐后再一并送交上层。这就是 选择重传协议。

注意

选择重传协议为了使发送方仅重传出现差错的分组,接收方 不能采用累计确认,而需要对每个正确接收到的数据分组进行 逐一确认。

2. 选择重传协议SR

img

1)选择重传协议发送窗口与接收窗口应满足的条件
2)若发送窗口取值超过限制

如果发送窗口和接收窗口超过了取值范围,就会使 接收方无法区分新、旧数据分组,进而出现 分组重复 这种差错。

3. SR协议总结

例题

【2011年题35】数据链路层采用选择重传协议(SR)传输数据,发送方已发送了0~3号数据帧,现已收到1号帧的确认,而0、2号帧依次超时,则此时需要重传的帧数是 A.1 B.2 C.3 D.4

解析

img

5. 点对点协议PPP

5.1 PPP协议的组成

  • 点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的 点对点数据链路层协议。
  • PPPoE:Point-to-Point Protocol over Ethernet
  • PPP协议是因特网工程任务组IETF在1992年制定的。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661,RFC1662]。

img

  • PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成:
    • 对各种协议数据报的封装方法(封装成帧)
    • 链路控制协议LCP:用于建立、配置以及测试数据链路的连接
    • 一套网络控制协议NCPs:其中的每一个协议支持不同的网络层协议

5.2 点对点协议PPP的帧格式

5.3 点对点协议PPP透明传输

点多点协议PPP实现透明传输的两种方法:

  • 面向字节的异步链路采用插入转义字符的字节填充法
  • 面向比特的同步链路采用插入比特 0 的比特填充法

1. 字节填充法

2. 比特填充法

img

5.4 差错检测

img

5.5 工作状态

6. 媒体接入控制

6.1 媒体接入控制基本概念

共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即 媒体接入控制MAC(Medium Access Control)。

6.2 媒体接入技术分类

img

随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术。

6.3 媒体接入控制:静态划分信道

信道复用

  • 复用(Multiplexing)是通信技术中的一个重要概念。复用就是通过一条物理线路同时传输多路用户的信号。
  • 当网络中传输媒体的传输容量大于多条单一信道传输的总通信量时,可利用复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽。
  • 分类:频分复用、时分复用、波分复用、码分复用

1. 频分复用 FDM

频分复用的所有用户 同时占用不同的频带资源 并行通信。

img

2. 时分复用 TDM

时分复用的所有用户在 不同的时间占用同样的频带宽度 。

3. 波分复用 WDM

img

4. 码分复用 CDM

(1)CDM 基本概念(理解、了解)
  • 码分复用 CDM 是另一种共享信道的方法。实际上,由于该技术主要用于多址接入,人们更常用 的名词是 码分多址CDMA(Code Division Multiple Access)。
  • 同理,频分复用 FDM 和时分复用 TDM 同样可用于多址接入,相应的名词是频分多址 FDMA (Frequency Division Multiple Access)和时分多址TDMA(Time Division Multiple
  • 本课程中,我们不严格区分复用与多址的概念。可简单理解如下:
    • 复用是将单一媒体的频带资源划分成很多子信道,这些子信道之间相互独立,互不干扰。从 媒体的整体频带资源上看,每个子信道只占用该媒体频带资源的一-部分。
    • 多址(更确切地应该称为多点接入)处理的是动态分配信道给用户。这在用户仅仅暂时性地占用信道 的应用中是必须的,而所有的移动通信系统基本上都属于这种情况。相反,在信道永久性地分配给用 户的应用中,多址是不需要的(对于无线广播或电视广播站就是这样)。
    • 某种程度上,FDMA、TDMA、CDMA可以分别看成是FDM、TDM、CDM的应用。
  • 与 FDM 和 TDM 不同,CDM的每一个用户可以在 同样的时间使用同样的频带进行通信。
  • 由于 各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰。
  • CDM 最初是用于军事通信的,因为这种系统所发送的信号有很强的抗干扰能力,其频谱类似于 白噪声,不易被敌人发现。
  • 随着技术的进步,CDMA设备的价格和体积都大幅度下降,因而现在已广泛用于民用的移动通信中
(2)码片(理解、应用)
  • 在CDMA中,每一个比特时间再划分为m个短的间隔,称为码片(Chip)。通常m=64或128。 为了简单起见,在后续的举例中,我们 假设m为8。
  • 注意:1个比特时间是指发送1个比特所花费的时间。
  • 使用CDMA的每一个站被指派一个唯一的 m bit 码片序列(Chip Sequence)。
    • 一个站如果 要发送比特1,则发送它 自己的m bit码片序列
    • 个站如果要 发送比特0,则发送它 自己的m bit码片序列的二进制反码
  • 码片序列的挑选 原则 如下:
    • 分配给每个站的码片序列必须 各不相同,实际常采用伪随机码序列。
    • 分配给每个站的码片序列必须 相互正交(规格化内积为0)
  • 计算公式如下
    • 令向量 S 表示站 S 的码片序列,令向量 T 表示其他任何站的码片序列
    • 两个不同站 S 和 T 的码片序列正交,就是向量 S 和 T 的规格化内积为 0
(3)码片的应用举例

img

img

解析

img

其他选项类似计算。(A发送1;B发送0;C未发送;D发送1)

解答

6.4 随机接入:CSMA/CD 协议

1. 背景

对于使用广播信道的总线型以太网,就会出现各种 碰撞(冲突)现象。

2. 基本概念

媒体接入控制-动态接入控制-随机接入方式:

CSMA/CD 协议

(载波监听多址接入/碰撞检测)

(Carrier Sense Multiple Access/Collision Detection)

(1)多址接入(MA):多个站连接在一条总线上,竞争使用

(2)载波监听(CS):每一个站在发送帧之前先要检测一下总线上是否有其他站点在发送帧(“先听后说”)

  • 若检测到 总线空闲 96 比特时间,则发送这个帧
  • 若检测到总线忙,则继续检测并等待总线转为 空闲 96 比特时间,然后发送这个帧。

(3)碰撞检测(CD):每一个正在发送帧的站边发送 边检测碰撞(“边说边听”)

一旦发现总线,上出现碰撞,则立即停止发送,退避一段随机时间后再次发送(“一旦冲突,立即停说,等待时机,重新再说” )。

img

(4)强化碰撞

以太网还采取一种叫做 强化碰撞 的措施。当发送帧的站点一旦检测到碰撞,除了 立即停止发送帧 外,还要再继续发送32比特或48比特的 人为干扰信号(Jamming Signal) ,以便有 足够多的碰撞信号 使所有站点 都能检测出碰撞。

3. 争用期(碰撞窗口)

注意:

  • 𝜏τ:以太网单程端到端传播时延。
  • 𝛿δ:B站发送数据 到 B站检测到碰撞 所经历的一段时间。
  • 𝑡t:纵轴向下,时间的正向进行。
  • 电磁波在 1𝑘𝑚1km 电缆传播时延约等于 5𝜇5μs
  • 主机 最多 经过 2𝜏2τ(即δ→0)的时长就可检测到本次发送是否遭受了碰撞
  • 因此,以太网的端到端往返传播时延 2𝜏2τ 称为 争用期 或 碰撞窗口
  • 经过争用期这段时间还 没有检测到碰撞,才能 肯定这次发送不会发生碰撞
  • 每一个主机在自己发送帧之后的一小段时间内,存在着遭遇碰撞的可能性。这一小段时间是不确定的。它取决于另一个发送帧的主机到本主机的距离,但不会超过总线的端到端往返传播时延,即一个争用期时间。
  • 显然,在以太网中发送帧的主机越多,端到端往返传播时延越大,发生碰撞的概率就越大。因此,共享式以太网不能连接太多的主机,使用的总线也不能太长。 10Mb/s以太网把争用期定为 512 比特发送时间,即 51 .2μs,因此其总线长度不能超过 5120m,但考虑到其他一些因素,如信号衰减等,以太网规定总线长度不能超过 2500m。

4. 最小帧长

A站 发送一个帧 完毕后,不再针对该帧进行碰撞检测,不知道已发送完毕的帧是否遭遇碰撞,不进行重传。而这时候C站 检测到信道空闲时间 96 bit,发送帧,将 产生碰撞。

显然,以太网的帧长不能太短!

  • 以太网规定最小帧长为64字节,即512比特(512比特时间即为争用期)
    • 如果要发送的数据非常少,那么必须加入一些填充字节,使帧长不小于64字节。
  • 以太网的 最小帧长确保了主机可在帧发送完成之前就检测到该帧的发送过程中是否遭遇了碰撞
    • 如果在争用期(共发送64字节)没有检测到碰撞,那么后续发送的数据就一定不会发生碰撞;
    • 如果在争用期内检测到碰撞,就立即中止发送,这时已经发送出去的数据一定小于64字节,因此 凡长度小于64字节的帧都是由于碰撞而异常中止的无效帧。

最小帧长计算公式

最小帧长 = 争用期 * 数据传输速率

5. 最大帧长

6. 截断二进制指数退避算法

7. 信道利用率

(1)一般信道利用率
(2)极限信道利用率

发送一帧所用时间为 𝑇0+𝜏T0+τ,帧本身发送时间为 𝑇0T0,则信道利用率计算公式如下

img

8. 帧发送/接收流程

(1)帧发送流程
(2)帧接收流程

9. 测试题

img

解析

(1)最短时间:

img

(2)最长时间:

CSMA/CD协议曾经用于各种总线结构以太网和双绞线以太网的早期版本中。现在的以太网基于交换机和全双工连接,不会有碰撞,因此没有必要使用CSMA/CD协议。

7. MAC 地址

7.1 MAC 地址

MAC 地址是以太网的 MAC 子层所使用的地址,属于数据链路层。

  • 对于点对点信道的数据链路层不需要地址。
  • 使用广播信道的数据链路层则需要使用 MAC 地址。

img

  • 当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯- -的标识, 即一个数据链路层地址;
  • 在每个主机发送的 帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制 MAC(Media Access Control),因此这类地址被称为 MAC地址 -MAC 地址一般被固化在网卡(网络适配器)的电可擦可编程只读存储器EEPROM中,因此MAC地址也 被称为 硬件地址
    • MAC 地址有时也被称为 物理地址。请注意:这并不意味着MAC地址属于网络体系结构中的物理层!
  • 般情况下,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线 网卡)。每个网络适配器都有一个全球唯一的 MAC 地址。 而交换机和路由器往往拥有更多的网络接口,所以 会拥有更多的MAC地址。综上所述,严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。

7.2 IEEE 802局域网的MAC地址格式

IEEE 802 局域网 MAC 地址格式:(共 6 字节,48位)

前 3 位字节(OUI) + 后 3 位(扩展标识符)

第 1 位字节的低位为 1、3、5、7、9、B、D,则为多播地址,48 位全为 1 时,则为广播地址。

提问:EU1-48地址空间会耗尽吗?

答:对于使用EUI-48空间的应用程序,IEEE的目标寿命为100年(直到2080),但是鼓励采用EUI-64作为替代。

7.3 IEEE 802 局域网 MAC 地址发送顺序

7.4 单播/多播/广播地址举例

(1)单播地址

主机B将本主机地址填入单播帧源地址,主机C地址填入目的地址,形成该单播帧。

(2)广播地址

主机B将本机地址填入源地址,将 FF-FF-FF-FF-FF-FF 广播地址填入目的地址,构成广播帧。

img

(3)多播地址

主机A发送含有多播地址的多播帧,其他主机根据自己的多播组列表,判断是否接收帧。

8. IP 地址

由于MAC地址、IP地址、ARP协议三者联系紧密,故提前一起讲述。

8.1 初识 IP 地址

  • IP地址是因特网(Internet)上的 主机和路由器 所使用的地址, 用于标识两部分信息:
    • 网络编号:标识因特网上数以百万计的网络
    • 主机编号:标识同一网络上不同主机(或路由器各接口)
  • 很显然, 之前介绍的MAC地址不具备区分不同网络的功能
    • 如果只是一个单独的网络,不接入因特网,可以只使用MAC地址(这不是一般用户的应用方式)
    • 如果主机所在的网络要接入因特网,则IP地址和MAC地址都需要使用。

8.1 从网络体系结构看IP地址与MAC地址

IP 地址属于网络层,MAC 地址属于数据链路层。

img

8.2 数据包转发过程中IP地址与MAC地址的变化情况

  • 数据包转发过程中源IP地址和目的IP地址保持不变
  • 数据包转发过程中源MAC地址和目的MAC地址逐个链路(或逐个网络)改变。

暂且这么认为:H1知道应该把数据包传给R1,由R1帮其把数据包转发出去。H1知道R1相应接口的IP地址为IP3,但不知道其对应的MAC地址是什么!

8.3 测试题

9. ARP 地址转移协议

9.1 介绍

  • 高速缓存表

img

  • ARP 协议:由 IP 地址获取 MAC 地址的一种协议。

9.2 ARP:地址解析协议原理

B 发送带有广播 MAC 地址广播帧,以获取指定 IP 地址的固化 MAC 地址。

img

9.3 高速缓存表分类

  • 动态:自动获取,生命周期默认为两分钟;
  • 静态:手工设置,不同操作系统下的生命周期不同,例如系统重启后不存在或系统重启后依然有效。

ARP 协议只在同一段链路间使用。

10. 集线器和交换机的区别

10.1 早期总线型以太网

传统以太网是使用 粗同轴电缆的总线以太网,后面转变为较为便宜的 细同轴电缆。最后 淘汰,被双绞线代替。

img

10.2 使用双绞线和集线器HUB的星型以太网

  • 使用集线器的以太网在 逻辑上仍是一个总线网,各站共享总线资源,使用的还是CSMA/CD协议
  • 集线器只工作在物理层,它的每个接口仅简单地转发比特,不进行碰撞检测(由各站的网卡检测)
  • 集线器一般都有少量的容错能力和网络管理功能。例如,若网络中某个网卡出了故障,不停地发送帧。此时,集线器可以检测到这个问题,在内部断开与出故障网卡的连线,使整个以太网仍然能正常工作。

img

10.3 使用集线器HUB在物理层扩展以太网

如图,在局域网扩展以前,三个小局域网 各自是一个广播域,也各自成 一个碰撞域。

img

通过一个“主干”集线器将三个系互连,成为一个更大的以太网。新的以太网还是一个 更大的广播域,也是一个 更大的碰撞域。

10.4 以太网交换机

前提:① 忽略ARP过程 ②假设交换机的帧交换表已“学习好了”

  • 以太网交换机 通常都有多个接口。每个接口都可以直接与一台主机或另一个以太网交换机相连。一般都工作在 全双工方式。
  • 以太网交换机具有并行性,能 同时连通多对接口,使多对主机能同时通信,无碰撞(不使用CSMA/CD协议)。
  • 以太网交换机- -般都具有多种速率的接口,例如: 10Mb/s、100Mb/s、 1Gb/s、 10Gb/s接口的多种组合。
  • 以太网交换机 工作在数据链路层(也包括物理层), 它收到帧后,在帧交换表中 查找帧的目的MAC地址所对应的接口号,然后通过该接口转发帧。
  • 以太网交换机使一种即插即用设备,其内部的 帧交换表 是通过 自学习算法 自动地逐渐建立起来的。
  • 帧的两种转发方式:
    • 存储转发
    • 直通交换:采用基于硬件的交叉矩阵(交换时延非常小,但不检查帧是否有差错)

10.5 集线器和交换机的区别

(1)单播(一个)

img

(2)广播

(3)单播(两个)

两个同时进行的单播,对于集线器,会发生碰撞。而对于交换机,则不会产生碰撞。

10.6 集线器与交换机对比

  • 相同点,集线器和交换机 都扩大了广播域
  • 不同点,集线器扩大了碰撞域(冲突域),而交换机没有扩大碰撞域

(1)集线器HUB

  • 早期 以太网的互连设备
  • 工作在OSI体系结构的 物理层
  • 对接收到的信号进行 放大、转发
  • 使用集线器作为互连设备的以太网仍然 属于共享总线式以太网。集线器互连起来的所有主机共享总线带宽,属于同一个碰撞域和广播域。
  • 目前,集线器已 被淘汰。

(2)交换机SWITCH

  • 目前 以太网中使用最广泛的互连设备
  • 工作在OSI体系结构的 数据链路层(也包括物理层)
  • 根据 MAC地址 对帧进行转发
  • 使用交换机作为互连设备的以太网,称为 交换式以太网。交换机可以根据MAC地址 过滤 帧,即隔离碰撞域。
  • 交换机的 每个接口是一个独立的碰撞域
  • 交换机 隔离碰撞域 但 不隔离广播域(VLAN除外)

11. 以太网交换机自学习和转发帧的过程

前提

假设各主机知道网络中其他各主机的MAC地址(无需进行ARP)

  • 以太网交换机工作在 数据链路层(也包括物理层)
  • 以太网交换机收到帧后,在帧交换表中查找 帧的目的MAC地址所对应的接口号,然后通过该接口转发帧。
  • 以太网交换机是一种即插即用设备,刚上电启动时其内部的帧交换表是空的。随着网络中各主机间的通信,以太网交换机 通过自学习算法自动逐渐建立起帧交换表。

具体过程

  1. 收到帧后进行 登记。登记的内容为帧的源MAC地址及进入交换机的 接口号
  2. 根据 帧的目的MAC地址 和交换机的 帧交换表 对帧进行 转发,有以下三种情况:
    1. 明确转发:交换机知道应当从哪个(或哪些)接口转发该帧(单播,多播,广播)
    2. 盲目转发:交换机不知道 应当从哪个端口转发帧,只能将其通过除进入交换机的接口外的其他所有接口转发(也称为泛洪)。
    3. 明确丢弃:交换机知道不应该转发该帧,将其丢弃。

注意

每条记录都有自己的 有效时间,到期自动删除!这是因为 MAC地址与交换机接口的对应关系并不是永久性的!

具体可能原因如下:

  1. 交换机的接口改接了另一台主机
  2. 主机更换了网卡

12. 以太网交换机的生成树协议STP

12.1 背景

12.2 生成树协议STP

13. 虚拟局域网VLAN

13.1 虚拟局域网概述

广播风暴会浪费网络资源和各主机的CPU资源!

但是 网络中会频繁出现广播信息,于是就需要划分广播域。

一种方法是使用 路由器,路由器工作在 网络层,默认情况下不对广播数据包进行转发。

但是路由器的成本太高,因此 虚拟局域网VLAN技术 应运而生。

虚拟局域网VLAN(Virtual Local Area Network)是一种将局域网内的 设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求。

13.2 虚拟局域网的实现机制

IEEE 802.1Q帧

  • IEEE 802.1Q帧(也称Dot One Q帧)对以太网的MAC帧格式进行了扩展,插入了 4字节的VLAN标记。
    • 以太网V2的MAC帧(最大长度1518字节)
    • 插入VLAN标记后的802.1Q帧(最大长度1522字节)
  • VLAN标记的 最后12比特称为 VLAN标识符VID,它唯一地标志了以太网帧属于哪一一个VLAN。
    • VID的取值范围是0 ~ 4095(0 ~ 212−1212−1)
    • 0和4095都不用来表示VLAN,因此用于表示VLAN的 VID的有效取值范围是 1~4094。
  • 802.1Q帧是由交换机来处理的,而不是用户主机来处理的。
    • 当交换机收到 普通的以太网帧时, 会将其插入4字节的VLAN标记转变为802.1Q帧,简称 “打标签”。
    • 当交换机 转发802.1Q帧时, 可能会删除其4字节VLAN标记转变为普通以太网帧,简称 “去标签”

交换机的端口类型

  • 交换机的端口类型有以下三种:
    • Access
    • Trunk
    • Hybrid
  • 交换机各端口的缺省VLAN ID
    • 在思科交换机上称为 Native VLAN,即本征VLAN。
    • 在华为交换机.称为 Port VLAN ID,即端口VLAN ID,简记为PVID。
(1)Access 端口
  • Accss端口一-般用于 连接用户计算机
  • Access端口只能属于一个VLAN
  • Access端口的 PVID值与端口所属VLAN的ID相同(默认为1)
  • Access端口接收处理方法: 一般只接受“未打标签”的普通以太网MAC帧。 根据接收帧的端口的PVID给帧 “打标签”,即插入4字节VLAN标记字段,字段中的 VID取值与端口的PVID取值相等。
  • Access端口发送处理方法: 若帧中的VID与端口的PVID相等,则 “去标签” 并转发该帧;否则不转发。
(2)Trunk 端口
  • Trunk端口- -般 用于交换机之间或交换机与路由器之间的互连
  • Trunk端口可以属于多个VLAN
  • 用户可以设置Trunk端口的PVID值。默认情况下,Trunk端口的PVID值为1。
  • Trunk端口发送处理方法:
    • 对 VID等于PVID的帧,“去标签” 再转发
    • 对 VID不等于PVID的帧,直接转发
  • Trunk端口接收处理方法:
    • 接收 “未打标签” 的帧,根据接收帧的端口的PVID给帧 “打标签”,即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等。
    • 接收 “已打标签” 的帧

(四)网络层

1. 网络层概述

  • 网络层的主要任务是实现 网络互连,进而 实现数据包在各网络之间的传输。
  • TCP/IP参考模型的网络层提供的是 无连接不可靠的数据报服务
  • 要实现网络层任务,需要解决以下主要问题:
    • 网络层向运输层提供怎样的服务(“可靠传输” 还是 “不可靠传输”)
    • 网络层寻址问题
    • 路由选择问题
  • 因特网(Internet)是目前全世界用户数量最多的互联网,它使用 TCP/IP协议栈。
  • 由于TCP/IP协议栈的网络层使用 网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为 网际层。
  • 综上所述,我们通过学习TCP/IP协议栈的网际层来学习网络层的理论知识和实践技术。

2. 网络层提供的两种服务

2.1 面向连接的虚电路服务

  • 可靠通信由网络来保证
  • 必须建立 网络层的连接虚电路VC(Virtual Circuit)
  • 通信双方 沿着已建立的虚电路发送分组
  • 目的主机的地址仅在连接建立阶段使用,之后 每个分组的首部只需携带一条虚电路的编号(构成虚电路的每一段链路都有一个虚电路编号)。
  • 这种通信方式如果再使用可靠传输的网络协议,就可使所发送的分组最终正确到达接收方(无差错按序到达、不丢失、不重复)
  • 通信结束后,需要释放之前所建立的虚电路。
  • 很多广域分组交换网都使用面向连接的虚电路服务。 例如,曾经的X.25和逐渐过时的帧中继FR、异步传输模式ATM等。

img

2.2 无连接的数据报服务

  • 可靠通信应当由用户主机来保证
  • 不需要建立网络层连接
  • 每个分组可走不同的路径
  • 每个分组的 首部必须携带目的主机的完整地址
  • 这种通信方式所传送的 分组可能误码、丢失、重复和失序。
  • 由于 网络本身不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价 格低廉(与电信网的交换机相比较)。
  • 因特网采用了这种设计思想,也就是 将复杂的网络处理功能置于因特网的边缘(用户主机和其内部的运输层),而将相对简单的尽最大努力的分组交付功能置于因特网核心。

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

3. IPv4地址及其应用

3.1 IPv4地址概述

  • 在TCP/IP体系中,IP地址是一个最基本的概念,我们必须把它弄清楚。
  • IPv4地址 就是给因特网(Internet)上的 每一台主机(或路由器)的每一个接口分配一个在全世界范围内是 唯一的32比特的标识符。
  • IP地址由因特网名字和数字分配机构ICANN(Internet Corporation for Assigned Names and Numbers)进行分配。
    • 我国用户可向亚太网络信息中心APNIC(Asia Pacific Network Information Center)申请IP地址, 需要缴费。
    • 2011年2月3日,互联网号码分配管理局IANA(由ICANN行使职能)宣布,IPv4地址已经分配完毕。
    • 我国在2014至201 5年也逐步停止了向新用户和应用分配IPv4地址。同时全面开展商用部署IPv6。
  • IPv4地址的编址方法经历了如下三个历史阶段:
  • 32比特的IPv4地址不方便阅读、记录以及输入等,因此IPv4地址采用 点分十进制表示方法以方便用户使用。

3.2 分类编址的IPv4地址

分类的IPv4地址共分为 5 类:A类地址、B类地址、C类地址、D类地址、E类地址。

注意:

  • 只有A类、B类和C类地址可分配给网络中的 主机或路由器的各接口
  • 主机号为 “全0” 的地址是网络地址,不能分配给主机或路由器的各接口
  • 主机号为 “全1” 的地址是广播地址,不能分配给主机或路由器的各接口

img

(1)A类地址

  • 最小网络号 0,保留不指派
  • 第一个可指派的网络号为 1,网络地址为 1.0.0.0
  • 最大网络号 127,作为本地环回测试地址,不指派
    • 最小的本地环回测试地址为 127.0.0.1
    • 最大的本地环回测试地址为 127.255.255.254
  • 最后一个可指派的网络号为 126,网络地址为 126.0.0.0
  • 可指派的网络数量为 28−1=12628−1=126(减2的原因是除去最小网络号0和最大网络号127)
  • 每个网络中可分配的IP地址数量为 224−2=16777214224−2=16777214(减2的原因是除去主机号为全 0 的网络地址和全 1 的广播地址)

(2)B类地址

  • 最小网络号也是第一个可指派的网络号 128.0 网络地址为 128.0.0.0
  • 最大网络号也是最后一一个可指派的网络号 191.255 网络地址为 191.255.0.0
  • 可指派的网络数量为 216−2=16384216−2=16384
  • 每个网络中可分配的IP地址数量为 216−2=65534216−2=65534(减2的原因是除去主机号为全 0 的网络地址和全1的广播地址)

(3)C类地址

  • 最小网络号也是第一个可指派的网络号 192.0.0 网络地址为 192.0.0.0
  • 最大网络号也是最后一一个可指派的网络号 223.255.255 网络地址为 223.255.255.0
  • 可指派的网络数量为 224−3=2097152224−3=2097152
  • 每个网络中可分配的IP地址数量为 28−2=25428−2=254(减2的原因是除去主机号为全 0 的网络地址和全 1 的广播地址)

(4)一般不使用的特殊IP地址

一、

img

解答

img

3.3 划分子网的IPv4地址

3.4 无分类编址的IPv4地址

3.5 IPv4地址的应用规划

1)应用规划

应用规划:给定一个IPv4地址块,将其划分为几个更小的地址块,并将这些地址块分给互联网中的不同网络,进而给各位网络的主机和路由器接口分配IPv4地址。

解决方法:

  • 方法一:定长子网掩码(FLSM,Fixed Length Subnet Mask)
    • 使用同一个子网掩码来划分子网
    • 每个子网所分配的IP地址数量相同,造成IP地址浪费
  • 方法二:变长子网掩码(VLSM,Variable Length Subnet Mask)
    • 使用不同的子网掩码来划分子网
    • 每个子网所分配的IP地址数量可以不同,尽可能减少对IP地址的浪费

2)定长子网掩码划分

先确定每个子网中需要分配的IP地址的数量,向给定的网络地址(假如是C类网)中的主机号借 𝑛n 位来表示子网号,若需要划分 𝑚m 个子网,则要满足: 2𝑛>=𝑚2n>=m ,且 28−𝑛>=28−n>= 每个子网IP地址总需求量

3)变长子网掩码划分

  1. 先确定每个子网中需要分配的IP地址的数量 𝑥x(包括网络地址,广播地址,可分配地址),然后由此确定每个子网的主机号位数 𝑛n,满足 2𝑛=𝑥2n=x,再由此得出网络前缀的位数 𝑦=32−𝑛y=32−n。
  2. 然后得到每个子网的地址块形式:/𝑦/y 和地址数量:2𝑛2n。

img

  1. 列出所给地址块的全部地址,在该地址块中给网络待划分的子网分配子块,分配原则是“每个子块的起点位置不能随意选取,只能选取 “块大小整数倍的地址作为起点”。建议先给大的子块分配。

img

4. IP数据报的发送和转发过程

  • 主机发送IP数据报 判断目的主机是否与自己在同一个网络(判断方法请参看本节课相关示例)
    • 若在同一个网络,则属于直接交付
    • 若不在同一个网络,则属于间接交付,传输给主机所在网络的默认网关(路由器),由默认网关帮忙转发
  • 路由器转发IP数据报
    • 检查IP数据报首部是否出错:
      1. 若出错,则直接丢弃该IP数据报并通告源主机
      2. 若没有出错,则进行转发
    • 根据IP数据报的目的地址在路由表中查找匹配的条目(查找方法请参看本节课相关示例):
      1. 若找到匹配的条目,则转发给条目中指示的下一跳
      2. 若找不到,则丢弃该IP数据报并通告源主机
  • 中继器 和 集线器 工作在物理层,既不隔离冲突域也不隔离广播域。
  • 网桥 和 交换机(多端口网桥)工作在数据链路层,可以隔离冲突域,不能隔离广播域。
  • 路由器 工作在网络层,既隔离冲突域,也隔离广播域。

5. 静态路由配置及其可能产生的路由环路问题

  • 静态路由配置错误导致 路由环路
  • TTL:为了防止IP数据报在路由环路中永久兜圈,在IP数据报首部设有 生存时间TTL字段。IP数据报进入路由器后,TTL字段的值减1。若TTL的值不等于0,则被路由器转发,否则被丢弃。
  • 静态路由配置 是指用户或网络管理员使用路由器的相关命令给路由器 人工配置路由表。
    • 这种人工配置方式简单、开销小。但不能及时适应网络状态(流量、拓扑等)的变化。
    • 一般只在小规模网络中采用。
  • 使用静态路由配置可能出现以下导致产生 路由环路的错误
    • 配置错误
    • 聚合了不存在的网络
    • 网络故障
  • 路由条目的类型
    • 直连网络
    • 静态路由(人工配置)
    • 动态路由(路由选择协议)
  • 特殊的静态路由条目
    • 默认路由(目的网络为0.0.0.0, 地址掩码为0.0.0.0)
    • 特定主机路由(目的网络为特定主机的IP地址,地址掩码为255.255.255.255)
    • 黑洞路由(下一跳为 null0
  • 路由表中几种静态路由
    • 自动得出的直连网络:目的网络为与接口直连的网络地址,下一跳为直连的接口。
    • 人工配置的默认路由:目的网络为 0.0.0.0/0,子网掩码为 255.255.255.255,下一跳为指定的网络。
    • 特定主机路由:目的网络为特定主机的IP地址,子网掩码为 255.255.255.255
    • 黑洞路由:为了解决因聚合了不存在的网络而导致路由环路的问题,目的网络为不存在的网络地址,下一跳为 null0

6. 路由选择协议

6.1 路由选择协议概述

1)路由选择分类

  • 静态路由选择
    • 由人工配置的网络路由、默认路由、特定主机路由、黑洞路由等都属于静态路由。
    • 这种人工配置方式简单、开销小。 但是 不能及时适应网络状态(流量、拓扑等)的变化。
    • 一般只在 小规模网络 中采用。
  • 动态路由选择
    • 路由器通过路由选择协议 自动获取路由信息。
    • 比较复杂、开销比较大。 能较好的适应网络状态的变化。
    • 适用于 大规模网络

2)因特网所采用的路由选择协议的主要特点

  • 动态路由选择,较好的适应网络状态变化
  • 路由器之间交换路由信息
  • 将整个因特网划分为许多较小的自治系统AS

3)因特网采用分层次的路由选择协议

  • 自治系统AS内部的路由选择称为 域内路由选择,自治系统之间的路由选择称为 域间路由选择。
  • 域内路由选择使用的是一类 内部网关协议IGP(Inner Gateway Protocol),域间路由选择使用的协议是一类 外部网关协议EGP(Edge Gateway Protocl)。

说明,“网关” 和 “路由”这两个名字和互换,即内部路由协议IRP。

  • 不同自治系统使用的内部网关协议IGP不影响其他自治系统的IGP。(可以使用RIP或OSPF等等)

4)常见网关协议

5)路由器的基本结构

  • 路由器是一种具有多个输入端口和输出端口的专用计算机,其任务是 转发分组。
  • 路由器结构可分为两大部分
    • 路由选择部分
    • 分组转发部分
  • 路由选择部分的核心构件是 路由选择处理机,其任务是通过路由选择协议周期性的与其他路由器进行路由信息的交互,来 更新路由表。
  • 分组转发部分由三部分构成
    • 交换结构
    • 一组输入端口
    • 一组输出端口
  • 路由器还具有输入缓冲区、输出缓冲区,来缓存已经处理但未发送的分组。
  • 路由表一般仅包含 从目的网络到下一跳的映射
  • 路由表需要对网络拓扑变化的计算最优化
  • 转发表是从路由表得出的
  • 转发表的结构应当使查找过程最优化

一般不严格区分路由表和转发表。

6.2 路由信息协议RIP的基本工作原理

  • 路由信息协议RIP(Routing Information Protocol)是内部网关协议IGP中最先得到广泛使用的协议之一,其相关标准文档为RFC 1058。
  • RIP要求自治系统AS内的每- -个路由器都要维护从它自己到AS内其他每-一个网络的距离记录。这是一组距离,称为 “距离向量D-V(Distance-Vector)”。
  • RIP使用 跳数(Hop Count)作为度量(Metric)来衡量到达目的网络的距离。
    • 路由器到直连网络的距离定义为1。
    • 路由器到非直连网络的距离定义为所经过的路由器数加1。
    • 允许一条路径最多只能包含15个路由器。 “距离”等于16时相当于不可达。因此,RIP只适用于小型互联网。

img

  • RIP认为 好的路由 就是 “距离短” 的路由,也就是 所通过路由器数量最少的路由。
  • 当到达同一目的网络有多条 “距离相等” 的路由时,可以进行 等价负载均衡。
  • RIP包含以下三个要点:
    • 和谁交换信息:仅和相邻路由器交换信息
    • 交换什么信息:自己的路由表
    • 何时交换信息:周期性交换(例如每30秒)
  • RIP的基本工作过程
    • 路由器刚开始工作时,只知道自己到直连网络的距离为1。
    • 每个路由器仅和相邻路由器周期性地交换并更新路由信息。
    • 若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下- -跳地址,称为收敛。
  • RIP的路由条目的更新规则
    • 发现了新的网络,添加
    • 到达目的网络,相同下一跳,最新消息,更新
    • 到达目的网络,不同下一跳,新路由优势,更新
    • 到达目的网络,不同下一跳,新路由劣势,不更新
    • 到达目的网络,不同下一跳,等价负载均衡
  • RIP存在 “坏消息传播得慢” 的问题 “坏消息传播得慢” 又称为 路由环路或距离无穷计数问题,这是 距离向量算法的一个固有问题。 可以采取多种措施 减少 出现该问题的概率或减小该问题带来的危害。
    • 限制最大路径距离为15(16表示不可达)
    • 当路由表发生变化时就立即发送更新报文(即 “触发更新”),而不仅是周期性发送
    • 让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送(即 “水平分割”)