Download Network Processors: Architecture, Applications, and Algorithms and more Slides Computer Architecture and Organization in PDF only on Docsity!
Network Processor and Its
Applications (1)
Outline
• Overview of the network processors
• Networking protocol stack
• IP routing
• Packet Classification
• Other applications
Typical NP Architecture
SDRAM
(Packet buffer)
SRAM
(Routing table)
multi-threaded processing elements
Co-processor
Input ports Output ports
Network Processor
Bus Bus
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.
TCP/IP Model
- ISO OSI (Open Systems Interconnection) not fully implemented
- Presentation and Session layers not present in TCP/IP
Application
Pre.
Session
Transport
Network
Data Link
Physical
Application
TCP
IP
Host-to-Net
OSI TCP/IP
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
MAC IP TCP APP. DATA MAC
Preamble D. Add. S. Add. Leng. CRC
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
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
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
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
Next hop 1
0
15
Next hop 2
Next hop 3 Next hop 4
Prefix Netmask Next hop 0010 0xF 1 0001,0011 0xFF 2 1110,1110 0xFF 2 0001,0011,0000 0xFFF 3 0001,0011,1111,111 0xFFFE 4
Trie block
Example
rt_ptr trie_ptr
Next hop 1
0
15
Next hop 2
Next hop 3 Next hop 4
Prefix Netmask Next hop 0010 0xF 1 0001,0011 0xFF 2 1110,1110 0xFF 2 0001,0011,0000 0xFFF 3 0001,0011,1111,111 0xFFFE 4
Packet destination IP address =0x13fe (0001,0011,1111,1110,…)
Multi-way multi-column search
P1: 1* -> [100000,111111]
P2: 101* -> [101000,101111]
P3: 10101* -> [101010,101011]
p1) 1 0 0 0 0 0 p1 p
p2) 1 0 1 0 0 0 p2 p
p3) 1 0 1 0 1 0 p3 p
1 0 1 0 1 1 p2 p
1 0 1 1 1 1 p1 p
1 1 1 1 1 1 - p
Any region in the binary search
between two consecutive numbers
corresponds to a unique prefix
k3 k
k1 k2 k4 k5 k7 k
info info info^ info^ info^ infoinfo^ info info
3-way tree for 8 keys
Multi-column search
is used for wide address such as IPv
A C E
A D C
A M W
B M W
B N X
B N Y
W/M words
Probe 1 2 3
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.