Network processor and applications
This presentation is the property of its rightful owner.
Sponsored Links
1 / 32

Network Processor and Applications PowerPoint PPT Presentation


  • 91 Views
  • Uploaded on
  • Presentation posted in: General

Network Processor and Applications. Prof. Laxmi Bhuyan [email protected] Network Architecture and Applications. Introduction to networking Network applications IPv4 routing, classification etc. (Traditioonal) URL-based switching,transcoding, etc. (New) Network Processor Architectures

Download Presentation

Network Processor and Applications

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Network processor and applications

Network Processor and Applications

Prof. Laxmi Bhuyan [email protected]

Network Processor & Its Applications


Network architecture and applications

Network Architecture and Applications

  • Introduction to networking

  • Network applications

    • IPv4 routing, classification etc. (Traditioonal)

    • URL-based switching,transcoding, etc. (New)

  • Network Processor Architectures

    • Intel IXP

Network Processor & Its Applications


Why network processors

Why Network Processors

  • Current Situation

    • Data rates are increasing

    • Protocols are becoming more dynamic and sophisticated

    • Protocols are being introduced more rapidly

  • Processing Elements

    • GP(General-purpose Processor)

      • Programmable, Not optimized for networking applications

    • ASIC(Application Specific Integrated Circuit)

      • high processing capacity, long time to develop, Lack the flexibility

    • NP(Network Processor)

      • achieve high processing performance

      • programming flexibility

      • Cheaper than GP

Network Processor & Its Applications


What the internet needs

What the Internet Needs?

ASIC

(large,

expensive to develop,

not flexible)

Increasing Huge

Amount of Packets

&

Routing,

Packet Classification,

Encryption, QoS,

New Applications

and Protocols, etc…..

  • High processing power

  • Support wire speed

  • Programmable

  • Scalable

  • Specially for network applications

General Purpose RISC

(not capable enough)

Network Processor & Its Applications


Osi network architecture

B

Network

Network

A

DATA

7

Application

AH

DATA

Application

7

6

Pre.

Pre.

6

PH

DATA

5

Session

SH

DATA

Session

5

4

Transport

TH

DATA

Transport

4

3

Network

NH

DATA

Network

3

2

Data Link

DH

DATA

Data Link

2

1

Physical

PH

DATA

Physical

1

OSI Network Architecture

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

Network Processor & Its Applications


Tcp ip model

OSI

TCP/IP

7

Application

Application

6

Pre.

5

Session

4

Transport

TCP

3

Network

IP

2

Data Link

Host-to-Net

1

Physical

TCP/IP Model

  • ISO OSI (Open Systems Interconnection) not fully implemented

  • Presentation and Session layers not present in TCP/IP

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

Network Processor & Its Applications


Tcp ip packet

MAC

IP

TCP

APP. DATA

MAC

Source Port

Destination Port

Sequence Number

Acknowledgement Number

Header Length and Options

Window Size

Checksum

Urgent Pointer

Options (0 or more 32-bit words)

TCP/IP packet

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

Network Processor & Its Applications


Tcp ip packet1

MAC

IP

TCP

APP. DATA

MAC

Ver.

IHL

Service Type

Total Length

Identification

Options and Fragment Offset

Time to Live

Protocol

Header Checksum

Source Address

Destination Address

Options (0 or more 32-bit words)

TCP/IP packet

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

Network Processor & Its Applications


Tcp ip packet2

Preamble

D. Add.

S. Add.

Leng.

CRC

TCP/IP packet

MAC

IP

TCP

APP. DATA

MAC

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

Network Processor & Its Applications


Application categorization

Application Categorization

  • Control-Plane tasks

    • Less time-critical

    • Control and management of device operation

      • Table maintenance, port states, etc.

  • Data-Plane tasks

    • Operations occurring real-time on “packet path”

    • Core device operations

      • Receive, process and transmit packets

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

Network Processor & Its Applications


Processing tasks

Policy Applications

Network Management

Control

Plane

Signaling

Topology Management

Queuing / Scheduling

Data Transformation

Data

Plane

Classification

Data Parsing

Media Access Control

Physical Layer

Processing Tasks

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

Network Processor & Its Applications


Data plane tasks

Data Plane Tasks

  • Media Access Control

    • Low-level protocol implementation

      • Ethernet, SONET framing, ATM cell processing, etc.

  • Data Parsing

    • Parsing cell or packet headers for address or protocol information

  • Classification

    • Identify packet against a criteria (filtering / forwarding decision, QoS, accounting, etc.)

  • Data Transformation

    • Transformation of packet data between protocols

  • Traffic Management

    • Queuing, scheduling and policing packet data

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

Network Processor & Its Applications


Other network processor applications

Other Network Processor Applications

  • Routing table lookup

    • Determine the next hop for incoming packets

  • Packet Classification

    • classify packets using header fields against a set of rules

  • URL-based Switching

    • Distribute HTTP requests based on URLs.

  • Transcoding

    • Encryption/Decryption, intrusion detection, firewall, access control checking, denial-of-service

Network Processor & Its Applications


Ipv4 routing

IPv4 Routing

  • Routers determine next hop and forward packets

P

P

P

B

A

Router

C

Network Processor & Its Applications


Packet classification

Packet Classification

  • Routers are required to distinguish packets for

    • Flow identification

    • Fair sharing of bandwidth

    • QoS

    • Security

    • Accounting, billing

    • etc

  • Packets are classified by rules

    • Src IP, Dest IP, src port #, dest port # etc

  • Classification Algorithm Metrics

    • Search speed

    • Storage cost

    • Scalability

    • Updates

    • Etc.

Network Processor & Its Applications


Url based switching

URL-based switching

  • Increase efficiency

  • Tasks

    • Traverse the packet data (request) for each arriving packet and classify it:

      • Contains ‘.jpg’ -> to image server

      • Contains ‘cgi-bin/’ -> to application server

www.yahoo.com

Internet

Image Server

IP

TCP

APP. DATA

Application Server

Switch

GET /cgi-bin/form HTTP/1.1

Host: www.yahoo.com…

HTML Server

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

Network Processor & Its Applications


Transcoders

Corporate Network

Mpeg encoder

Video-on-demand server

Transcoder

Internet

Media Player

Transcoders

  • Two important requirements

    • If the receiver is not capable of interpreting the stored data (multimedia transcoders)

      • wireless receivers, hand-held devices, etc.

    • Compression for bandwidth and storage efficiency

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

Network Processor & Its Applications


Network processor and applications

Network Processor & Its Applications


The operating system hurdle

The Operating System Hurdle

Problems with Application level Processing

  • Vertical Processing in network – A change in paradigm!

  • Overhead to copy data between two connections

    • Data goes up through O/S interrupt and protocol stack

    • Data is copied from kernel space to user space and vice versa

  • Oh, the PCI Bottleneck!

  • It takes a 1 GHz CPU to handle a 1 Gb network. Now at 10Gb, but don’t have a 10 GHz CPU!

Application level Processing

Network Processor & Its Applications


Design options

Design Options

  • Option (a):Linux-based switch

    • Overhead of moving data across PCI bus

    • Interrupt or polling still needed

  • Option (b): Put a control processor (CP) in the interface to setup connections, and execute complicated applications. Data Procesors (DPs) process packets for forwarding, classification and simple processing

    • But, the CP may have its own protocol stack – Ex. embedded Linux!

  • Option (c): DPs handle connection setup, splicing & forwarding – But large Code Size is a huge problem due to limited instruction memory size of the DPs!

Network Processor & Its Applications


Typical np architecture

SDRAM

(Packet buffer)

SRAM

(Routing table)

Bus

Bus

Output ports

Input ports

multi-threaded processing elements

Co-processor

Network Processor

Typical NP Architecture

Network Processor & Its Applications


Organizing processor resources

Organizing Processor Resources

  • Design decisions:

    • High-level organization

    • ISA and micro architecture

    • Memory and I/O integration

  • Today’s commercial NPs:

    • Chip multiprocessors

    • Most are multithreaded

    • Exploit little ILP (Cisco does)

    • No cache

    • Micro-programmed

Network Processor & Its Applications


Example toaster system cisco 10000

Example Toaster System: Cisco 10000

  • Almost all data plane operations execute on the programmable XMC

  • Pipeline stages are assigned tasks – e.g. classification, routing, firewall, MPLS

    • Classic SW load balancing problem

  • External SDRAM shared by common pipe stages

Network Processor & Its Applications


Ibm powernp

IBM PowerNP

  • 16 pico-procesors and 1 powerPC

  • Each pico-processor

    • Support 2 hardware threads

    • 3 stage pipeline : fetch/decode/execute

  • Dyadic Processing Unit

    • Two pico-processors

    • 2KB Shared memory

    • Tree search engine

  • Focus is layers 2-4

  • PowerPC 405 for control plane operations

    • 16K I and D caches

  • Target is OC-48

Network Processor & Its Applications


C port c 5 chip architecture

C-Port C-5 Chip Architecture

Network Processor & Its Applications


Some challenges

Some Challenges

  • Intelligent Design

    • Given a selection of programs, a target network link speed, the ‘best’ design for the processor

      • Least area

      • Least power

      • Most performance

  • Write efficient multithreaded programs

    • NPs have

      • Heterogeneous computer resources

      • Non-uniform memory

      • Multiple interacting threads of execution

      • Real-time constraints

    • Make use of resources

      • How to use special instructions and hardware assists

        • Compilers

        • Hand-coded

    • Multithreaded programs

      • Manage access to shared state

      • Synchronization between threads

Network Processor & Its Applications


Ixp1200 block diagram

IXP1200 Block Diagram

  • StrongARM processing core

  • Microengines introduce new ISA

  • I/O

    • PCI

    • SDRAM

    • SRAM

    • IX : PCI-like packet bus

  • On chip FIFOs

    • 16 entry 64B each

Network Processor & Its Applications


Ixp1200 microengine

IXP1200 Microengine

  • 4 hardware contexts

    • Single issue processor

    • Explicit optional context switch on SRAM access

  • Registers

    • All are single ported

    • Separate GPR

    • 256*6 = 1536 registers total

  • 32-bit ALU

    • Can access GPR or XFER registers

  • Shared hash unit

    • 1/2/3 values – 48b/64b

    • For IP routing hashing

  • Standard 5 stage pipeline

  • 4KB SRAM instruction store – not a cache!

  • Barrel shifter

Ref: [NPT]

Network Processor & Its Applications


Ixp 2400 block diagram

DDR DRAM

controller

ME0

ME1

Scratch

/Hash

/CSR

ME3

ME2

XScale

Core

MSF Unit

PCI

ME4

ME5

QDR SRAM

controller

ME7

ME6

IXP 2400 Block Diagram

  • XScale core replaces StrongARM

  • Microengines

    • Faster

    • More: 2 clusters of 4 microengines each

  • Local memory

  • Next neighbor routes added between microengines

  • Hardware to accelerate CRC operations and Random number generation

  • 16 entry CAM

Network Processor & Its Applications


Different types of memory

Different Types of Memory

Ref: [NPRD]

Network Processor & Its Applications


Ixa software framework

IXA Software Framework

External

Processors

Control Plane Protocol Stack

Control Plane PDK

XScale

Core

C/C++

Language

Core Components

Core Component Library

Resource Manager Library

Microengine

Pipeline

Microblock Library

Microengine

C Language

Micro

block

Micro

block

Micro

block

Protocol Library

Utility Library

Hardware Abstraction Library

Network Processor & Its Applications


Summary

Summary

  • NP is developing very fast and is a hot research area

  • Multithreaded NP Architectures provide tremendous packet processing capability

  • NP can be applied in various network layers and applications

    • Traditional apps – forwarding, classification

    • Advanced apps – transcoding, URL-based switching, security etc.

    • New apps

Network Processor & Its Applications


  • Login