Hi Jerome,
Just to elaborate a bit on Slavic's response, DotNetNuke accomplishes this magic through the use of HttpModules. If you look in your web.config, you'll see, under configuration/system.web/httpModules the following entry:
<add name="UrlRewrite" type="DotNetNuke.HttpModules.UrlRewriteModule, DotNetNuke.HttpModules" />
You'll definitely want to read up on httpModules, but essentially each registered module has the opportunity to handle EVERY request that his the ASP.NET process (which includes nonexistant .aspx pages, but not by default .html or .gif pages).
So even for a nonexistent url such as http://localhost/dotnetnuke/tabid/39/Default.aspx, this httpmodule will get a chance to process the request.
That's the first piece of the puzzle. The second piece is how the httpModule converts the request to a usable one. This is essentially executed by converting the intermediate url tokens to querystring parameters.
So the above url is converted by the httpModule code to: http://localhost/dotnetnuke/Default.aspx?TabId=39. Once the httpModule has performed this conversion, the URL is passed off for "normal" handling.
The converted url does exist at /localhost/dotnetnuke/Default.aspx, and is henceforth handled normally. DNN picks up the desired TabId via querystring.
Naturally I've simplified things a bit, but this is the essence of what goes on behind the scenes.
Hope this helps!
Brandon