计算机网络技术
Download
1 / 76

计算机网络技术 - PowerPoint PPT Presentation


  • 132 Views
  • Uploaded on

计算机网络技术. 第 4 章 数据链路层. 4.1 数据链路层的基本概念 4.2 数据链路控制协议 4.3 流量控制 4.4 高级数据链路控制协议 HDLC 4.5 因特网的点对点链路协议 PPP. 第 4 章 数据链路层. 物理层的问题: 物理链路是 有差错和不可靠 的。 物理设备之间可能存在 传输速度不匹配 的问题。 数据链路层的作用: 通过一些 数据链路控制 协议,在 不太可靠 的物理链路上实现 可靠 的数据传输。. 4.1 数据链路层的基本概念. 物理链路

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 计算机网络技术' - sondra


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

计算机网络技术

第4章 数据链路层


4.1 数据链路层的基本概念

4.2 数据链路控制协议

4.3 流量控制

4.4 高级数据链路控制协议HDLC

4.5 因特网的点对点链路协议PPP

第4章 数据链路层


物理层的问题:

物理链路是有差错和不可靠的。

物理设备之间可能存在传输速度不匹配的问题。

数据链路层的作用:

通过一些数据链路控制协议,在不太可靠的物理链路上实现可靠的数据传输。

4.1 数据链路层的基本概念


物理链路

是一条无源的点到点的物理线路段。其间无交换节点,但可以有中继器。网络中两台计算机之间的通路可以由多条链路串接而成。

数据链路

是在物理链路上通过控制协议建立起来的逻辑链路。

一条物理链路上可以建立多个数据链路。

节点交换机

节点交换机

链路控制

链路控制

MODEM

MODEM

物理链路

数据链路

物理链路与数据链路

把实现这些协议的硬件和软件加到物理链路上,就构成了数据链路。


数据链路层协议传送的数据单元(PDU)称为“帧”,是由网络层的协议数据单元以一对一的方式封装而成。

数据链路就象一个数字管道, “帧”就是这条数字管道上传输的数据单元。

“帧”如同信件一样,封套上载有源地址和目标地址,故能准确无误地地送达目的地。封套内的数据才是要传送的真正内容。

帧的概念

节点

节点


对于不同的通信环境或不同的通信协议, “帧”的格式亦不尽相同。

帧的一般结构

  • “帧”分为面向字符型和面向比特型两类。前者由ASCII字符构成(IBM BSC协议);后者由任意比特构成,更为灵活和高效(HDLC)。


在网络实体间提供建立、维持和释放数据链路连接以及提供传输数据链路服务数据单元的功能和过程的手段;在网络实体间提供建立、维持和释放数据链路连接以及提供传输数据链路服务数据单元的功能和过程的手段;

在物理链路上建立数据链路连接;

检测和校正物理层出现的错误,为网络层提供可靠的无差错的数据链路。

设置数据链路层的目的


OSI在网络实体间提供建立、维持和释放数据链路连接以及提供传输数据链路服务数据单元的功能和过程的手段;模型规定数据链路层应为网络层提供三种类型的服务:

无确认无连接的服务

有确认无连接的服务

面向连接的服务

为网络层提供的服务类型

  • 源节点不必建立连接,可直接向数据链路发送数据单元;

  • 目标节点不必对收到的数据单元进行确认。

  • 源节点不必建立连接,可直接向数据链路发送数据单元;

  • 目标节点对每个接收到的数据单元应给予肯定确认或否定确认;

  • 源节点根据目标节点的确认信息,决定是重发原数据单元还是发送下一个数据单元。

  • 源节点要发送数据之前先建立连接,然后进行数据传输,传输结束要拆除数据链路层连接;

  • 源节点对传输的每个数据单元进行编号,按顺序发送;

  • 目标节点对收到的数据单元给予肯定确认或否定确认。


链路管理在网络实体间提供建立、维持和释放数据链路连接以及提供传输数据链路服务数据单元的功能和过程的手段;——为了提供面向连接的服务,数据链路协议要具备数据链路的建立、维护和释放的功能。

帧同步

流量控制

差错控制

透明传输

寻址

数据链路层的功能

  • 链路管理

  • 帧同步

  • 流量控制

  • 差错控制

  • 透明传输——能在数据链路上传输任意比特组合的数据。数据链路协议应能有效有效地区分数据信息和控制信息。

  • 寻址

  • 链路管理

  • 帧同步

  • 流量控制

  • 差错控制

  • 透明传输

  • 寻址——在多点连接的情况下,能正确判断每一帧的目标地址和源地址。

  • 链路管理

  • 帧同步——接收方应能从收到的比特流中准确地区分出一帧的开始和结束位置。

  • 流量控制

  • 差错控制

  • 透明传输

  • 寻址

  • 链路管理

  • 帧同步

  • 流量控制——当收方来不及接收数据时,必须能及时控制发方的发送速率。

  • 差错控制

  • 透明传输

  • 寻址

  • 链路管理

  • 帧同步

  • 流量控制

  • 差错控制——采用抗干扰编码和链路控制协议进行差错检验和控制。

  • 透明传输

  • 寻址


字节计数法在网络实体间提供建立、维持和释放数据链路连接以及提供传输数据链路服务数据单元的功能和过程的手段;

用一个特殊字符作为帧的开始定界符,后面使用一个字段来表明帧的长度字节数。

首尾定界法

使用若干个特定字符作为帧的首尾标志。

使用特殊比特模式表示帧的首尾标志。

使用违例编码作为帧的首尾标志。

帧同步技术


数据封装的过程在网络实体间提供建立、维持和释放数据链路连接以及提供传输数据链路服务数据单元的功能和过程的手段;

FTP message

Data

Data

Segment

Segment

Header

Data

(Bytes)

Packet

Network

Header

Segment

Header

Data

Frame

Frame

Header

Network

Header

Segment

Header

Data

Frame

Trailer

(medium dependent)

Bits

0111111010101100010101101010110001

帧同步技术


10101010 ……10101010|10101011在网络实体间提供建立、维持和释放数据链路连接以及提供传输数据链路服务数据单元的功能和过程的手段;

帧同步技术

  • 前导码:是帧同步信号,每个字节均为二进制数10101010。

  • 帧开始定界符SOF:10101011B。最后二位11表示SOF结尾。


帧同步技术在网络实体间提供建立、维持和释放数据链路连接以及提供传输数据链路服务数据单元的功能和过程的手段;


帧同步技术在网络实体间提供建立、维持和释放数据链路连接以及提供传输数据链路服务数据单元的功能和过程的手段;


物理链路是在网络实体间提供建立、维持和释放数据链路连接以及提供传输数据链路服务数据单元的功能和过程的手段;有差错和不可靠的。

物理设备之间可能存在传输速度不匹配的问题。

数据链路控制协议要实现差错控制和流量控制

4.2 数据链路控制协议

发送方

接收方

B

A

AP1

AP2

高层

物理链路

数据链路

数据链路层

缓存

缓存

物理层


工作原理:在网络实体间提供建立、维持和释放数据链路连接以及提供传输数据链路服务数据单元的功能和过程的手段;

发送方发送一块数据后, 就停止发送动作,开始计时,等待接收方的反馈结果。

接收方对收到的数据进行校验,并根据校验的结果向发送方作出肯定确认或否定确认。

当发送方收到“正确”的确认(ACK)之后,继续发送后继数据块;

如果发送方收到“否定”确认(NAK) ,或者计时器超时,重新传送本数据块。

1. 停止--等待协议


为了保证按顺序传输,为每一个数据帧带上不同的为了保证按顺序传输,为每一个数据帧带上不同的发送序号N(S) 。每发送一个新的数据帧就把它的发送序号加 1。

若节点 B 收到发送序号相同的数据帧,就表明出现了重复帧,应将其丢弃,同时 向节点A 发送确认帧 ACK 。

为了减少数据传输的额外开销,应尽量使序号占用较少的比特数。

由于停止等待协议每发送一个数据帧就停止等待,因此用一个比特来编号就够了。

帧的序号


正常 出错重传 超时重传为了保证按顺序传输,为每一个数据帧带上不同的

DATA0

DATA0

DATA0

出错

tout

tout

A

B

A

B

A

B

A

B

DATA0

DATA0

DATA1

DATA0

NAK

DATA0

上层实体

上层实体

ACK

ACK

上层实体

ACK

上层实体

上层实体

ACK

ACK

ACK

(b) 数据帧出错

(d) 确认帧丢失

(c) 数据帧丢失

(a) 正常情况

数据帧在链路上的几种情形


通信双方以为了保证按顺序传输,为每一个数据帧带上不同的半双工方式进行通信

控制简单,易于实现。

传输效率低。尤其对信道质量好、差错率低的情况。

停—等协议的特点


2 arq

工作原理:为了保证按顺序传输,为每一个数据帧带上不同的

发送方可以连续发送一系列数据帧,即不要求等待对方的确认,即可发送下一数据帧。

当发送方收到了接收端发来的对某帧信息的确认帧时,就可以接着发送后继的数据帧。

由于减少了等待时间,信道的利用率大大提高。

2. 拉回式连续ARQ协议

  • 需要在发送方设置一个较大的缓冲区,用以存放待确认的数据帧。

  • 当发送方收到对某帧的确认后方可从缓存中删除该数据帧。

  • 发送方每发送完一个数据帧,就启动一个超时计时器。

  • 若到了超时计时器所设置的重传时间而仍未收到对方的确认帧,发送方就重传未得到确认的数据帧。


接收方只能按顺序接收帧。为了保证按顺序传输,为每一个数据帧带上不同的

当某一帧出错时,接收方将丢弃出错帧及其后的帧,等待发方重传出错帧及其后的所有帧。

计时器超时

重传

0

0

1

1

2

2

2

3

3

3

4

4

4

5

5

5

6

6

6

7

7

7

×

D

D

D

D

D

出错

ACK2

ACK3

ACK0

ACK1

丢弃

拉回式连续ARQ协议的工作原理

发送方A

接收方B


3 arq

为了提高信道的利用率,接收方可以开设较大的缓存区,以保存在出错帧之后正确接收的帧。为了提高信道的利用率,接收方可以开设较大的缓存区,以保存在出错帧之后正确接收的帧。

发送方只需重传出错帧,而不必重复传送那些本来已经正确到达接收方的数据帧。

接收方等到所缺序号的数据帧收到后再一并送交主机。

3. 选择重传ARQ协议


重传为了提高信道的利用率,接收方可以开设较大的缓存区,以保存在出错帧之后正确接收的帧。

发送端

0

1

2

3

4

5

2

3

4

5

6

接收端

0

1

2

3

4

5

2

3

4

5

6

ACK1

ACK3

丢弃

ACK0

NAK

ACK2

(a)

重传

发送端

0

1

2

3

4

5

2

6

7

8

9

接收端

0

1

2

3

4

5

2

6

7

8

9

丢弃

ACK1

ACK3

ACK5

ACK6

ACK0

NAK

ACK4

ACK2

(b)

连续ARQ协议的工作方式

(a) 拉回方式

(b) 选择重发方式


所谓为了提高信道的利用率,接收方可以开设较大的缓存区,以保存在出错帧之后正确接收的帧。流量控制是指当收方来不及接收数据时,必须能及时控制发方的发送速率。

在面向帧的同步通信中主要使用滑动窗口机制来实现流量控制。

4.3 流量控制


发送方必须设置缓存保留已发送且未被确认的数据帧的副本,以备重传。计算机的硬件资源是有限的,缓存容量不能无限制增加。发送方必须设置缓存保留已发送且未被确认的数据帧的副本,以备重传。计算机的硬件资源是有限的,缓存容量不能无限制增加。

当未被确认的数据帧过多时,一旦有一帧出现错误,可能需要重传很多帧,造成很大的浪费,增加了传输的开销。

为了对连续发送的大量数据帧进行编号,每帧的发送序号也要占用较多的比特,又增加了一定的开销。

因此在连续ARQ协议中必须对连续发送的未被确认的帧数做一定的限制,这就是滑动窗口协议所研究的内容。

拉回式连续ARQ协议的问题


发送端和接收端分别设定发送方必须设置缓存保留已发送且未被确认的数据帧的副本,以备重传。计算机的硬件资源是有限的,缓存容量不能无限制增加。发送窗口和接收窗口 。

发送窗口用来对发送端进行流量控制。

发送窗口的大小 WT代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。

窗口机制


发送窗口发送方必须设置缓存保留已发送且未被确认的数据帧的副本,以备重传。计算机的硬件资源是有限的,缓存容量不能无限制增加。

WT

WT

(a)

0

1

2

3

4

5

6

7

0

1

2

不允许发送这些帧

允许发送 5 个帧

(b)

2

4

0

1

3

5

6

7

0

1

2

不允许发送这些帧

已发送

还允许发送 4 个帧

WT

(c)

0

1

2

3

4

5

6

7

0

1

2

已发送

不允许发送这些帧

WT

0

1

2

3

4

5

6

7

0

1

2

(d)

还允许发送

3 个帧

不允许发送这些帧

已发送

已发送

并已收到确认

发送窗口控制发送端的速率


在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。

若接收到的数据帧落在接收窗口之外,则一律将其丢弃。

在连续 ARQ 协议中,接收窗口的大小 WR = 1。

只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它。

每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。同时发送对该帧的确认。

接收端设置接收窗口


W R

(a)

0

1

2

3

4

5

6

7

0

1

2

WR

不允许接收这些帧

准备接收 0 号帧

(b)

0

1

2

3

4

5

6

7

0

1

2

已收到

不允许接收这些帧

准备接收

1 号帧

WR

(c)

0

1

2

3

4

5

6

7

0

1

2

不允许接收这些帧

已收到

准备接收 4 号帧

接收窗口的意义


只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。

收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。

当发送窗口和接收窗口的大小都等于1时,就是停止等待协议。

滑动窗口的重要特性


当用只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。n个比特对数据帧进行编号时,若接收窗口的大小为 1,则只有在发送窗口的大小 满足WT 2n  1时,连续 ARQ 协议才能正确运行。

例如,当采用 3 bit 编码时,发送窗口的最大值是 7 而不是 8。

发送窗口的最大值


选择重传只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。ARQ协议要求加大接收窗口,先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。

选择重传 ARQ 协议可避免重复传送那些本来已经正确到达接收端的数据帧。但我们付出的代价是在接收端要设置具有相当容量的缓存空间。

对于选择重传 ARQ 协议,若用 n 比特进行编号,则接收窗口的最大值满足:WR2n-1

当接收窗口为最大时, WT= WR= 2n-1

选择重传 ARQ 协议的窗口机制


4 4 hdlc

4.4.1 HDLC只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。概述

HDLC(High-Level Data Link Control)是ISO制定的面向比特型的同步数据链路控制协议( ISO 3309) ;

在IBM公司的SDLC(Synchronous Data Link Control)协议的基础上修订而成;

用于广域网的同步串行链路;

采用帧的首尾定界法实现帧的同步,以特殊比特模式01111110(7EH)作为帧的首尾标记。

提供面向连接的虚电路服务。

4.4 高级数据链路控制协议HDLC


主站:只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。Primary Station

主站控制整个链路的工作;

主站发出的帧称为“命令”,用来确定和改变链路的状态,确定次站、组织数据传输和链路恢复等。

次站:Secondary Station

次站也称从站,受控于主站;

次站发出的帧称为“响应” ;

主站与每一次站均维持一条独立的逻辑链路。

复合站:Combined Station

复合站也称为组合站,同时具有主站和次站的功能。

HDLC的站点类型


不平衡链路结构 只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。

由一个主站和一个或多个次站构成。

主站控制次站实现链路管理。信道可以是点对点链路,也可以是多点共享的链路。

可支持全双工或半双工通信。

命令

响应

主站

命令

响应

主站

次站

次站

次站

HDLC的链路结构


平衡链路结构 只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。

由两个复合站点对点地互连而成。

两个站点地位均等,负有同等的链路控制责任。

信道可支持全双工或半双工通信。

复合站

命令/响应

响应/命令

复合站

HDLC的链路结构


正常响应方式只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。NRM—用于不平衡链路结构

主站具有选择、轮询次站的能力,并可随时向次站发送命令或数据;

次站只有在主站轮询时才能作出响应;

异步响应方式ARM —用于不平衡链路结构

主站具有初始化链路,差错校正、链路的建立和释放等功能;

主站和次站都可以主动传输数据。

异步平衡方式ABM —用于平衡链路结构

任一组合站均可控制链路,发出命令或相应;双方均可主动传送数据。

HDLC的数据响应方式


4.4.2 HDLC只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。的帧结构

8b 8nb 8b/16b 可变 16b 8b

校验区间

透明传输区间

HDLC协议

  • 帧标志F(01111110B,7EH)

    • 用于区分帧的轮廓,兼作同步与定时之用。

    • 采用0比特填充法来实现帧的透明传输。


HDLC 只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。采用零比特填充法使一帧中两个 F 字段之间不会出现连续的6 个 1。

在发送端,当一串比特流数据中有连续的5 个 1 时,就立即填入一个 0。

在接收帧时,先找到 F 字段以确定帧的边界。接着再对比特流进行扫描。每当发现连续的5 个 1 时,就将其后的一个 0 删除,以还原成原来的比特流。

零比特填充法


发送端在 只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。5 个连 1 之后

填入 0 比特再发送出去

0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0

填入 0 比特

在接收端将 5 个连 1 之后

的 0 比特删除,恢复原样

0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0

在此位置删除填入的 0 比特

零比特的填充与删除

数据中某一段比特组合恰好

出现和 F 字段一样的情况

0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0

会被误认为是 F 字段


采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的透明传输。

当连续传输两个帧时,前一个帧的结束标志字段 F 可以兼作后一帧的起始标志字段。

当暂时没有信息传送时,可以连续发送标志字段,使收端可以一直和发送端保持同步。

透明传输


8b 8nb 8b /16b 采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的可变 16b 8b

校验区间

透明传输区间

HDLC帧的地址

  • 地址字段A

    • 在非平衡模式,用于指出次站的地址。;

    • 在平衡模式,用于指出响应站的地址。

    • 全1地址为广播地址,全0地址为无效地址。

    • 地址的最后一位为地址扩充标志,当该位为“1”时表示无扩充。


8b 8nb 8b /16b 采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的可变 16b 8b

校验区间

透明传输区间

HDLC的帧结构

  • 控制字段C

    • 用于表示命令和响应的类型。

  • 数据信息I

    • 用于存放来自网络层的协议数据单元。

  • 帧校验码

    • 采用16位CRC编码,g(x)=x16+x12+x5+1

    • 亦采用“0”比特填充技术。


HDLC采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的帧的类型有三种,由控制字段内的信息标识。

HDLC的帧类型

8b 8nb 8b /16b 可变 16b 8b

信息帧(I)

监控帧(S)

无编号帧(U)


HDLC采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的的信息帧(I)用来传输数据信息。其中:

N(S)是发送序号,表示当前发送的数据帧的序号。

N(R)是接收序号,表示该站期待接收的下一帧的序号。

P/F是探询(Poll)和终止(Final)位。

P=1 表示主站询问,F=1 表示 响应终止。

注意:控制字段的长度在标准格式中是8位,在扩展格式中是16位,序号的长度分别为3位和7位。

HDLC的信息帧


HDLC采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的的监控帧(S)均为响应帧,主要用于差错控制和流量控制,分为以下4 种:

RR帧,SS=00, 接收准备就绪。

RNR帧,SS=10,接收未准备好,暂停接收。

REJ帧,SS=01,拒绝。否认N(R) 起的所有帧。

SREJ帧,SS=11,选择拒绝。只否认N(R)帧。

注意:在上述响应帧中均对N (R)之前的所有帧进行捎带确认。

HDLC的监控帧


HDLC采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的协议采用滑动窗口机制来实现流量控制。

发送窗口的大小 满足:WT 2n  1

接收窗口的的大小 满足:WR 2n/2= 2n-1

其中n为序号的比特数

接收方通过RR帧和RNR帧控制窗口的向前滑动。

7

7

7

7

0

0

0

0

6

6

6

6

1

1

1

1

5

5

5

5

2

2

2

2

4

4

4

4

3

3

3

3

HDLC的流量控制


HDLC采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的的无编号帧(U)用于实现数据链路控制。

不含帧序号,其类型由MM和MMM表示,可以定义出32种附加命令和附加响应功能。

目前已定义了15种无编号帧。根据其功能可分为设置链路方式、传输信息、错误恢复、测试和交换标识等具体类别。

HDLC的无编号帧


无编号命令和响应采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的


4.4.3 HDLC采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的的通信过程

当采用交换型线路时,两个通信站的通信过程分为以下几个阶段:

HDLC的通信过程

建立物理连接

建立数据链路

传输比特流

传输数据帧

拆除数据链路

拆除物理连接


主机采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的A

主机B

建立链路

传输数据

拆除链路

正常响应方式下数据通信过程示例

U,SNRM,P=1

U,UA,F=1

I,N(S)=0,N(R)=0

I,N(S)=1,N(R)=0,P=1

I,N(S)=0,N(R)=2

I,N(S)=1,N(R)=2

I,N(S)=2,N(R)=2,F=1

I,N(S)=2,N(R)=3,P=1

I,N(S)=3,N(R)=3

I,N(S)=4,N(R)=3,F=1

U,DISC,P=1

U,UA,F=1


主机采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的A

主机B

建立链路

传输数据

拆除链路

正常响应方式下数据通信过程示例

U,SNRM,P=1

U,UA,F=1

I,N(S)=0,N(R)=0

出错

I,N(S)=1,N(R)=0,P=1

S,REJ,N(R)=0

I,N(S)=0,N(R)=0

I,N(S)=1,N(R)=0,P=1

I,N(S)=0,N(R)=2

I,N(S)=1,N(R)=2

I,N(S)=2,N(R)=2

超时

S,RR,N(R)=3

I,N(S)=3,N(R)=2

I,N(S)=4,N(R)=2,F=1

U,DISC,P=1

U,UA,F=1


超时重发:采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的为了防止发送方无期限地等待接收方的确认,收发双方均设置计时器。发送方在一定的时间内未收到接收方传来的确认,表示传输有故障,准备重发所有未被确认的帧。

发送方:每发送一信息帧,计时, 直到收到接收方的确认(包括捎带确认);若超时,则重发。

接收方:在正确接收到信息帧后,计时;若在一定的时间内未收到后继信息,则发RR帧,准备接收,并告诉发送方前面已接收。

HDLC的重发机制


使用统一的帧格式采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的:实现数据、命令和响应的传输,实施起来方便;

采用‘0’比特填充法:使得协议可以支持任意组合的比特流传输,保证了信息传输的透明性;

采用窗口机制和捎带应答:支持全双工工作方式,允许在未收到确认的情况下,连续发送多个帧,提高了信息传输的效率;

采用帧校验序列,并设置窗口序号:可以提高信息传输的正确性和可靠性。

面向二进制位的控制规程比面向字符型的控制规程具有较高的优越性。

HDLC特点分析


ITU采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的开发了一系列基于HDLC的链路访问协议:

平衡式链路访问规程LAPB:只提供在DTE和DCE之间通信所需要的基本控制功能,不包含轮询和选择特性。

D信道链路访问规程LAPD :是ISDN网络的D信道的协议,专用于带外控制信令的传输。

调制解调器链路访问规程LAPM :专门为调制解调器开发的HDLC简单子集。

链路访问过程LAPX


4 5 ppp

4.5.1 PPP 采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的协议概述

点对点协议PPP(Point-to-Point Protocol)是因特网上最常用的一种数据链路协议。

IETF在1992年推出了PPP协议,经过多次修订成为Internet的正式标准,RFC 1661、RFC 1662定义了PPP协议及其帧结构。

PPP协议是各种主机、网桥和路由器之间简单连接的一种共同的解决方案,广泛应用于各种点对点的广域链路,不仅可用于拨号电话线,并且可用于路由器─路由器之间的专线上。

4.5 因特网的点对点协议 PPP


PPP采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的协议的使用场合

  • PPP协议的物理层可以是同步电路或异步电路

PSTN/ISDN

接入服务器

PPP 封装


PPP采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的协议是在SLIP(Serial Line Internet Protocol)的基础上发展起来的面向字符型的协议,它具有以下特点:

PPP协议具有差错检测功能;

可以支持IP协议等多种网络层协议(例如IPX协议);

支持动态IP地址分配;

既可以用于同步串行链路,又可以用于异步串行链路;

能控制连接的建立;

可以进行连接配置与连接质量测试。

PPP协议的特点


Ppp osi

OSI采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的模型

PPP协议栈

网络层

IP、IPX、其他网络协议

网络控制协议族:

IPCP、IPXCP、ATCP等

链路层

LCP、

PAP/CHAP验证等

物理层

物理链路(同步 / 异步)

PPP协议在OSI模型中的位置


PPP采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的主要由下列协议组成:

链路控制协议LCP

用于建立、拆除和监控PPP数据链路。

网络控制协议族NCP(IPCP、IPXCP、ATCP等)

用于协商在该数据链路上所传送的包的格式与类型。

网络安全认证协议PAP和CHAP

PPP协议栈的组成


Lcp ncp

TCP/IP采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的

NOVELL IPX

PPP协议

LCP与NCP的作用

NCPs用于协商在该数据链路上所传送的包的格式与类型,提供对多种网络协议的支持。

LCP用于创建和维护链路


4.5.2 PPP采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的协议的帧结构

PPP采用帧的首尾定界法实现帧的同步,以特殊字符0x7E作为帧的首尾标志。它的帧结构和 HDLC 的相似。

地址字段 A只置为 0xFF,表示所有站点都接收地址。

控制字段 C缺省设置为 0x03,表明PPP在缺省情况下不使用编号,不提供捎带确认的可靠传输机制。但在线路噪声较大的环境中可以选用有编号的传输模式(RFC1663)。

PPP 协议的帧结构

1 1 1 2 ≤1500 2/4 1


PPP采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的的帧首尾标志是7eH,如果在帧的其它字段出现该标志必须进行填充,以示区别(RFC1662)。

当PPP用于同步传输链路时,由硬件来完成比特填充,做法与HDLC一样。

当PPP用于异步传输链路时,使用特殊字符填充法:

在7eH之前增加一个转义字符7dH,并将该字符的第6位取反变为7d5eH(7e→7d5e);

如果信息字段出现了7dH,也采用同样的方法,用7d5dH表示(7d→7d5d) ;

缺省情况下,对所有小于20H的字符也进行填充(如: 0d→7d2d )。

PPP的透明传输


协议字段采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的用以标识所承载的上层协议(RFC1700):

若为0021H,则承载的信息是IP数据报;

若为C021H,则承载的信息是PPP链路控制数据;

若为8021H,则承载的信息IP控制协议的控制数据;

若为C023H,则承载的是口令认证协议PAP包;

若为C223H,则承载的是询问握手认证协议CHAP包。

校验字段是CRC冗余码,缺省为2字节,可以协商为4个字节。

PPP帧的字段


4.5.3 PPP 采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的协议的子协议

链路控制协议LCP

负责建立、维护、配置及终止链路。

提供协商机制去设置两个端点之间的选项:

最大接收单元MRU、认证协议、协议字段压缩、地址字段与控制字段压缩等。

LCP包分为三类:

配置包、链路终止包和链路监管调试包。

链路控制协议LCP


网络控制协议采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的NCP

网络控制协议是一组控制协议,允许在PPP帧中封装来自网络层协议的数据,最常用的NCP是IPCP。

主要的NCP包有三类:

IPCP、IPXCP和ATCP。

IPCP为传输IP数据包配置和协商网络活动的选项。

网络控制协议LCP


PAP采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的是一种简单的明文认证协议。采用两次握手认证。

PAP客户端(被认证方)首先发起认证请求,将自己的身份(用户名和口令)明文发送给对端的服务器,服务器作为主认证方检验用户的身份是否合法,口令是否正确。

被验证方

主验证方

用户名+口令

通过/拒绝

用户数据库

口令认证协议PAP


CHAP采用零比特填充法就可传送任意组合的比特流,即可实现数据链路层的协议采用三次握手机制:主认证方向被认证的远程用户发送一个询问报文,其中包括本端主机名和一个随机生成的询问字串(不含口令)。

CHAP的安全性比PAP高。

询问握手认证协议CHAP


远程客户必须根据询问报文,在本地数据库中查找对方的主机名、口令密钥,使用远程客户必须根据询问报文,在本地数据库中查找对方的主机名、口令密钥,使用MD5单向哈希算法生成加密的询问报文,送回主认证方。

主认证方收到应答后在本端查找用户主机名,和口令密钥,使用MD5单向哈希算法对保存的随机生成的询问报文进行加密,与被认证方的应答进行比较,根据比较结果决定是通过还是拒绝。

被认证方

主认证方

主机名+随机报文

主机名+加密后报文

通过/拒绝

用户数据库

CHAP认证过程


4.5.4 远程客户必须根据询问报文,在本地数据库中查找对方的主机名、口令密钥,使用PPP 协议的工作过程

PPP协议提供了一整套方案来解决链路建立、维护、拆除,以及上层协议协商、认证等问题:

首先,PPP链路的每一端,必须发送LCP 包以便设定和测试数据链路。在链路建立之后,对端才可以被认证。

接着,PPP必须发送NCP包以便选定网络层协议。一旦设定好网络层协议,来自各个网络层协议的数据报就能在链路上发送了。

链路将保持通信设定不变,直到外在的LCP和NCP关闭链路,或者是发生一些外部事件的时候(休止时间到或者网络管理员干涉)。

PPP的链路操作


失败远程客户必须根据询问报文,在本地数据库中查找对方的主机名、口令密钥,使用

验证失败

验证通过或无验证

PPP的工作流程

Dead 阶段

Establish 阶段

Authenticate 阶段

底层up

LCPup

Terminate 阶段

Network 阶段

  • 当物理链路不通时,PPP链路处于处于静止(Dead)阶段。链路最终必须结束于该阶段。

关闭

down


当物理链路接通时,进入建立(远程客户必须根据询问报文,在本地数据库中查找对方的主机名、口令密钥,使用Establish)阶段。LCP开始协商一些配置选项:选择基本的通讯方式、最大帧长度、认证协议等:

链路的一端首先发出配置请求帧(Configure Request)。

对方若接受所有选项就发送配置确认帧(Configure Ack),

对方若理解所有选项但不能接受就发送配置否认帧(Configure Nac),

若无法识别所有选项可发送配置拒绝帧(Configure Reject)。一旦一个配置确认帧被成功发送且被接收,就完成了交换,链路创建成功,进入LCP开启状态。

建立链路


如果配置了远程客户必须根据询问报文,在本地数据库中查找对方的主机名、口令密钥,使用PAP验证或CHAP验证,就进入用户认证Authenticate阶段,开始验证。

PAP和CHAP认证协议在串行线路上提供安全认证机制,采用路由器名来识别身份,以拒绝非法访问。

如果认证失败,转到链路终止Terminate阶段。拆除链路,LCP转为关闭状态;

如果认证成功就进入网络协议Network阶段。

PPP的用户认证


远程客户必须根据询问报文,在本地数据库中查找对方的主机名、口令密钥,使用Network阶段,PPP将调用各种网络控制协议(NCP)来配置PPP链路之上的高层协议。 。

例如,在该阶段IP控制协议(IPCP)可以向拨入用户分配动态地址。

当一个NCP处于Opened状态时,PPP将携带相应的网络层协议packets。

当相应的NCP不处于Opened状态时,任何接收到的被支持的网络层协议packets都将被静静的丢弃。

协商网络协议


PPP远程客户必须根据询问报文,在本地数据库中查找对方的主机名、口令密钥,使用可能在任何时刻终止链路。引起链路终止的原因可能是:载波丢失、认证失败、链路质量失败、空闲期定时器期满、或者管理员关闭链路。

LCP用交换Terminate(终止)包的方法终止链路。当链路正被关闭时,PPP通知网络层协议采取正确的行动。

交换Terminate(终止)包之后,通知物理层断开,以强制链路终止,尤其当认证失败时。

Terminate-Request(终止-要求)的发送者,在收到Terminate-Ack(终止-允许)后,或者在重启计数器期满后,将断开连接。

收到Terminate-Request的一方,应该等待对端切断,在发出Terminate-Request后,至少要经过一个Restart time(重启时间),才允许断开。进入链路静止阶段。

链路终止


数据链路层的主要功能是什么?远程客户必须根据询问报文,在本地数据库中查找对方的主机名、口令密钥,使用

什么是通路?什么是链路?什么是数据链路?三者之间的关系如何?

简述各种ARQ协议的原理。

什么是HDLC?什么是PPP?简述它们的异同点。

阐述HDLC协议的主要技术特点。

阐述PPP协议栈的构成和主要承载的协议号。

复习思考题


ad