US20080317032A1 - Methods for using a translation/instruction system to redirect a multiprotocol label switching (mpls) packet - Google Patents
Methods for using a translation/instruction system to redirect a multiprotocol label switching (mpls) packet Download PDFInfo
- Publication number
- US20080317032A1 US20080317032A1 US12/204,421 US20442108A US2008317032A1 US 20080317032 A1 US20080317032 A1 US 20080317032A1 US 20442108 A US20442108 A US 20442108A US 2008317032 A1 US2008317032 A1 US 2008317032A1
- Authority
- US
- United States
- Prior art keywords
- mpls
- header information
- packet
- label
- operating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Definitions
- the present invention relates to communication networks, and, more particularly, to multiprotocol label switching (MPLS) communication networks.
- MPLS multiprotocol label switching
- Multiprotocol label switching provides a technique for routing packet data based on a label field rather than a destination address.
- An MPLS network comprises a set of nodes, which are called label switched routers (LSRs), that switch/route packets based on a label that has been added to each packet.
- Labels are used to define a flow of packets between two nodes or, if packets are being broadcast in a multicast operation, between a source node and multiple destination nodes.
- a specific path through the LSRs called a label switched path (LSP) is defined for each distinct flow, which is called a forwarding equivalence class (FEC).
- LSP label switched path
- FEC forwarding equivalence class
- an LSR may route the packet based on the MPLS label value, remove the MPLS label (pop a label), and/or impose an additional label (push a label).
- the label may be removed at the node from the packet at a node that is just prior to the destination node in a particular LSP. This process is sometimes referred to as “penultimate hop popping.”
- the MPLS label is a 32-bit header that includes a 20-bit label field, a 3-bit Exp field that is reserved for experimental use, a 1-bit S field that is set to one for the oldest entry in the stack and zero for all other entries, and an 8-bit time-to-live (TTL) field that may be used to encode a hop count or time-to-live value.
- An MPLS label may also be referred to as an MPLS shim header. As shown in FIG. 1 , multiple MPLS labels or shim headers may be included in a single IP packet.
- the MPLS labels or shim headers are organized as a last-in, first-out stack and are processed based on the top MPLS label or shim header.
- an LSR may add an MPLS label or shim header to the stack (push operation) or remove an MPLS label or shim header from the stack (pop operation).
- IP networks packets are routed according to their address. Routers typically do a pattern match of a packet's destination address with a set of known address ranges in a route table. The table entry tells the router which way to send the packet.
- IP addresses have a layer of indirection through the domain name system (DNS).
- DNS domain name system
- a DNS is used to translate between domain names and IP addresses.
- various algorithms have evolved to create relationships between domain names and IP addresses.
- MPLS networks map IP address destinations to MPLS labels, which then determine the path and destination within the MPLS network that the IP packet will take. Unlike IP addresses, MPLS labels may not have global significance and an IP destination may be represented with different labels in different MPLS networks or even in different locations within the same MPLS network.
- a multiprotocol label switching (MPLS) packet is processed by receiving an MPLS packet that has first header information comprising at least a first MPLS label at a first MPLS network node.
- a translation system is operated to obtain second header information that comprises at least a second MPLS label.
- the MPLS packet is modified with the second header information.
- the MPLS packet is routed to a second MPLS network node based on the second header information.
- the first and second MPLS network nodes are in the same MPLS network.
- the first and second MPLS network nodes are in different MPLS networks.
- the first MPLS network node is a destination for a plurality of MPLS labels.
- the translation system comprises a domain name system (DNS) and/or an address resolution protocol (ARP) database.
- DNS domain name system
- ARP address resolution protocol
- the first MPLS network node is associated with a first inter-exchange carrier (IEC) network and the second MPLS network node is associated with a second inter-exchange carrier (IEC) network.
- IEC inter-exchange carrier
- the first header information comprises a plurality of MPLS labels.
- the second header information comprises a plurality of MPLS labels.
- the first header information comprises layer two and/or three headers.
- the second header information comprises layer two and/or three headers.
- modifying the MPLS packet with the second header information comprises replacing the first header information with the second header information.
- modifying the MPLS packet with the second header information comprises pushing the second header information on to the first header information.
- operating the translation system comprises evaluating at least one routing criterion and obtaining the second header information based on the evaluation of the at least one routing criterion.
- operating the translation system comprises operating the translation system to obtain the second header information responsive to the first header information.
- operating the translation system comprises operating the translation system to obtain the second header information and operating instructions for the first MPLS node.
- the translation system is external to the first and second MPLS network nodes.
- FIG. 1 is a block diagram that illustrates a conventional multiprotocol label switching (MPLS) label or shim header and internet protocol (IP) packet;
- MPLS multiprotocol label switching
- IP internet protocol
- FIG. 2 is a block diagram that illustrates an MPLS network in accordance with some embodiments of the present invention.
- FIG. 3 is a flowchart that illustrates operations for using a translation/instruction system to redirect an MPLS packet in accordance with some embodiments of the present invention.
- the present invention may be embodied as systems, methods, and/or computer program products. Accordingly, the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.). Furthermore, the present invention may take the form of a computer program product comprising a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system.
- a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
- the computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, and a portable compact disc read-only memory (CD-ROM).
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- CD-ROM portable compact disc read-only memory
- the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
- a “protocol” refers to a defined set of rules that govern the exchange of data or information between two or more entities.
- a “protocol layer” refers to the hierarchical protocol structure represented by the open systems interconnection (OSI) model developed by the International Organization for Standardization in which layer one corresponds to the physical layer, layer two corresponds to the data link layer, layer three corresponds to the network layer, layer four corresponds to the transport layer, layer five corresponds to the session layer, layer six corresponds to the presentation layer, and layer seven corresponds to the application layer.
- OSI open systems interconnection
- LSRs 205 and 210 in a multiprotocol label switching (MPLS) network, in accordance with some embodiments of the present invention, are illustrated.
- LSRs 205 and 210 comprise MPLS routing modules 215 and 220 , respectively, which may be configured to establish a label switched path (LSP) between the LSRs 205 and 210 .
- LSP label switched path
- the two LSRs 205 and 210 may communicate with a translation/instruction system 225 in accordance with some embodiments of the present invention that facilitates redirection of an MPLS packet in a manner that may be analogous to the use of “800” phone numbers in telephony applications.
- FIG. 2 illustrates an exemplary MPLS network
- the present invention is not limited to such configurations, but is intended to encompass any configuration capable of carrying out the operations described herein.
- the functionality of the MPLS routing modules 215 and 220 and the translation/instruction system 225 may be implemented using discrete hardware components, one or more application specific integrated circuits (ASICs), a programmed digital signal processor or microcontroller, a program stored in a memory and executed by a processor, and/or combinations thereof.
- ASICs application specific integrated circuits
- computer program code for carrying out operations of the MPLS routing modules 215 and 220 and the translation/instruction system 225 may be written in a high-level programming language, such as C or C++, for development convenience.
- computer program code for carrying out operations of the present invention may also be written in other programming languages, such as, but not limited to, interpreted languages. Some modules or routines may be written in assembly language or even micro-code to enhance performance and/or memory usage.
- These computer program instructions may also be stored in a computer usable or computer-readable memory that may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer usable or computer-readable memory produce an article of manufacture including instructions that implement the function specified in the flowchart and/or block diagram block or blocks.
- the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart and/or block diagram block or blocks.
- FIG. 3 operations begin at block 300 where an MPLS packet that has first header information that comprises at least a first MPLS label is received at a first node, such as LSR 205 of FIG. 2 .
- the LSR 205 may communicate with the translation/instruction system 225 , which is operable to obtain second header information that comprises at least a second MPLS label at block 305 .
- the translation/instruction system 225 may generate the second header information in response to the first header information.
- the translation/instruction system 225 may be operated to evaluate one or more routing criteria, such as, for example, the time of day, congestion on the network, or some other business parameter.
- the second header information may be generated based on the evaluation of the one or more routing criteria.
- the MPLS packet may be modified with the second header information at block 310 .
- the second header information may be used to replace the first header information in the MPLS packet or the second header information may be pushed on to the first header information on the MPLS packet.
- the LSR 205 may then route the MPLS packet to a second MPLS network node, such as LSR 210 , based on the second header information.
- the translation/instruction system 225 along with some optional business logic may be used to determine an indirect destination for a traffic flow.
- a particular node or LSR may function as a network indirection point in an MPLS network.
- the second header information may be applied to subsequent packets that bear at least a portion of the first header information for a number of packets, seconds, bytes, or some other defined event.
- LSRs 205 and 210 may be in the same MPLS network or in different MPLS networks. Embodiments of the present invention may be used to route traffic between separate MPLS networks that do not share a common MPLS label space.
- LSR 205 may be associated with a first inter-exchange carrier (IEC) network and LSR 210 may be associated with a second IEC network.
- IEC inter-exchange carrier
- LSR such as LSR 205
- LSR 205 may be configured as the destination for a plurality of MPLS labels. These labels may then map to one or more other labels that are used to redirect these packets to another destination.
- the first header information may comprise a plurality of MPLS labels and/or the second header information may comprise a plurality of MPLS labels. In this way, the packet may be forwarded to traverse a more complex path through one or more MPLS networks.
- the first header information may comprise a layer two and/or layer three protocol header and the second header information may comprise a layer two and/or layer three protocol header.
- the translation/instruction system 225 may be configured in various ways in accordance with various embodiments of the present invention.
- the translation/instruction system 225 comprises a domain name system (DNS) and/or an address resolution protocol (ARP) database in addition to the MPLS label translation functionality.
- DNS domain name system
- ARP address resolution protocol
- the DNS system is used to translate between domain names and IP addresses and the ARP system is used to map an IP address to a physical machine address.
- the translation/instruction system 225 may be operated to generate operating instructions for the first MPLS node.
- the first MPLS node may be operated in accordance with these instructions/directives to, for example, mirror packets to a monitoring port, log packet and/or flow information, change the quality of service associated with the traffic, and/or perform some other function.
- each block represents a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- the function(s) noted in the blocks may occur out of the order noted in FIG. 3 .
- two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending on the functionality involved.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 10/747,736, filed Dec. 29, 2003, the disclosure of which is hereby incorporated herein by reference.
- The present invention relates to communication networks, and, more particularly, to multiprotocol label switching (MPLS) communication networks.
- Multiprotocol label switching (MPLS) provides a technique for routing packet data based on a label field rather than a destination address. An MPLS network comprises a set of nodes, which are called label switched routers (LSRs), that switch/route packets based on a label that has been added to each packet. Labels are used to define a flow of packets between two nodes or, if packets are being broadcast in a multicast operation, between a source node and multiple destination nodes. A specific path through the LSRs called a label switched path (LSP) is defined for each distinct flow, which is called a forwarding equivalence class (FEC). At intervening nodes in an LSP, an LSR may route the packet based on the MPLS label value, remove the MPLS label (pop a label), and/or impose an additional label (push a label). The label may be removed at the node from the packet at a node that is just prior to the destination node in a particular LSP. This process is sometimes referred to as “penultimate hop popping.”
- Referring now to
FIG. 1 , an exemplary MPLS label and Internet Protocol (IP) packet are illustrated. The MPLS label is a 32-bit header that includes a 20-bit label field, a 3-bit Exp field that is reserved for experimental use, a 1-bit S field that is set to one for the oldest entry in the stack and zero for all other entries, and an 8-bit time-to-live (TTL) field that may be used to encode a hop count or time-to-live value. An MPLS label may also be referred to as an MPLS shim header. As shown inFIG. 1 , multiple MPLS labels or shim headers may be included in a single IP packet. The MPLS labels or shim headers are organized as a last-in, first-out stack and are processed based on the top MPLS label or shim header. As discussed above, an LSR may add an MPLS label or shim header to the stack (push operation) or remove an MPLS label or shim header from the stack (pop operation). - In IP networks, packets are routed according to their address. Routers typically do a pattern match of a packet's destination address with a set of known address ranges in a route table. The table entry tells the router which way to send the packet. Traditionally, IP addresses have a layer of indirection through the domain name system (DNS). A DNS is used to translate between domain names and IP addresses. Moreover, various algorithms have evolved to create relationships between domain names and IP addresses.
- MPLS networks map IP address destinations to MPLS labels, which then determine the path and destination within the MPLS network that the IP packet will take. Unlike IP addresses, MPLS labels may not have global significance and an IP destination may be represented with different labels in different MPLS networks or even in different locations within the same MPLS network.
- According to some embodiments of the present invention, a multiprotocol label switching (MPLS) packet is processed by receiving an MPLS packet that has first header information comprising at least a first MPLS label at a first MPLS network node. A translation system is operated to obtain second header information that comprises at least a second MPLS label. The MPLS packet is modified with the second header information. The MPLS packet is routed to a second MPLS network node based on the second header information.
- In other embodiments of the present invention, the first and second MPLS network nodes are in the same MPLS network.
- In still other embodiments of the present invention, the first and second MPLS network nodes are in different MPLS networks.
- In still other embodiments of the present invention, the first MPLS network node is a destination for a plurality of MPLS labels.
- In still other embodiments of the present invention, the translation system comprises a domain name system (DNS) and/or an address resolution protocol (ARP) database.
- In further embodiments of the present invention, the first MPLS network node is associated with a first inter-exchange carrier (IEC) network and the second MPLS network node is associated with a second inter-exchange carrier (IEC) network.
- In still further embodiments of the present invention, the first header information comprises a plurality of MPLS labels.
- In still further embodiments of the present invention, the second header information comprises a plurality of MPLS labels.
- In still further embodiments of the present invention, the first header information comprises layer two and/or three headers.
- In still further embodiments of the present invention, the second header information comprises layer two and/or three headers.
- In other embodiments of the present invention, modifying the MPLS packet with the second header information comprises replacing the first header information with the second header information.
- In still other embodiments of the present invention, modifying the MPLS packet with the second header information comprises pushing the second header information on to the first header information.
- In still other embodiments of the present invention, operating the translation system comprises evaluating at least one routing criterion and obtaining the second header information based on the evaluation of the at least one routing criterion.
- In still other embodiments of the present invention, operating the translation system comprises operating the translation system to obtain the second header information responsive to the first header information.
- In still other embodiments of the present invention, operating the translation system comprises operating the translation system to obtain the second header information and operating instructions for the first MPLS node.
- In still other embodiments of the present invention, the translation system is external to the first and second MPLS network nodes.
- Other systems, methods, and/or computer program products according to embodiments of the invention will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional systems, methods, and/or computer program products be included within this description, be within the scope of the present invention, and be protected by the accompanying claims.
- Other features of the present invention will be more readily understood from the following detailed description of specific embodiments thereof when read in conjunction with the accompanying drawings, in which:
-
FIG. 1 is a block diagram that illustrates a conventional multiprotocol label switching (MPLS) label or shim header and internet protocol (IP) packet; -
FIG. 2 is a block diagram that illustrates an MPLS network in accordance with some embodiments of the present invention; and -
FIG. 3 is a flowchart that illustrates operations for using a translation/instruction system to redirect an MPLS packet in accordance with some embodiments of the present invention. - While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the invention to the particular forms disclosed, but on the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the claims. Like reference numbers signify like elements throughout the description of the figures.
- The present invention may be embodied as systems, methods, and/or computer program products. Accordingly, the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.). Furthermore, the present invention may take the form of a computer program product comprising a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
- The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, and a portable compact disc read-only memory (CD-ROM). Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
- As used herein, the term “protocol” refers to a defined set of rules that govern the exchange of data or information between two or more entities. In addition, a “protocol layer” refers to the hierarchical protocol structure represented by the open systems interconnection (OSI) model developed by the International Organization for Standardization in which layer one corresponds to the physical layer, layer two corresponds to the data link layer, layer three corresponds to the network layer, layer four corresponds to the transport layer, layer five corresponds to the session layer, layer six corresponds to the presentation layer, and layer seven corresponds to the application layer.
- Referring now to
FIG. 2 , two nodes or label switch routers (LSRs) 205 and 210 in a multiprotocol label switching (MPLS) network, in accordance with some embodiments of the present invention, are illustrated. As shown inFIG. 2 ,LSRs 205 and 210 compriseMPLS routing modules LSRs 205 and 210 may communicate with a translation/instruction system 225 in accordance with some embodiments of the present invention that facilitates redirection of an MPLS packet in a manner that may be analogous to the use of “800” phone numbers in telephony applications. - Although
FIG. 2 illustrates an exemplary MPLS network, it will be understood that the present invention is not limited to such configurations, but is intended to encompass any configuration capable of carrying out the operations described herein. It will be appreciated that, in accordance with some embodiments of the present invention, the functionality of theMPLS routing modules instruction system 225 may be implemented using discrete hardware components, one or more application specific integrated circuits (ASICs), a programmed digital signal processor or microcontroller, a program stored in a memory and executed by a processor, and/or combinations thereof. In this regard, computer program code for carrying out operations of theMPLS routing modules instruction system 225 may be written in a high-level programming language, such as C or C++, for development convenience. In addition, computer program code for carrying out operations of the present invention may also be written in other programming languages, such as, but not limited to, interpreted languages. Some modules or routines may be written in assembly language or even micro-code to enhance performance and/or memory usage. - The present invention is described hereinafter with reference to flowchart and/or block diagram illustrations of methods, systems, and computer program products in accordance with exemplary embodiments of the invention. It will be understood that each block of the flowchart and/or block diagram illustrations, and combinations of blocks in the flowchart and/or block diagram illustrations, may be implemented by computer program instructions and/or hardware operations. These computer program instructions may be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart and/or block diagram block or blocks.
- These computer program instructions may also be stored in a computer usable or computer-readable memory that may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer usable or computer-readable memory produce an article of manufacture including instructions that implement the function specified in the flowchart and/or block diagram block or blocks.
- The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart and/or block diagram block or blocks.
- Operations for using a database to redirect an MPLS packet, in accordance with some embodiments of the present invention, will now be described with reference to
FIGS. 3 and 2 . Referring now toFIG. 3 , operations begin atblock 300 where an MPLS packet that has first header information that comprises at least a first MPLS label is received at a first node, such asLSR 205 ofFIG. 2 . TheLSR 205 may communicate with the translation/instruction system 225, which is operable to obtain second header information that comprises at least a second MPLS label atblock 305. The translation/instruction system 225 may generate the second header information in response to the first header information. In other embodiments, the translation/instruction system 225 may be operated to evaluate one or more routing criteria, such as, for example, the time of day, congestion on the network, or some other business parameter. The second header information may be generated based on the evaluation of the one or more routing criteria. - The MPLS packet may be modified with the second header information at
block 310. In accordance with various embodiments of the present invention, the second header information may be used to replace the first header information in the MPLS packet or the second header information may be pushed on to the first header information on the MPLS packet. TheLSR 205 may then route the MPLS packet to a second MPLS network node, such as LSR 210, based on the second header information. In this manner, the translation/instruction system 225 along with some optional business logic may be used to determine an indirect destination for a traffic flow. Moreover, a particular node or LSR may function as a network indirection point in an MPLS network. In particular embodiments of the present invention, the second header information may be applied to subsequent packets that bear at least a portion of the first header information for a number of packets, seconds, bytes, or some other defined event. - In accordance with various embodiments of the present invention,
LSRs 205 and 210 may be in the same MPLS network or in different MPLS networks. Embodiments of the present invention may be used to route traffic between separate MPLS networks that do not share a common MPLS label space. For example,LSR 205 may be associated with a first inter-exchange carrier (IEC) network and LSR 210 may be associated with a second IEC network. - As discussed above, use of the translation/
instruction system 225 to redirect MPLS packets may be analogous to “800” service in telephony. In this regard, an LSR, such asLSR 205, may be configured as the destination for a plurality of MPLS labels. These labels may then map to one or more other labels that are used to redirect these packets to another destination. - In other embodiments of the present invention, the first header information may comprise a plurality of MPLS labels and/or the second header information may comprise a plurality of MPLS labels. In this way, the packet may be forwarded to traverse a more complex path through one or more MPLS networks. In still other embodiments of the present invention, the first header information may comprise a layer two and/or layer three protocol header and the second header information may comprise a layer two and/or layer three protocol header.
- The translation/
instruction system 225 may be configured in various ways in accordance with various embodiments of the present invention. In some embodiments, the translation/instruction system 225 comprises a domain name system (DNS) and/or an address resolution protocol (ARP) database in addition to the MPLS label translation functionality. The DNS system is used to translate between domain names and IP addresses and the ARP system is used to map an IP address to a physical machine address. In other embodiments, the translation/instruction system 225 may be operated to generate operating instructions for the first MPLS node. The first MPLS node may be operated in accordance with these instructions/directives to, for example, mirror packets to a monitoring port, log packet and/or flow information, change the quality of service associated with the traffic, and/or perform some other function. - The flowchart of
FIG. 3 illustrates the architecture, functionality, and operations of some embodiments of methods, systems, and computer program products for using a translation/instruction system to redirect an MPLS packet flow. In this regard, each block represents a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in other implementations, the function(s) noted in the blocks may occur out of the order noted inFIG. 3 . For example, two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. - Many variations and modifications can be made to the embodiments described herein without substantially departing from the principles of the present invention. All such variations and modifications are intended to be included herein within the scope of the present invention, as set forth in the following claims.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/204,421 US20080317032A1 (en) | 2003-12-29 | 2008-09-04 | Methods for using a translation/instruction system to redirect a multiprotocol label switching (mpls) packet |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/747,736 US7433963B2 (en) | 2003-12-29 | 2003-12-29 | Methods, systems, and computer program products for using a translation/instruction system to redirect a multiprotocol label switching (MPLS) packet |
US12/204,421 US20080317032A1 (en) | 2003-12-29 | 2008-09-04 | Methods for using a translation/instruction system to redirect a multiprotocol label switching (mpls) packet |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/747,736 Continuation US7433963B2 (en) | 2003-12-29 | 2003-12-29 | Methods, systems, and computer program products for using a translation/instruction system to redirect a multiprotocol label switching (MPLS) packet |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080317032A1 true US20080317032A1 (en) | 2008-12-25 |
Family
ID=34794653
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/747,736 Active 2026-07-10 US7433963B2 (en) | 2003-12-29 | 2003-12-29 | Methods, systems, and computer program products for using a translation/instruction system to redirect a multiprotocol label switching (MPLS) packet |
US12/204,421 Abandoned US20080317032A1 (en) | 2003-12-29 | 2008-09-04 | Methods for using a translation/instruction system to redirect a multiprotocol label switching (mpls) packet |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/747,736 Active 2026-07-10 US7433963B2 (en) | 2003-12-29 | 2003-12-29 | Methods, systems, and computer program products for using a translation/instruction system to redirect a multiprotocol label switching (MPLS) packet |
Country Status (1)
Country | Link |
---|---|
US (2) | US7433963B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060023638A1 (en) * | 2004-07-29 | 2006-02-02 | Solutions4Networks | Proactive network analysis system |
US20100329258A1 (en) * | 2009-06-30 | 2010-12-30 | Alcatel-Lucent Usa Inc. | Dynamically enabling mpls stations and ports using an arp database |
US20110142054A1 (en) * | 2009-12-15 | 2011-06-16 | Thomas Bradley Scholl | Methods, apparatus and articles of manufacture to manipulate packet routing |
US20150244621A1 (en) * | 2013-03-14 | 2015-08-27 | Sprint Communications Company L.P. | Application labels for data communication |
US9954772B2 (en) | 2015-06-26 | 2018-04-24 | Microsoft Technology Licensing, Llc | Source imposition of network routes in computing networks |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7568047B1 (en) * | 2004-04-30 | 2009-07-28 | Nortel Networks Limited | Method and apparatus for adaptive service label management |
US20060007925A1 (en) * | 2004-07-12 | 2006-01-12 | Wright Steven A | Methods, systems, and computer program products for compressing a multiprotocol label switching (MPLS) shim header in a packet |
EP1971084A1 (en) * | 2007-03-14 | 2008-09-17 | British Telecommunications Public Limited Company | MPLS Transport network scheme |
US8531941B2 (en) | 2007-07-13 | 2013-09-10 | Cisco Technology, Inc. | Intra-domain and inter-domain bridging over MPLS using MAC distribution via border gateway protocol |
JP5691388B2 (en) * | 2010-10-25 | 2015-04-01 | 富士通株式会社 | Reception device, communication device, and reception method |
HUE029897T2 (en) * | 2011-04-13 | 2017-04-28 | Deutsche Telekom Ag | Method for transmitting a MPLS header, method for establishing a MPLS path and method for performing a handover of an MPLS path |
US8804736B1 (en) * | 2011-09-23 | 2014-08-12 | Juniper Networks, Inc. | Network tunneling using a label stack delimiter |
CN104601352B (en) | 2013-10-30 | 2019-02-12 | 华为技术有限公司 | A kind of network up and down data processing method, electronic equipment and system |
US10027587B1 (en) * | 2016-03-30 | 2018-07-17 | Amazon Technologies, Inc. | Non-recirculating label switching packet processing |
US10972383B2 (en) * | 2019-03-19 | 2021-04-06 | Arista Networks, Inc. | Method and system for processing network traffic using expanded labels |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030053414A1 (en) * | 2001-09-03 | 2003-03-20 | Hitachi, Ltd. | Method of transferring packets and router device therefor |
US20030053464A1 (en) * | 2001-09-18 | 2003-03-20 | Chen Xiaobao X | Method of sending data packets through a multiple protocol label switching MPLS network, and a MPLS network |
US20060013209A1 (en) * | 2003-06-19 | 2006-01-19 | Cisco Technology, Inc. | Apparatus and methods for handling shared services through virtual route forwarding(VRF) -aware- NAT |
US7031607B1 (en) * | 2000-02-21 | 2006-04-18 | Nortel Networks Limited | MPLS application to optical cross-connect using wavelength as a label |
US7082140B1 (en) * | 2000-03-17 | 2006-07-25 | Nortel Networks Ltd | System, device and method for supporting a label switched path across a non-MPLS compliant segment |
US7174427B2 (en) * | 2003-12-05 | 2007-02-06 | Intel Corporation | Device and method for handling MPLS labels |
-
2003
- 2003-12-29 US US10/747,736 patent/US7433963B2/en active Active
-
2008
- 2008-09-04 US US12/204,421 patent/US20080317032A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7031607B1 (en) * | 2000-02-21 | 2006-04-18 | Nortel Networks Limited | MPLS application to optical cross-connect using wavelength as a label |
US7082140B1 (en) * | 2000-03-17 | 2006-07-25 | Nortel Networks Ltd | System, device and method for supporting a label switched path across a non-MPLS compliant segment |
US20030053414A1 (en) * | 2001-09-03 | 2003-03-20 | Hitachi, Ltd. | Method of transferring packets and router device therefor |
US20030053464A1 (en) * | 2001-09-18 | 2003-03-20 | Chen Xiaobao X | Method of sending data packets through a multiple protocol label switching MPLS network, and a MPLS network |
US20060013209A1 (en) * | 2003-06-19 | 2006-01-19 | Cisco Technology, Inc. | Apparatus and methods for handling shared services through virtual route forwarding(VRF) -aware- NAT |
US7174427B2 (en) * | 2003-12-05 | 2007-02-06 | Intel Corporation | Device and method for handling MPLS labels |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060023638A1 (en) * | 2004-07-29 | 2006-02-02 | Solutions4Networks | Proactive network analysis system |
US20100020715A1 (en) * | 2004-07-29 | 2010-01-28 | Solutions4Networks | Proactive Network Analysis System |
US7986632B2 (en) | 2004-07-29 | 2011-07-26 | Solutions4Networks | Proactive network analysis system |
US20100329258A1 (en) * | 2009-06-30 | 2010-12-30 | Alcatel-Lucent Usa Inc. | Dynamically enabling mpls stations and ports using an arp database |
US20110142054A1 (en) * | 2009-12-15 | 2011-06-16 | Thomas Bradley Scholl | Methods, apparatus and articles of manufacture to manipulate packet routing |
US8411667B2 (en) * | 2009-12-15 | 2013-04-02 | At&T Intellectual Property I, L.P. | Methods, apparatus and articles of manufacture to manipulate packet routing |
US9148372B2 (en) | 2009-12-15 | 2015-09-29 | At&T Intellectual Property I, L.P. | Methods, apparatus and articles of manufacture to manipulate packet routing |
US20150244621A1 (en) * | 2013-03-14 | 2015-08-27 | Sprint Communications Company L.P. | Application labels for data communication |
US9749238B2 (en) * | 2013-03-14 | 2017-08-29 | Sprint Communications Company L.P. | Application labels for data communication |
US9954772B2 (en) | 2015-06-26 | 2018-04-24 | Microsoft Technology Licensing, Llc | Source imposition of network routes in computing networks |
Also Published As
Publication number | Publication date |
---|---|
US20050165952A1 (en) | 2005-07-28 |
US7433963B2 (en) | 2008-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080317032A1 (en) | Methods for using a translation/instruction system to redirect a multiprotocol label switching (mpls) packet | |
US20220376987A1 (en) | Segment routing: pce driven dynamic setup of forwarding adjacencies and explicit path | |
EP1158725B1 (en) | Method and apparatus for multi- redundant router protocol support | |
US6295296B1 (en) | Use of a single data structure for label forwarding and imposition | |
US8718060B2 (en) | Technique for multiple path forwarding of label-switched data traffic | |
US20140341222A1 (en) | Segment routing mapping server for ldp/sr interoperability | |
US20040174882A1 (en) | Method and system for sending return messages in mpls networks | |
US20060182105A1 (en) | Apparatus and method for transmitting multi protocol label switching (MPLS) multicast packets over Ethernet | |
US7864776B2 (en) | Method and equipment for making a routing decision dependent on a quality-of-service class | |
US7450578B2 (en) | Method of addressing and routing data | |
US8149832B2 (en) | Methods, systems, and computer program products for pushing and/or popping multiple multiprotocol label switching (MPLS) labels/shim headers at a single node | |
US8225389B2 (en) | Method and system to provide physical port security in a digital communication system | |
US20050147096A1 (en) | Methods, systems, and computer program products for using multiprotocol label switching (MPLS) to allocate network resources according to traffic type | |
US9432285B2 (en) | Methods, systems, and computer program products for routing traffic between nodes in a network that are connected by redundant links | |
US8457119B2 (en) | Methods, systems, and computer program products for routing traffic between nodes in a network that are connected by redundant links |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: AT&T INTELLECTUAL PROPERTY I, L.P., NEVADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ANSCHUTZ, THOMAS ARNOLD;REEL/FRAME:021493/0132 Effective date: 20031216 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: BELLSOUTH INTELLECTUAL PROPERTY CORPORATION, DELAWARE Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 021493 FRAME 0132. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. ASSIGNEE NAME SHOULD READ: BELLSOUTH INTELLECTUAL PROPERTY CORPORATION;ASSIGNOR:ANSCHUTZ, THOMAS ARNOLD;REEL/FRAME:053382/0391 Effective date: 20031216 Owner name: AT&T INTELLECTUAL PROPERTY, INC., TEXAS Free format text: CHANGE OF NAME;ASSIGNOR:BELLSOUTH INTELLECTUAL PROPERTY CORPORATION;REEL/FRAME:053383/0464 Effective date: 20070427 Owner name: AT&T DELAWARE INTELLECTUAL PROPERTY, INC., DELAWARE Free format text: CHANGE OF NAME;ASSIGNOR:AT&T BLS INTELLECTUAL PROPERTY, INC.;REEL/FRAME:053384/0253 Effective date: 20071101 Owner name: AT&T BLS INTELLECTUAL PROPERTY, INC., DELAWARE Free format text: CHANGE OF NAME;ASSIGNOR:AT&T INTELLECTUAL PROPERTY, INC.;REEL/FRAME:053384/0428 Effective date: 20070727 |
|
AS | Assignment |
Owner name: AT&T INTELLECTUAL PROPERTY I, L.P., GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AT&T DELAWARE INTELLECTUAL PROPERTY, INC.;REEL/FRAME:054106/0278 Effective date: 20200804 |