slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
第四章 PowerPoint Presentation
Download Presentation
第四章

Loading in 2 Seconds...

play fullscreen
1 / 87

第四章 - PowerPoint PPT Presentation


  • 162 Views
  • Uploaded on

第四章. 数据链路层. 设计、制作、讲授:谭献海 EMAIL : xhtan@home.swjtu.edu.cn. 4.5 链路协议. LAN: Ethernet WAN: HDLC Internet: SLIP/PPP 无线 LAN----802.11. 数据链路协议负责 : 帧格式定义 流量控制 差错控制 链路管理 ( 建立、维护、 释放) 信道访问控制 (LAN). 链路 点 — 点链路 ( HDLC,SLIP/PPP ) 共享链路 (Ethernet, 802.11). WAN 链路协议簇.

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 '第四章' - mauli


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
slide1

第四章

数据链路层

设计、制作、讲授:谭献海

EMAIL:xhtan@home.swjtu.edu.cn

slide2
4.5 链路协议
  • LAN: Ethernet
  • WAN: HDLC
  • Internet: SLIP/PPP
  • 无线LAN----802.11
  • 数据链路协议负责:
  • 帧格式定义
  • 流量控制
  • 差错控制
  • 链路管理(建立、维护、

释放)

  • 信道访问控制(LAN)
  • 链路
  • 点—点链路(HDLC,SLIP/PPP)
  • 共享链路(Ethernet, 802.11)
slide3
WAN链路协议簇
  • Synchronous Data Link Control (SDLC): IBM
  • High-Level Data Link Control (HDLC): ISO
  • Link Access Procedure (LAP): CCITT
  • Link Access Procedure-Balanced (LAPB): X.25
  • Frame Relay(与X.25相似,但进行了精简)
  • Link Access Procedure for the D channel (LAPD): ISDN
  • Link Access Procedure for modems (LAPM): V.42
  • Advanced Data Communications Control Procedures (ADCCP):ANSI

OSI 参考模型

广域网协议标准

X.25 PLP

网络层

Frame Relay

SLIP/PPP

SDLC

LAPB

数据链路层

HDLC

MAC子层

EIA/TIA-232

SMDS

EIA/TIA-449

X.21

物理层

V.24 V.35

bis

HSSI G.703

EIA530

slide4
HDLC站点类型
  • Primary station:主站
  • 负责整个链路的控制(如系统的初始、流控、差错恢复等)
  • 主站依次向次站发送命令,接收来自次站的响应(Poling:轮询)。
  • Secondary station:从(次)站
  • 在主站的控制下工作,是个被动的角色
  • 它接收来自主站的命令并作出响应。
  • Combined station:组合站
  • 同时具备主站和从站的功能
  • 组合站既发送命令和响应,也接收来自另一个组合站的命令与响应。
slide5
HDLC链路的两种基本配置

平衡配置

HDLC: ABM

命令(B)

命令(A)

复合站A

响应(B)

响应(A)

复合站B

非平衡配置

HDLC: NRM

命令(B)

主站

A

主站

B

命令(B)

从站B

响应(B)

响应(B)

由一个主站和一个或多个从站构成。主站控制从站,实现链路管理。信道可以是点对点链路,也可以是多点共享的链路。可支持全双工或半双工通信。

命令(C)

从站C

主站A

响应(C)

由两个组合站点对点地互连而成。两个站点地位均等,负有同等的链路控制责任,可以相互发送未经2请求的数据帧。信道可支持全双工或半双工通信。

hdlc 1
HDLC传输模式(1)

Normal Response Mode (NRM)

----正常响应模式

  • 适用于点 — 点式和多点式两种非平衡配置
  • 主站依次向从站发出轮询命令
  • 从站收到命令后,才能获得许可,传输响应帧
  • 主计算机作为主站 (控制中心)
  • 终端作从站 (RTU:远程执行单元)
hdlc 2
HDLC 传输模式(2)
  • Asynchronous Balanced Mode (ABM)
  • ----异步平衡模式
  • 适用于通信双方都是组合站的平衡配置
  • 各组合站无须对方许可就可以平等地启动发送过程。
  • 没有轮询开销
  • 应用较广
hdlc 3
HDLC传输(3)
  • Asynchronous Response Mode (ARM)
  • ----异步响应模式
  • 适用于点 — 点式非平衡配置
  • 从站可以随时发起传输,不必等待主站的探询
  • 主站负责整个链路的控制,如初始化、流控、差错恢复等
  • 应用较少
slide9
标志值:01111110 帧定界

接收器通过搜索标志序列来同步

透明传输 (0比特插入技术)以避免由于数据中出现 01111110而引起混乱

数据中每出现5个连续的1,自动插入一个0

HDLC 的帧结构

比特

8

8

8

可变

16

8

标志

F

地址

A

控制

C

信息

Info

帧检验序列

FCS

标志

F

FCS 检验区间

透明传输区间

slide10

发送端在 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 字段

slide12
地址域

作用:指明发送或接收帧的从站

一般使用8比特长度

可扩展到多个字节(7比特)

每个8位组的LSB 指明是最后一个8位组 (1) 或不是 (0)

全1 (11111111) 为广播地址

slide13
控制域
  • 作用:区分不同的帧类型
  • Information(信息帧)- 传输用户 (上一层)的数据。
  • 流控和错误控制等通过信息帧捎带应答(piggybacked )
  • Supervisory(监控帧)-流控和错误控制(当不使用捎带应答时使用)
  • Unnumbered(无编号帧)- 辅助链路控制
  • 控制域的前1或2比特是帧类型

信息帧(I)

监控帧(S)

无编号帧(U)

i frame
第2-4比特N(S):发送序号。

第6-8比特N(R):一个站所期望收到对方发来的帧的序号,有确认的意思,确认[N(R)-1]及其以前的帧都正确无误地收妥了。

第5比特:询问/终止(P/F)标志

主站或复合站询问时,P置1,表示询问;

从站或复合站发完最后一帧时,F置1,表示终止。

控制字段:

1

2 3 4

5

6 7 8

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

信息帧:I-frame

作用:用于传送有效信息或数据

slide15
控制域可扩展

(3比特序号)

(7比特序号)

s frame

流量控制

S-frame

作用:用于差错控制和流量控制

监督帧都没有信息字段,所以不需要发送序号N(s)

GO-BACK-N

选择重传

slide17

监督帧类型

S = 00 RR(Receive Ready), 准备接收下一帧N(R),

确认N(R)-1及以前的各帧

01 RNR(Receive Not Ready), 暂停接收N(R)帧,

确认N(R)-1及以前的各帧

10 REJ(Reject), 否认自N(R)开始的帧

确认N(R)-1及以前的各帧

11 SREJ (Selective Reject), 仅否认N(R)帧

确认N(R)-1及以前的各帧

连续

ARQ

选择重传ARQ

u frame

M M

M M M

命令编码

U-frame

作用:用于链路管理

不含帧序号,其类型由MM和MMM表示,最多可以定义32种附加命令和附加响应帧。目前已定义了15种无编号帧。

slide19
U帧控制域定义

(置正常响应模式)

(置扩充正常响应模式)

(置异步响应模式)

(置扩充异步响应模式)

(置异步平衡模式)

(置扩充异步平衡模式)

(无编号信息)

(无编号应答)

RD

DISC

( 请求断连)

(断连)

(设置初始模式)

(请求初始模式)

(无编号探测)

(复位)

(交换标志)

(帧拒绝)

slide20

= 0 无意义

非平衡配置

= 1

平衡配置

S/I 帧 P=1 (命令)

从站

正常响应方式NRM

主站

S/I 帧 (响应)

I 中F=1,表示最后一个数据帧

S中F=1,表示此时没有数据要发送

异步响应方式

ARM

P=1 (询问)

命令方

响应方

F=1 (回答本站状态)

异步平衡方式

ABM

P/F(Poll/Final)位的意义(询问/终止)

slide21
帧校验和
  • 解决差错控制问题(检错和纠错)。缺省为16位,可扩展为32位。
  • 检错:
    • 用循环冗余校验
    • CRC-CCITT
    • 生成多项式G(x)=x16+x12+x5+1
  • 错误处理:
    • 收到无误的帧,发肯定应答。
    • 收到后发现有错,发否定应答,要求重传该帧。
    • 帧丢失,发送定时器超时,重传。
slide22
HDLC操作
  • 通过交换信息、监督和无编号帧实现
  • 面向连接,三个阶段
  • Initialization----初始化(建立连接)
  • Data transfer-----数据传输
  • Disconnect----断开连接
slide23
操作实例(1)

接收未

准备好

置扩充异步平衡模式

接收

准备好

请求 对方响应

无编号确认

RNR,无数据发送

RR,无数据发送

slide24
操作实例(2)

拒绝第4帧

以后的所有帧

请求 对方响应

对请求命令的响应

peer to peer communication
Peer-to-peer communication

置异步平衡模式

UA 无编号应答

internet

FTP

TELNET

HTTP

NFS

SNMP

SMTP

。。。

应用层

TFTP

DNS

。。。

主机主机

TCP

UDP

网间网层

ICMP

IP

IGMP

ARP

RARP

网络

接口层

EtherNet, Token Ring, Token Bus, FDDI,PPP/SLIP, X. 25

Internet数据链路层
slide30

使用 TCP/IP 的

客户进程

用户拨号入网的示意图

用户家庭

因特网服务提供者(ISP)

调制解调器

PC 机

路由器

拨号电话线

路由选择

进程

调制解调器

使用 TCP/IP 的

SLIP/PPP 连接

internet1
Internet数据链路层
  • 点到点链路
  • 两种链路层协议 (old SLIP, now PPP)
  • SLIP: 非推荐的Internet标准  只能用于IP协议,不兼容
  • PPP: 推荐的Internet 标准。
serial line ip slip

0xc0 IP分组 0xc0

IP数据报

C0

db

C0

db

dc

db

dd

C0

SLIP帧

Serial Line IP (SLIP)

用于在串行线上传送IP分组

RFCs: 1055, 1144

如果标志字节(0xC0)出现在IP数据报内部,就通过字符填充来转义,将0xC0替换成两个字节0xDB,0xDC。如果0xDB出现在IP数据报内部,则也要替换为0xDB,0xDD。

serial ip slip
Serial IP (SLIP)
  • 简单: only framing = Flags + byte-stuffing
  • 可选择对报头进行压缩(CSLIP) 以提高效率。
  • 问题:
    • 需要预先了解对方的 IP 地址 (不能动态分配 IP地址)
    • 无 “type” 域 =>只支持IP协议,不能多路协议封装
    • 无校验和 => 所有的错误检测/纠正均由高层进行。
slide35

网络层协议(IP,IPX)

网络控制协议NCP(如IPCP,IPXCP)

链路控制协议LCP

链路层封装格式 (帧格式)

物理层(如EIA RS-232,V.24,V.35)

PPP的内容及位置
  • RFCs: 1661,1548, 1332

NCP报文负责协商通信双方之间的网络网络层参数

PPP链路层

LCP报文负责对链路层进行初始化

  • 网络安全验证协议PAP和CHAP
slide36

因为是点—点连接→所以地址域

无意义,地址字

段的值总是FFH

,表示所有站

点都接收

定义负载数据的报文类型,比如 LCP, NCP, IP, OSI CLNP, IPX等,定义如下

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

控制字段的缺省值是03H,表明PPP在缺省情况下不使用编号,不提供捎带确认的可靠传输机制。但在线路噪声较大的环境中可以选用有编号的传输模式。

PPP 帧格式

flag

Address

Flag

Control

Protocol

Information

CRC

01111110

01111110

1111111

00000011

slide37
当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。

此外,PPP协议中定义了一些专用的控制字符,所以当 PPP 用在异步传输时,还需要通过字符填充法进行转义 。

透明传输问题
slide38
将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)。

若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列(0x7D, 0x5D)。

若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。

字符填充法
slide39

协议域值

含义

0021

Internet protocol(IP协议)

002D

Van Jacobson Compressed TCP/IP(压缩的TCP/IP)

002F

Van Jacobson Uncompressed TCP/IP(未压缩的TCP/IP)

8021

IPCP(IP控制协议)

C021

LCP(链路控制协议)

C023

PAP(Password Authentication Protocol,口令认证协议)

*C025

LQR(Link Quality Report,链路质量报告)

*C223

CHAP(Change Handshake Authentication Protocol,竞争握手认证协议)

PPP协议域定义
slide40
主要的PPP帧

正式传输数据时使用

传送IP分组

传送LCP

初始化建立链路时使用

传送NCP

slide41

Code ID Length Option or Data

1 1 2 ≥0Byte

图 封装在PPP 帧中的LCP报文

LCP

7E FF 03 C0 21 Information FCS 7E

slide43

CODE值:命令名称

方向

描述

1: Configure-request

I→R

列出建议的选项和其值

2: Configure-ack

I←R

接受所有的选项

3: Configure-nak

I←R

有些选项不接受

4: Configure-reject

I←R

有一些选项不可协商

5: Terminate-request

I→R

请求断开线路

6: Terminate-ack

I←R

OK,线路已断开

7: Code-reject

I←R

收到不明的请求

8: Protocol-reject

I←R

未知的协议请求

9: Echo-request

I→R

请将本帧送回

10: Echo-reply

I←R

送回的帧

11: Discard-request

I→R

需丢弃本帧(用于测试)

I—启动者

R—响应者

slide44
LCP其它字段

ID 字 段:ID字段是用于匹配请求与应答包的,即针对某一请求所做出的应答必须与该请求包ID号相同,以便请求发送方用来匹配应答和请求。当收到合法应答或Options域改变时ID号必须改变,但在报文重传时ID号不变。

Length 字 段:长度字段包括Code、ID、Length本身和Data在内的LCP报文的长度。发送时此字段采取“网络字节顺序”,即高字节在前,低字节在后。

Option or Data字段:本字段的内容据Code值改变而改变。比如对代码值为5和6而言此字段可以不携带任何信息;对7、8而言则是Reject的内容,配置选项或被拒绝的报文 ;对1~4,则是一条或多条配置选项。

slide45

Type

FF

Len

03

Data

C0 21

Code

(1~4)

Type

ID

Len

Length

Data

……

Data

FCS

7E

LCP报文配置选项格式

7E

1 1 ≥0Byte 下一个配置选项……

slide46

Type 值

含义

1

最大接收单元 (Maximum-Receive-Unit)

2

异步控制字符集(Async-Control-Character-Map)

3

身份验证协议(Authentication Protocol)

4

链路质量协议 (Quality Protocol)

5

Magic Number (魔域)

7

协议字段压缩 (Protocol-Field-Compression)。

8

地址控制字段压缩(Address & Control Field Compression)

9

FCS选择(FCS-Alternatives)

LCP常用配置选项类型

例:控制字符集的协商

slide47

Type

FF

Len

03

Data

8021

Code

Type Len Data……

ID

Len

Data…

FCS

7E

7E

1 1 ≥0Byte 下一个配置选项……

IPCP报文格式

添加TCP/IP协议时,需要填写:IP地址、地址掩码、 (主、辅)域名服务器地址----PPP中通过IPCP来协商确定这些参数

slide48
IPCP类型定义

1IP-Addresses(IP地址群)

2IP-Compression protocol(IP压缩协议)

3IP-Address(IP地址)

4Mobil-Ipv4

129Primary DNS Server Address(基本域名服务器地址)

130Primary NBNS Server Address(基本NetBIOS域名服 务 器地址)

131Secondary DNS Server Address

132 Secondary NBNS Server Address

slide49
1. PC通过modem呼叫路由器(建立物理连接)

2. PC 和路由器交换 LCP 报文来协商PPP参数(建立链路连接)

3. 身份认证。

4. 交换NCP 报文来配置网络层参数,比如TCP/IP ( 需要动态分配 IP 地址、域名服务器地址)

(建立网络连接)。

5. 数据传输, 即发送/接收IP分组

6. 采用NCP来释放网络层连接(释放IP地址); 用LCP 来释放链路层连接.

7. Modem 挂机(释放物理连接).

PPP 状态转移图

1. Carrier

Detected

Dead

7. Carrier

Dropped

failed

Link conf

Terminate

2. Options

Negotiated

6. Done

failed

Authenticate

5.

datacomm

3. Authentication

Completed

4. NCP

Configuration

Netconf

slide50
PAP采用两次握手验证,口令以明文传递,被验证方发起验证请求。PAP采用两次握手验证,口令以明文传递,被验证方发起验证请求。

被验证方

主验证方

用户名+口令

通过/拒绝

用户数据库

口令验证协议PAP
slide51
CHAP采用三次握手验证,不发送口令,主验证方发起验证请求,使用MD5单向哈希算法,安全性高于PAP。CHAP采用三次握手验证,不发送口令,主验证方发起验证请求,使用MD5单向哈希算法,安全性高于PAP。

被验证方

主验证方

主机名+随机报文

主机名+加密后报文

通过/拒绝

用户数据库

挑战-握手验证协议CHAP
pppoe
PPPoE的实质是以太网和拨号网络之间的一个中继协议,它继承了以太网的快速和PPP拨号的简捷、用户验证和动态IP分配等优势。

PPPoE协议把数据帧报文按照PPP的格式定义封装,例如,数据链路控制协议报文、网络层控制协议报文、认证报文等。

点到点传输,而不是像以太网络或其他多点访问网络中定义的点到多点的传输。

PPPOE
pppoe1
PPPoE协议两个阶段:发现和PPP会话

发现阶段。在发现过程中客户机以广播方式,寻找可以连接的所有的接入交换机,并获得其以太网MAC地址。然后选择需要连接的认证服务器(提供PPPoE接入服务的主机),并确定所要建立的PPP会话识别标号 。

PPP会话阶段。客户机与接入交换机根据在发现阶段所协商的PPP会话连接参数,进行PPP会话协商(动态协商链路层和网络层参数)

PPPOE
pppoe2

PPPOE

Ver type code session-ID length payload

0001 0001 8bits 2octets 2octets

标记

TAG-type TAG-length TAG-value.....TAG-type TAG-length TAG-value

16bits 16bites 16bits 16bites

0x8863: PPPOE discovery stage 0x8864: PPPOE session stage

PPPOE

Destination-addr. Source-addr. Ethernet-Type payload checksum

标记的封装格式采用的是大家所熟知的TLV结构,也即是(类型+长度+数据)。

pppoe3
参数取值

Ethernet-TYPE: 0x8863 discovery stage

0x8864 session stage

CODE的定义:

0x00 PPP session stage

0x09 PPPOE active discovery initialization(PADI) packet

0x07 PPPOE active discovery offer (PADO) packet

0x19 PPPOE active discovery request (PADR) packet

0x65 PPPOE active discovery session-confirmation (PADS) packet

0xa7 PPPOE active discovery terminated (PADT) packet

PPPOE
pppoe5
PPPOE的发现阶段可分为四步。当完成这四步后,用户主机与访问集中器双方就能获知对方的MAC地址和唯一的会话ID号,从而进入到下一个阶段(PPPOE的会话阶段)。PPPOE的发现阶段可分为四步。当完成这四步后,用户主机与访问集中器双方就能获知对方的MAC地址和唯一的会话ID号,从而进入到下一个阶段(PPPOE的会话阶段)。PPPOE的发现阶段
pppoe6
在这个阶段一开始,由于接入用户并不知道访问集中器的MAC地址,于是使用类似于ARP机制来获取访问集中器的MAC地址。首先由接入用户发起一个初始化的广播报文PADI 。这时访问集中器如果配置了PPPOE业务,它会实时检测网络上的数据包,当发现以太网数据帧中所承载的是PPPOE报文时,就会将其交给相应的模块去处理。

当收到初始化报文后,访问集中器会向该用户回应一个PADO报文 。如果网络上存在很多这样的访问集中器且都收到了用户发送的初始化报文时,它们都会向接入用户回送一个确认报文。接入用户收到这个确认报文后,依据报文中所携带的内容或本端的一些配置来选择一个唯一的访问集中器进行会话。

剩下的两步(PADR和PADS)则是协商一些所提供的服务选项和获取PPPOE会话阶段所必须的会话ID值。

在PPPOE发现阶段,所有数据报文的以太网数据帧的协议域始终为0x8863。

PPPOE发现阶段
padi pppoe active discovery initiation
PPPOE发现阶段的第一步,首先由用户以广播的方式发送一个PADI报文。广播包可能会被多个访问集中器接收到,接收到PADI报文的访问集中器会使用PADO报文来回应用户主机。 PADI(PPPOE Active Discovery Initiation)

8863

版本 类型 代码 会话ID 长度 标记类型 标记长度 标记值…

标记类型 标记长度

PADI报文中包括两个标记:一个是主机的唯一标识(0x0103),另一个是服务名标记(0x0101) ,服务名没有具体实际的内容(长度为0),表示用户主机可以接受任何由访问集中器所提供的服务。

pado pppoe active discovery offer
PPPOE发现阶段的第二步,访问集中器回应用户主机发送的PADI报文,此时该报文所对应的以太网帧的源地址填充访问集中器的MAC地址,而目的地址则填充从PADI中所获取的用户主机的MAC地址。 PADO报文中必须包含一个访问集中器名标记,同时还要包含对PADI报文中服务名标记的确认标记和对其它标记的一些确认标记。PADO(PPPOE Active Discovery Offer)

8863

0x0000 end-of-list

0x0101 service-name

0x0102 AC-Name

0x0103 host-quiq Name

这个报文中包括4个标记,在PADI所提供的标记的基础上又增加了两个标记,一个是访问集中器名,下划线部分即表示访问集中器名(MD5500),而且还包含一个标记结束标记(0000)。

padr pppoe active discovery request
PPPOE发现阶段的第三步,由用户主机向访问服务器发送请求报文。PPPOE发现阶段的第三步,由用户主机向访问服务器发送请求报文。

当用户主机收到PADO报文后,从这些报文中挑选一个访问集中器作为后续会话的对象。用户主机在收到PADO报文后,就获知了访问集中器的MAC地址

此时PADR报文必须准确地包含一个服务名的标记,指示用户主机申请的服务和其它的标记类型。

PADR(PPPOE Active Discovery Request)

8863

当收到访问集中器的PADO报文后,用户主机会发送PADR报文,该报文所含的标记域与PADI报文中的一致,但此时用户主机已获知了访问集中器名。

pads pppoe active discovery session confirmation
PPPOE发现阶段的第四步,也是最后一步,此时访问集中器收到PADR报文,准备开始一个PPP的会话,此时访问集中器会为这个会话分配一个唯一的会话进程ID,通过PADS报文发送给主机。PPPOE发现阶段的第四步,也是最后一步,此时访问集中器收到PADR报文,准备开始一个PPP的会话,此时访问集中器会为这个会话分配一个唯一的会话进程ID,通过PADS报文发送给主机。

如果访问集中器不满足用户所申请的服务,也会向用户发送一个PADS报文,其中携带一个服务名错误的标记,此时该PADS报文中的会话ID填充0x0000。

PADS(PPPOE Active Discovery Session-confirmation)

8863

版本 类型 代码 会话ID 长度 标记类型 标记长度 标记值…

其中下划线部分为访问集中器给这个PPPOE会话分配的唯一会话ID。

padt pppoe active discovery terminate
PADT报文可能在会话开始后的任意时间内被发送,主要是用来终止一个PPPOE会话。它可以由主机或访问集中器发送PADT报文可能在会话开始后的任意时间内被发送,主要是用来终止一个PPPOE会话。它可以由主机或访问集中器发送

当收到PADT的时候,不允许再使用当前这个进程发送PPP数据。

PADT(PPPOE Active Discovery Terminate)报文

8863

这个报文中不含有任何标记,下划线部分为所需终止的会话进行ID。

pppoe7
PPPOE会话阶段以太网帧的协议域填充为0x8864,代码域填充0x00,整个会话的过程就是PPP的会话过程,但在PPPOE数据域内的PPP数据帧是从协议域开始的。 PPPOE的会话阶段

8864

MRU L=4 .. 身份验证协议 L=4 …

LCP 命令请求 ID号 长度=18

MRU:Maximum Receive Unit

下划线部分为PPP的数据报文(0xC021表示LCP协商阶段,且PPP代码域为0x01表示是Config-Request报文)。

4 6 1
4.6.1 通信协议中的形式化描述技术

形式化描述的意义

实际使用的协议非常复杂,给协议的理解、验证、实现和测试等工作带来困难,需要采用形式化的、数学的描述方法来描述协议。但是目前大多数协议还是采用自然语言描述。

自然语言描述协议的缺点

冗余;

多义性;

结构性不好;

不便于自动验证、测试、实现。

自学

4.6 协议说明与验证(1)
slide66
形式化描述技术FDT(Formal Description Technique)/形式化方法FM(Formal Method)广泛应用于协议工程研究中

协议说明(Protocol Specification)

协议验证(Protocol Verification)

协议实现(Protocol Implementation)

协议测试(Protocol Testing)

一致性测试(Conformance Testing)

互操作性测试(Cooperability Testing)

性能测试(Performance Testing)

协议说明

必须既定义一个协议实体提供给它的用户的服务,又定义该协议实体的内部操作。

协议说明与验证(2)
slide67
协议验证

验证协议说明是否完整、正确。

协议实现

用硬件和/或软件实现协议说明中规定的功能。

协议测试

用测试的方法来检查协议实现是否满足要求,包括:协议实现是否与协议说明一致(一致性测试)、协议实现之间的互操作能力(互操作性测试)和协议实现的性能(性能测试)等。

在协议的说明、验证、实现和测试过程中使用形式化描述技术,不仅可以比较容易地理解协议,而且可以使协议描述更加精确,大大简化了协议的研究工作。

协议说明与验证(3)
slide68
常用的形式化方法

有限状态机FSM(Finite State Machine)

扩展:EFSM

形式化语言模型

LOTOS,Estelle,SDL

都有相应扩展

Petri网

扩展:时间Petri网,随机Petri网,高级Petri网

过程代数(Process Algebra)

扩展:随机过程代数

形式化方法的主要问题是状态爆炸

协议说明与验证(4
slide69
4.6.2 有限状态机模型

定义

一个有限状态机是一个四元组(S, M, I, T),其中

S是状态的集合;

M是标号的集合;

I是初始状态的集合;

T是变迁的集合。

通信协议建模

基本出发点:认为通信协议主要是由响应多个“事件”的相对简单的处理过程组成;

事件

命令(来自用户)

信息到达(来自低层)

内部超时

协议说明与验证(5)
slide70
优点:简单明了,比较精确;

缺点:对许多复杂的协议,事件数和状态数会剧增,处理困难。

例 协议3

每个状态用三个字母表示:XYZ

X:发送方正发送的帧序号,为0或1;

Y:接收方正等待的帧序号,为0或1;

Z:信道状态,为0,1,A或 -(空)。

初始状态为(000)

半双工信道 Fig. 3-20

全双工信道 Fig. 3-21

协议说明与验证(6)
slide74
协议验证

验证协议说明是否完整正确,以协议说明为基础,涉及逻辑证明。

主要用于系统实现前的设计阶段,为了避免可能出现的设计错误。原则上验证涉及协议所有可能的状态。

可达性分析是一种常用的验证方法

利用图论知识可以解决状态的可达性问题;

可达性分析能够用来解决协议的不完整性、死锁和无关变迁等问题。

协议说明与验证(7)
slide75
3.6.3 Petri网模型

Petri网模型最早在1962年Carl Adam Petri的博士论文中提出来,主要特性是具有较强的对并行、不确定性、异步和分布的描述能力和分析能力。

Petri网研究的系统模型行为特性包括

状态的可达(reachability)

位置的限界(boundedness)

变迁的活性(liveness)

初始状态的可逆达(reversibility)

标识(marking)之间的可达(reachability)

变迁之间的坚挺(persistence)

事件之间的同步距离(synchronic distance)

公平性(fairness)

协议说明与验证(8)
slide76
定义

一个Petri网的结构元素包括:

位置(place):描述系统状态,用一个圆圈表示;

变迁(transition):描述修改系统状态的事件,用一个长方形或线段表示;

弧(arc):描述状态与事件之间的关系,包括输入弧和输出弧,用有向弧表示。

活动元素 ——标记(token):

包含在位置中,用点表示;

用来表示处理的信息单元、资源单元和顾客、用户等对象;

如果位置用来描述条件,它可以包含一个标记或不包含标记,当包含标记时,条件为真,否则,为假;

如果位置用来定义状态,位置中的标记个数用于规定这个状态;

协议说明与验证(9)
slide77
变迁实施规则(firing rule):

如果一个变迁的所有输入位置至少包含一个标记,则这个变迁可能实施;

一个可实施变迁的实施导致从它所有输入位置中都清除一个标记,在它所有输出位置中产生一个标记;

当使用大于1的弧权(weight)时,在变迁的所有输入位置中都要包含至少等于连接弧权的标记个数它才可实施,并根据弧权,在每个输出位置中产生相应标记个数;

变迁的实施是一个原子操作,输入位置清除标记和输出位置产生标记是一个不可分割的完整操作。

Fig. 3-22

主要分析方法

可达树

关联矩阵和状态方程

不变量

分析化简规则

协议说明与验证(10)
slide78
Petri网的扩展

条件/事件(C/E)网

最简单,每个位置最多一个标记,表示条件。

位置/变迁(P/T)网

每个位置中的标记可以有多个。

高级Petri网(包括谓词/变迁网和着色网)

给标记以属性,即标记有区别

从没有参数的网,发展到时间Petri网和随机Petri网;

从一般有向弧发展到可变弧;

从自然数标记个数发展到概率标记个数;

从原子变迁发展到谓词变迁和子网变迁。

协议说明与验证(11)
slide79
例:协议3(半双工信道)

Fig. 3-23

可达图(部分)

关于形式化方法的几点注意事项

模型描述能力的增强会在某种程度上增加模型分析的难度;

模型仅仅是手段,不是目的。

Modeling is a bridge.

协议说明与验证(12)
slide82

M0 = ACG (000)

10

ADF (0A1)

3

BEF (111)

11

BDG (1A0)

1

summary
Summary
  • 数据链路层解决的问题
  • 组帧、帧定界
  • 错误控制
  • 流量控制
  • 链路层协议:HDLC, SLIP/PPP.
  • 协议说明与验证
slide84
思考题

思考题1:对于5*5比特的二维奇偶校验,通过编程找出所有能纠错和检测的样本。

思考题2:编制或上网查找实现CRC的程序,输入不少于10个实例,给出程序的运行结果。

……

quiz 1
Quiz 1

1.(1) OSI/RM分为几层?各层的功能是什么?

(2)在OSI的第几层分别处理下面的问题?

(a) 将待传输的比特流划分成帧

(b) 决定使用哪条路径通过子网

(c) 传输线上的位流信号同步

( d) 两端用户间传输文件

2.一个系统的协议结构有N层。应用程序产生M字节长的报文。网 络软件在每层都加上H字节长的协议头。那么,网络带宽中有多大比率用于协议头信息的传输?

3.有120 MB(兆字节)的数据,需要从南京传送到北京。一种方法是将数据写到磁盘上,然后托人乘火车(需10小时)将这些磁盘捎去。另一种方法是用计算机通过长途电话线(设信息传送的速率是24 k bps)传送此数据。试比较这两种方法的优劣。 若信息传送速率为33.6 k bps,其结果又如何?

4.传播时延、报文发送时间各自的物理含义是什么?分别如何计算?

quiz 11
Quiz 1

1.(1) OSI/RM分为几层?各层解决什么问题?

(2)在OSI的第几层分别处理下面的问题?

(a) 将待传输的比特流划分成帧

(b) 决定使用哪条路径通过子网

(c) 传输线上的位流信号同步

( d) 两端用户间传输文件

2.给定比特序列: 011001111011111101

(1) 写出0比特出入后的结果

(2) 画出Manchester和差分Manchester编码.

3.有120 MB(兆字节)的数据,需要从南京传送到北京。一种方法是将数据写到磁盘上,然后托人乘火车(需10小时)将这些磁盘捎去。另一种方法是用计算机通过长途电话线(设信息传送的速率是24 k bps)传送此数据。试比较这两种方法的优劣。 若信息传送速率为33.6 k bps,其结果又如何?

4.传播时延、报文发送时间、处理时延、排队等待时延各自的物理含义是什么?分析停等协议的效率(不考虑排队等待时延)