 Now, while we have seen this idea of IP addresses at a conceptual level, there are a lot of intricacies which are important in order for the internet to function. At one level, there is the idea of being able to translate one address into another. For example, we saw that there were three levels of addresses. We saw that there were MAC addresses and then there were IP addresses and then there were logical addresses. So who translates a logical address into an IP address? That's called the domain name service. So there is a server whose job is simply to give a domain name which could be www.iid.bombay.ac.in to come back with the IP address for that domain. Now, the IP address itself, we can see that there could be multiple IP addresses for a given domain and so on. So there will be one machine or a group of machines to which the domain name is mapped to. So this domain name server itself is a distributed entity because we cannot have a single domain name server for the entire world. So just as the IP addresses are organized hierarchically, the domain name service is also organized hierarchically. So there will be a domain name server for an organization and then there might be one for the country and there might be a network of these domain name servers across the internet. Anyway, the basic idea is that the DNS or domain name service is used to translate from the logical address to the IP address. Now once you come to the network, there is the notion of translating the IP address to the MAC address because remember it is the MAC address which is seen on the link. So who does that translation? Once again here there is a different protocol that is used that is called the address resolution protocol. This is a very simple protocol and this essentially involves saying that who has this IP address. So essentially what the router does or whichever is the sending entity, it transmits into the entire local area network as to who is this IP address and the machine which has that IP address responds saying that okay that IP address is mine and here is my Ethernet address or my Wi-Fi address or whatever MAC address. So in that way the machine to which the packet has to be sent is identified. Going further, we see that there are some addresses which have to be kept within an organization. For example, IIT Bombay may have thousands of computers, we do not want each of these computers to be visible on the internet, we do not want each of them to be listed in some DNS server. So IP addresses in that sense are classified into what are called public IP addresses and private IP addresses. Private IP addresses are what an organization uses within itself for communication within machines inside the organization and then the public IP addresses are the ones which the organization uses to communicate with the rest of the world. So now imagine that you are sitting on your computer inside the organization and you are accessing a web service. How does it know that which machine has originated the request and where to send back the reply to? So as you can imagine, there would be a router like entity, in this case this is called network address translator or NAT which basically has the job of keeping the mapping of which IP address, internal IP address has been sent out on which link as the public IP address. While all this may sound a little complex in the abstract, it's actually fairly straightforward. So it's a very hierarchical mechanism and most textbooks have lucid explanations of these topics. You can refer to some of these textbooks, there are a lot of videos also available which you can look at to get a more in-depth understanding of each of these concepts. So to summarize, addresses are at three levels. One is the MAC address which is assigned by the manufacturer, then is the IP address. The IP address is two entities are responsible for the IP address. One is the CISAD of your organization, the system administrator of your organization which might be your IT team which assigns the IP address within the organization, that is the private IP addresses and then there is the ISP who assigns the public IP address. So there is an authority which decides which IP address space can be given to which organizations, which are the ranges of IP addresses that can be given to a particular organization and so on. So often these authorities work with the ISP to assign the public IP address for an organization and then on top of it is the logical address which is your domain name and that is provided by the domain name registrar which again through a network or a series of domain name registries allows you to purchase or to procure different domain names of your choice. So in summary, the domain name is then associated with the IP address which is then associated with your MAC address and that is when your machine becomes visible on the network. In order to see how this happens in an actual network, we will now see a simulation using packet tracer.