Route Domains on NAT

Hi,

I would like to ask if it is possible to do routing based on the source domain.
the problem what i am facing is that i have two or more domains and i have only one public IP address and behind the public ip address i have a NAT with few servers(with private ip addresses).
Is it possible to route the traffic so that when a user request a domain based on the requested domain he will be routed to a specific server, but not only the HTTP traffic i mean the whole traffic?

For example when a user telnet,ftp,ssh,http,etc to a domain he should be routed to Public IP and the router should route him to a specific Machine inside the NAT based on the domain the the user entered.

many thanks in advance

No, that is not possible.

In HTTP this works because you specify the host in the HTTP request, e.g. GET / HTTP/1.1\r\nHost: foo.bar\r\n.
This is a protocol specific thing, and does not exist for other protocols.

thanks for you answer, but i really think it should have any solution for this.
it is similar to source based routing but only that the source is a Domain instant of a ip address( i am thinking of layer 7 routing).
the thing is that i have few server behind my nat and only one public ip address but i would like to get access to all servers and all port to each server.i though that this is possible with domains.

P.S.
does any other router support that ?

neither telnet, nor ssh, nor ping, nor ftp carry info about domain name. you should forward different ports to different services, for example:

public_ip:2201 - ssh to server1
public_ip:2202 - ssh to server2
public_ip:2301 - ftp to server1
public_ip:2302 - ftp to server2
etc.