Re: [Dime] Diameter retransmission -- to use same hop-by-hop and end-to-end IDs?

Dave Dolson <> Tue, 08 March 2016 15:39 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D3C6D12D7A9 for <>; Tue, 8 Mar 2016 07:39:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.921
X-Spam-Status: No, score=-1.921 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id HuDzmBz8JEb7 for <>; Tue, 8 Mar 2016 07:39:36 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id DDE3612D793 for <>; Tue, 8 Mar 2016 07:39:35 -0800 (PST)
Received: from ([fe80::68ac:f071:19ff:3455]) by ([::1]) with mapi id 14.03.0195.001; Tue, 8 Mar 2016 10:39:34 -0500
From: Dave Dolson <>
To: "" <>, Jouni Korhonen <>, "" <>
Thread-Topic: [Dime] Diameter retransmission -- to use same hop-by-hop and end-to-end IDs?
Thread-Index: AdF2LjriJijEGmCoTaamN5Kg9/9UQAAZL78AALiNeYAACUDe4A==
Date: Tue, 08 Mar 2016 15:39:34 +0000
Message-ID: <>
References: <> <> <30712_1457449240_56DEE918_30712_6072_1_6B7134B31289DC4FAF731D844122B36E01DFA14E@OPEXCLILM43.corporate.adroot.infra.ftgroup>
In-Reply-To: <30712_1457449240_56DEE918_30712_6072_1_6B7134B31289DC4FAF731D844122B36E01DFA14E@OPEXCLILM43.corporate.adroot.infra.ftgroup>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
x-c2processedorg: b2f06e69-072f-40ee-90c5-80a34e700794
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <>
Subject: Re: [Dime] Diameter retransmission -- to use same hop-by-hop and end-to-end IDs?
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 08 Mar 2016 15:39:38 -0000

Thanks Jouni and Lionel.

I understand the argument that a receiver may see a different hop-by-hop ID on a retransmitted message, especially if it took a different path to arrive.

But I'm still unclear on whether the originator of a retransmitted request MUST use a different hop-by-hop ID or whether it MAY use the same one?

It seems like it may use the same one without harm.


-----Original Message-----
From: DiME [] On Behalf Of
Sent: Tuesday, March 08, 2016 10:01 AM
To: Jouni Korhonen;
Subject: Re: [Dime] Diameter retransmission -- to use same hop-by-hop and end-to-end IDs?

Hi David,

I agree with Jouni.
See below for more details.



> -----Message d'origine-----
> De : DiME [] De la part de Jouni Korhonen
> Envoyé : vendredi 4 mars 2016 23:56
> À :
> Objet : Re: [Dime] Diameter retransmission -- to use same hop-by-hop and
> end-to-end IDs?
> Hi,
> On top of my head.. and in a tired condition :)
> 3/4/2016, 7:55 AM, Dave Dolson kirjoitti:
> > Hello Diameter experts,
> >
> > We've been looking to the specs in order to answer the question as to
> > whether a
> >
> > retransmitted Diameter request MUST/SHOULD/SHOULD NOT/MAY use
> the same
> >
> > hop-by-hop and end-to-end identifiers as the original request.
> >
> > Can anyone point to the position of the standards, or ad hoc standards
> > in this regard?
> RFC6733 Section 3 says "The sender MUST ensure that the Hop-by-Hop
> Identifier in a request is unique on a given connection at any given time". So
> if a different transport connection is used as a result of retransmission, the h-
> b-h id could potentially be different than in the original request. If different
> h-b-h ids were used over the same connection for the same buffered
> request messages that should also work.. I do not recall any text specifically
> prohibiting that. Not that I would find this kind of behaviour good, either..

[LM] The HBH id is rather manage at the Diameter node level than at the connection level. In several places, it is said "locally unique value" without reference to any connection. More specifically, in the relay/proxy case, it is even said "The Hop-by-Hop Identifier in the request is saved and replaced with a  locally unique value.  The source of the request is also saved, which includes the IP address, port, and protocol." which must be interpreted as that only the HBH Id is required to match received answers and information about source of the request is only used for forwarding the answer to the request originator. And this is confirmed by "A Diameter client or proxy MUST match the Hop-by-Hop Identifier in an answer received against the list of pending requests." where the notion of HBH id per connection would not make sense. 
Anyway, in any case the HBH Id in the duplicate request is different from the HBH id of the original request.  Any request must have unique HBH Id as specified in "The Hop-by-Hop Identifier SHOULD be set to a locally unique value" in the section 6.1.2. "Sending a request", that is valid for any request (original or retransmitted).

> RFC6733 Section 3 says "The End-to-End Identifier MUST NOT be modified by
> Diameter agents of any kind." Also "Duplicate requests SHOULD cause the
> same answer to be transmitted (modulo the Hop-by-Hop Identifier field and
> any routing AVPs that may be present), and they MUST NOT affect any state
> that was set when the original request was processed."
> And Section 5.5.4. says "The End-to-End Identifier field in the Diameter
> header along with the Origin-Host AVP MUST be used to identify duplicate
> messages."
> The combination of Origin-Host and e-t-e id must be unique for duplicate
> detection. Now if either one changes the receiver potentially has issues
> determining correctly to which previously seen message the request was a
> retransmission for.
[LM] if either one is change, it is a new request from a Diameter base protocol point of view. There is no way for the server to detect that the request is a retransmitted request, even if the T flag is set in the request. It will not be able to match the retransmitted request to the original one.

> > A secondary question is whether an agent MUST/SHOULD/SHOULD
> >
> > use the same hop-by-hop identifier when forwarding a retransmitted
> > request that it used the
> >
> > first time the message was seen.
> >
> > My sense is that an agent is not required to do so, but may it do so?
> See above.
[LM] When a request is retransmitted by a proxy/relay, the agent is the "originator" of the retransmitted request. The principle given in section 6.1.2 applies here also. The HBH Id in a retransmitted request will be different from the one in the request initially forwarded.

> - JOuni
> >
> > Thanks in advance,
> >
> > David Dolson
> >
> > Senior Software Architect, Sandvine Inc.
> >
> >
> >
> > _______________________________________________
> > DiME mailing list
> >
> >
> >
> _______________________________________________
> DiME mailing list


Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.

DiME mailing list