23
3.4 链链链链链链链链 . 链链链链链链链链链 -- BSC 链链链链 : 链链链链链链链链链链BISYNC 链链链链链链链链链链链链 链链链链链链链 ),。 IBM 链链链 链链链链链链链 BISYNC Binary Synchronous Communication 链链链链 链链链链链链SYN 链链链链BISYNC 链链链链链链链链链链链); ENQ 链链 链链 链链链链链链链 链 链链链链链链链链链链链链链 链链链链链链链链链 链 ,: ;()。 SOH 链链链链 STX 链链链链 ETX 链链链链 ITB 链链链 链链 链链 () ETB 链链 链链链链 () DLE 链链链链 ACK 链链链链 NAK 链链链链

3.4 链路控制协议示例

  • Upload
    alyson

  • View
    139

  • Download
    0

Embed Size (px)

DESCRIPTION

3.4 链路控制协议示例. 一 . 面向字符的控制规程 -- BSC 控制字符 : 在面向字符的控制规程( BISYNC ),规定了大约十个控制字符。使用比较普遍的 IBM 公司的双同步通信规程 BISYNC ( Binary Synchronous Communication )中规定了下列控制字符: SYN 同步字符( BISYNC 采用二个或多个同步字符); ENQ 查询,用于:①建立数据链路;②主站查询次站有无发送请求(询问对方是否就绪)。 SOH 报头开始 STX 报文开始 ETX 文本结束 - PowerPoint PPT Presentation

Citation preview

Page 1: 3.4  链路控制协议示例

3.4 链路控制协议示例

一 .面向字符的控制规程 -- BSC 控制字符 : 在面向字符的控制规程( BISYNC ),规定了大约十个控制字符。使用比较普遍的 IBM 公司的双同步通信规程 BISYNC ( Binary Synchronous Communication )中规定了下列控制字符:

SYN 同步字符( BISYNC 采用二个或多个同步字符);

ENQ 查询,用于:①建立数据链路;②主站查询次站有无发送请求(询问对方是否就绪)。

SOH 报头开始 STX 报文开始 ETX 文本结束

ITB 中间块(组)结束 ETB 块(组)发送结束

DLE 转义字符

ACK 确认响应 NAK 否定回答

Page 2: 3.4  链路控制协议示例

SYN SYN SOH 报头 STX 正文 ETB/ETX BCC

报文开始

同步字符 用户定义

报头结束 分组结束报文结束

校验字段正文字段

BSC 协议的数据报文格式

Page 3: 3.4  链路控制协议示例

透明与非透明数据

数据和控制字符在同一条链路中传送,因此一般要求被传送的数据中不包含控制字符,不包含控制字符的数据称为非透明数据。如果采用特殊的措施允许数据中包含所有的字符,即也包括控制字符在内,这种数据称为透明数据。传输透明数据的方式称为透明传输方式。

为了能进行透明传输(只对报文进行透明传输,报头总是不透明),在控制字符之前加上一个 DLE 字符。例如用 DLE•STX 表示透明数据开始; DLE•ETX 表示透明正文结束; DLE•SYN 表示数据暂停期间的 SYN 等等。透明数据的传输结构如下:

BCC(块校验字符)ETX DLE 透明数据STX DLE SYN SYN BCC(块校验字符)ETX DLE 透明数据STX DLE SYN SYN

Page 4: 3.4  链路控制协议示例

发送序列

DLE STX A DLE B STX C DLE STX DLE ETX

传输序列

DLE STX A DLE DLE B STX C DLE DLE STX DLE ETX

( 其中 DLE 为填充的字符)

接收序列

DLE STX A DLE B STX C DLE STX DLE ETX

Page 5: 3.4  链路控制协议示例

二、面向比特的控制规程 -- HDLC面向字符型数据链路层协议的缺点:

报文格式不一样;

传输透明性不好;

等待发送方式,传输效率低。

面向比特型协议的设计目标:

以比特作为传输控制信息的基本单元;

数据帧与控制 帧格式相同;

传输透明性好;

连续发送,传输效率高。

Page 6: 3.4  链路控制协议示例

1974 年, IBM 公司推出了面向比特的规程 SDLC (Synchronous Data Link Control) 。

后来 ISO 把 SDLC 修改后称为 HDLC (High-level Data Link Control) ,译为高级数据链路控制,作为国际标准 ISO 3309 。

CCITT 则将 HDLC 再修改后称为链路接入规程 LAP (Link Access Procedure) 。不久, HDLC 的新版本又把 LAP 修改为 LAPB ,“ B”表示平衡型 (Balanced) ,所以 LAPB 叫做链路接入规程 (平衡型 )。

Page 7: 3.4  链路控制协议示例

HDLC 的组成帧结构规程元素规程类型 语义使用 HDLC 的语法可以定义多种具有不同操作特点的链路层协议。

HDLC 的适用范围计算机 —— 计算机计算机 —— 终端终端 —— 终端

Page 8: 3.4  链路控制协议示例

数据站(简称站 station ),由计算机和终端组成,负责发送和接收帧。 HDLC涉及三种类型的站:

主站( primary station ):主要功能是发送命令(包括数据),接收响应,负责整个链路的控制(如系统的初始、流控、差错恢复等);次站( secondary station ):主要功能是接收命令,发送响应,配合主站完成链路的控制;组合站( combined station ):同时具有主、次站功能,既发送又接收命令和响应,并负责整个链路的控制。

Page 9: 3.4  链路控制协议示例

HDLC适用的链路构型 1 )非平衡型

点 — 点式

多点式

主站 次站

主站

次站 次站 次站

Page 10: 3.4  链路控制协议示例

2)平衡型主站 — 次站式

组合式

主站 次站

次站 主站

组合站 组合站

Page 11: 3.4  链路控制协议示例

HDLC 的基本操作模式正常响应模式 NRM ( Normal Response Mode )适用于点 — 点式和多点式两种非平衡构型。只有当主站向次站发出探询后,次站才能获得传输帧的许可。

异步响应模式 ARM ( Asynchronous Response Mode )适用于点 — 点式非平衡构型和主站 — 次站式平衡构型。次站可以随时传输帧,不必等待主站的探询。

异步平衡模式 ABM ( Asynchronous Balanced Mode )适用于通信双方都是组合站的平衡构型,也采用异步响应,双方具有同等能力。

Page 12: 3.4  链路控制协议示例

比特 8 8 8 可变 16 8信息 Info

标志 F

标志 F

地址 A

控制 C

帧检验序列 FCS

透明传输区间FCS 检验区间

HDLC 的帧结构

帧 帧 帧 帧

实际中,帧与帧可首尾相接,连续发送

Page 13: 3.4  链路控制协议示例

标志字段 F (Flag) :为 6 个连续 1 加上两边各一个 0 共 8 bit ( 7EH )。在接收端只要找到标志字段就可确定一个帧的位置。 HDLC 采用零比特填充法使一帧中两个 F 字段之间不会出现 6 个连续 1 。

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

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

发送端在 5 个连 1 之后填入 0 比特再发送出去

填入 0 比特

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

在接收端将 5 个连 1 之后的 0 比特删除,恢复原样

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

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

Page 14: 3.4  链路控制协议示例

地址域( Address )多终端线路,用来区分终端;点到点线路,有时用来区分命令和响应。若帧中的地址是接收该帧的站的地址,则该帧是命令帧;若帧中的地址是发送该帧的站的地址,则该帧是响应帧。

数据域( Data )任意信息(上层协议 SDU有上限)

校验和( Checksum )CRC校验生成多项式: CRC-CCITT

Page 15: 3.4  链路控制协议示例

•控制域( Control )信息帧( Information )完成信息的传送。监控帧( Supervisory )差错控制和流量控制。无序号帧( Unnumbered )链路管理。

0 N(S) N(R)P/F0

信息帧

N(S): 当前发送的信息帧的序号 N(R): 所期望收到的信息帧的序号。它带有确认 [N(R)-1]( mod

8) 的帧以及在这以前的帧都已正确接收到了 . 捎带确认 P/F: 询问 /终止

Page 16: 3.4  链路控制协议示例

监督帧

S位域00—RR 接收就绪10—RNR 接收求就绪01—REJ 拒绝,拒绝 N(R)起的所有帧11—SREJ 选择拒绝,只拒绝序号为 N(R) 的帧

P/F: NAM 方式 主站发 P=1 ,要求从站响应 从站发 F=1 ,表示终止;发 F=0 ,表示尚有后续

1 S N(R)P/F0

Page 17: 3.4  链路控制协议示例

1 M MP/F1

无编号帧 可以用来传控制信息,也可在不可靠无连接服务中传数据

M 位域1100 。 010 —— DISC ( DISConnect )1111 。 110 ——SNRM ( Set Normal Response Mode )1111 。 000 —— SARM ( Set Asynchronous Response Mode )1111 。 100 ——SABM ( Set Asynchronous Balanced Mode )1110 。 001 —— FRMR ( FRaMe Reject )。。。

Page 18: 3.4  链路控制协议示例

HDLC 链路控制规程的评价

数据报文透明传输——“ 0”插入 /删除的首尾界符法较高的链路效率——滑动窗口,捎带确认流量差错控制能力强——编号传输、确认,防止丢失、重复、乱序。功能丰富,适用面广——目前多数链路控制层的采用的方法。

X.25 的帧格式与 HDLC 完全相同

Page 19: 3.4  链路控制协议示例

三、点到点协议 PPP —— Point-to-Point ProtocolRFC 1661 , RFC 1662, RFC 1663与 SLIP (早期 INTERNENT 多用)相比, PPP 有很大的提高,提供差错校验、支持多种协议、允许动态分配 IP地址、支持认证等。以帧为单位发送,而不是原始 IP包;包括两部分

链路控制协议 LCP ( Link Control Protocol )可使用多种物理层服务: modem , HDLC串线, SDH/SONET 等

网络控制协议 NCP ( Network Control Protocol )可支持多种网络层协议

帧格式与 HDLC 相似,区别在于 PPP 是面向字符的,采用字符填充技术

Page 20: 3.4  链路控制协议示例

F是标志字段, 1字节,固定为 0x7E ,首尾各有一个。A是地址字段, 1字节,固定为 0xFF。C是控制字段, 1字节,固定为 0x03 。协议字段, 2字节,当协议字段值为 0x0021时,表示信息字段就是 IP 数据报;为 0xC021时,表示信息字段是链路控制数据;为 0x8021时,表示信息字段是网络控制数据。FCS 是帧校验序列字段, 2字节,当信息字段中出现和标志字段一样的数据( 0x7E)时,就要将该字节转变为 2字节序列( 0x7D,0x5E );若信息中出现一个 0x7D 字节,则将其转变为 2字节序列( 0x7D,0x5D )。

F7E

AFF

C03

协议 F7E

FCS信息部分

IP 数据报

首部 尾部

字节数 1 1 1 2 12不超过 1500 字节PPP 帧

Page 21: 3.4  链路控制协议示例

PPP 链路 up / down 过程(简单状态图)

Page 22: 3.4  链路控制协议示例

当用户拨号接入 ISP时,路由器的 Modem 对拨号作出应答,并建立一条物理连接。这时, PC机向路由器发送一系列的 LCP分组(封装成多个 PPP 帧)。这些分组及其响应选择了将要使用的一些 PPP参数。接着进行网络配置, NCP给新接入的 PC机分配一个临时的 IP地址,这样, PC机就成为 Internet 上的一个主机了。通信完毕, NCP释放网络层的连接,收回原来分配出去的 IP地址;接着 LCP释放数据链路层连接;最后释放的是物理层的连接。

总结: PPP 具有多协议成帧机制,可以在 modem, HDLC bit-serial lines, SDH/SONET等物理层上运行,支持差错检测、选项协商和包头压缩功能,并具有利用 HDLC 帧进行可靠传输的可选功能。

Page 23: 3.4  链路控制协议示例

小结( HDLC 为例)(1) 链路管理——设置链路模式,建立 / 解除链路 (2) 帧定界——带填充位的首尾界符法,确定的帧格式(3) 流量控制——滑动窗口(4) 差错控制——滑动窗口,捎带应答 (5) 将数据和控制信息区分开——帧格式(6) 透明传输——带填充位的首尾界符法

(7) 寻址——地址域