>i know ip is the acesss point to the internet and mac is computer id. but that is all i know.

No, you think you know that, but your description is outright wrong. If you thought you know that, then you are using a bad source of information or you are misinterpreting it and reaching wrong conclusions.

When somebody says "MAC" or "IP" he usually means "MAC address" or "IP address". Both are addresses (that is, identifiers), the difference is that they are addresses at different levels of abstraction. Referenced to the TCP/IP model (use a search engine for details): IP addresses belong to the IP protocol and operate at the Internet layer; MAC addresses belong to the link level (for example, Ethernet). IP addresses identify the source and destination of a packet as it travels through Internet (but NAT can rewrite either address). MAC addresses identify the source and destination of a link level frame (and the IP packet it contains) only within a link segment (for example, only within an Ethernet segment).

The first hop in the connection to your computer to the Internet backbone is likely a Ethernet or IEEE 802.11 link. If that is the case, all devices within that network have a MAC address.

When a host sends a packet or a router receivers a packet to forward, it must send the packet using the link layer, but the link layer is usually unaware of IP addresses; it must forward the packet using a MAC address (the MAC address of the next hop router or host). The relation between MAC addresses and IP addresses is usually handled by ARP (address resolution protocol). You can see the ARP table of your computer using the “arp -n” command as root.

Here is an example: Suppose you connect to the Internet using Ethernet or IEEE 802.11. When you try to open, say, “example.org” using your browser, your computer first resolves the host name into an IP addresses using DNS (for that, it already needs to use IP), then resolves that IP addresses into a MAC address using ARP, then it exchanges information with the server using HTTP on top of TCP/IP on top of Ethernet. The IP packets from your computer to the server have the IP address of the server as the destination and are at first contained within an Ethernet frame, whose destination address is the MAC address of your home router or modem (note that the destinations are different).

The home router or modem receives the Ethernet frame. The Ethernet framing is discarded; the IP packet is kept and is forwarded to the next hop using the link-level framing and possibly MAC address that matches the outgoing connection from your home. For example, if the outgoing connection is a coaxial link, it is likely that the corresponding physical and link-level protocol is DOCSIS, if it is a telephone link, then the corresponding protocol must be a type of DSL. At that point, the link level framing and MAC addresses of your computer and router are already irrelevant for that IP packet as those MAC addresses are only relevant within your home network, but the IP addresses of your computer and the destination server are used to forward the packet correctly until it reaches its destination.

All communication within the Internet use IP and therefore IP addresses. On the other hand, not all link level protocols use MAC addresses. For example, PPP (Point-to-Point Protocol) doesn't uses MAC addresses.

You can and should search for more information in the Internet. Computer networking is complex. It should not be taken lightly if you will use it to deploy a production system; you must learn the relevant part throughly (it is not possible to learn it all). It is much better to learn from a book than to learn from sparse information alone (tutorials, manuals, and so on). You can use both a book and sparse information. There is The TCP/IP Guide which is available online at no cost. If you are really interested in networking, then read that book or a book similar to that one.

It seems to me like you need much more knowledge before deploying a server. If you only want to learn, you can obtain the same experience using a virtual machine in your own computer.

Reply via email to