Abstract:
According to one aspect, the subject matter described herein includes a method for routing Diameter messages. The method includes steps occurring at a Diameter signaling router (DSR) comprising a plurality of Diameter message processors. The method also includes receiving, by a first of the plurality of Diameter message processors and from a first Diameter node, a Diameter message, wherein the Diameter message is received via a first Diameter connection. The method further includes determining, by the first Diameter message processor, a next-hop Diameter node for the Diameter message. The method further includes communicating, by the first of the plurality of Diameter message processors and to a second of the plurality of Diameter message processors, the Diameter message. The method further includes communicating, by the second Diameter message processor and to the next-hop Diameter node, the Diameter message, wherein the Diameter message is communicated via a second Diameter connection.

Description:
PRIORITY CLAIM 
     This application is a continuation of U.S. patent application Ser. No. 13/025,968, filed Feb. 11, 2011, which claims the benefit of U.S. Provisional Patent Application Ser. No. 61/304,310, filed Feb. 12, 2010; the disclosure of which is incorporated herein by reference in its entirety. 
     STATEMENT OF INCORPORATION BY REFERENCE 
     The disclosures of each of the following commonly-owned, co-pending U.S. patent applications filed on Feb. 11, 2011 are hereby incorporated herein by reference in their entireties: 
     “Methods, Systems, and Computer Readable Media for Source Peer Capacity-Based Diameter Load Sharing” (Ser. No. 13/026,031); 
     “Methods, Systems, and Computer Readable Media for Inter-Message Processor Status Sharing,” (Ser. No. 13/026,105); 
     “Methods, Systems, and Computer Readable Media for Providing Priority Routing at a Diameter Node,” (Ser. No. 13/026,060); 
     “Methods, Systems, and Computer Readable Media for Providing Peer Routing at a Diameter Node,” (Ser. No. 13/026,076); 
     “Methods, Systems, and Computer Readable Media for Providing Origin Routing at a Diameter Node,” (Ser. No. 13/026,081); 
     “Methods, Systems, and Computer Readable Media for Providing Local Application Routing at a Diameter Node,” (Ser. No. 13/026,098); 
     “Methods, Systems, and Computer Readable Media for Answer-Based Routing of Diameter Request Messages,” (Ser. No. 13/026,112); 
     “Methods, Systems, and Computer Readable Media for Performing Diameter Answer Message-Based Network Management at a Diameter Signaling Router (DSR),” (Ser. No. 13/026,125); 
     “Methods, Systems, and Computer Readable Media for Multi-Interface Monitoring and Correlation of Diameter Signaling Information,” (Ser. No. 13/026,133); 
     “Methods, Systems, and Computer Readable Media for Diameter Protocol Harmonization,” (Ser. No. 13/026,144); 
     “Methods, Systems, and Computer Readable Media for Diameter Network Management,” (Ser. No. 13/026,153); and 
     “Methods, Systems, and Computer Readable Media for Diameter Application Loop Prevention,” (Ser. No. 13/026,162). 
    
    
     TECHNICAL FIELD 
     The subject matter described herein relates to inter-Diameter-message processor routing. More specifically, the subject matter relates to methods, systems, and computer readable media for inter-Diameter-message processor routing. 
     BACKGROUND 
     The Diameter protocol is a next generation authentication, authorization, and accounting (AAA) protocol. The Diameter base protocol is defined in IETF RFC 3588, the disclosure of which is incorporated by reference herein in its entirety. Commonly used within the Internet multimedia subsystem (IMS) architecture, the Diameter protocol was derived from the remote authentication dial-in user service (RADIUS) protocol. Historically, the RADIUS protocol was employed by Internet service providers (ISPs) to provide a secure communication channel between an ISP&#39;s access server and a secure location where user credential information was stored, e.g., a lightweight directory access protocol (LDAP) server. While the RADIUS protocol provided a standardized AAA exchange protocol, the emergence of new technologies and applications necessitated the development of a protocol capable of meeting ever-changing demands. Diameter aims to extend the standardized approach of RADIUS while providing expanded functionality and remaining open to future development. 
     The above-referenced Diameter RFC does not specify an architecture for Diameter routing or processing nodes. Likewise, the standards do not specify a method for inter-message processor routing when a Diameter element includes a distributed architecture. Accordingly, a need exists for methods, systems, and computer readable media for inter-Diameter-message processor routing. 
     SUMMARY 
     According to one aspect, the subject matter described herein includes a method for routing Diameter messages. The method includes steps occurring at a Diameter signaling router (DSR) comprising a plurality of Diameter message processors. The method includes receiving, by a first of the plurality of Diameter message processors and from a first Diameter node, a Diameter message, wherein the Diameter message is received via a first Diameter connection. The method further includes determining, by the first of the plurality of Diameter message processors, a next-hop Diameter node for the Diameter message. The method further includes communicating, by the first Diameter message processor and to a second of the plurality of Diameter message processors, the Diameter message. The method further includes communicating, by the second Diameter message processor and to the next-hop Diameter node, the Diameter message, wherein the Diameter message is communicated via a second Diameter connection. 
     According to another aspect, the subject matter described herein includes a system for routing Diameter messages. The system includes a Diameter signaling router. The Diameter signaling router includes first and second Diameter message processors. The first Diameter message processor is configured to: receive, from a first Diameter node and via a first Diameter connection, a Diameter message; determine a next-hop Diameter node for the Diameter message; and communicate, to the second Diameter message processor, the Diameter message. The second Diameter message processor is configured to communicate to the next-hop Diameter node, via a second Diameter connection, the Diameter message. 
     According to another aspect, the subject matter described herein includes a system for routing Diameter messages. The system includes a first Diameter node and a second Diameter node. The system further includes a DSR, wherein the DSR appears to the first Diameter node as a Diameter peer having a first Diameter identity and the DSR appears to the second Diameter node as a Diameter peer having a second Diameter identity, the first and second Diameter identities being different from each other. 
     As used herein, the term “node” refers to a physical computing platform including one or more processors and memory. 
     The subject matter described herein can be implemented in software in combination with hardware and/or firmware. For example, the subject matter described herein may be implemented in software executed by one or more processors. In one exemplary implementation, the subject matter described herein may be implemented using a non-transitory computer readable medium having stored thereon computer executable instructions that when executed by the processor of a computer control the computer to perform steps. Exemplary computer readable media suitable for implementing the subject matter described herein include non-transitory computer readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The subject matter described herein will now be explained with reference to the accompanying drawings of which: 
         FIG. 1  is a network diagram illustrating a Diameter networking environment which implements Diameter relay nodes for routing Diameter messages between Diameter nodes; 
         FIG. 2  is a message flow diagram illustrating the routing of a Diameter message in a Diameter networking environment which implements Diameter relay nodes for routing Diameter messages between Diameter nodes; 
         FIG. 3  is a network diagram illustrating an exemplary network that includes a Diameter signaling router (DSR) which includes multiple Diameter message processors (MPs) that utilize common routing information stored at each MP to route Diameter messages according to an embodiment of the subject matter described herein; 
         FIG. 4  is a network diagram illustrating an exemplary network that includes a DSR which includes multiple MPs that utilize common routing information stored in a shared repository to route Diameter messages according to an embodiment of the subject matter described herein; 
         FIG. 5  is a network diagram illustrating in more detail exemplary MPs for routing Diameter messages according to an embodiment of the subject matter described herein; 
         FIG. 6  is a network diagram illustrating an exemplary inter-MP message format used for routing Diameter messages between Diameter message processors using a non-Diameter protocol according to an embodiment of the subject matter described herein; 
         FIG. 7  is a message flow diagram illustrating the routing of a Diameter message according to an embodiment of the subject matter described herein; 
         FIG. 8  illustrates an exemplary peer routing table (PRT) for routing Diameter messages according to an embodiment of the subject matter described herein; 
         FIG. 9  illustrates an exemplary route list table (RLT) for routing Diameter messages according to an embodiment of the subject matter described herein; 
         FIG. 10  illustrates a table listing advantages associated with routing Diameter messages according to an embodiment of the subject matter described herein; 
         FIG. 11  is a flow chart illustrating an exemplary process for routing Diameter messages according to an embodiment of the subject matter described herein; and 
         FIG. 12  is a network diagram illustrating an exemplary network that includes a DSR which appears to have different Diameter identities from the perspective of different Diameter peer nodes according to an embodiment of the subject matter described herein. 
     
    
    
     DETAILED DESCRIPTION 
     Methods, systems, and computer readable media for inter-Diameter-message processor routing are provided. 
     In general, Diameter messages may be routed utilizing Diameter routing agents. Diameter routing agents may route Diameter messages from a network element towards their proper Diameter realm and destination. Additionally, Diameter routing agents may provide relay, proxy, redirect, and translation services.  FIG. 1  is a network diagram illustrating a Diameter networking environment which implements Diameter relay nodes for routing Diameter messages between Diameter nodes. Referring to  FIG. 1 , network  100  may include Diameter peer nodes  102  and  104 . Network  100  may further include Diameter relay nodes  106 ,  108 ,  110 , and  112 . Diameter relay nodes  106 ,  108 ,  110 , and  112  may respectively utilize distinct routing information stored in distinct peer routing tables  114 ,  116 ,  118 , and  120 . Peer routing tables  114 ,  116 ,  118 , and  120  may specify a “next hop” Diameter node for a given destination Diameter node. For example, if a Diameter message destined for Diameter peer node “B” arrives at Diameter relay node  106 , PRT  114  specifies the “next hop” Diameter node as Diameter relay node  112 . Similarly, if a Diameter message destined for Diameter per node “B” arrives at Diameter relay node  112 , PRT  120  specifies the “next hop” Diameter node as Diameter peer node  104 , the Diameter message&#39;s destination. 
       FIG. 2  is a message flow diagram illustrating the routing of a Diameter message in a Diameter networking environment which implements Diameter relay nodes for routing Diameter messages between Diameter nodes. Referring to  FIG. 2 , at step  1 , Diameter peer node A  102  may send to Diameter relay node  106  a Diameter protocol request message destined for Diameter peer node B  104 . Diameter relay node  106  may perform a Diameter routing lookup utilizing the routing information stored in PRT  114 . The routing information stored in PRT  114  specifies that a Diameter message destined for Diameter peer node B  104  has a next hop Diameter node of Diameter relay node  112 . At step  2 , Diameter relay node  106  may send to Diameter relay node  112  the Diameter protocol request message destined for Diameter peer node B  104 . Diameter relay node  112  may perform a Diameter routing lookup utilizing the routing information stored in PRT  120 . The routing information stored in PRT  120  specifies that a Diameter message destined for Diameter peer node B  104  has a next hop Diameter node of Diameter peer node  104 , the destination of the Diameter protocol request message. 
     As  FIGS. 1 and 2  illustrate, three “hops” are required in order for a Diameter protocol message destined for Diameter peer node “B” to progress from Diameter peer node “A”  102  through Diameter networking environment  100  to Diameter peer node “B”  104 : (1) from Diameter peer node  102  to Diameter relay node  106 ; (2) from Diameter relay node  106  to Diameter relay node  112 ; and (3) from Diameter relay node  112  to Diameter peer node  104 . Importantly, not only are three hops required, but two Diameter routing lookups must be performed: (1) at Diameter relay node  106 , using PRT  114 ; and (2) at Diameter relay node  112 , using PRT  120 . Significant overhead is associated with Diameter routing lookups and can result in limited throughput, transaction per second rates, and scalability. 
       FIGS. 1 and 2  are not admitted prior art. Rather,  FIGS. 1 and 2  illustrate one way in which Diameter routing could be performed and the disadvantages in performing Diameter routing in this manner. 
       FIG. 3  is a network diagram illustrating an exemplary network that includes a DSR which includes multiple Diameter MPs that utilize common routing information stored at each MP to route Diameter messages according to an embodiment of the subject matter described herein. Referring to  FIG. 3 , network  300  may include Diameter peer node “A”  302  and Diameter peer node “B”  304 . Network  300  may further include DSR  306 . 
     DSR  306  may be any suitable entity for routing or relaying Diameter signaling messages between Diameter nodes. For example, DSR  306  may be a long term evolution (LTE) signaling router, an LTE Diameter signaling router, a Diameter signaling agent, a Diameter proxy agent, a Diameter relay agent, a Diameter routing agent, a Diameter translation agent, or a Diameter redirect agent. DSR  306  may include functionality for processing various messages. In one embodiment, DSR  306  may communicate with various Diameter nodes via one or more 3rd generation partnership project (3GPP) LTE communications interfaces. In another embodiment, DSR  306  may communicate with various Diameter nodes via one or more other (e.g., non-LTE) communications interfaces. For example, DSR  306  may communicate with Internet protocol (IP) multimedia subsystem (IMS) nodes, such as call session control functions (CSCFs), using IMS-related interfaces. 
     A DSR may include multiple Diameter MPs. For example, DSR  306  includes Diameter MPs  308 ,  310 ,  312 , and  314 . A Diameter MP may be configured to host one or more Diameter applications. A Diameter MP may be a distinct message processing module of a distributed computing platform, a computing blade in a blade-based distributed computing platform, a processing core element associated with a single or multi-core computing device, or a virtual node instantiated on a single physical message processing/computing device. A Diameter MP may utilize the Diameter protocol to route Diameter messages to external Diameter peer nodes. 
     DSR  306  may include multiple distinct message processing modules of a distributed computing platform, multiple computing blades in a blade-based distributed computing platform, multiple processing core elements associated with single or multi-core computing devices, or multiple virtual nodes instantiated on single physical message processing/computing devices. As such, an embodiment of DSR  306  may be located in a single distinct geographic location and communicate via an internal communications network. In an alternate embodiment, DSR  306  may include multiple elements located in geographically diverse locations and communicating via an external communications network. 
     Diameter MPs may be associated with a single Diameter identity. For example, Diameter MP  308  and Diameter MP  314  may be associated with a single Diameter identity “X” and appear as a single Diameter entity having Diameter identity “X,” both from the perspective of Diameter peer node “A”  302  and the perspective of Diameter peer node “B”  304 . In such an embodiment, DSR  306  may also appear as a single Diameter entity having Diameter identity “X,” both from the perspective of Diameter peer node “A”  302  and the perspective of Diameter peer node “B”  304 . In another embodiment, Diameter MPs may be associated with different Diameter identities. For example, Diameter MP  308  may be associated with Diameter identity “X” and Diameter MP  314  may be associated with Diameter identity “Y.” In such an embodiment, Diameter MPs  308  and  314  may appear as single Diameter entities, respectively having Diameter identities “X” and “Y,” while DSR  306  may appear as a single Diameter entity having multiple Diameter identities. For example, from the perspective of Diameter peer node “A”  302 , DSR  306  may have Diameter identity “X,” while from the perspective of Diameter peer node “B”  304 , DSR  306  may have Diameter identity “Y.” 
     In one embodiment, Diameter MPs may utilize copies of the same routing information stored at each Diameter MP. For example, Diameter MPs  308 ,  310 ,  312 , and  314  may respectively utilize copies of the same routing information stored in PRTs and/or RLTs  316 ,  318 ,  320 , and  322 . In accordance with an embodiment of the subject matter described herein, Diameter MPs may use PRTs and/or RLTs for inter-MP routing. For example, Diameter MP  308  may utilize PRT/RLT  316  to route a Diameter message received from Diameter peer node “A”  302  and destined for Diameter peer node “B”  304  to egress Diameter MP  314 , as identified by PRT/RLT  316 . Moreover, because PRT/RLT  316  further identifies next-hop Diameter peer node “B”  304 , and an egress connection ID “Conn — 12” existing between Diameter MP  314  and Diameter peer node “B”  304 , a subsequent Diameter lookup at Diameter MP  314  may not be required. In another embodiment, Diameter MPs may utilize common routing information stored in a shared repository. 
       FIG. 4  is a network diagram illustrating an exemplary network that includes a DSR which includes multiple MPs that utilize common routing information stored in a shared repository to route Diameter messages according to an embodiment of the subject matter described herein. Elements  400 ,  402 ,  404 ,  406 ,  408 ,  410 ,  412 , and  414  are essentially identical to their respective counterparts  300 ,  302 ,  304 ,  306 ,  308 ,  310 ,  312 , and  314  in  FIG. 3 , and therefore their descriptions will not be repeated here. Referring to  FIG. 4 , Diameter MPs may utilize common routing information stored in a shared PRT and/or a shared RLT. For example, Diameter MPs  408 ,  410 ,  412 , and  414  may utilize common routing information stored in PRT/RLT table  416 . As in the above example, Diameter MP  408  may utilize PRT/RLT  416  to route a Diameter message received from Diameter peer node “A”  402  and destined for Diameter peer node “B”  404  to egress Diameter MP  414 , as identified by PRT/RLT  416 . Moreover, because PRT/RLT  416  further identifies next-hop Diameter peer node “B”  404  and an egress connection ID “Conn — 12” existing between Diameter MP  414  and Diameter peer node “B”  404 , a subsequent Diameter lookup at Diameter MP  414  may not be required. 
       FIG. 5  is a network diagram illustrating in more detail exemplary MPs for routing Diameter messages according to an embodiment of the subject matter described herein. Referring to  FIG. 5 , Diameter peer node “A”  402  may communicate with Diameter MP  408  via a Diameter protocol connection  500  that utilizes Diameter protocol/stack routing module  502  and Diameter peer node “B”  404  may communicate with Diameter MP  414  via a Diameter protocol connection  504  that utilizes Diameter protocol/stack routing module  506 . In accordance with an embodiment of the subject matter described herein, Diameter MPs may communicate within the DSR via a non-Diameter protocol connection. For example, Diameter MPs  408  and  414  may respectively utilize non-Diameter protocol stack/routing modules  510  and  512  to communicate via non-Diameter protocol connection  508 . 
     In accordance with an embodiment of the subject matter described herein, Diameter MPs may route a Diameter message between themselves using a non-Diameter protocol. Routing a Diameter message using a non-Diameter protocol may be advantageous by reducing the overhead required for a connection, for example, connection  508  between Diameter MPs  408  and  414 . In addition, routing a Diameter message using a non-Diameter protocol may reduce the number of Diameter stack/routing lookups required for a Diameter message to pass from Diameter peer node “A”  402  to Diameter peer node “B”  404 . For example, Diameter protocol stack/routing module  502  may be utilized for a Diameter message received by Diameter MP  408  from Diameter peer node “A”  402  and destined for Diameter peer node “B”  404 . Diameter stack/routing module  502  may identify next-hop Diameter peer node “B”  404  and may further identify a non-Diameter protocol route for the message to travel through DSR  406 . Diameter MPs  408  and  414  may utilize non-Diameter protocol stack routing modules  510  and  512  to route the message from Diameter MP  408  to Diameter MP  414  over non-Diameter protocol connection  508 . Moreover, because Diameter protocol stack/routing module  502  has already identified Diameter peer node “B”  404  and a non-Diameter protocol route for the message to travel through DSR  406 , non-Diameter protocol stack/routing module  506  may be utilized by Diameter MP  414  to route the message to Diameter peer node “B”  404 , thereby reducing the overall number of Diameter lookups. 
     Routing Diameter messages using a non-Diameter protocol may enable Diameter peer nodes  402  and  404  to communicate in accordance with the Diameter protocol via DSR  406 , while simultaneously facilitating communication within DSR  406  without the overhead associated with the establishment of a Diameter connection. 
     Non-Diameter protocol stack/routing module  510  may insert a Diameter message processor identifier and a Diameter connection identifier in a received message or add the identifiers to the message before sending the message to Diameter message processor  414 . Non-Diameter protocol stack/routing module  512  may receive the message, examine the message processor identifier and the connection identifier, determine that an outbound Diameter route lookup is not required and that the message should be forwarded to next-hop Diameter node  414  via the connection identified in the message. In one embodiment, the non-Diameter protocol utilized may include an inter-processor message format that includes the original Diameter PDU along with a tag used for inter-MP routing.  FIG. 6  is a network diagram illustrating an exemplary inter-MP message for routing Diameter messages using a non-Diameter protocol according to an embodiment of the subject matter described herein. Referring to  FIG. 6 , DSR  406  may include Diameter MPs  408  and  414 . In accordance with an embodiment of the subject matter described herein, Diameter MP  408  may receive a Diameter message  600  from an external Diameter peer node. Diameter MP  408  may utilize routing information stored in PRT  416  to determine that the Diameter message is destined for a Diameter peer node having a Diameter connection with Diameter MP  414 . Diameter MP  408  may create a non-Diameter protocol message  602  that contains at least a portion  604  of Diameter message  600 . In one embodiment, non-Diameter protocol message  602  may encapsulate Diameter message  600 . Non-Diameter protocol message  602  may include inter-MP routing tag  606 . Inter-MP routing tag  606  may include, for example, the identity/address of a Diameter MP having a Diameter connection with the next-hop Diameter peer node and/or information identifying the Diameter connection between the Diameter MP and the next-hop Diameter peer node for the message. In the illustrated example, non-Diameter protocol message  602  includes inter-MP routing tag  606  which identifies Diameter MP  414  and connection  608  between Diameter MP  414  and a next-hop Diameter peer node. 
     In accordance with an embodiment of the subject matter described herein, Diameter MP  408  may route non-Diameter protocol message  602  to another Diameter MP. For example, Diameter MP  408  may route non-Diameter protocol message  602  to Diameter MP  414 . Diameter MP  408  may insert or add inter-MP routing tag  606  to Diameter message  600  or message portion  604  prior to forwarding the message to Diameter MP  414 . In one embodiment, Diameter MP  414  may determine that non-Diameter protocol message  602  is from a Diameter MP within DSR  406 . For example, Diameter MP  414  may determine that non-Diameter protocol message  602  is from a Diameter MP within DSR  406  by detecting the existence of inter-MP routing tag  606 , or Diameter MP  414  may determine that non-Diameter protocol message  602  is from a Diameter MP within DSR  406  based on the interface on which non-Diameter protocol message  602  is received. Diameter MP  414  may utilize inter-MP routing tag  606  to route the original Diameter message  600  or a portion thereof to an external Diameter peer node. For example, Diameter MP  414  may create a second Diameter message  610 . Diameter message  610  may contain at least a portion  604  of Diameter message  600 . Diameter MP  414  may forward Diameter message  610  to an external Diameter peer node via connection  608 . 
       FIG. 7  is a message flow diagram illustrating the routing of a Diameter message according to an embodiment of the subject matter described herein. Referring to  FIG. 7 , at step  1 , Diameter peer node “A”  402  may send to Diameter peer node “B”  404  a request message according to the Diameter protocol. DSR  406 , which includes Diameter MP  408  and Diameter MP  414 , may serve a communication path existing between Diameter peer node “A”  402  and Diameter peer node “B”  404 . Diameter MP  408  may receive the Diameter request message from Diameter peer node A  402  and create a non-Diameter protocol message that includes at least a part of the received Diameter request message. At step  2 , Diameter MP  408  may route the non-Diameter protocol message that it created to Diameter MP  414 . Diameter MP  414  may create a second Diameter message that includes the at least a portion of the first Diameter message. At step  3 , Diameter MP  414  may forward the second Diameter message to Diameter peer node “B”  404 . 
       FIGS. 8 and 9  illustrate exemplary data that may be stored in a peer routing table and associate route list table that may be used by Diameter message processors within a DSR for routing Diameter signaling messages between message processors according to an embodiment of the subject matter described herein. Referring to  FIG. 8 , peer routing table  800  includes a variety of fields that are used to route Diameter signaling messages. For example, a lookup may be performed at an ingress message processor based on a combination of destination host, destination realm, application identifier, originating host, and an originating realm parameter stored in the message. It should be noted that some or all of these parameters may be used in performing the route lookup. If the result of the lookup in the route table matches one of the entries, the action field in the route table is used to determine the action to be performed for the message. The route list field in the peer routing table is used to determine a route list identifier, which is used to perform a lookup in the route list table. Referring to  FIG. 9 , route list table  900  includes entries that are accessible via route list identifiers, which are determined from the peer routing table. The route list identifier determined from the peer routing table may match multiple entries in route list table  900 . The priority, weight, and route status may be used to identify the route that a particular message will take. For example, if the route list determined for a message is “BLUE_NW,” the selected route name may be “BLUE_PEER1,” “BLUE_PEER2,” or “BLUE_PEER3,” depending on the priority of the message, the status of the route, and the weight assigned to the particular route. 
     The egress message processor identifier field contains data that is used to create the inter-MP status tag that is added to the message before sending the message to the egress message processor. The egress connection identifier field in the table is also added to the inter-MP routing tag and is used by the egress message processor to identify the egress Diameter connection. 
       FIG. 10  illustrates a table listing advantages associated with routing Diameter messages according to an embodiment of the subject matter described herein. Referring to  FIG. 10 , table  1000  graphically compares and contrasts the use of Diameter and non-Diameter message processor (MP)-to-MP protocols. Both Diameter and non-Diameter MP-to-MP protocols are Ethernet/IP based. While both Diameter and non-Diameter MP-to-MP protocols are reliable and connection oriented, utilizing non-Diameter MP-to-MP protocol is not limited to stream control transmission protocol (SCTP) or transmission control protocol (TCP). Diameter protocol provides security via standards-based security protocols such as Internet protocol security (IPSEC) and transport layer security (TLS) which are associated with high overhead. In contrast, non-Diameter MP-to-MP protocol security is provided via a closed/private network and is associated with low overhead. Diameter protocol message content is limited to Diameter standard protocol data unit (PDU) format. In contrast, non-Diameter MP-to-MP protocol may include Diameter standard PDU and may further include additional proprietary fields for minimizing processing overhead over the full ingress-egress path, handling error conditions, and managing in-service upgrades. Diameter protocol employs a routing strategy that utilizes Diameter routing at each MP which is associated with high overhead and relies primarily on static routing rules which results in perpetual message bouncing when egress paths are unavailable. In contrast, non-Diameter MP-to-MP protocol employs a routing strategy in which routing is optimized to minimize overhead across the full ingress-to-egress path using proprietary message content (e.g., by obviating the necessity for the egress node to perform another Diameter route lookup) and complements static routing rules with proprietary inter-MP status sharing to choose “available” egress paths. 
       FIG. 11  is a flow chart illustrating an exemplary process for routing Diameter messages according to an embodiment of the subject matter described herein. Referring to  FIG. 11 , in step  1100 , a first Diameter MP receives a Diameter message from a first Diameter node via a first Diameter connection. For example, an ingress message processor within a DSR may receive a message over a Diameter connection from a Diameter peer of the ingress message processor. In step  1102 , the first Diameter MP determines a next-hop Diameter node for the Diameter message. For example, the first Diameter message processor may perform a lookup in a shared or non-shared peer routing table to determine the next-hop external Diameter node as well as the Diameter message processor within the DSR used to reach the next-hop Diameter node. In step  1104 , the first Diameter MP communicates the Diameter message to a second Diameter MP. For example, the first MP may add the inter-MP status tag to the first Diameter message and forward the message with the tag to the egress Diameter MP. In step  1106 , the second Diameter MP communicates the Diameter message to the next-hop Diameter node via a second Diameter connection. For example, the second Diameter MP may use information in the inter-MP status tag to identify the message as being directed to the egress MP, as not requiring another route lookup, and to identify the outbound Diameter connection to the peer. 
       FIG. 12  is a network diagram illustrating an exemplary network that includes a DSR which appears to have different Diameter identities from the perspective of different Diameter peer nodes for routing Diameter messages according to an embodiment of the subject matter described herein. Referring to  FIG. 12 , network  1200  may include Diameter peer node “A”  1202  and Diameter peer node “B”  1204 . Network  1200  may further include DSR  1206 . In accordance with an embodiment of the subject matter described herein, DSR  1206  may appear to a first Diameter peer node as a first Diameter node having a first Diameter identity and appear to a second Diameter peer node as a second Diameter node having a second Diameter identity different from the first Diameter identity. For example, DSR  1206  may appear to Diameter peer node “A”  1202  as a first Diameter node having Diameter identity “X” and appear to Diameter peer node “B”  1204  as a second Diameter node having Diameter identity “Y.” 
     It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the subject matter described herein. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation, as the subject matter described herein is defined by the claims as set forth hereinafter.