Title: Network Processor and Its Applications 1
1Network Processor and Its Applications (1)
- Yan Luo yluo_at_cs.ucr.edu
- Prof. Laxmi Bhuyan bhuyan_at_cs.ucr.edu
2Outline
- Overview of the network processors
- Networking protocol stack
- IP routing
- Packet Classification
- Other applications
3What 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)
4Typical NP Architecture
5Network 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.
6OSI Network Architecture
Source Network Processor Tutorial in Micro 34 -
Mangione-Smith Memik
7TCP/IP Model
Source Network Processor Tutorial in Micro 34 -
Mangione-Smith Memik
- ISO OSI (Open Systems Interconnection) not fully
implemented - Presentation and Session layers not present in
TCP/IP
8TCP/IP packet
Source Network Processor Tutorial in Micro 34 -
Mangione-Smith Memik
9TCP/IP packet
Source Network Processor Tutorial in Micro 34 -
Mangione-Smith Memik
10TCP/IP packet
APP. DATA
TCP
IP
MAC
MAC
Source Network Processor Tutorial in Micro 34 -
Mangione-Smith Memik
11Application 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
12Processing Tasks
Source Network Processor Tutorial in Micro 34 -
Mangione-Smith Memik
13Data 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
14Network 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
15IPv4 Routing
P
P
P
B
A
Router
C
- Routers determine next hop and forward packets
16Trie-based Routing Table Lookup
rt_ptr
trie_ptr
0
Trie block
Next hop 3
Next hop 4
15
Next hop 1
Next hop 2
- Trie block keeps pointers to route entry and
other trie blocks - Destination IP address bits are examined group by
group (4-bit)
17Example
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,)
18IP 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
19Multi-way multi-column search
20Packet 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.
21Classification Hierarchical tries
Pankaj Gupta and Nick McKeown,"Algorithms for
Packet Classification", IEEE Network Special
Issue, March/April 2001, vol. 15, no. 2, pp
24-32.
- 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 RjRj1p
22Classification 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.
23URL-based switching
www.yahoo.com
Internet
Image Server
APP. DATA
TCP
IP
Application Server
Switch
GET /cgi-bin/form HTTP/1.1 Host www.yahoo.com
- Increase efficiency
- Tasks
- Traverse the packet data (request) for each
arriving packet and classify it - Contains .jpg -gt to image server
- Contains cgi-bin/ -gt to application server
HTML Server
Source Network Processor Tutorial in Micro 34 -
Mangione-Smith Memik
24Transcoders
- 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
25Summary
- 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
26Reference
- 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