Forum


Notice to all users

We are migrating towards a new forum system located at community.teamspeak.com, as such this forum will become read-only on January 29, 2020

Results 1 to 3 of 3
  1. #1
    Join Date
    January 2010
    Location
    El Prat de Llobregat (Barcelona, Spain)
    Posts
    2,698

    How is the _tsdns SRV Record managed by the client?

    First at all: it is just curiosity but don't kill the cat.

    Trying to understand how the client resolves the _tsdns SRV Record.

    Using
    Code:
    08/01/2014 9:53:01		Info	TeamSpeak 3 Client 3.0.13.1 (2013-10-23 12:10:11)	
    08/01/2014 9:53:01		Info	SystemInformation: Windows XP SP2 (2600) x86 Binary: 32bit
    Case of one subdomain: sub1.teamspeak.com
    Code:
    08/01/2014 13:42:36	ClientUI	Info	Connect to server: sub1.teamspeak.com	
    08/01/2014 13:42:36	ClientUI	Info	Trying to resolve sub1.teamspeak.com	
    08/01/2014 13:42:36	TSDNS	Info	No SRV TSDNS found at "_tsdns._tcp.sub1.teamspeak.com"	
    08/01/2014 13:42:36	TSDNS	Info	SRV TSDNS found at "_tsdns._tcp.teamspeak.com"=>"voice.teamspeak.com:41144" and queried successfully. Result: 194.97.114.2:9987	
    
    08/01/2014 13:42:36	TSDNS	Info	No TSDNS found at "sub1.teamspeak.com"
    It seems that if the subdomain doesn't exist then search in the main domain.
    But also possible that if the subdomain doesn't exist then search in the previous subdomain.


    Case of two subdomains: sub2.sub1.teamspeak.com
    Code:
    08/01/2014 13:43:43	ClientUI	Info	Connect to server: sub2.sub1.teamspeak.com	
    08/01/2014 13:43:43	ClientUI	Info	Trying to resolve sub2.sub1.teamspeak.com	
    08/01/2014 13:43:43	TSDNS	Info	No SRV TSDNS found at "_tsdns._tcp.sub2.sub1.teamspeak.com"	
    08/01/2014 13:43:43	TSDNS	Info	SRV TSDNS found at "_tsdns._tcp.teamspeak.com"=>"voice.teamspeak.com:41144" and queried successfully. Result: 194.97.114.2:9987
    
    08/01/2014 13:43:43	TSDNS	Info	No TSDNS found at "sub1.teamspeak.com"	
    08/01/2014 13:43:43	TSDNS	Info	No TSDNS found at "sub2.sub1.teamspeak.com"
    Then It seems that if the indicated subdomain doesn't exist then search directly in the main domain.

    Case of three subdomains: sub3.sub2.sub1.teamspeak.com
    Code:
    08/01/2014 13:44:43	ClientUI	Info	Connect to server: sub3.sub2.sub1.teamspeak.com	
    08/01/2014 13:44:43	ClientUI	Info	Trying to resolve sub3.sub2.sub1.teamspeak.com	
    08/01/2014 13:44:43	TSDNS	Info	No SRV TSDNS found at "_tsdns._tcp.sub1.teamspeak.com"	
    08/01/2014 13:44:43	TSDNS	Info	No SRV TSDNS found at "_tsdns._tcp.sub2.sub1.teamspeak.com"	
    08/01/2014 13:44:44	TSDNS	Info	SRV TSDNS found at "_tsdns._tcp.teamspeak.com"=>"voice.teamspeak.com:41144" and queried successfully. Result: 194.97.114.2:9987	
    08/01/2014 13:44:44	ClientUI	Info	Lookup finished: 194.97.114.2 9987 sub3.sub2.sub1.teamspeak.com 1 0	
    
    08/01/2014 13:44:43	TSDNS	Info	No TSDNS found at "sub2.sub1.teamspeak.com"
    It seems that it looks in the second and first subdomain but not in the third one.


    Case of four subdomains: sub4.sub3.sub2.sub1.teamspeak.com
    Code:
    08/01/2014 13:45:54	ClientUI	Info	Connect to server: sub4.sub3.sub2.sub1.teamspeak.com	
    08/01/2014 13:45:54	ClientUI	Info	Trying to resolve sub4.sub3.sub2.sub1.teamspeak.com	
    08/01/2014 13:45:54	TSDNS	Info	No SRV TSDNS found at "_tsdns._tcp.sub1.teamspeak.com"	
    08/01/2014 13:45:54	TSDNS	Info	No SRV TSDNS found at "_tsdns._tcp.sub2.sub1.teamspeak.com"	
    08/01/2014 13:45:54	TSDNS	Info	SRV TSDNS found at "_tsdns._tcp.teamspeak.com"=>"voice.teamspeak.com:41144" and queried successfully. Result: 194.97.114.2:9987	
    08/01/2014 13:45:54	ClientUI	Info	Lookup finished: 194.97.114.2 9987 sub4.sub3.sub2.sub1.teamspeak.com 1 0	
    
    08/01/2014 13:45:54	TSDNS	Info	No TSDNS found at "sub1.teamspeak.com"
    It seems it looks in the second, in the first and in the main.

    Conclusion: In case of a _tsdns SRV record the client searchs in the second and first subdomain only and then in the main domain.

    But now the curiosity appears:

    Q1) Why does it search first for "_tsdns._tcp.sub1.teamspeak.com" and after for "_tsdns._tcp.sub2.sub1.teamspeak.com", or is it a collateral effect when writting into the log file?


    Q2) What is happening with the search for a TSDNS server?
    When case of sub2.sub1 it seems that first it searchs for sub1 and then for sub2.sub1
    but
    when case of sub3.sub2.sub1 only it searchs for sub2.sub1.teamspeak.com but not for sub1
    but
    when case of sub4.sub3.sub2.sub1. only in sub1.teamspeak.com
    --> What is happening in the search for the TSDNS server?
    It seems it's also limited to the first and second subdomain but in the log not always appears.

  2. #2
    Join Date
    April 2011
    Location
    Germany
    Posts
    1,266
    I am no dev! Only they can really answer this. I am only a network professional.

    But I can say this... my knowledge is derived from wire capturing and analysing more than a hundred client connects of a recent teamspeak client.

    First there is a maximum of 8 (eight) dns queries. The teamspeak client will never send more then 8 dns queries in a single connection run. And there is a minimum number of 4 (four) dns queries.

    The sequence of the dns queries is quite random. There is no real priority or even a sequential walking through the name hierachy. They send all those dns queries in fast succession. All queries are send before the first answer from the dns server is available. So the sequence in your log is even more random because in addition to the randomness of the queries there is to add the randomness of the answers.

    With a hostname like "domain.xx" you'll always get four dns queries... 2xA domain.xx, 1xSRV tcp domain.xx and 1xSRV udp domain.xx!

    With a hostname like "sub.domain.xx" you'll get six dns queries... 2xA sub.domain.xx, 1xA domain.xx, 1xSRV tcp sub.domain.xx, 1xSRV tcp domain.xx and 1xSRV udp sub.domain.xx!

    With a hostname like "sub1.sub2.domain.xx" you'll reach the maximum of eight dns queries... even if you try "sub1.sub2.sub3.domain.xx" or even "sub1.sub2.sub3.sub4.domian.xx" there will be no more then eight dns queries.

    "sub1.sub2.domain.xx": 2xA sub1.sub2.domain.xx, 1xA sub2.domain.xx, 1xA domain.xx, 1xSRV udp sub1.sub2.domain.xx, 1xSRV tcp sub1.sub2.domain.xx, 1xSRV tcp sub2.domain.xx and 1xSRV tcp domain.xx!

    "sub1.sub2.sub3.domain.xx": 1xA sub1.sub2.sub3.domain.xx, 1xA sub2.sub3.domain.xx, 1xA sub3.domain.xx, 1xA domain.xx, 1xSRV udp sub1.sub2.sub3.domain.xx, 1xSRV tcp sub2.sub3.domain.xx, 1xSRV tcp sub3.domain.xx and 1xSRV tcp domain.xx!

    "sub1.sub2.sub3.sub4.domian.xx": 1xA sub1.sub2.sub3.sub4.domian.xx, 1xA sub3.sub4.domian.xx, 1xA sub4.domian.xx, 1xA domian.xx, 1x SRV udp sub1.sub2.sub3.sub4.domian.xx, 1xSRV tcp sub3.sub4.domian.xx, 1xSRV tcp sub4.domian.xx and 1x SRV tcp domian.xx!

    As you can see with that self imposed maximum of eight dns queries they need to try only those queries which are more likely to be successful.

    In my opinion as network professional they do some redundant network polluting dns queries. I'd like to say it is a kind of dns harassment they do.

    To answer your Q1 and Q2... there is no sequence logic. The client does not ask first sub1.dom.xx and then sub1.sub2.dom.xx, it asks them in a random sequence and waits for the even more random answers.
    Last edited by Barungar; January 8th, 2014 at 05:37 PM.

  3. #3
    Join Date
    May 2007
    Location
    Eastern NC
    Posts
    1,801
    Looks like the TSDNS SRV record search is using the same rules as the search for the TSDNS server. I think if you read the TSDNS document it states it only looks in domain + 2 sub domains.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. [Evaluation] SRV Record implementation in Client faulty
    By Barungar in forum Bug Reports [EN/DE]
    Replies: 11
    Last Post: August 22nd, 2017, 10:15 PM
  2. TS3 Client randomely ignores SRV record
    By masteerjvdw in forum Server Support
    Replies: 2
    Last Post: February 1st, 2015, 09:03 AM
  3. [Resolved] _tsdns SRV record in Android
    By PotaBlava in forum Android
    Replies: 19
    Last Post: January 17th, 2014, 09:51 AM
  4. [bug] TS3 Client isn't reading SRV record properly.
    By willy_sunny in forum Bug Reports [EN/DE]
    Replies: 1
    Last Post: March 26th, 2013, 06:33 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •