53
We were doing very well, up to the kind of sum when a bath is filling at the rate of so many gallons and two holes are letting the water out, and please to say how long it will take to fill the bath, when my mother put down the socks she was darning and clicked her tongue in impatience. "Filling up an old bath with holes in it, indeed. Who would be such a fool?" "A sum it is, girl," my father said. "A sum. A problem for the mind." "Filling the boy with old nonsense," Mama said. "Not nonsense, Beth," my father said. "A sum, it is. The water pours in and takes so long. It pours out and takes so long. How long to fill? That is all." "But who would pour water into an old bath with holes?" my mother said. "Who would think to do it, but a lunatic?" —How Green Was My Valley, Richard Llewellyn 20151207 ETSF05/ETSF10 Internet Protocols 1

We were doing very well, up to the kind of sum when a bath

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: We were doing very well, up to the kind of sum when a bath

We were doing very well, up to the kind of sum when a bath is filling at the rate of so many gallons and two holes are letting the water out, and please to say how long it will take to fill the bath, when my mother put down the socks she was darning and clicked her tongue in impatience.

"Filling up an old bath with holes in it, indeed. Who would be such a fool?"

"A sum it is, girl," my father said. "A sum. A problem for the mind."

"Filling the boy with old nonsense," Mama said.

"Not nonsense, Beth," my father said. "A sum, it is. The water pours in and takes so long. It pours out and takes so long. How long to fill? That is all."

"But who would pour water into an old bath with holes?" my mother said. "Who would think to do it, but a lunatic?"

—How Green Was My Valley, Richard Llewellyn

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 1

Page 2: We were doing very well, up to the kind of sum when a bath

Performance & QoSCongestion Control

2015Jens Andersson

ETSF05/ETSF10 – Internet Protocols

Page 3: We were doing very well, up to the kind of sum when a bath

Quality of Service (QoS)

• Maintaining a functioning network–Meeting applications’ demands

• User’s demands = QoE

– Dealing with flow characteristics

2015‐12‐07 3ETSF05/ETSF10 ‐ Internet Protocols

Jitter = Packet Delay Variations

Page 4: We were doing very well, up to the kind of sum when a bath

Figure 22.1 Architectural Framework for QoS Support

Queuemanagement

Congestionavoidance

Packetmarking

Trafficshaping

Trafficpolicing

Trafficclassification

Queueing &scheduling

Data Plane

Admissioncontrol

QoSrouting

Resourcereservation

Control Plane

Servicelevel

agreement

Trafficrestoration

Policy

Trafficmetering

andrecording

Manage

mentPlan

e

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 4

Page 5: We were doing very well, up to the kind of sum when a bath

Data Plane• Includes those mechanisms that operate directly on flows of data

Queue management algorithms

Queueing and scheduling

Congestion avoidance

Packet marking

Traffic classification

Traffic policing

Traffic shaping2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 5

Page 6: We were doing very well, up to the kind of sum when a bath

Control Plane

• Concerned with creating and managing the pathways through which user data flows

• It includes:– Admission control – QoS routing– Resource reservation

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 6

Page 7: We were doing very well, up to the kind of sum when a bath

Management Plane

• Contains mechanisms that affect both control plane and data plane mechanisms

• Includes:– Service level agreement (SLA)– Traffic metering and recording– Traffic restoration– Policy 

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 7

Page 8: We were doing very well, up to the kind of sum when a bath

Network performance

• Bandwidth– Bits per second (capacity)

• Throughput– Efficiency, always less than capacity (<1)

• Latency (Delay)– Transmission, propagation, processing, queueing

• PDV = Packet Delay Variation (Jitter)  real‐time data!

2015‐12‐07 8ETSF05/ETSF10 ‐ Internet Protocols

Page 9: We were doing very well, up to the kind of sum when a bath

Other parameters

• Bit Error Rate– L1 parameter that heavily impacts on L3– Frame/Packet Loss on higher layers

• Inter Packet Gap variations– “Jitter”– Could be non‐zero already at sender

• Ratio of packets out of order– Impact on delay in TCP

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 9

Page 10: We were doing very well, up to the kind of sum when a bath

Circuit Switching Datagram Packet Switching Virtual Circuit Packet Switching

Dedicated transmission path No dedicated path No dedicated path

Continuous transmission of data

Transmission of packets Transmission of packets

Fast enough for interactive Fast enough for interactive Fast enough for interactive

Messages are not stored Packets may be stored until delivered

Packets stored until delivered

The path is established for entire conversation

Route established for each packet

Route established for entire conversation

Call setup delay; negligible transmission delay

Packet transmission delay Call setup delay; packet transmission delay

Busy signal if called party busy

Sender may be notified if packet not delivered

Sender notified of connection denial

Overload may block call setup; no delay for established calls

Overload increases packet delay

Overload may block call setup; increases packet delay

Electromechanical or computerized switching nodes

Small switching nodes Small switching nodes

User responsible for message loss protection

Network may be responsible for individual packets

Network may be responsible for packet sequences

Usually no speed or code conversion

Speed and code conversion Speed and code conversion

Fixed bandwidth Dynamic use of bandwidth Dynamic use of bandwidth

No overhead bits after call setup

Overhead bits in each packet Overhead bits in each packet

Table 9.1

Comparison of Communication 

Switching Techniques 

(Table can be found on page 315 in

textbook)2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 10

Page 11: We were doing very well, up to the kind of sum when a bath

(a) Circuit switching

Callrequestsignal

Callacceptsignal

propagationdelay

processingdelay

(b) Virtual circuit packet switching

Callrequestpacket

Callacceptpacket

link link link

1 2 3 4Nodes: 1 2 3 4

Acknowledge-ment signal

Acknowledge-ment packet

(c) Datagram packet switching

1 2 3 4

Userdata

Pkt1

Pkt2

Pkt3Pkt1

Pkt2

Pkt3Pkt1

Pkt2

Pkt3

Pkt1

Pkt2

Pkt3Pkt1

Pkt2

Pkt3Pkt1

Pkt2

Pkt3

Figure 9.15 Event Timing for Circuit Switching and Packet Switching2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 11

Page 12: We were doing very well, up to the kind of sum when a bath

Virtual Circuits vs. Datagram

Virtual circuitsNetwork can provide sequencing and error controlPackets are forwarded more quicklyLess reliable (compare Circuit Switching)

Datagram (Best Effort)No call setup phaseIndividual packet handlingMore flexibleMore reliable

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 12

Page 13: We were doing very well, up to the kind of sum when a bath

IP Performance Metrics (IPPM wg)• Chartered by IETF to develop standard metrics that relate to the quality, performance, and reliability of Internet data delivery

• Need for standardization:– Internet has grown and continues to grow at a dramatic rate

– Internet serves a large and growing number of commercial and personal users across an expanding spectrum of applications

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 13

Page 14: We were doing very well, up to the kind of sum when a bath

Table 22.3IP Performance Metrics

Metric Name Singleton Definition Statistical Definitions One-Way Delay Delay = dT, where Src transmits first bit of

packet at T and Dst received last bit of packet at T + dT

Percentile, median, minimum, inverse percentile

Round-Trip Delay Delay = dT, where Src transmits first bit of packet at T and Src received last bit of packet immediately returned by Dst at T + dT

Percentile, median, minimum, inverse percentile

One-Way Loss Packet loss = 0 (signifying successful transmission and reception of packet); = 1 (signifying packet loss)

Average

One-Way Loss Pattern

Loss distance: Pattern showing the distance between successive packet losses in terms of the sequence of packets Loss period: Pattern showing the number of bursty losses (losses involving consecutive packets)

Number or rate of loss distances below a defined threshold, number of loss periods, pattern of period lengths, pattern of inter-loss period lengths.

Packet Delay Variation

Packet delay variation (pdv) for a pair of packets with a stream of packets = difference between the one-way-delay of the selected packets

Percentile, inverse percentile, jitter, peak-to-peak pdv

Src = IP address of a hostDst = IP address of a host 

(a) Sampled metrics 2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 14

Page 15: We were doing very well, up to the kind of sum when a bath

Table 22.3IP Performance Metrics

Metric Name General Definition Metrics Connectivity Ability to deliver a packet

over a transport connection.

One-way instantaneous connectivity, Two-way instantaneous connectivity, one-way interval connectivity, two-way interval connectivity, two-way temporal connectivity

Bulk Transfer Capacity

Long-term average data rate (bps) over a single congestion-aware transport connection.

BTC = (data sent)/(elapsed time)

(b) Other metrics

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 15

Page 16: We were doing very well, up to the kind of sum when a bath

P(i) P(j)

P(j)

P(k)

P(k)P(i)dTi

I 1MP1

MP2

Figure 22.12 Model for Defining Packet Delay Variation

I1

I2

I 2dTj dTk

I1, I2 = times that mark that beginning and ending of the interval in which the packet stream from which the singleton measurement is taken occurs.MP1, MP2 = source and destination measurement pointsP(i) = ith measured packet in a stream of packetsdTi = one-way delay for P( i)

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 16

PDVi=dTi-dTi-1

Time synch!

Page 17: We were doing very well, up to the kind of sum when a bath

• How much data fills the link– (or full path?)

• One Way Delay• Two Way Delay = Round Trip Time (RTT)

Time for data + time for ACK

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 17

Bandwidth‐delay product

Page 18: We were doing very well, up to the kind of sum when a bath

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 18

bandwidth: 5 bps, delay: 5sbandwidth x delay = 25 bits

Bandwidth‐delay product

Page 19: We were doing very well, up to the kind of sum when a bath

Bandwidth‐delay product

• Important for congestion avoidance– Don’t overfill the link

• Important for efficiency– Keep the link filled at all times– For max efficiencyData chunks > 2 * bandwidth * delay 

2015‐12‐07 19ETSF05/ETSF10 ‐ Internet Protocols

Page 20: We were doing very well, up to the kind of sum when a bath

Bandwidth‐delay product

• Important for tuning (TCP)• Long Fat Network (LFN, ”elephant”) BDP >> 105 bits

• Very long (high delay) links:‐> Bandwidth = BDP/delayBut it takes long time before ACK arrives …

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 20

Page 21: We were doing very well, up to the kind of sum when a bath

Performance vs ARQ

• Method– Stop‐&‐Wait– Go‐Back‐N– Selective‐Repeate

• Utilisation = f(window size)

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 21

Page 22: We were doing very well, up to the kind of sum when a bath

t0 T RT R

t0 + 1 T RT R

t0 + a T RT R

t0 + 1 + a T RT R

t0 + 1 + 2a ACK

Frame

t0

t0 + a

t0 + 1

t0 + 1 + a

t0 + 1 + 2a T RT R

(b) a > 1(a) a < 1

Figure 16.8 Stop-and-Wait Link Utilization (transmission time = 1; propagation time = a)2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 22

Page 23: We were doing very well, up to the kind of sum when a bath

Sliding Windows based• a = propagationtime

• w = window size

• Compare withBandwitdh‐DelayProduct

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 23

Page 24: We were doing very well, up to the kind of sum when a bath

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 24

Page 25: We were doing very well, up to the kind of sum when a bath

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 25

Page 26: We were doing very well, up to the kind of sum when a bath

1

Data1Data

Header

(a) 1-packet message (b) 2-packet message (c) 5-packet message (d) 10-packet message

Data

Data

Data2

Data1

Data2

Data1

Data2

1

2

3

4

5

6

7

8

9

10

1

2

3

4

5

6

7

8

9

10

1

2

3

4

5

6

7

8

9

10

2

3

4

5

1

2

3

4

5

1

2

3

4

5

Figure 9.13 Effect of Packet Size on Transmission Time

X a b Y

X a b Y

X a b Y

X a b Y

Packet Size vs Transmission Time

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 26

Page 27: We were doing very well, up to the kind of sum when a bath

1.0

0.8

0.6

0.4

0.2

0.0

Util

izat

ion

0 .1 1 1 0 1 0 0 1000a

W = 7 W = 1

W = 127

Figure 16.10 Sliding-Window Utilization as a function of a2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 27

W=1 Stop-&-Wait

Page 28: We were doing very well, up to the kind of sum when a bath

1.0

0.8

0.6

0.4

0.2

0.0

Util

izat

ion

0.1 1 10 100 1000a

Stop-and-wait

W =127 Go-back-N

W =7 Go-back-N

Figure 16.11 ARQ Utilization as a Function of a (P = 10–3)

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 28P = Propability of frame error

Page 29: We were doing very well, up to the kind of sum when a bath

Nor

mal

ized

Thr

ough

put

Load

Average delayfor packets thatare delivered

Average delayfor all packets

Del

ay

Load

Figure 20.4 The Effects of Congestion

No congestion Severe congestionModeratecongestion

A

B

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 31

Delay and throughput:Finite buffersNo congestioncontrol

Page 30: We were doing very well, up to the kind of sum when a bath

Packet loss• Due to

– Bit error in packet• Discard erronous packet• Link or Physical Layer?

– Queue overflow• Discard packets• Node problems

• In real time multimedia late packets consideredlost

• Packet loss ratio (%)• Note TCP’s sensitivity to packet loss

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 33

Page 31: We were doing very well, up to the kind of sum when a bath

Congestion Control inPacket‐Switching Networks

Send control packet to some or all source nodes• Requires additional traffic during congestion

Send control packet to some or all source nodes• Requires additional traffic during congestion

Rely on routing information• May react too quickly

Rely on routing information• May react too quickly

End to end probe packets• Adds to overhead

End to end probe packets• Adds to overhead

Add congestion information to          packets in transit• Either backwards or forwards

Add congestion information to          packets in transit• Either backwards or forwards

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 34

Page 32: We were doing very well, up to the kind of sum when a bath

Explicit Congestion Signaling

Backward Congestion avoidance notification in opposite direction to packet required

Forward Congestion avoidance notification in same direction as packet required

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 36

Page 33: We were doing very well, up to the kind of sum when a bath

Congestion control

• Avoiding and eliminating congestion– Open‐loop = proactive– Closed‐loop = reactive

2015‐12‐07 37ETSF05/ETSF10 ‐ Internet Protocols

Page 34: We were doing very well, up to the kind of sum when a bath

Closed‐loop congestion control (1)

• Backpressure

2015‐12‐07 38ETSF05/ETSF10 ‐ Internet Protocols

Page 35: We were doing very well, up to the kind of sum when a bath

Closed‐loop congestion control (2)

• Choke packet

2015‐12‐07 40ETSF05/ETSF10 ‐ Internet Protocols

Page 36: We were doing very well, up to the kind of sum when a bath

Implicit Congestion Signaling

With network congestion: Transmission delay increases Packets may be discarded

Source can detect congestion and reduce flow Responsibility of end systems Effective on connectionless (datagram) networksAlso used in connection‐oriented networks

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 42

Page 37: We were doing very well, up to the kind of sum when a bath

Explicit Signaling Categories

Binary

A bit set in a packet indicates congestion

Credit based

Indicates how many packets source may sendCommon for end‐to‐end flow control

Rate based

Supply explicit data rate limitNodes along path may request rate reduction

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 43

Page 38: We were doing very well, up to the kind of sum when a bath

How to improve QoS

• Admission control• Resource reservation• Scheduling• Traffic shaping

• Routing?

2015‐12‐07 44ETSF05/ETSF10 ‐ Internet Protocols

Page 39: We were doing very well, up to the kind of sum when a bath

Where to improve QoS?

• Admission control– INTSERV, DIFFSERV

• Resource reservation– RSVP

• Scheduling• Traffic shaping

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 45

ANYWHEREYOUFINDQUEUES!

Page 40: We were doing very well, up to the kind of sum when a bath

Scheduling: FIFO queuing

2015‐12‐07 48ETSF05/ETSF10 ‐ Internet Protocols

Page 41: We were doing very well, up to the kind of sum when a bath

Scheduling: Priority queuing

2015‐12‐07 49ETSF05/ETSF10 ‐ Internet Protocols

Page 42: We were doing very well, up to the kind of sum when a bath

Scheduling: Weighted fair queuing

2015‐12‐07 50ETSF05/ETSF10 ‐ Internet Protocols

Page 43: We were doing very well, up to the kind of sum when a bath

Traffic Shaping/Traffic Policing• Two important tools in network

management:– Traffic shaping

• Concerned with traffic leaving the switch• Reduces packet clumping• Produces an output packet stream that is less burst and with a more regular flow of packets

– Traffic policing• Concerned with traffic entering the switch• Packets that don’t conform may be treated in one of the following ways:– Give the packet lower priority compared to packets in other output queues

– Label the packet as nonconforming by setting the appropriate bits in a header

– Discard the packet

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 51

Page 44: We were doing very well, up to the kind of sum when a bath

Traffic ManagementFairness• Provide equal treatment of various flows

Quality of service•Different treatment for different connections

Reservations• Traffic contract between user and network• Excess traffic discarded or handled on a best‐effort basis

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 52

Page 45: We were doing very well, up to the kind of sum when a bath

Support from routing protocols?

Yes!• Optimal path

– Single metric– Multiple metrics?

• Multiple Equal Cost Paths– Load sharing– Load balancing

• QoS routing– Cross‐layer approaches– OSPF extensions (RFC2676)

Well, sort of!• Applies to all traffic

– No differentiation between flow types

• What about inter‐domain?– No control over network 

resources• More sophisticated 

mechanisms needed– Multiprotocol Label Switching 

(MPLS)– Resource Reservation

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 53

Page 46: We were doing very well, up to the kind of sum when a bath

Layer3 congestion avoidance

• Congestion = data load > network capacity– Arrival rate > processing rate– Processing rate > departure rate

• A simple method– Random early discard (RED)– UDP?

2015‐12‐07 54ETSF05/ETSF10 ‐ Internet Protocols

APP

TCP

IP

Page 47: We were doing very well, up to the kind of sum when a bath

Traffic descriptors

2015‐12‐07 55ETSF05/ETSF10 ‐ Internet Protocols

Page 48: We were doing very well, up to the kind of sum when a bath

Traffic profiles

2015‐12‐07 56ETSF05/ETSF10 ‐ Internet Protocols

Page 49: We were doing very well, up to the kind of sum when a bath

Traffic shaping: Two approaches

Leaky bucket Token bucket

2015‐12‐07 57

Input flow

Output flow after LB

Input flow

Output flow after TB

ETSF05/ETSF10 ‐ Internet Protocols

Page 50: We were doing very well, up to the kind of sum when a bath

Traffic shaping: Leaky bucket

2015‐12‐07 58ETSF05/ETSF10 ‐ Internet Protocols

See also Figure 20.7 

Page 51: We were doing very well, up to the kind of sum when a bath

Token Bucket• Widely used traffic management tool• Advantages:

–Many traffic sources can be defined easily and accurately

– Provides a concise description of the load to be imposed by a flow, enabling the service to determine easily the resource requirement

– Provides the input parameters to a policing function

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 60

Page 52: We were doing very well, up to the kind of sum when a bath

Traffic shaping: Token bucket

2015‐12‐07 62ETSF05/ETSF10 ‐ Internet Protocols

See also Figure 20.6 

Page 53: We were doing very well, up to the kind of sum when a bath

Bonus: QoE, Quality of Experience

• The user’s subjective perception of the presentation of the content

• Mean Opinion Score• Research for to find objective measures

– Full reference– No reference– Hybrid

• What QoS give what QoE

2015‐12‐07 ETSF05/ETSF10 ‐ Internet Protocols 63