ingress policing

20
Considerations on Ingress Policing for 802.1Qbv Johannes Specht, Univ. of Duisburg-Essen Soheil Samii ([email protected] ), General Motors 1

Upload: phungduong

Post on 02-Jan-2017

247 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ingress Policing

Considerations on Ingress Policing for 802.1Qbv

Johannes Specht, Univ. of Duisburg-Essen

Soheil Samii ([email protected]), General Motors

1

Page 2: Ingress Policing

Motivation

Ingress policing requirements based on the traffic class● Stream-based token bucket may be appropriate for traffic classes

with credit-based shaping and “best effort” traffic (Markus Jochim, IEEE 802.1 TSN Plenary, Dallas, TX, November 2013 –examples and evaluation already presented) http://www.ieee802.org/1/files/public/docs2013/tsn-jochim-ingress-policing-1113-v2.pdf

● Urgency-based scheduler (UBS): Ingress policing is a built-in property of the shaper (automatic threshold enforcing at egress)http://www.ieee802.org/1/files/public/docs2013/new-tsn-specht-ubs-perfchar-1113-v1.pdf

What about the other traffic classes?● Time-aware shaper: bandwidth only; no policing in time domain is

currently defined – examples to follow in this presentation

2

Page 3: Ingress Policing

About this slides

Content The next slides show multiple error cases and possible

countermeasures, i.e. mechanisms of ingress policing for 802.1Qbv.

The mechanisms are far from being complete – more could be done on layer 2 (protection of 802.1CB, …).

The mechanisms are not mapped on yet known/standardized mechanisms but focus on what appears reasonable on layer 2 w.r.t. 802.1Qbv. Mapping can be discussed at the end of this slide set.

Note on Cut-through and Store & Forward

The figures in this slide set show cut-through behavior for simplicity. The explained mechanisms are applicable for both, store & forward and cut-through bridges.

3

Page 4: Ingress Policing

More about this slides

Goals, Anti-Goals and Assumptions

The goals of the mechanisms is to:

● Entirely prevent congestion/disruption of fault free streams by faulty streams

● Enable unambiguous detection of faulty devices/prevent false positive detection

It is assumed that a faulty box (end-station or bridge) send‘s arbitrary data at arbitrary times (babbling-idiot).

It is not assumed that some faulty transmissions are more “unlikely” than others, nor that some boxes fail “more unlikely” than others, etc.

It is assumed that at most one box can fail at a time (single fault assumption).

It is not a goal to “magically repair” faulty streams. These are considered as broken, faulty, non-trustworthy, non-repairable, lost [PERIOD]

4

Page 5: Ingress Policing

WHAT DOES NOT WORK FOR 802.1QBV

11/5/2014 5

Page 6: Ingress Policing

Token Bucket: Fault Free

Token bucket alone does not work for TAS

6

B3B1

B2

B4E1 I1

E2

I2

E3 I31 2 3

1 2 3

E1:egress

I1:token level

E2:egress

E3:egress

1 2 31 2 3E3:gate

E3:queue

1 2 31 2 3

Token Bucket: Delay

1 2 3

1 2 3

E1:egress

I1:token level

E2:egress

E3:egress

1 212

E3:gate

E3:queue

1 2 31 2

21 3reference

1 2 31 2 3reference

2 33

Delayed Packets

Token limit reached, but this does not affect

delayed packet acceptance

Delayed packet 2 of B1 (faulty) congests the

queue: Packets 2, 2 and 3 sent in wrong

windows

Page 7: Ingress Policing

WHAT MAY WORK FOR 802.1QBV

11/5/2014 7

Page 8: Ingress Policing

Part 1 - Timing

1. Ingress Windows

Extend the 802.1Qbv gate-states by an ingress open/close flag, i.e. ingress gate:

Open: Accept consecutive started packets until next ingress close

Close: Discard consecutive started packets entirely

Implication: Common time for egress and ingress operation at the same port

2. Octet Limits

Add octet limits associated with ingress windows and common octet counter:

Increase octet counter by octets of packets started after transition to open until associated octet limit is reached

Cut through: Discard octets octet limit is exceeded

Store and Forward: Discard packet if octet limit is exceeded

Clear octet counter and current octet Limit at transition to close

8

Page 9: Ingress Policing

Ingress windows

9

B3B1

B2

B4E1 I1

E2

I2

E3 I3

With Part 1: Delay

1 2 3

1 2 3

E1:egress

I1:#octets

E2:egress

E3:egress

1 31 2E3:gate

E3:queue

1 1

21 3reference

1 2 31 2 3reference

3

I1:gate

2 3

Ingress open Accept packet 1

Octet count increased by packet 1

Ingress gate closes Sets octet count to 0

Delayed packets 2 and 3 arrive during closed

ingress window Entirely discarded

Token Bucket: Delay

1 2 3

1 2 3

E1:egress

I1:token level

E2:egress

E3:egress

1 212

E3:gate

E3:queue

1 2 31 2

21 3reference

1 2 31 2 3reference

2 33

Page 10: Ingress Policing

Ingress Windows vs. Octet Limits

Both needed

Ingress windows (receiver) must be wider than egress packets (sender) to avoid false positive reactions:

PTP clocks are not 100% equal, even in the fault free case

802.1Qbv implementations may „narrow“ the configured event times

Allowed variances of packet/octet duration (+-100ppm or more), preamble length, etc. before being rejected otherwise

In case of faults, a sender can transmit more octets in one ingress window than expected before the end of the window is reached

Octet count synchronized to packet reception can limit the exact number of octets in a window

Windows sizes/expected number of octets can differ per window at one egress port Each ingress window requires an associated octet limit

10

Page 11: Ingress Policing

Fault Free Case

11

B2B1E1 I1

E1:egress 1 1

I1:gate

I1: #octets

I1: forward 1 1

E2

E2: gate

1 1E2: egress

E2: gate

Assumption

- ingress and egress clocks in one bridge are equal

Variances (PTP,

802.1Qbv, …)

Scheduling:

Egress windows

aligned to the end of

corresponding

ingress windows (or

later) prevents

increasing window

size (tolerance)

along path

Page 12: Ingress Policing

Faults covered by Ingress Window

12

B2B1E1 I1

E1:egress 1 2

I1:gate

I1: #octets

I1: forward 2 2

E2

E2: gate

2 2E2: egress

1

Starts before

ingress window

Entirely

discarded

Starts out of

ingress window

Entirely

discarded Expected ok

2

Starts in ingress

window

Ok

Page 13: Ingress Policing

Faults covered by Octet Discarding

13

B2B1E1 I1

E1:egress

I1:gate

I1: #octets

I1: forward 1‘ 1

E2

E2: gate

1‘E2: egress

1 21

Exceeds octet limit

Octets

discarded

2‘

1 2‘

Starts in ingress

window and below

octet limit Ok

Starts in ingress window but

exceeds the end of the

window Octets discarded

Assumed to be ok:

- Orange stream is

faulty anyway.

- Stays within

planned limits , i.e.

cannot congest

other streams.

Page 14: Ingress Policing

(Yet) Uncovered Faults …

14

B2B1E1 I1

E1:egress

I1:gate

I1: #octets

I1: forward 1 1

E2

E2: gate

1 1E2: egress

1 1

1 sent by B1 in an

egress window of

a red packet (does

not exceed octet

limit).

2 sent by B1 in an

egress window of

a orange packet

(does not exceed

octet limit).

Page 15: Ingress Policing

B3

… why this is a problem

15

E1:egress

I1:gate

E2: gate

E2: egress

1 1

B2B1E1 I1

B4

E2 I2

E3

I3

E3: egress 1

E2: queue 11

Oversized packet 1 arrives in

(sufficient large) ingress

window of 1

Packet 1

enqueued at E2 …… while another packet 1 arrives

from fault free bridge B4.

1 exceeds the window size planned for packet 1

packet 1 is not transmitted, queue at E2 blocked forever

Octet limits/counter not shown to simplify the illustration.

Page 16: Ingress Policing

Part 2 – Masquerading

1. Ingress Windows

2. Octet Limits

3. Masquerading Filters

Associate forwarding information with each ingress window to:

Unambiguously identify:

a. The entire scheduled path to the listener(s)

b. All scheduled egress queues on the path to the listener(s)

Discard packets starting in ingress window in case of mismatch

16

Page 17: Ingress Policing

Faults covered by Masquerading Filters

17

B2B1E1 I1

E1:egress

I1:gate

I1: #octets

I1: masq

E2

E2: gate

E2: egress

1 1

Detects that packet

an orange packet

arrives in the

window of a red

packet and vice

versa.

Page 18: Ingress Policing

B1

B4

B3

Why local forwarding information (port map, etc.) would be insufficient

18

B2B0E1 I1

E0:egress

I0:gate

I0: #octets

I0: masq.

E2

1 1

I2

Masquerading

filterin B2 will

detect the wrong

packets BUT

cannot identify that

B0 was faulty, i.e.

B2 may classify B1

as faulty (false

positive)

Masquerading filter

in B1 based on

e.g. port map –

does not detect the

wrong packets

I0E0

E1: gate

E1: egress 11I1:gate

I1: #octets

I1: masq.

Page 19: Ingress Policing

Mapping the mechanisms to standard(s)

Octet Limits: Is MEF 10.3 the right tool?

Specified to operate octet-accurate?

Writable token/octet levels at ingress open/close events?

Tokens added at rate=0 (i.e. not automatically added over time)?

Red&green-only operation?

Continuous operation for cut-through (or is the combination TAS+cut-through+policing useless at all – at least Automotive use seems unlikely)?

Input Windows/Gate Events: 802.1Qbv?

Masquerading Filters – Circuits & Stream Gates?

19

Page 20: Ingress Policing

Thank you for your Attention!

20

Dependability of Computing Systems

Institute for Computer Science and

Business Information Systems (ICB)

Faculty of Economics and

Business Administration

University of Duisburg-Essen

Johannes SpechtDipl.-Inform. (FH)

Schuetzenbahn 70

Room SH 502

45127 Essen

GERMANY

T +49 (0)201 183-3914

F +49 (0)201 183-4573

[email protected]

http://dc.uni-due.de

Questions, Opinions, Ideas?