Whats the difference between a physical and logical host?How can we know while connecting to a host whether its a physical or logical one?
Whats the difference between a physical and logical host?How can we know while connecting to a host whether its a physical or logical one?
The only physical identification of a host is its physical layer hardware identifier. In Ethernet this is the MAC (Media Access Control) address usually contained in the NIC (Network Interface Controller). In a given broadcast domain the MAC has to be unique. So, the MAC is how you could identify a specific host.
However, some softwares (usually the operating system) will allow the MAC to be changed by a configuration utility software. So, the MAC doesn't have to remain the same over time for a given physical host ; the MAC just has to be unique at any given time when communicating via the physical data transport medium.
Every other address used in networking (layer 2-7) is virtual (logical) in some respect. The particular networking regime (protocol stack) will usually require that addresses at a specific layer be unique ... but the addresses are a temporal creation of the software that is running on a given host at a given time. Since application platform hosts (operating systems) are easily virtualized nowadays it can be problematic to identify on which physical host a particular layer 2-7 address actually resides. In other words : It is possible that the same software using the same address(es) could be present on multiple physical hosts in a network but using said addresses in a logical non-conflicting manner such that connecting to addressA at time0 and at time1 actually results in connections to different physical hosts.
It is more typical though that the layer 2-7 addresses ARE assigned to specific physical hosts in a static (unchanging) manner - at least after initial configurations and completed. The flexibility of software and possible architectures doesn't require that addresse remain static, but humans generally find it more understandable and manageable if everything is made static, so that is what you would expect in most scenarios.
So, how can one know for sure (in any situation) which physical host you have connected to at a specific time ? Maybe you can't know for certain ... without tracking down the physical hardware address like a MAC address. However to make systems of software and networks amenable to use by humans most system architects implement unique device, session, host, etc. names within a confined name space - i.e. names are unique within that group of systems.
So, if you connect to machine XYZ (it says its name is XYZ on the welcome page or in response to a device information query) you can be reasonably sure that it is physical host XYZ or some device name that is unique within that name space according to the static mapping of names to physical devices.
Check with your friendy local sysadmin to get correct information about your local conditions and architectures.
Easy, right ?