the data link layer

44
The Data Link Layer Our goals: understand principl es behind data link layer services: error detection, corr ection sharing a broadcast c hannel: multiple acce ss link layer addressing reliable data transfe r, flow control instantiation and i mplementation of va rious link layer te chnologies Overview: link layer services error detection, correc tion multiple access protoco ls and LANs link layer addressing, ARP specific link layer tec hnologies: – Ethernet hubs, bridges, switches – PPP IEEE 802.11 LANs

Upload: donovan-williams

Post on 30-Dec-2015

83 views

Category:

Documents


1 download

DESCRIPTION

Our goals: understand principles behind data link layer services: error detection, correction sharing a broadcast channel: multiple access link layer addressing reliable data transfer, flow control instantiation and implementation of various link layer technologies. Overview: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Data Link Layer

The Data Link LayerOur goals: • understand principles be

hind data link layer services:– error detection, correction– sharing a broadcast chann

el: multiple access– link layer addressing– reliable data transfer, flo

w control

• instantiation and implementation of various link layer technologies

Overview:• link layer services• error detection, correction• multiple access protocols and

LANs• link layer addressing, ARP• specific link layer technologie

s:– Ethernet– hubs, bridges, switches– PPP– IEEE 802.11 LANs

Page 2: The Data Link Layer

Link Layer: setting the context

Page 3: The Data Link Layer

A B

Link-to-link

Edge-to-edge

End - to - end

Data Link Layer Issues

Page 4: The Data Link Layer

Link Layer: setting the context• two physically connected devices:

– host-router, router-router, host-host

• unit of data: frame

applicationtransportnetwork

linkphysical

networklink

physical

M

M

M

M

Ht

HtHn

HtHnHl MHtHnHl

framephys. link

data linkprotocol

adapter card

Page 5: The Data Link Layer

Link Layer Services• Framing, link access:

– encapsulate datagram into frame, adding header, trailer– implement channel access if shared medium, – ‘physical addresses’ used in frame headers to identify sourc

e, dest • different from IP address!

• Reliable delivery between two physically connected devices: – we learned how to do this already – seldom used on low bit error link (fiber, some twisted pair)– wireless links: high error rates

• Q: why both link-level and end-end reliability?

Page 6: The Data Link Layer

Link Layer Services (more)

• Flow Control: – pacing between sender and receivers

• Error Detection: – errors caused by signal attenuation, noise.

– receiver detects presence of errors: • signals sender for retransmission or drops frame

• Error Correction: – receiver identifies and corrects bit error(s) without reso

rting to retransmission

Page 7: The Data Link Layer

Link Layer: Implementation• implemented in “adapter”

– e.g., PCMCIA card, Ethernet card – typically includes: RAM, DSP chips, host bus i

nterface, and link interface

applicationtransportnetwork

linkphysical

networklink

physical

M

M

M

M

Ht

HtHn

HtHnHl MHtHnHl

framephys. link

data linkprotocol

adapter card

Page 8: The Data Link Layer

The Data Link Layer

1. 向网络层提供的服务

主机 A主机 A 主机 B主机 BAL

TL

NL

DL

PL

AL

TL

NL

DL

PL

帧帧帧帧帧帧帧帧帧帧帧帧帧帧帧帧帧帧

无确认的无连接服务有确认的无连接服务面向连接的服务

Page 9: The Data Link Layer

The Data Link Layer

2. 成帧

• 涉及的问题

• 协议数据单元

将上层 ( 网络层 ) 交下来的数据包按照所采用协议决定的格式,封装成一定形式的帧;考虑接收双方的同步问题(即定界); 计算帧的校验和并放入帧中一起传送给接收方;

帧:在数据链路上交换数据的单位。

标 志 字 段指明帧的开始和结束

地址字段 控制字段 正文字段 校验字段

Page 10: The Data Link Layer

The Data Link Layer

2. 成帧

• 字符填充的首尾定界法

• 位填充的首尾定界法

同步字符法

标志法

填充技术

Page 11: The Data Link Layer

The Data Link Layer 2. 成帧

• 物理层编码违例法

• 综合法

“0” “1” 违例 或

用计数值确定帧尾检查帧定界符是否出现在应该出现的地方计算校验和

Page 12: The Data Link Layer

The Data Link Layer

3. 流量控制

• 流量控制• 流量控制的特点

网络层实体控制从数据链路层接收数据的速率,据此,数据链路层要控制从同等实体接收 PDU 的速率。

限制发送方发送速度的一种机制。使发送速率不能超过接收方能处理的速率。

流量控制必须是动态的

必须有某种反馈机制

流量速度不仅与发方速度相关而且与网络的当前拥挤程度有关

使发方了解收方的当前处理能力

Page 13: The Data Link Layer

The Data Link Layer 4. 差错控制

• 顺序到达

• 检错和纠错

检出传输中出现的差错;可能的话确定出错位置从而纠正错误。

指保证所有的帧最终都按正确的发送次序到达目的。

确认方式 计时器法计时器值的设定要保证一帧到达对方并作处理后,相应的确认帧返回。

ACK 肯定确认NAK 否定确认

计时结合序号才能保证每一帧的正确次序。

Page 14: The Data Link Layer

The Data Link Layer 5. 数据链路层协议的作用

数据链路协议

2233

数据链路进程

路由选择进程

路由器 A

分组 / 包

22

32 2223322

路由器 B

传输线

22

32 22222 33

DL 协议的作用就是使不可靠的通信线路变得一定程度的好。

Page 15: The Data Link Layer

The Data Link Layersummary

主要功能:• 链路管理• 帧同步• 流量控制• 差错控制• 将数据和信息区分开• 透明传输• 寻址

Page 16: The Data Link Layer

Model of Frame Transmission

Page 17: The Data Link Layer

Flow Control

• Ensuring the sending entity does not overwhelm the receiving entity– Preventing buffer overflow

Main methods:• Stop wait• Go back N• Sliding window

Page 18: The Data Link Layer

Stop and Wait

• Source transmits frame

• Destination receives frame and replies with acknowledgement

• Source waits for ACK before sending next frame

• Destination can stop flow by not send ACK

• Works well for a few large frames

Page 19: The Data Link Layer

stop and wait

• 流量控制

1

2

3

4

5

帧传输模型

Tim

e

用来确保发送实体发出的数据不会覆盖接收实体已收数据的一种技术

1

2

3

4

5

A B

Page 20: The Data Link Layer

最理想的情况基于两条基本假设 :1 传输的数据不会出差错 , 也不会丢失 .2 不管发送方以多快的速率发送数据 , 收方总来得及收下 .

A B

时间

送主机 B

送主机 B

送主机 B

t1t2

数据

数据

数据

数据

stop and wait

Page 21: The Data Link Layer

去掉第二条假设,需引入流量控制再去掉第一条假设,可能会出现死锁。需要引入差错控制

A B

数据

数据

送主机 B

送主机 B

stop and wait

Page 22: The Data Link Layer

stop and wait

源实体发送一个 PDU ,并启动一个计时器。目标实体收到后发回一个对该 PDU 的确认,表示同意接受下一个 PDU ;源实体必须等待直到收到确认后才能发送下一个 PDU;如果源实体的计时器超时后还没有收到确认,就重新发送一次。

目标实体能简单地用停止发送确认的方式来阻止数据流。由接受方控制发送方的数据流乃是计算机网络中流量控制的一个基本方法

Timeout 可取略大于从发完数据帧到受到确认帧所需的平均时间

Page 23: The Data Link Layer

Figure 11.4

Page 24: The Data Link Layer

Error-Free Stop and Wait

tframe = 发送一帧所需的时间tprop = 从 T 传播到接收站 R 的时间tack = 发送确认帧的时间tproc = 每个站处理入境帧的时间

U =2 tprop + tframe

tframe

Tf =tframe+tprop+tproc+tack+tprop +tproc

Tf = tframe +2 tprop

线路最大(不出错)利用率

Page 25: The Data Link Layer

Error-Free Stop and Wait

定义参数: a = tprop / tframe

a =d/V

L/R=

Rd

VL

传播延迟 = 链路距离 / 传播速率 = d/V传输时间 = 帧的长度 / 数据速率 = L/R

a = 传播延迟 / 传输时间

线路的最大利用率 : U =1

2a + 1

Page 26: The Data Link Layer

• 计算题:1 、信道速率为 4kbps 。采用停止等待协议。传播

时延 tp=20ms 。确认帧长度和处理时间均可忽略。问帧长为多少才能使信道利用率达到至少 50%?

2 、假定信道出错概率为 p ,采用停止等待协议。确认帧长度和处理时间均可忽略。问每一帧平均需发送多少次才能发送成功 ?

结论: stop-wait 协议 ARQ 的优点比较简单,但缺点时通信信道的利用率不高,尤其是传播延时很大时,可采用连续 ARQ 和选择重传 ARQ 。

Error-Free Stop and Wait

Page 27: The Data Link Layer

Error-Free Stop and Wait

• 例卫星

250ms 250ms

地球

L = 1000b ; R = 50kps ;传播延迟 = 250ms;发送一帧所需的时间 = 20ms;

信道利用率= 20/520 = 3.8%

解决方法:利用传播延迟连续发送 n 帧

n = 1+传播延迟

发送一帧所需的时间= 26

t = 0 开始发送;t = 1000/50000 = 20ms 发完第一帧;t = 20+250 = 270ms 接收完第一帧;t = 270+250 = 520ms 收到第一帧的应答;

Page 28: The Data Link Layer

Stop-and-Wait ARQ with ErrorsP = probability a single frame is in error

Nx = 1

1 - P

= average number of times each frame must be transmitted due to errors

U = 1 = 1 - P

Nx (1 + 2a) (1 + 2a)

Page 29: The Data Link Layer

Stop-and-Wait Link Utilization• If Tprop large relative to Tframe then throughput

reduced• If propagation delay is long relative to trans

mission time, line is mostly idle• Problem is only one frame in transit at a tim

e• Stop-and-Wait rarely used because of ineffic

iency

Page 30: The Data Link Layer

Go Back N (GBN)

• Window size W• The sender transmits packets 0,1,2, …,W-1 and wait

s for up to T seconds for each of their ACKs. As soon as the receiver gets an ACK for packet 0 it transmits packet W.

• If time-out go back n and retransmit.• 接受端只按序接收数据帧• 每发送一个数据帧都要设置超时 timer• 因连续发送数据帧而提高了效率,但信道传输质

量很差时,效率不一定优于 stop-wait 协议。

Page 31: The Data Link Layer

Go Back N (GBN)

Note : receiver receives the frames only by order each frame has set a timeout timer

Page 32: The Data Link Layer

Go-Back-N ARQ

1 - P for W ≥ 2a + 1

U = 1 + 2aP

W(1 - P) for W < 2a +1

(2a + 1)(1 – P + WP)

Page 33: The Data Link Layer

Go Back N (GBN)

10 2 5 2 3 4 5 643A

B

时 间

tf tout

重传

送主机 丢弃 送主机

1 、发送端在重发表中保存所发送的每个数据帧的备份。重发表按 FIFO 队列操作。2 、每个数据帧包含一个唯一的序号,该序号在相应的 ACK 帧中返回,返回该序号 时,发送端从重发表中删除该数据帧。3 、对每个出错地数据帧,接受端都产生相应的 NAK 帧;发送端一收到 NAK, 从重 发表中尚未确认的第一个帧开始重新发送。

Page 34: The Data Link Layer

Sliding Windows Flow Control• Allow multiple frames to be in transit

• Receiver has buffer W long

• Transmitter can send up to W frames without ACK

• Each frame is numbered

• ACK includes number of next frame expected

• Sequence number bounded by size of field (k)– Frames are numbered modulo 2k

Page 35: The Data Link Layer

Sliding Window Diagram

Page 36: The Data Link Layer

• 滑动窗口的大小 假设:发送窗口WT= 5 ;接收窗口WR=1

发送窗口

接收窗口

01

7

234

5

6

连续发 0~4

01

7

234

5

6

收到 ACK1

01

7

234

5

6

收到 ACK4

01

7

234

5

6

准备接收 0

01

7

234

5

6

准备接收 1

01

7

234

5

6

准备接收 4

Sliding Window

Page 37: The Data Link Layer

• 发送窗口WT 与接收窗口WR 的关系

if WT >1, WR =1, then 滑动窗口协议 = 回退 -N

if WT >1, WR >1, then 滑动窗口协议 = 选择重传if WT =1, WR =1, then 滑动窗口协议 = 停等式

Sliding Windows

Page 38: The Data Link Layer

回退 N 协议的最大发送窗口大小

发方 0 1 2 3 4 m-1 0 1

ACK1

ACKm

超时

丢失 丢失

0 1 2 3 4 m-1 0 1收方

WT

ACK2丢失

0

?

假设 模 m =2n ,最大序号 Smax = m-1 = 2n –

1

发送序号: 0, 1, 2, 3, ……... 2n – 1

Page 39: The Data Link Layer

回退 N 协议的最大发送窗口大小

WT=m

WT=m-1

WT<m-1 更不会混淆

发送序号: 0 , 1 , 2 , ··· ,m-2 ;

重发的第一个序号是 0 ,而下一轮发送的第一个序号是 m-1;

当确认全部丢失时易造成混肴

最大发送窗口为: WT = 2n – 1 = m - 1

Page 40: The Data Link Layer

选择重传协议

• 选择重传协议

在回退 N-ARQ 基础上,当接收端发现其中有出错的帧时,它有选择地反馈要求重发的信息,使发送端只重发出错的帧,其余 (N- 1) 个正确帧被接收端先存储起来。

Page 41: The Data Link Layer

选择重传协议

1 2 3 4 5 6 7 3 8 9 10 7 11 12 13 14

1 2 3 4 5 6 7 3 8 9 10 7 11 12

重传

出错

ACK

NAK

重传

正常传输

AC

K2

NA

K3

NA

K7

发方

收方

Page 42: The Data Link Layer

选择重传协议的最大发送窗口大小

ACK1

ACKm

超时

发方0 1 2 3 4 w-1 0 1 w-1

w,(w+1),(w+2), … 2w-1WR

允许接收 w个

0 1 2 3 4 w-1 0收方 等待接收 1 w-1

丢失 丢失

WT 重传 w 个帧

ACK2丢失

0

假设: 模 m =2n ,最大序号 Smax = m-1 = 2n – 1

序号空间: 0, 1, 2, 3, ……... 2n – 1(m-1);

WT=WR = w ;

Page 43: The Data Link Layer

选择重传协议的最大发送窗口大小

If 0 ~ w-1 帧的 ACK丢失, then 发送端超时重发 0, 1... w-1 ;为了避免序号混淆,应使

收发窗口的最大值: w ≤ m/2 = 2n-1

发站发出 w 个帧 (0 , 1 ,… w-1) 后等待应答;接收站正确收到 W 个帧后给出 ACK ;接收窗口成为 w~2w-1 ;再收到落在 w~2w-1之间的帧都认为是合法编号的新帧。

m – 1 ≥2w - 1 (即 2w - 1 不能重复以前的序号)

Page 44: The Data Link Layer

Error-Free Sliding Window ARQ

• Case 1: W ≥ 2a + 1Ack for frame 1 reaches A before A has exhauste

d its window

• Case 2: W < 2a +1A exhausts its window at t = W and cannot send a

dditional frames until t = 2a + 1