1 15-441 computer networks switching professor hui zhang [email protected]

32
1 15-441 Computer Networks Switching Professor Hui Zhang [email protected]

Upload: albert-glenn

Post on 24-Dec-2015

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

1

15-441 Computer Networks

Switching

Professor Hui Zhang

[email protected]

Page 2: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

2 Hui Zhang

Structure of A Generic Communication Switch

Switches

circuit switch

Ethernet switch

ATM switch

IP router

Line Cards

Switch Fabric

Control Processor

Line Cards

Switch fabric

high capacity interconnect

Line card

address lookup in the data path (forwarding)

Control Processor

load the forwarding table (routing or signaling)

Page 3: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

3 Hui Zhang

Switches/Routers

Control plane: how forwarding tables are computed

– Router: routing protocols

– Ethernet switch: learning and spanning tree

Data plane: how each packet is processed? Header lookup and forward the packet to right output port

Manage buffer and bandwidth resource

Page 4: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

4 Hui Zhang

Addressing and Look-up

Flat address

Ethernet: 48 bit MAC address

ATM: 28 bit VPI/VCI

DS-0: timeslot location

Limited scalability

High speed lookup

Hierarchical address

IP <network>.<subnet>.<host>

Telephone: country.area.home

Scalable

Easy lookup if boundary is fixed

telephony

Difficult lookup if boundary is flexible

longest prefix match for IP

Page 5: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

5 Hui Zhang

Generic Architecture

Input and output interfaces are connected through an interconnect

A interconnect can be implemented by

Shared memory

– Low capacity routers (e.g., PC-based routers)

Shared bus

– Medium capacity routers

Point-to-point (switched) bus

– High capacity routers

input interface output interface

Inter-connect

Page 6: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

6 Hui Zhang

Shared Memory (1st Generation)

RouteTableCPU Buffer

Memory

LineInterface

MAC

LineInterface

MAC

LineInterface

MAC

Typically < 0.5Gbps aggregate capacityLimited by rate of shared memory

Shared Backplane

Line Interface

CPU

Memory

(* Slide by Nick McKeown)

Page 7: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

7 Hui Zhang

Shared Bus (2nd Generation)

RouteTableCPU

LineCard

BufferMemory

LineCard

MAC

BufferMemory

LineCard

MAC

BufferMemory

FwdingCache

FwdingCache

FwdingCache

MAC

BufferMemory

Typically < 5Gb/s aggregate capacity; Limited by shared bus

(* Slide by Nick McKeown)

Page 8: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

8 Hui Zhang

Point-to-Point Switch (3rd Generation)

LineCard

MAC

LocalBuffer

Memory

CPUCard

LineCard

MAC

LocalBuffer

Memory

Switched Backplane

Line Interface

CPUMemory Fwding

Table

RoutingTable

FwdingTable

Typically < 50Gbps aggregate capacity (*Slide by Nick McKeown)

Page 9: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

9 Hui Zhang

What a Router Looks Like

Cisco GSR 12416 Juniper M160

6ft

19”

2ft

Capacity: 160Gb/sPower: 4.2kW

3ft

2.5ft

19”

Capacity: 80Gb/sPower: 2.6kW

Slide by Nick McKeown

Page 10: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

10 Hui Zhang

Interconnect

Point-to-point switch allows to simultaneously transfer a packet between any two disjoint pairs of input-output interfaces

Goal: come-up with a schedule that Provide Quality of Service Maximize router throughput

Challenges: Address head-of-line blocking at inputs Resolve input/output speedups contention Avoid packet dropping at output if possible

Note: packets are fragmented in fix sized cells at inputs and reassembled at outputs

Page 11: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

11 Hui Zhang

Output Queued Routers

Only output interfaces store packets

Advantages Easy to design algorithms:

only one congestion point

Disadvantages Requires an output speedup

of N, where N is the number of interfaces not feasible

input interface output interface

Backplane

CRO

Page 12: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

12 Hui Zhang

Input Queued Routers

Only input interfaces store packets Advantages

Easy to built

– Store packets at inputs if contention at outputs

Relatively easy to design algorithms

– Only one congestion point, but not output…

– need to implement backpressure

Disadvantages Hard to achieve utilization 1 (due to

output contention, head-of-line blocking)

– However, theoretical and simulation results show that for realistic traffic an input/output speedup of 2 is enough to achieve utilizations close to 1

input interface output interface

Backplane

CRO

Page 13: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

13 Hui Zhang

Head-of-line Blocking

The cell at the head of an input queue cannot be transferred, thus blocking the following cells

Cannot betransferred because output buffer overflow

Cannot be transferred because is blocked by red cell

Output 1

Output 2

Output 3

Input 1

Input 2

Input 3

Page 14: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

14 Hui Zhang

0% 20% 40% 60% 80% 100%Load

Del

ayA Router with Input Queues

Head of Line Blocking

The best that any queueing system can

achieve.

2 2 58% Slide by Nick McKeown

Page 15: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

15 Hui Zhang

Solution to Avoid Head-of-line Blocking

Maintain at each input N virtual queues, i.e., one per output

Output 1

Output 2

Output 3

Input 1

Input 2

Input 3

Page 16: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

16 Hui Zhang

Combined Input-Output Queued (CIOQ) Routers

Both input and output interfaces store packets

Advantages Easy to built

– Utilization 1 can be achieved with limited input/output speedup (<= 2)

Disadvantages Harder to design algorithms

– Two congestion points

– Need to design flow control

input interface output interface

Backplane

CRO

Page 17: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

17 Hui Zhang

Input Interface

Packet forwarding: decide to which output interface to forward each packet based on the information in packet header Examine packet header

Lookup in forwarding table

Update packet header input interface output interface

Inter-connect

Page 18: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

18 Hui Zhang

Lookup

Identify the output interface to forward an incoming packet based on packet’s destination address

Routing tables summarize information by maintaining a mapping between IP address prefixes and output interfaces How are routing tables computed?

Route lookup find the longest prefix in the table that matches the packet destination address

Page 19: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

19 Hui Zhang

IP Routing

Packet with destination address 12.82.100.101 is sent to interface 2, as 12.82.100.xxx is the longest prefix matching packet’s destination address

……

312.82.xxx.xxx

1128.16.120.xxx

1

2128.16.120.111

12.82.100.101

12.82.100.xxx 2

Page 20: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

20 Hui Zhang

Patricia Tries

Use binary tree paths to encode prefixes

Advantage: simple to implement

Disadvantage: one lookup may take O(m), where m is number of bits (32 in the case of IPv4)

001xx 2 0100x 310xxx 101100 5

0 1

0

1 0

1

1

0

0

0

0

2

3

5

1

Page 21: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

21 Hui Zhang

Addressing and Look-up

Flat address

Ethernet: 48 bit MAC address

ATM: 28 bit VPI/VCI

DS-0: timeslot location

Limited scalability

High speed lookup

Hierarchical address

IP <network>.<subnet>.<host>

Telephone: country.area.home

Scalable

Easy lookup if boundary is fixed

telephony

Difficult lookup if boundary is flexible

longest prefix match for IP

Page 22: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

22 Hui Zhang

Output Functions

Buffer management: decide when and which packet to drop

Scheduler: decide when and which packet to transmit

1

2

SchedulerBuffer

Page 23: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

23 Hui Zhang

Example: FIFO router

Most of today’s routers

Drop-tail buffer management: when buffer is full drop the incoming packet

First-In-First-Out (FIFO) Scheduling: schedule packets in the same order they arrive

Page 24: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

24 Hui Zhang

Output Functions (cont’d)

Packet classification: map each packet to a predefined flow/connection (for datagram forwarding) Use to implement more sophisticated services (e.g., QoS)

Flow: a subset of packets between any two endpoints in the network

1

2

Scheduler

flow 1

flow 2

flow n

Classifier

Buffer management

Page 25: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

25 Hui Zhang

Packet Classification

Classify an IP packet based on a number of fields in the packet header, e.g., source/destination IP address (32 bits)

source/destination port number (16 bits)

Type of service (TOS) byte (8 bits)

Type of protocol (8 bits)

In general fields are specified by range

1

2

Scheduler

flow 1

flow 2

flow n

Classifier

Buffer management

Page 26: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

26 Hui Zhang

Example of Classification Rules

Access-control in firewalls Deny all e-mail traffic from ISP-X to Y

Policy-based routing Route IP telephony traffic from X to Y via ATM

Differentiate quality of service Ensure that no more than 50 Mbps are injected from ISP-X

Page 27: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

27 Hui Zhang

Scheduler

One FIFO queue per flow

Scheduler decides when and from which queue to send a packet

Goals of a scheduler: Quality of service

Protection (stop a flow from hogging the entire output link)

Fast!

1

2

Scheduler

flow 1

flow 2

flow n

Classifier

Buffer management

Page 28: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

28 Hui Zhang

PriorityScheduler

Example: Priority Scheduler

Priority scheduler: packets in the highest priority queue are always served before the packets in lower priority queues

High priority

Medium priority

Low priority

Page 29: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

29 Hui Zhang

Example: Round Robin Scheduler

Round robin: packets are served in a round-robin fashion

PriorityScheduler

High priority

Medium priority

Low priority

Page 30: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

30 Hui Zhang

Another Forwarding Technique: Source Routing

Each packet specifies the sequence of routers, or alternatively the sequence of output ports, from source to destination

1234

1234

1234

1234

1234

1234

4

source

3 4

4 3 44 3 4

Page 31: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

31 Hui Zhang

Source Routing (cont’d)

Gives the source control of the path

Not scalable Packet overhead proportional to the number of routers

Typically, require variable header length which is harder to implement

Hard for source to have complete information

Loose source routing sender specifies only a subset of routers along the path

Page 32: 1 15-441 Computer Networks Switching Professor Hui Zhang hzhang@cs.cmu.edu

32 Hui Zhang

Concepts

Control plane vs. data plane

Various switching architectures

Buffering Input vs. Output vs. Combined Input/Output

Head of line blocking

Scheduling

Header lookup