The correct explanation is that "do you know" is present tense and "have you known" is present perfect. Present perfect means the action was begun in the past and is now complete. You can't ask how long something is happening in the present, but you can ask how long something has happened from the past until now.