(RADIATOR) Duplicate detection doesn't use source port

Hugh Irvine hugh at open.com.au
Tue Sep 6 01:09:10 CDT 2005


Hello Jonathon -

You will need to make the code changes and then do some testing.

As mentioned, we need to know what Cisco actually does when sending a  
duplicate.

I have a vague recollection that we have been down this path  
previously, but that every radius request sent by the Cisco used a  
different source port which made it impossible to do duplicate  
detection anyway. Please let us know the results of your testing and  
we'll consider your modifications.

regards

Hugh


On 6 Sep 2005, at 14:51, Jonathan Kinred wrote:

> Hi Hugh,
>
> I will see what i can do regarding the information from Cisco.
>
> In the meantime i have found that the number of source ports is  
> only 200, i had previously been informed that it was in the 10's of  
> thousands :). So i think the potential memory usage per NAS would  
> be 200 ports x 255 identifiers x 2 request types x sizeof(RecvTime)  
> which is ok for us.
>
> Saying that, we'd have to hack the Client.pm code to extend the  
> RecentIdentifiers hash to include a source port:
>
> From:
> $self->{RecentIdentifiers}->{$p->{RecvFromAddress}}->{$code.$p- 
> >identifier}
>
> to:
> $self->{RecentIdentifiers}->{$p->{RecvFromAddress}}->{$p-> 
> {RecvFromPort}}->{$code.$p->identifier}
> or:
> $self->{RecentIdentifiers}->{$p->{RecvFromAddress}.$p-> 
> {RecvFromPort}}->{$code.$p->identifier}
>
> We're not that keen on tracking this change through radiator  
> versions so ideally we'd like to see an option like  
> DupSourcePortCheck which turns this on.
>
> What do you think?
>
> Jonathan
>
>
> Hugh Irvine wrote:
>
>> Hello Jonathon -
>> If you can find out from Cisco how they indicate that a  
>> particular  request is a duplicate when extended source ports are  
>> turned on, we  will be only too happy to implement their  
>> algorithm. Note that the  RFC does not cover the case of different  
>> source ports for each  request. In the absence of any other  
>> information, setting DupInterval  0 is your only option in the  
>> Radiator configuration file (or  NoIgnoreDuplicates for finer  
>> grained control).
>> regards
>> Hugh
>> On 6 Sep 2005, at 11:43, Jonathan Kinred wrote:
>>
>>> Hi,
>>>
>>> During testing we discovered that the source port of a request  
>>> is  not taken into account for duplicate detection. With the  
>>> default  DupInterval of 2 seconds this means that Radiator will  
>>> start  ignoring packets as dupes when a NAS sends more than ~128  
>>> requests  per second. We are using a Cisco SSG and want to turn  
>>> on extended  source ports, so we're definitely going to run into  
>>> the excessive  memory problem below.
>>>
>>> I'm wondering if there is a more elegant way for Radiator to  
>>> handle  this rather than breaking the RFC and not using the  
>>> source port. I  am thinking along the lines of having requests  
>>> purged from the  RecentIdentifiers hash when they exceed  
>>> DupInterval. It sounds like  an expensive operation but as i see  
>>> it our only option for these  NAS's is to enable  
>>> NoIgnoreDuplicates or live with the 128 per  second limit.
>>>
>>> I'd also like to hear if someone has a better solution using the   
>>> current Radiator versions.
>>>
>>> -- 
>>> Jonathan Kinred
>>> System Administrator
>>> Dot Communications
>>>
>>>
>>> Revision 3.6 (2003-04-14 Significant improvements to wireless  
>>> support)
>>> Client duplicate detection now ignores the source port, due to  
>>> some  clients (notably Cisco APs) using a different port for  
>>> every  request, resulting in excessive memory usage.
>>>
>>> Revision 2.16.2 (21/8/00) Minor fixes
>>> Duplicate checking now takes the client port into account, as   
>>> required by RFC 2865.
>>>
>>> -- 
>>> Archive at http://www.open.com.au/archives/radiator/
>>> Announcements on radiator-announce at open.com.au
>>> To unsubscribe, email 'majordomo at open.com.au' with
>>> 'unsubscribe radiator' in the body of the message.
>>>
>>>
>> NB:
>> Have you read the reference manual ("doc/ref.html")?
>> Have you searched the mailing list archive (www.open.com.au/ 
>> archives/ radiator)?
>> Have you had a quick look on Google (www.google.com)?
>> Have you included a copy of your configuration file (no secrets),
>> together with a trace 4 debug showing what is happening?
>


NB:

Have you read the reference manual ("doc/ref.html")?
Have you searched the mailing list archive (www.open.com.au/archives/ 
radiator)?
Have you had a quick look on Google (www.google.com)?
Have you included a copy of your configuration file (no secrets),
together with a trace 4 debug showing what is happening?

-- 
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. Available on *NIX, *BSD, Windows, MacOS X.
-
Nets: internetwork inventory and management - graphical, extensible,
flexible with hardware, software, platform and database independence.
-
CATool: Private Certificate Authority for Unix and Unix-like systems.


--
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.


More information about the radiator mailing list