3.4 链路控制协议示例

Preview:

DESCRIPTION

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

Citation preview

3.4 链路控制协议示例

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

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

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

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

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

DLE 转义字符

ACK 确认响应 NAK 否定回答

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

报文开始

同步字符 用户定义

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

校验字段正文字段

BSC 协议的数据报文格式

透明与非透明数据

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

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

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

发送序列

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

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

报文格式不一样;

传输透明性不好;

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

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

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

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

传输透明性好;

连续发送,传输效率高。

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 叫做链路接入规程 (平衡型 )。

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

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

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

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

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

点 — 点式

多点式

主站 次站

主站

次站 次站 次站

2)平衡型主站 — 次站式

组合式

主站 次站

次站 主站

组合站 组合站

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

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

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

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

标志 F

标志 F

地址 A

控制 C

帧检验序列 FCS

透明传输区间FCS 检验区间

HDLC 的帧结构

帧 帧 帧 帧

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

标志字段 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

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

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

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

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

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

信息帧

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

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

监督帧

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

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 )。。。

HDLC 链路控制规程的评价

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

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

三、点到点协议 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 是面向字符的,采用字符填充技术

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 帧

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

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

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

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

(7) 寻址——地址域