The present invention generally relates to packet-switching networks, and more particularly to an Application Specific Integrated Circuit (circuit) developed to function as part of an interconnect node in a packet-switching network to facilitate the receipt and transmission of data between a central office and remote users.
In the field of data communications, a modem is used to communicate information from one location to another. Digital Subscriber Line (DSL) technology now enables modems, or other devices such as frame relay data service units (DSU""s) to communicate rapidly large amounts of data. This communication scheme generally adheres to a model, known as the Open Systems Interconnect (OSI) Seven-Layer model. This model specifies the parameters and conditions under which information is formatted and transferred over a given communications network. A general background of the OSI seven layer model follows.
In 1978, a framework of international standards for computer network architecture known as OSI (Open Systems Interconnect) was developed. The OSI reference model of network architecture consists of seven layers. From the lowest to the highest, the layers are: (1) the physical layer; (2) the datalink layer; (3) the network layer; (4) the transport layer; (5) the session layer; (6) the presentation layer; and (7) the application layer. Each layer uses the layer below it to provide a service to the layer above it. The lower layers are implemented by lower level protocols which define the electrical and physical standards, perform the byte ordering of the data, and govern the transmission and error detection and correction of the bit stream. The higher layers are implemented by higher level protocols which deal with, inter alia, data formatting, terminal-to-computer dialogue, character sets, and sequencing of messages.
Layer 1, the physical layer, controls the direct host-to-host communication between the hardware of the end users"" data terminal equipment (e.g., a modem connected to a PC).
Layer 2, the datalink layer, generally fragments the data to prepare it to be sent on the physical layer, receives acknowledgment frames, performs error checking, and re-transmits frames which have been incorrectly received.
Layer 3, the network layer, generally controls the routing of packets of data from the sender to the receiver via the datalink layer, and it is used by the transport layer. An example of the network layer is Internet Protocol (IP) which is the network layer for the TCP/IP protocol widely used on Ethernet networks. In contrast to the OSI seven-layer architecture, TCP/IP (Transmission Control Protocol over Internet Protocol) is a five-layer architecture which generally consists of the network layer and the transport layer protocols.
The transport layer (Layer 4) determines how the network layer should be used to provide a point-to-point, virtual, error-free connection so that the end point devices send and receive uncorrupted messages in the correct order. This layer establishes and dissolves connections between hosts. It is used by the session layer. TCP is an example of the transport layer.
Layer 5, the session layer, uses the transport layer and is used by the presentation layer. The session layer establishes a connection between processes on different hosts. It handles the creation of sessions between hosts as well as security issues.
Layer 6, the presentation layer, attempts to minimize the noticeability of differences between hosts and performs functions such as text compression and format and code conversion.
Layer 7, the application layer, is used by the presentation layer to provide the user with a localized representation of data which is independent of the format used on the network. The application layer is concerned with the user""s view of the network and generally deals with resource allocation, network transparency and problem partitioning.
The communications networks that operate within the OSI seven layer model include a number of paths or links that are interconnected to route voice, video, and data (hereinafter collectively referred to as xe2x80x9cdataxe2x80x9d) traffic from one location of the network to another. At each location, an interconnect node couples a plurality of source nodes and destination nodes to the network. In some cases, the sources and destinations are incorporated in a private line network that may include a series of offices connected together by leased-lines with switching facilities and transmission equipment owned and operated by the carrier or service provider and leased to the user. This type of network is conventionally referred to as a circuit-switching network. Accordingly, a source node of one office at one location of the network may transmit data to a destination node of a second office located at another location of the network through their respective switching facilities.
At any given location, a large number of source nodes may desire to communicate through their respective switching facilities, or interconnect nodes, to destination nodes at various other locations of the network. The data traffic from the various source nodes is first multiplexed through the source switching facility, then demultiplexed at the destination switching facility and finally delivered to the proper destination node. A variety of techniques for efficiently multiplexing data from multiple source nodes onto a single circuit of the network are presently employed in private line networks. For instance, time division multiplexing (xe2x80x9cTDMxe2x80x9d) affords each source node full access to the allotted bandwidth of the circuit for a small amount of time. The circuit is divided into defined time segments, with each segment corresponding to a specific source node, to provide for the transfer of data from those source nodes, when called upon, through the network.
Other data communications systems, in contrast, have not been as successful employing multiplexing techniques to enhance network efficiency further. In particular, frame-relay networks offer far fewer alternatives than their circuit-switching network counterparts. Frame-relay networks are often referred to as packet-switching networks. Packet-switching networks, as opposed to circuit-switching networks, allow multiple users to share data network facilities and bandwidth rather than providing a specific amount of dedicated bandwidth to each user, as in TDM. Instead, packet switches divide bandwidth into connectionless, virtual circuits. As is known, virtual circuit bandwidth is consumed only when data are actually transmitted. Otherwise, the bandwidth is not used. In this way, packet-switching networks essentially mirror the operation of a statistical multiplexer (whereby multiple logical users share a single network access circuit). Frame relay operates within layer 2 (the data link layer) of the OSI model, and is an improvement over previous packet switching techniques, such as X.25, in that frame relay requires significantly less overhead.
Frame relay networks transport data packets by compressing and then transporting the packets over the communications channel. The communications channel can be provided by, for example, an ISDN (Integrated Services Digital Network) connection, however, other physical connections may be employed to transport frame relay data.
Frame relay is one of a series of data link protocols that fall within the broader class of data link protocols known as High-Level Data Link Control (HDLC). Typically, the frame relay data to be compressed and transported is packetized into standard High-Level Data Link Controlxe2x80x94Unnumbered Information (HDLC-UI) Frame Relay packets, in accordance with the Internet Engineering Task Force (IETF) Request for Comment (RFC) 1490. RFC 1490 defines the format of standard HDLC-UI frame relay packets. These standard packets are then compressed and transported over the frame relay network.
The proliferation of frame relay technology led to the creation and provision of frame relay service networks by service providers. As is known, a frame relay service provided network effectively comprises a mesh of interconnected nodes that can be variably configured to provide a communication path between a plurality of end points. A geographically dispersed corporate enterprise may intercommunicate using frame relay technology by purchasing from the service provider what are known as permanent virtual circuits. A permanent virtual circuit is a configuration of various intermediate nodes in the frame relay service network which are dedicated to direct communications between a first end point and a second end point along a particular path. The service provider will typically establish permanent virtual circuits, within a frame relay network, in a way that evenly distributes data traffic and minimizes traffic congestion. Therefore, as additional users/communicating end points are added to the frame relay service network, the service provider may alter or otherwise reconfigure various permanent virtual circuits. However, it will communicate any such changes to the users at the end points.
Data link connection identifiers (DLCI""s) are numbers that identify the various intermediate nodes between end points of a frame relay communication link. DLCI""s identify the various intermediate nodes and therefore identify the particular communication path between end points. As is known, the provision of permanent virtual circuits simplifies the error control mechanisms for data transport utilizing frame relay technology, as opposed to communication links which are based on IP addresses and routers (where the communication path may vary from packet to packet).
An interconnect node in a packet-switching network functions as a mini-router to pass packets of data along a communication path between end points. A practical application of an interconnect node is in a DSL modem receiving and transmitting data packets between an Ethernet port and a DSL port. Such modems typically use microprocessors to perform the tasks associated with receiving, processing, and transmitting the data packets. Accordingly, these tasks are typically performed in software.
One shortcoming with this approach relates to the overhead, and therefore time, associated with software processing. Significantly, microprocessor/software control limits communication rates through data ports, as well as having higher latency. In systems that demand high speed communication, this is a significant drawback.
Accordingly, there is a need to address this and other related shortcomings in the art, by providing a system to perform the tasks associated with receiving, processing and transmitting data packets between an Ethernet port and a DSL port in a packet-switching network, at high communication rates.
Certain objects, advantages and novel features of the invention will be set forth in part in the description that follows and in part will become apparent to those skilled in the art upon examination of the following or may be learned with the practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out in the appended claims.
To achieve the advantages and novel features, the present invention is generally directed to a circuit used to integrate a host processor with special packet-handling logic, for use with a DSL modem. In a preferred embodiment of the invention, the circuit is implemented in an Application Specific Integrated Circuit (ASIC). The circuit facilitates data packet transmission between an Ethernet port and a DSL port, which are both external to the circuit. Firmware for the DSL Network Service Node (NSN) is executed on a processor internal to the circuit. In the preferred embodiment, the processor is embedded in the ASIC. The circuit receives data packets, determines the packet type, tests the packet for corruption, and after some firmware processing, forwards the packet to its destination. The circuit also provides support for other parts of the NSN, including LEDs, a serial port, Ethernet port, DMA control, and the network interface transceiver including HDLC controllers and elastic I/O.
More specifically, the circuit of the present invention may be used in the design of a DSL NSN as follows: the NSN functions as a micro-router, passing packets of data between an Ethernet port and a DSL port. As a micro-router, the NSN requires some Internet Protocol (IP) routing capability. The NSN passes IP packets encapsulated in Point-to-Point Protocol (PPP) packets from the DSL interface to the Ethernet interface, checking the IP header along the way to verify the routing path. The NSN supports the Simple Network Management Protocol (SNMP), which is the application protocol offering network management services in the Internet suite of protocols, and thus some of the IP packets may be destined for the NSN itself.
The circuit processes data packets in both the upstream (transmitting on the DSL port) and downstream (receiving on the DSL port) directions. In the upstream path, firmware controls the transfer of data packets from the Ethernet interface device, prepares the packets of PPP delivery, and commands the upstream packet delivery hardware to deliver the packet. In the downstream path, hardware functions preprocess the packets automatically prior to involving the firmware. Incoming packets are tested for packet type and tested for corruption. If firmware has successfully established a PPP link on the DSL connection, then IP packets are allowed. IP packets are tested for corruption, and the source and destination addresses are tested against a list of illegal addresses. Finally, the received destination IP address is compared to IP addresses contained in a firmware-maintained IP lookup table (LUT) within the circuit""s internal Dual Port Random Access Memory (DPRAM). Valid packets are placed in memory, and firmware is notified to continue processing of the received packet. Firmware will then encapsulate the packet for Ethernet delivery, and command the Ethernet device to transmit the packet.
The circuit provides most of the functions of the NSN, with the exception of interface devices required to connect to Ethernet and the DSL interface. The circuit provides a significant improvement over software intensive designs by performing hardware preprocessing of data packets received in both the upstream and downstream data directions. This ensures that firmware""s involvement in processing packets is limited to packets that have already been determined to be valid (i.e., error free) by the circuit""s pre-processing circuitry. The circuit discards packets containing errors, without firmware intervention, and hardware counters are maintained for the error conditions detected by the circuit.
Other objects, features, and advantages of the present invention will become apparent to one with skill in the art upon examination of the drawings and the following detailed description. All such additional objects, features and advantages are intended to be included herein within this disclosure.