I have a few questions about a physical layer of networking.
I little thought about IP and MAC. Why they are grouped in a pairs. Why MAC in not sufficient. Why IP is necessary to put the information through the Internet to a destination host?
Why there is not only one Ethernet protocol and many and many IP protocols.
I am not a programmer, just an electronic amateur and do all that things for fun.
I have some of my own protocols to link(not only one pair of PCs) through COM ports but in this case there is no place to talk about it.
So what??

Let imagine that there is two subnets and each of them have a firewall which is done by a separate host. To make it easy imagine that the both of the subnets together have four hosts.
There is Ethernet link between host and firewall and ATM link between firewalls.
Do you imagine it?

The firewalls translate addresses from the local IP into a global IP and also MAC address are swapping into ATM .On the other side of ATM connection NAT (which is placed in firewall host) translate the public IP into local and also swap the ATM into MAC.

Did you careful?

No I think ;)

This is impossible to establish a connection if the both of talkers are behind the firewalls, so let?s get the image more realistic.
Let, in the firewall?s server be some open ports which are connected with some services in internal local host, then the connection from external source will be possible.

Could you keep up with me? ;)
Yes ,of course.

So what is going on and how the connection is realizing?

Step 1 in listening subnet (this one where in firewall is listening socket: socket means IP+TCP or IP+UDP in shorter version IP + port)

Step 2 on the other side local host wants to connect with external IP
Step 3 NAT(firewall too ?there are both of them in one host) receive the order and store the MAC of the internal host and also his local IP
Step 4 the NAT swap the local IP into your own (global)
Step 5 broadcast for IP /DNS, ARP, ATM or something like that
Step 6 There is no DNS so external host (which has the global IP which is wanted) store the ATM and IP belong to caller and sends back ATM address to caller.
Step 7 the virtual connection is established by local host to his NAT (through MAC) , NAT with NAT (through ATM) and NAT with host (through MAC)

And so on?. Step by step ?.

So my question is:
How to get the MAC from remote host?

SecondQ: is it necessary, what for?

Than you 4 attention

Please do not talk like this: you should read the RFC number xxxx
I had read almost all of them and I think, it is very boring, and if you want I can make a copy for you or send you by e-mail;)
Posted on 2003-11-26 13:03:43 by HarryTuttle
You can get the MAC of a remote host (on the same subnet) using arp. ARP protocol is used to find the MAC address associated with an IP. A host's IP can change but the MAC is always the same (provided the NIC is the same). It isn't necerary to have the MAC address to communicate with a host, packets sent to a specific IP will be routed to the correct MAC address.
Posted on 2003-11-26 13:32:33 by ENF
that's all I need to hear about :)

I was wrong when I said that all RFC R boring.
It is not true, there is a few which you can read just for fun!

RFC 0968 under the title: "That was the night before start-up"

Posted on 2003-11-27 01:27:14 by HarryTuttle
One of my personal faves is rfc2324, the hypertext coffeepot control protocol..
Posted on 2003-11-27 07:57:12 by Homer
look at thist list under ...

coffee-scheme = ( "koffie" ; Afrikaans, Dutch
| "q%C3%A6hv%C3%A6" ; Azerbaijani
| "%D9%82%D9%87%D9%88%D8%A9" ; Arabic
| "akeita" ; Basque
| "koffee" ; Bengali
| "kahva" ; Bosnian
| "kafe" ; Bulgarian, Czech
| "caf%C3%E8" ; Catalan, French, Galician
| "%E5%92%96%E5%95%A1" ; Chinese
| "kava" ; Croatian
| "k%C3%A1va ; Czech
| "kaffe" ; Danish, Norwegian, Swedish
| "coffee" ; English
| "kafo" ; Esperanto
| "kohv" ; Estonian
| "kahvi" ; Finnish
| "%4Baffee" ; German
| "%CE%BA%CE%B1%CF%86%CE%AD" ; Greek
| "%E0%A4%95%E0%A5%8C%E0%A4%AB%E0%A5%80" ; Hindi
| "%E3%82%B3%E3%83%BC%E3%83%92%E3%83%BC" ; Japanese
| "%EC%BB%A4%ED%94%BC" ; Korean
| "%D0%BA%D0%BE%D1%84%D0%B5" ; Russian
| "%E0%B8%81%E0%B8%B2%E0%B9%81%E0%B8%9F" ; Thai

pot-designator = "pot-" integer ; for machines with multiple pots
additions-list = #( addition )

EvilHomer thank you, when I will be abroad I surely will be able to order a little black coffee!
Posted on 2003-11-27 13:14:25 by HarryTuttle