Presentation is loading. Please wait.

Presentation is loading. Please wait.

4/22/2003 Network Processor & Its Applications1 Network Processor and Its Applications (1) Yan Luo Prof. Laxmi Bhuyan

Similar presentations


Presentation on theme: "4/22/2003 Network Processor & Its Applications1 Network Processor and Its Applications (1) Yan Luo Prof. Laxmi Bhuyan"— Presentation transcript:

1 4/22/2003 Network Processor & Its Applications1 Network Processor and Its Applications (1) Yan Luo yluo@cs.ucr.edu Prof. Laxmi Bhuyan bhuyan@cs.ucr.edu

2 4/22/2003Network Processor & Its Applications2 Outline Overview of the network processors Networking protocol stack IP routing Packet Classification Other applications

3 4/22/2003Network Processor & Its Applications3 What the Internet Needs? Increasing Huge Amount of Packets & Routing, Packet Classification, Encryption, QoS, New Applications and Protocols, etc….. General Purpose RISC (not capable enough) ASIC (large, expensive to develop, not flexible) High processing power Support wire speed Programmable Scalable Specially for network applications …

4 4/22/2003Network Processor & Its Applications4 Typical NP Architecture SDRAM (Packet buffer) SRAM (Routing table) multi-threaded processing elements Co-processor Input ports Output ports Network Processor Bus

5 4/22/2003Network Processor & Its Applications5 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.

6 4/22/2003Network Processor & Its Applications6 OSI Network Architecture DATA Application Pre. Session Transport Network Data Link Physical 7 6 5 4 3 2 1 DATAAH DATAPH DATASH DATATH DATANH DATADH DATAPH Application Pre. Session Transport Network Data Link Physical 7 6 5 4 3 2 1 Network AB Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

7 4/22/2003Network Processor & Its Applications7 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 7 6 5 4 3 2 1 Application TCP IP Host-to-Net OSITCP/IP Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

8 4/22/2003Network Processor & Its Applications8 TCP/IP packet APP. DATATCPIPMAC Source PortDestination Port Sequence Number Acknowledgement Number Header Length and OptionsWindow Size ChecksumUrgent Pointer Options (0 or more 32-bit words) Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

9 4/22/2003Network Processor & Its Applications9 TCP/IP packet APP. DATATCPIPMAC Ver.Total Length Identification Time to Live Source Address IHLService Type Options and Fragment Offset ProtocolHeader Checksum Options (0 or more 32-bit words) Destination Address Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

10 4/22/2003Network Processor & Its Applications10 TCP/IP packet APP. DATATCPIPMAC PreambleD. Add.S. Add.CRCLeng. Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

11 4/22/2003Network Processor & Its Applications11 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

12 4/22/2003Network Processor & Its Applications12 Processing Tasks Policy Applications Network Management Signaling Topology Management Queuing / Scheduling Data Transformation Classification Data Parsing Media Access Control Physical Layer Data Plane Control Plane Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

13 4/22/2003Network Processor & Its Applications13 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

14 4/22/2003Network Processor & Its Applications14 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

15 4/22/2003Network Processor & Its Applications15 IPv4 Routing Routers determine next hop and forward packets Router A B C P P P

16 4/22/2003Network Processor & Its Applications16 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_ptrtrie_ptr Next hop 1 0 15 Next hop 2 Next hop 3Next hop 4 PrefixNetmaskNext hop 00100xF1 0001,00110xFF2 1110,11100xFF2 0001,0011,00000xFFF3 0001,0011,1111,1110xFFFE4 Trie block

17 4/22/2003Network Processor & Its Applications17 Example rt_ptrtrie_ptr Next hop 1 0 15 Next hop 2 Next hop 3Next hop 4 PrefixNetmaskNext hop 00100xF1 0001,00110xFF2 1110,11100xFF2 0001,0011,00000xFFF3 0001,0011,1111,1110xFFFE4 Packet destination IP address =0x13fe2233 (0001,0011,1111,1110,…)

18 4/22/2003Network Processor & Its Applications18 IP Lookups using Multi-way Multi-column Search Illustration of the idea with 6-bit address Prefixes: 1* 101 * 10101* Binary search does not work with variable length strings. 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 101011 101110 111110 1)end up far away from the matching prefix 2)Multiple addresses that match to different prefix, end up in the same region 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 101011 101110 111110 L H L L,H H Narrowest enclosing Range containing A A

19 4/22/2003Network Processor & Its Applications19 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 p1 p2) 1 0 1 0 0 0 p2 p2 p3) 1 0 1 0 1 0 p3 p3 1 0 1 0 1 1 p2 p3 1 0 1 1 1 1 p1 p2 1 1 1 1 1 1 - p1 Any region in the binary search between two consecutive numbers corresponds to a unique prefix k3 k6 k1 k2k4 k5k7 k8 info 3-way tree for 8 keys Multi-column search is used for wide address such as IPv6 A CE ADC AMW BMW BNX BN Y W/M words Probe 123

20 4/22/2003Network Processor & Its Applications20 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.

21 4/22/2003Network Processor & Its Applications21 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} ruleF1F2 R100* R20*01* R31*0* R400*0* R50*1* R6*1* Pankaj Gupta and Nick McKeown,"Algorithms for Packet Classification", IEEE Network Special Issue, March/April 2001, vol. 15, no. 2, pp 24-32.

22 4/22/2003Network Processor & Its Applications22 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. Pankaj Gupta and Nick McKeown,"Algorithms for Packet Classification", IEEE Network Special Issue, March/April 2001, vol. 15, no. 2, pp 24-32. 0 0

23 4/22/2003Network Processor & Its Applications23 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 Switch Image Server Application Server HTML Server www.yahoo.com Internet GET /cgi-bin/form HTTP/1.1 Host: www.yahoo.com… APP. DATATCPIP Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

24 4/22/2003Network Processor & Its Applications24 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 Internet Transcoder Video-on-demand serverMpeg encoder Corporate Network Media Player Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

25 4/22/2003Network Processor & Its Applications25 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

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


Download ppt "4/22/2003 Network Processor & Its Applications1 Network Processor and Its Applications (1) Yan Luo Prof. Laxmi Bhuyan"

Similar presentations


Ads by Google