network processor and its applications 1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Network Processor and Its Applications (1) PowerPoint Presentation
Download Presentation
Network Processor and Its Applications (1)

Loading in 2 Seconds...

play fullscreen
1 / 26

Network Processor and Its Applications (1) - PowerPoint PPT Presentation


  • 197 Views
  • Uploaded on

Network Processor and Its Applications (1). Yan Luo yluo@cs.ucr.edu Prof. Laxmi Bhuyan bhuyan@cs.ucr.edu. Outline. Overview of the network processors Networking protocol stack IP routing Packet Classification Other applications. What the Internet Needs?. ASIC (large,

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Network Processor and Its Applications (1)' - vonda


Download Now 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 its applications 1

Network Processor and Its Applications (1)

Yan Luo yluo@cs.ucr.edu

Prof. Laxmi Bhuyan bhuyan@cs.ucr.edu

Network Processor & Its Applications

outline
Outline
  • Overview of the network processors
  • Networking protocol stack
  • IP routing
  • Packet Classification
  • Other applications

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

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

network architecture and applications
Network Architecture and Applications
  • Introduction to networking
  • IP packet structure
  • Control and data planes
  • Traditional applications
    • IPv4 routing, classification etc.
  • New applications
    • URL-based switching,transcoding, etc.

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 packet9

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 packet10

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

network processor applications
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

trie based routing table lookup
Trie-based Routing Table Lookup
  • Trie block keeps pointers to route entry and other trie blocks
  • Destination IP address bits are examined group by group (4-bit)

rt_ptr

trie_ptr

0

Trie block

Next hop 3

Next hop 4

15

Next hop 1

Next hop 2

Network Processor & Its Applications

example
Example

rt_ptr

trie_ptr

0

Next hop 3

Next hop 4

15

Next hop 1

Next hop 2

Packet destination IP address =0x13fe2233

(0001,0011,1111,1110,…)

Network Processor & Its Applications

ip lookups using multi way multi column search

Encoding prefixes as ranges

1* -> [100000,111111]

101* -> [101000,101111]

10101* -> [101010,101011]

1 0 0 0 0 0

1 0 1 0 0 0

1 0 1 0 1 0

1 0 1 0 1 1

1 0 1 1 1 1

1 1 1 1 1 1

101011

101110

111110

L

L

L

H

H

L

L,H

H

H

Narrowest enclosing

Range containing A

A

IP Lookups using Multi-way Multi-column Search

Illustration of the idea with 6-bit address

Prefixes: 1*

101 *

10101*

1 0 0 0 0 0

1 0 1 0 0 0

1 0 1 0 1 0

101011

101110

111110

Binary search does not work with variable length strings.

  • end up far away from the matching prefix
  • Multiple addresses that match to different prefix, end up in the same region

Network Processor & Its Applications

multi way multi column search

3-way tree for 8 keys

P1: 1* -> [100000,111111]

P2: 101* -> [101000,101111]

P3: 10101* -> [101010,101011]

k3 k6

Any region in the binary search

between two consecutive numbers

corresponds to a unique prefix

k1 k2

k4 k5

k7 k8

> =

p1) 1 0 0 0 0 0 p1 p1

p2) 1 0 1 0 0 0 p2 p2

p3) 1 0 1 0 1 0 p3 p3

1 0 1 0 1 1p2p3

1 0 1 1 1 1p1p2

1 1 1 1 1 1 - p1

info

info

info

info

info

info

info

info

info

Multi-column search

is used for wide address such as IPv6

W/M words

A C E

A D C

A M W

B M W

B N X

B N Y

Probe 1

2

3

Multi-way multi-column search

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

classification hierarchical tries
Classification: Hierarchical tries
  • Extension of the one dimensional radix trie
  • Construct trie recursively:
    • Contruct F1-trie on the set of prefix {Rj1}
    • For each prefix p in F1-trie, we recursively construct (d-1) dimensional hierarchical trie on rules where {Rj:Rj1=p}

Pankaj Gupta and Nick McKeown,"Algorithms for Packet Classification",

IEEE Network Special Issue, March/April 2001, vol. 15, no. 2, pp 24-32.

Network Processor & Its Applications

classification bitmap intersection
Classification: Bitmap-intersection

The set of rules S that a packet matches is the intersection of d sets, Si

Where Si is the set of rules that match the packet in the i-th dimension alone.

0

0

Pankaj Gupta and Nick McKeown,"Algorithms for Packet Classification",

IEEE Network Special Issue, March/April 2001, vol. 15, no. 2, pp 24-32.

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

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

reference
Reference
  • Pankaj Gupta and Nick McKeown,"Algorithms for Packet Classification", IEEE Network Special Issue, March/April 2001, vol. 15, no. 2, pp 24-32.
  • Bill Mangione-Smith, Gokhan Memik, Network Processing: Applications, Architectures and Examples – Tutorial at Micro 34, Dec. 2001
  • B. Lampson, V. Srinivasan and G. Varghese, IP Lookups using Multiway and Multicolumn Search, IEEE/ACM Transactions on Networking, August 1, 1997
  • Intel IXP1200 Network Processor Family - Development Tools User's Guide, Intel

Network Processor & Its Applications