We discussed the communication between neighboring peers in Chapter , and specifically Section 3.2 showed basic concepts of the Diameter session spanning multiple Diameter nodes. This chapter looks at the details of communication between two Diameter nodes that are not adjacent.
4.2 The Routing Table
The routing table is a data structure internal to the Diameter node that contains information on how to handle Diameter request messages: either consuming the request message locally or processing the request further before routing it to the appropriate adjacent peer. There is typically one routing table per Diameter node; however, multiple routing tables are possible when routing based on policy configuration.
Each routing table entry points to one or more peer table entries. Typically there is a single peer table entry for each routing table entry. However, as discussed in Chapter 3 a single destination may have multiple peer control blocks (PCB), for example in the case of multiple connection instances. How the Diameter application and the routing table lookup selects the peer table entry in this case is implementation specific. Aspects such as peer load information or other priorities may affect the selection.
Different types of Diameter nodes use the routing table differently. Diameter clients use the routing table only to find an adjacent peer to whom to forward the originated request message. Diameter servers consume the received ...