a network processor based internet protocol router … · a network processor based internet...

29
A Network Processor based Internet Protocol Router for a Third Generation Mobile System Lasse Kantola Nokia Networks Supervisor: Professor Patrick ¨ Osterg˚ ard Instructor: Tero Tiittanen, M.Sc. 1

Upload: hahuong

Post on 25-Aug-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

A Network Processor based Internet Protocol

Router for a Third Generation Mobile System

Lasse Kantola

Nokia Networks

Supervisor: Professor Patrick̈Osterg̊ard

Instructor: Tero Tiittanen, M.Sc.

1

Page 2: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Contents

• Background

• Problem description

• Methods

• Own contribution

• Results

– Internet Protocol

– 3GPP

– Network Processors

– Implementation of an Example Router

• Conclusion

2

Page 3: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Background (1/2)

• IP in user terminals

• IP in transport networks as a data and signal bearer

IP

NetworkRadio AccessNetwork

SubsystemIP Multimedia

Circuit switchedNetworks (PSTN)

InternetWWW

IP

IP

IPIP

Core

3

Page 4: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Background (2/2)

• Data rates and volumes are growing

• Various quality, capacity and speed requirements

• More intelligent and faster routers are required

• SW based solution: Flexible, Poor performance

• ASIC based solution: Expensive, Inflexible

• Network processor: Programmable, Optimised for packet processing

4

Page 5: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Problem Description

Study the usage and the feasibility of using a network processor based IP

routing device in a Third Generation Partnership Project (3GPP) compliant

network.

Scope

• 3GPP transport network layer in UTRAN and CS- and PS-core network

• IP routing. (No higher level processing)

5

Page 6: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Methods

• Studying standards and requirements:

– Internet Protocol: RFCs from IETF

– 3GPP specifications and reports

• Studying network processor theory and

architectures

• Implementing an example IP router using

a network processor simulator

3GPPNP?

IETF RFCs

Network ProcessorTheory, Architectures

ExampleRouter Specifications

6

Page 7: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Own contribution

• Literature study: IETF, 3GPP, Network processor literature and white

papers. (Biggest part)

• Example router implementation: Specification, Design,

Implementation, Simulation. (Based heavily on existing code from the

reference material)

7

Page 8: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Internet Protocol (1/4)

Link layer

Internet layer IP, ICMP, IGMP, IPv6

Application layer Telnet, FTP, SMTP, ...

TCP, UDP, SCTPTransport layer

address resolution, IP encapsulation

Study focus was on internet and link layers.

8

Page 9: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Internet Protocol (2/4)

Following topics were studied:

• IPv4, ICMP, IPv6, (nomulticast)

• IP over ATM, Ethernet, ARP

• UDP, TCP

• Quality of Service: Diffserv, Intserv

• briefly mentioned SCTP, IPSec, PPP

9

Page 10: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Internet Protocol (3/4)

An important input was the forwarding algorithm from RFC1812:

1. Receive a packet from the link layer.

2. Validate the IP header.

3. Process IP options.

4. Decide the next hop IP addresss based on the destination address.

5. Force forwarding constraints.

6. Decrease TTL.

7. Fragment packet if necessary.

8. Determine link layer address based on next hop IP.

9. Encapsulate and send to link layer.

10

Page 11: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Internet Protocol (4/4)

Packet processing functions that are required from a router are:

• Address lookup

• Forwarding

• Error detection

• Fragmentation and reassembly

• Protocol demultiplexing, classification

• Queueing and scheduling

• Traffic measurement, policing and shaping

11

Page 12: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

3GPP (1/3)

circuit switched core

MGW

MSC

MGW

MSC

SGSN GGSN

BSC

BTS

BTS

NodeB

NodeB

RNC

RNC

Radio Access Network (RAN) Core Network (CN)

BSS

RNSpacket switched core

Reviewed IP bearers in RNC, MSC, MGW and GSN.

12

Page 13: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

3GPP (2/3)

• IP data and signal bearers:

– Packet switched data: IP/UDP/GTP

– Circuit switched data: IP/UDP/RTP

– Signalling: IP/SCTP/M3UA

– NodeB data transport: IP/UDP

• Studied RTP, GTP and SS7 protocols

• QoS: configurable Diffserv codepoint marking required

• Interworking: ATM – IP, IPv4 – IPv6, signalling gateways

13

Page 14: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

3GPP (3/3)

3GPP standards do not introduce any new requirements. Some IETF

requirements are lessened and some others mandated.

Desirable features are support for various link layer techniques: (ATM,

Ethernet, PPP) and Diffserv.

14

Page 15: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Network processors

Network processors are a relatively new technology and there are various

architectures and companies that offer different solutions.

Network Processor Forum (NPF) develops standards and benchmarks.

Evaluation should considerfunctionality, performanceandcost. These

three are often mutually exclusive.

Network processor are usually located in a line card between a switching

fabric and a media interface.

The network processors use parallelism, pipelines, optimised instruction set

and specialiced coprocessors to achieve high speed.

15

Page 16: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

InterfaceXScaleCore

MediaandSwitchFabricInterfaceMicroengines

(16 in IXP2850)

SRAMInterface

Hash unitTimersInterfaceHardwareetc.

DRAMInterface

2 Crypto engines(only in IXP2850)

PCI

Example of an parallel architecture: Intel IXP2850 network processor.

16

Page 17: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Scheduler Buffer

Interface

PatternProcessingEngine Traffic Shaper

Reorder Buffer and

OutputInterface

StreamEditor

PacketAssembler

onboardmemory

StateEngine

PCI busInterface

Classifier Buffer

Input

Example of an pipelined architecture: Agere APP550 network processor.

17

Page 18: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

APP550 program architecture

+ DID(FPL)Pass2(FPL)

BM−script(C−NP)

TS−script(C−NP)

Scheduler BufferClassifier Buffer

SED−script(C−NP)

Input Interface

Output interface

ASI−script(C−NP)

Packet

Drop

Enqueue

Parameters64B blocks

Delay / StopProcessingQueue

Packets in 64B blocks

Flow ID

Policing result

PatternProcessingEngine

TrafficManager

StreamEditor

StateEngine

+ Input port + TagPass1

• Classifier: two passes, classification language FPL.

• VLIW engines: statistics, buffer management, traffic shaping, packet

modification, C-NP simplified C language.

• Pipelined nature→ execution time limited.

18

Page 19: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Example router – Requirements

• Uses Agere APP550

• 2 ATM interfaces

• 2 Ethernet interfaces

• Diffserv routing. (nomarking)

IP version 4 + DiffServ Network

EthernetGigabit

GigabitEthernetATM

ATM

ExampleRouter

19

Page 20: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Example router – Design

Not all functionality is possible to implement in the network processor.

Slow path processing in the controlling host processor is needed.

1. Requirements are analysed to derive the external packet formats and

functionality in the logical level.

2. Scheduling hierarchy is designed and the interface between the

classifier and traffic manager is decided.

3. Policing, buffer management and traffic shaping uses algorithms from

the reference: dual token bucket, weighted random early detection

(WRED), modified weighted round robin (WRR).

4. Classifier is programmed in two passes.

20

Page 21: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Example router – Testing

Testing is done with the simulator. The simulation runs can be automated,

which helps in repeating tests and performing long test runs.

• Verifying specific functionality with individual packets.

• Testing QoS differentiation and performance with traffic flows.

21

Page 22: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Conclusion

The network processors look like a practical base for an IP router. However,

new technology and an abundance of options require careful evaluation on a

case-by-case basis.

Future work

• Requirements for other parts of 3GPP system (e.g. IMS).

• Host software in the example implementation.

• Processing for higher layers than IP. (This is challenging for the

network processors, because in addition to a fast processing also a

capability to keep packets a long time is needed.)

22

Page 23: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Various NP architectures

23

Page 24: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Memory Access Unit

Packet Transform Engine

InternalMemorynPcores

Pack

et I

/O to

TM

/ Sw

itchi

ng F

abri

c

Pack

et I

/O to

Fram

er

Metering Engine Policy Engine

External SearchEngine Interface

External MemoryInterface

A simplified structure of a AMCC nP7510 network processor. (TM=Traffic

Manager)

24

Page 25: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Connections to physical interfaces

CP−12 CP−13 CP−14 CP−15CP−0 CP−1 CP−2 CP−3

ExecutiveProcessor

QueueManagementUnit

TableLookupUnit

BufferManagementUnit

FabricProcessor

External Host CPUPCI

Queue Storage orExternalTraffic Manager

Table Storage orExternalClassifier

Multiple Internal Buses

Switching FabricFrame storage

A block diagram of a C-Port C-5e architecture.

25

Page 26: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

EgressSwitchInterface

Protocol Processors(16 picoengines)

EmbeddedPowerPC

Embedded Processor Complex

IngressDataFlow

EgressDataFlow

TrafficManagerandScheduler

DataStore

MultiplexedIngress MACs

MultiplexedEgress MACs

IngessSwitchInterface

Architecture of a Hifn network processor chip.

26

Page 27: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

TOPparse TOPsearch TOPresolve TOPmodify

memorymemory memory memory

Architecture of a EZchip NP-1c network processor.

27

Page 28: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Interfaces to Memory and Coprocessors

HashEngine

MeteringEngine

CounterEngine

TCAMEngine

long pipeline of 200 processors

Channel multiplexer

Architecture of the Xelerated X10q network processor.

28

Page 29: A Network Processor based Internet Protocol Router … · A Network Processor based Internet Protocol ... BTS BTS NodeB NodeB RNC RNC ... A Network Processor based Internet Protocol

Cisco PXF network processor with 32 packet engines partitioned to four

pipelines.

29