View Issue Details

IDProjectCategoryView StatusLast Update
0000587AniDB UDP APIFeature Requestpublic2007-04-15 06:50
Reporterncmaothvez Assigned Toepoximator  
Status resolvedResolutionfixed 
Summary0000587: Extend 300 PONG reply to include port (and IP) from which the PING was sent.
Modify PING command to accept a nat=1 option. If the sent PING command includes this option, then the 300 PONG reply is extended to also include port (and IP) from which the PING command was sent.

Two reasons:

* 1. This would make it possible to code clients that auto-adjust the time between sent PINGs.

Example: For each received PONG reply, the client should compare the reported port with the port in the previous PONG reply. If both replies report the same port, then the client should increase the time between sent PING commands (?by an API defined amount?). The client should continue to increase the time for each received PONG reply until the port in the last received PONG reply differs from the previous PONG reply. At this point the client should start decreasing the time until the last and previous received PONG replies report the same port.

End result: The number of PINGs sent will be kept as low as possible while trying to prevent a NAT router from closing the port. Also, this will prevent the client from getting banned (or at least reduce the risk of getting banned) due to PINGs comming from too many different ports.

* 2. Provides an easy way to determine if the router has changed the outgoing port. Currently its only possible to determine this by logging out and then logging in again with the nat=1 option. A passive client that only listens for 271 or 272 replies while sending out PINGs, won't know if the router has changed the port and could potentially miss 271 or 272 replies.
TagsNo tags attached.


There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2007-02-15 17:45 ncmaothvez New Issue
2007-03-20 07:11 epoximator Status new => assigned
2007-03-20 07:11 epoximator Assigned To => epoximator
2007-04-15 06:50 epoximator Status assigned => resolved
2007-04-15 06:50 epoximator Resolution open => fixed