Unformatted text preview:

Network Processor and Its Applications (1)OutlineWhat the Internet Needs?Typical NP ArchitectureNetwork Architecture and ApplicationsOSI Network ArchitectureTCP/IP ModelTCP/IP packetSlide 9Slide 10Application CategorizationProcessing TasksData Plane TasksNetwork Processor ApplicationsIPv4 RoutingTrie-based Routing Table LookupExampleIP Lookups using Multi-way Multi-column SearchMulti-way multi-column searchPacket ClassificationClassification: Hierarchical triesClassification: Bitmap-intersectionURL-based switchingTranscodersSummaryReference4/22/2003 Network Processor & Its Applications1Network Processor and Its Applications (1)Yan Luo [email protected]. Laxmi Bhuyan [email protected]/22/2003 Network Processor & Its Applications 2OutlineOverview of the network processorsNetworking protocol stack IP routingPacket ClassificationOther applications4/22/2003 Network Processor & Its Applications 3What 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/22/2003 Network Processor & Its Applications 4Typical NP ArchitectureSDRAM(Packet buffer)SRAM(Routing table)multi-threaded processing elementsCo-processorInput portsOutput portsNetwork ProcessorBus Bus4/22/2003 Network Processor & Its Applications 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.4/22/2003 Network Processor & Its Applications 6OSI Network ArchitectureDATAApplicationPre.SessionTransportNetworkData LinkPhysical7654321DATAAHDATAPHDATASHDATATHDATANHDATADHDATAPHApplicationPre.SessionTransportNetworkData LinkPhysical7654321NetworkNetworkABSource: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik4/22/2003 Network Processor & Its Applications 7TCP/IP ModelISO OSI (Open Systems Interconnection) not fully implementedPresentation and Session layers not present in TCP/IPApplicationPre.SessionTransportNetworkData LinkPhysical7654321ApplicationTCPIPHost-to-NetOSI TCP/IPSource: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik4/22/2003 Network Processor & Its Applications 8TCP/IP packet APP. DATATCPIPMAC MACSource Port Destination PortSequence NumberAcknowledgement NumberHeader Length and Options Window SizeChecksum Urgent PointerOptions (0 or more 32-bit words)Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik4/22/2003 Network Processor & Its Applications 9TCP/IP packet APP. DATATCPIPMAC MACVer. Total LengthIdentificationTime to LiveSource AddressIHL Service TypeOptions and Fragment OffsetProtocol Header ChecksumOptions (0 or more 32-bit words)Destination AddressSource: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik4/22/2003 Network Processor & Its Applications 10TCP/IP packet APP. DATATCPIPMAC MACPreamble D. Add. S. Add. CRCLeng.Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik4/22/2003 Network Processor & Its Applications 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 packetsSource: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik4/22/2003 Network Processor & Its Applications 12Processing TasksPolicy ApplicationsNetwork ManagementSignalingTopology ManagementQueuing / SchedulingData TransformationClassificationData ParsingMedia Access ControlPhysical LayerDataPlaneControlPlaneSource: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik4/22/2003 Network Processor & Its Applications 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 dataSource: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik4/22/2003 Network Processor & Its Applications 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-service4/22/2003 Network Processor & Its Applications 15IPv4 RoutingRouters determine next hop and forward packetsRouterABCPPP4/22/2003 Network Processor & Its Applications 16Trie-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_ptrNext hop 1015Next hop 2Next hop 3 Next hop 4Prefix Netmask Next hop0010 0xF 10001,0011 0xFF 21110,1110 0xFF 20001,0011,0000 0xFFF 30001,0011,1111,111 0xFFFE 4Trie block4/22/2003 Network Processor & Its Applications 17Examplert_ptr trie_ptrNext hop 1015Next hop 2Next hop 3 Next hop 4Prefix Netmask Next hop0010 0xF 10001,0011 0xFF 21110,1110 0xFF 20001,0011,0000 0xFFF 30001,0011,1111,111 0xFFFE 4Packet destination IP address =0x13fe2233 (0001,0011,1111,1110,…)4/22/2003 Network Processor & Its Applications 18IP Lookups using Multi-way Multi-column SearchIllustration of the idea with 6-bit addressPrefixes: 1* 101 * 10101*Binary search does not work with variable length strings.1 0 0 0 0 01 0 1 0 0 01 0 1 0 1 01010111011101111101) end up far away from the matching prefix2) Multiple addresses that match to different prefix, end up in the same regionEncoding prefixes as ranges1* -> [100000,111111]101* -> [101000,101111]10101* -> [101010,101011]1 0 0 0 0 01 0 1 0 0 01 0 1 0 1 01 0 1 0 1 11 0 1 1 1 11 1 1 1 1 1101011101110111110LLLHHLL,HHHNarrowest enclosingRange containing AA4/22/2003 Network Processor & Its Applications 19Multi-way


View Full Document

UCR CS 162 - LECTURE 8

Download LECTURE 8
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view LECTURE 8 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view LECTURE 8 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?