Specifications
Page 43 /148
The M20/M40/M160 has a wire rate performance for all packet sizes (40 to 9192
bytes) for all types of interface cards.
The delay of the packet within the system is ~ 7 microseconds as measured from
the last bit in to first bit out.
2.5.8 The Internet Processor II ASIC
The Internet Processor II is the second generation, enhanced version of the
Internet Processor ASIC that forms the core of the M40 and M20 Packet
Forwarding Engines (PFEs). Like its predecessor, the Internet Processor II offers
ASIC-based forwarding performance, but it also offers rich, filtering and sampling
functionality which can be applied to a wide range of provider applications from
source address verification to the collection of traffic data for the generation of
AS-to-AS matrices. Offering fundamentally breakthrough technology, the Internet
Processor II allows providers to reliably deploy new services without sacrificing
performance. The Internet Processor II ASIC ships on the system boards of the
M20, M40 and M160 platforms.
The software feature functionality associated with the Internet Processor II will be
delivered over the course of several releases, beginning with JUNOS 4.0. The
following is a description of the Internet Processor II features as delivered in the
current JUNOS 4.0 release.
Internet Processor II Architecture
Comparison with the Internet Processor I ASIC
The Internet Processor II plays the same role that the Internet Processor I plays
within the M20 and M40 PFE's. The Internet Processor II provides centralized
lookup functionality using the lookup key generated by the Distributed Buffer
Manager ASIC. Subsequent to the lookup, the Internet Processor II sends
notifications to output interfaces in a similar fashion to Internet Processor I. And
like its predecessor, the Internet Processor II acts as the meet point between the
RE and the PFE in the M20/M40/M160 system architectures, implementing in
hardware everything that the RE does that impacts packet forwarding. Like the
Internet Processor I ASIC, the Internet Processor II ASIC is the fastest route-
lookup engine on the market today, providing a performance rate of over 40Mpps
using a full routing table of 80,000 routes. The Internet Processor II is
programmable and can support multiple protocols. To date, IPv4 unicast and
multicast and MPLS are supported. The lookup performance rate is independent
of protocol. Additionally, the ASIC is designed to support a clean separation of
routing and forwarding, ensuring that forwarding rates are not interrupted by
changes to the routing table. The Routing Engine modifies its routing table and
builds a new forwarding table. When an updated forwarding table is downloaded
to the ASIC from the Routing Engine it is done atomically and only the parts of
the table that have changed are updated. This design enables the Internet
Processor II to maintain performance even under conditions of network topology
fluctuation.
Functional Building Blocks
The Internet Processor II architecture can be described as a combination of three
fundamental building blocks:
§ Route Lookup: The same performance-based, route lookup offered by the
Internet Processor I. The Internet Processor II supports lookups for IPv4
(longest match) and MPLS. The lookup engine is extensible to support
additional protocols.
§ Table Lookup: Table lookups support a variety of applications, such as
selecting which interfaces and protocols to apply filters to.
§ Packet Filtering: The Internet Processor II provides the ability to configure
filters to incoming and outgoing interfaces for transit packet filtering. The
filters are user-configurable and they are compiled and optimized on the RE
before being installed in the Internet Processor II.
The Internet Processor II architecture is extremely flexible, allowing for the ability
to chain together its functional building blocks in various combinations (ie route
lookup, table lookup, filtering). For example, IP traffic can be directed to an
incoming interface table for a table lookup. The operator can configure various
“next actions” for each interface within the table.
The next action could be to apply a packet filter, or it could be to send the packet
directly to the IP forwarding table for a route lookup. The next action could also