top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

What is the difference between Hop by Hop id and end to end id in Diameter Header?

+2 votes
What is the difference between Hop by Hop id and end to end id in Diameter Header?
posted Apr 18, 2015 by Gnanendra Reddy

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

+5 votes
Best answer

Diameter protocol messages have two naming conventions Request/Answer, for example: Capability Exchange Request (CER) and Capability Exchange Answer (CEA). A diameter message may travel through many intermediate nodes to reach final destination. I would like to explain use of hop-by-hop Id and end-to-end Id through an example. Assume Node 'A 'wants to send a diameter message request 'M' to Node 'C' and there is no direct connection between Nodes A and C. There is an agent node 'B' between A and C.

A<-----------------> B<-------------------> C

Each diameter message has a header i.e. known as diameter header. Diameter header has hop-by-hop Id and end-to-end Id information elements. Hop-by-Hop Id is an unsigned 32 bit number and unique across direct connection between A and B and B and C. I meant to say that hop-by-hop Id gets changed between A and B and B and C but end to end Id doesn't change between A and C. None of the intermediate node alter end to end Id in received diameter header.

answer Apr 18, 2015 by Harshita
Well explained HArshita !
+ 1
Similar Questions
+2 votes

The DRA is between e.g. MME and HSS or SGSN and HSS and maybe between HSS and IMS S-CSCF/I-CSCF. In the IETF Spec RFC3588 you can read the following: IETF - RFC3588

The Hop-by-Hop Identifier is an unsigned 32-bit integer field (in network byte order) and aids in matching requests and replies. The sender MUST ensure that the Hop-by-Hop identifier in a request is unique on a given connection at any given time, and MAY attempt to ensure that the number is unique across reboots. The sender of an Answer message MUST ensure that the Hop-by-Hop Identifier field contains the same value that was found in the corresponding request. The Hop-by-Hop identifier is normally a monotonically increasing number, whose start value was randomly generated. An answer message that is received with an unknown Hop-by-Hop Identifier MUST be discarded.

--> for me it sounds like that the HbHid must not jump in numbers but rather increase step by step sequential – is that also your experience?

Issue: I wonder if that Hop-by-Hop Identifier really increases the number sequentially as it seems to be a similar Parameter like the Local Reference in SS7 (DLR, SLR). I do not recall that in SS7 the Source/Destination Local Reference Numbers have to be increased sequentially.
If the Hop-by-Hop ID jumps too much, the other side may not be able to follow and Signalling errors occur? Have you seen problems on HSS or MME when that Hop-by-Hop Identifier increases in big steps rather than sequential?

0 votes

What is the use of keeping the same information in two places like Application-Id in the Diameter header and Application-Id as AVP ?

+3 votes

I saw Capabilities-Exchange-Request and Capabilities-Exchange-Answer messages. In CER message there are two places where Vendor-Id AVP is present, one as an independent AVP and the other one as part of Vendor-Specific-Application-Id AVP. If both of them are present in request message then both will be having same value or can hold different values.