Yesterday I had a discussion about running the same service, for example SMTP, on the same port on a server. I think this is possible by assigning multiple ip addresses to the server and bind the service to each ip/port combination. However we ended up in a discussion and came to the conclusion that we missed the theoretical background.
We got stuck at the metaphor that the server is the house, reachable by multiple (ip) addresses and ports are the rooms. The rooms have numbers, but there is only one room per number. This would mean that whatever address is used to reach the house, you will always end up in the same room.
I think it does not work that way, the combination of the ip/port port of the request makes the request unique. The OS can handle multiple services on the same port number as long as the service is binded to an ip address.
It is not a question on how to run two type X web servers on port 80 on OS type Y. I would like to know how this works on a conceptual level so I can understand and it explain this to somebody else
[EDIT]
Maybe my question is a bit woolly. The question is: Is it possible to have multiple ip addresses on a server and split the traffic per ip address, hence having multiple ports 25 on one server.
And if so, how do I explain that to somebody who does not believe that. A good metaphor maybe?