Principles in Communication Networks - PowerPoint PPT Presentation

About This Presentation
Title:

Principles in Communication Networks

Description:

Needs arbiter. Problem: head of line blocking ... inputs tell arbiter which outputs they are interested in. output selects one of the inputs ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 47
Provided by: skes5
Category:

less

Transcript and Presenter's Notes

Title: Principles in Communication Networks


1
Principles in Communication Networks
  • Instractor Dr. Yuval Shavitt,
  • Office hours room 303 s/w eng. bldg., Mon
    1200-1300
  • Requiresments (?????? ???)
  • Introduction to computer communications (TAU,
    Technion, BGU)
  • Expectations from students
  • Queueing theory basics
  • Graph theory
  • Good C/C programming skills

2
Course Syllabus (tentative)
  • Introduction to switching, router types
  • Use of Gen. Func. HOL analysis, TCP analysis.
  • Matching algorithms and their analysis
  • CLOS networks non-blocking theorem, routing
    algorithms and their analysis
  • Scheduling algorithms WFQ, W2FQ, priorities
  • Distributed algorithms
  • Event simulators introduction
  • Programming tasks
  • Single queue
  • HOL blocking (cells)
  • iSLIP algorithm (cells packets)
  • .

3
Source books
  • D. Bertsekas and R. Gallager. Data Networks, 2nd
    Ed., 1992. P-H.
  • S. Keshav. An Engineering Approach to Computer
    Networking. 1997. E-W
  • J.F. Kurose and K.W. Ross. Computer Networking.
    2000, E-W.
  • L. Kleinrock. Queueing Systems, Vol. 1. 1975.
    Wiley
  • J.Y.Hui, Switching and Traffic Theory for
    Integrated Broadband Networks, Kluwer 1990
  • A.M. Law and W.D. Kelton. Simulation Modeling
    Analysis, 2nd Ed., 1991,M-H

4
Switching
  • S. Keshav, An Engineering Approach to Computer
    Networks, A-W, 1997
  • M. Karol, M. Hluchyj, and S. Morgan, "Input
    Versus Output Queueing on a Space-Division Packet
    Switch," IEEE Trans. on Communications,
    35(12)1347-1356, Dec. 1987.

5
What is it all about?
  • How do we move traffic from one part of the
    network to another?
  • Connect end-systems to switches, and switches to
    each other
  • Data arriving to an input port of a switch have
    to be moved to one or more of the output ports

6
Outline
  • switching - general
  • Packet switching
  • General
  • Type of switches
  • Switch generations
  • Buffer placement
  • Port mappers
  • Buffer Placement
  • Dropping policies

7
Types of switching elements
  • Telephone switches
  • switch samples
  • Datagram routers
  • switch datagrams
  • ATM switches
  • switch ATM cells

8
Classification
  • Packet vs. circuit switches
  • packets have headers and samples dont
  • Connectionless vs. connection oriented
  • connection oriented switches need a call setup
  • setup is handled in control plane by switch
    controller
  • connectionless switches deal with self-contained
    datagrams

9
Other switching element functions
  • Participate in routing algorithms
  • to build routing tables
  • Resolve contention for output trunks
  • scheduling
  • Admission control
  • to guarantee resources to certain streams

10
Requirements
  • Capacity of switch is the maximum rate at which
    it can move information, assuming all data paths
    are simultaneously active
  • Primary goal maximize capacity
  • subject to cost and reliability constraints
  • Circuit switch must reject call if cant find a
    path for samples from input to output
  • goal minimize call blocking
  • Packet switch must reject a packet if it cant
    find a buffer to store it awaiting access to
    output trunk
  • goal minimize packet loss
  • Dont reorder packets

11
Outline
  • switching - general
  • Packet switching
  • General
  • Type of switches
  • Switch generations
  • Buffer placement
  • Port mappers
  • Buffer Placement
  • Dropping policies

12
Packet switching
  • In a circuit switch, path of a sample is
    determined at time of connection establishment
  • No need for a sample header--position in frame is
    enough
  • In a packet switch, packets carry a destination
    field
  • Need to look up destination port on-the-fly
  • Datagram
  • lookup based on entire destination address
  • Cell
  • lookup based on VCI
  • Other than that, very similar

13
Blocking in packet switches
  • Can have both internal and output blocking
  • Internal
  • no path to output
  • Output
  • trunk unavailable
  • Unlike a circuit switch, cannot predict if
    packets will block (why?)
  • If packet is blocked, must either buffer or drop
    it

14
Dealing with blocking
  • Overprovisioning
  • internal links much faster than inputs (speedup)
  • Buffers
  • at input or output (or both)
  • Backpressure
  • if switch fabric doesnt have buffers, prevent
    packet from entering until path is available
  • Parallel switch fabrics
  • increases effective switching capacity

15
Repeaters, bridges, routers, and gateways
  • Repeaters at physical level
  • Bridges at datalink level (based on MAC
    addresses) (L2)
  • discover attached stations by listening
  • Routers at network level (L3)
  • participate in routing protocols
  • Application level gateways at application level
    (L7)
  • treat entire network as a single hop
  • e.g mail gateways and transcoders
  • Gain functionality at the expense of forwarding
    speed
  • for best performance, push functionality as low
    as possible

16
Outline
  • switching - general
  • Packet switching
  • General
  • Type of switches
  • Switch generations
  • Buffer placement
  • Port mappers
  • Buffer Placement
  • Dropping policies

17
Three generations of packet switches
  • Different trade-offs between cost and performance
  • Represent evolution in switching capacity, rather
    than in technology
  • With same technology, a later generation switch
    achieves greater capacity, but at greater cost
  • All three generations are represented in current
    products

18
First generation switch
computer
CPU
queues in memory
linecard
  • Most Ethernet switches and cheap packet routers
  • S/w router, e.g., Linux/FreeBSD boxes
  • Bottleneck can be CPU, host-adaptor or I/O bus,
    depending

19
Second generation switch
computer
bus
front end processors or line cards
  • Port mapping intelligence in line cards
  • ATM switch guarantees hit in lookup cache

20
Third generation switches
  • Bottleneck in second generation switch is the bus
    (or ring)
  • Third generation switch provides parallel paths
    (fabric)

OLC
NxN packet switch fabric
OUT
OLC
IN
OLC
21
Third generation (contd.)
  • Features
  • self-routing fabric
  • output buffer is a point of contention
  • unless we arbitrate access to fabric
  • potential for unlimited scaling, as long as we
    can resolve contention for output buffer

22
Outline
  • switching - general
  • Packet switching
  • General
  • Type of switches
  • Switch generations
  • Port mappers
  • Buffer Placement
  • Dropping policies

23
Port mappers
  • Look up output port based on destination address
  • Easy for VCI just use a table
  • Harder for datagrams
  • need to find longest prefix match
  • e.g. packet with address 128.32.1.20
  • entries (128.32., 3), (128.32.1., 4),
    (128.32.1.20, 2)
  • A standard solution trie

24
Tries
  • Some ways to improve performance
  • cache recently used addresses in a CAM
  • move common entries up to a higher level (match
    longer strings)

root
10
(10.)
32
128
(32.)
54
32
4
1
(128.54.4.)
25
(128.32.25.)
120
100
(128.32.1.120)
(128.32.1.100)
25
Outline
  • switching - general
  • Packet switching
  • General
  • Type of switches
  • Switch generations
  • Port mappers
  • Buffer Placement
  • Dropping policies

26
Buffering
  • All packet switches need buffers to match input
    rate to service rate
  • or cause heavy packet loses
  • Where should we place buffers?
  • input
  • output
  • in the fabric

27
Input buffering (input queueing)
  • No speedup in buffers or trunks (unlike output
    queued switch)
  • Needs arbiter
  • Problem head of line blocking
  • with randomly distributed packets, utilization at
    most 58.6

NxN switch
outputs
inputs
arbitrator
28
head of line blocking simple upper bound
  • Assume nxn switch with uniform distribution of
    destination
  • Probability for an output port not to be selected
    is
  • ? Capacity is bounded by 1-1/e 0.63
  • For 2x2 switch the max capacity is 0.75 (tight
    bound)

29
head of line blocking alternative calculation
  • The success probability of an input port
    selection

30
Dealing with HOL blocking
  • Per-output queues at inputs (VOQ)
  • Arbiter must choose one of the input ports for
    each output port
  • How to select?
  • Parallel Iterated Matching
  • inputs tell arbiter which outputs they are
    interested in
  • output selects one of the inputs
  • some inputs may get more than one grant, others
    may get none
  • if gt1 grant, input picks one at random, and tells
    output
  • losing inputs and outputs try again
  • Used in DEC Autonet 2 switch, McKeowns iSLIP,
    and more.

31
Output queueing
NxN switch fabric
inputs
outputs
  • Dont suffer from head-of-line blocking
  • But output buffers need to run much faster than
    trunk speed
  • Can reduce some of the cost by using the knockout
    principle
  • unlikely that all N inputs will have packets for
    the same output
  • drop extra packets, fairly distributing losses
    among inputs

32
Buffered fabric
  • Buffers in each switch element
  • Pros
  • Speed up is only as much as fan-in
  • Hardware backpressure reduces buffer requirements
  • Cons
  • costly (unless using single-chip switches)
  • scheduling is hard

33
Buffered crossbar
  • What happens if packets at two inputs both want
    to go to same output?
  • Can defer one at an input buffer
  • Or, buffer crosspoints

34
Hybrid solutions
  • Buffers at more than one point
  • Becomes hard to analyze and manage
  • But common in practice

35
Multicasting
  • Useful to do this in hardware
  • Assume portmapper knows list of outputs
  • Incoming packet must be copied to these output
    ports
  • Two subproblems
  • generating and distributing copies
  • VCI translation for the copies

36
Generating and distributing copies
  • Either implicit or explicit
  • Implicit
  • suitable for bus-based, ring-based, crossbar, or
    broadcast switches
  • multiple outputs enabled after placing packet on
    shared bus
  • used in Paris and Datapath switches
  • Explicit
  • need to copy a packet at switch elements
  • use a copy network
  • place of copies in tag
  • element copies to both outputs and decrements
    count on one of them
  • collect copies at outputs
  • Both schemes increase blocking probability

37
Outline
  • switching - general
  • Packet switching
  • General
  • Type of switches
  • Switch generations
  • Buffer placement
  • Port mappers
  • Buffer Placement
  • Dropping policies

38
Packet dropping
  • Packets that cannot be served immediately are
    buffered
  • Full buffers gt packet drop strategy
  • Packet losses happen almost always from
    best-effort connections (why?)
  • Shouldnt drop packets unless imperative?
  • packet drop wastes resources (why?)

39
Classification of drop strategies
  • 1. Degree of aggregation
  • 2. Drop priorities
  • 3. Early or late
  • 4. Drop position

40
1. Degree of aggregation
  • Degree of discrimination in selecting a packet to
    drop
  • E.g. in vanilla FIFO, all packets are in the same
    class
  • Instead, can classify packets and drop packets
    selectively
  • The finer the classification the better the
    protection

41
2. Drop priorities
  • Drop lower-priority packets first
  • How to choose?
  • endpoint marks packets
  • regulator marks packets
  • congestion loss priority (CLP) bit in packet
    header

42
CLP bit pros and cons
  • Pros
  • if network has spare capacity, all traffic is
    carried
  • during congestion, load is automatically shed
  • Cons
  • separating priorities within a single connection
    is hard
  • what prevents all packets being marked as high
    priority?

43
3. Early vs. late drop
  • Early drop gt drop even if space is available
  • signals endpoints to reduce rate
  • cooperative sources get lower overall delays,
    uncooperative sources get severe packet loss
  • Early random drop
  • drop arriving packet with fixed drop probability
    if queue length exceeds threshold
  • intuition misbehaving sources more likely to
    send packets and see packet losses

44
3. Early vs. late drop RED
  • Random early detection (RED) makes three
    improvements
  • Metric is moving average of queue lengths
  • small bursts pass through unharmed
  • only affects sustained overloads
  • Packet drop probability is a function of mean
    queue length
  • prevents severe reaction to mild overload
  • Can mark packets instead of dropping them
  • allows sources to detect network state without
    losses
  • RED improves performance of a network of
    cooperating TCP sources
  • No bias against bursty sources
  • Controls queue length regardless of endpoint
    cooperation

45
4. Drop position
  • Can drop a packet from head, tail, or random
    position in the queue
  • Tail
  • easy
  • default approach
  • Head
  • harder
  • lets source detect loss earlier

46
4. Drop position (contd.)
  • Random
  • hardest
  • if no aggregation, hurts hogs most
  • unlikely to make it to real routers
Write a Comment
User Comments (0)
About PowerShow.com