Ответ 1
Маршрутизаторы используют IP-уровень (уровень 3), а коммутаторы используют уровень канала передачи данных (уровень 2). Уровень 1 - это физические 1s и 0s, которые проходят по проводу, уровень 2 - это уровень канала передачи данных, который является протоколами, такими как Ethernet и протокол Point-To-Point (PPP), который передает информацию между соседними узлами о MAC-адресе и и позволяет обнаруживать ошибки и повторную передачу. Уровень 3 - это уровень IP, который содержит информацию о том, где во всей сети находится пакет, а не только текущий хоп.
Передача будет выглядеть следующим образом:
Машина A хочет отправить пакет на машину B. Машина A знает IP-адрес Machine B, поэтому он помещает это в пакет слоя 3. Тем не менее, машина A должна помещать MAC-адрес следующего скачка в пакет 2-го уровня. Если он не знает, он отправит что-то, называемое ARP-запросом (протокол разрешения адресов, прочитайте здесь: http://www.tildefrugal.net/tech/arp.php) в сеть, с IP-адресом назначения. Здесь будет одна из нескольких вещей:
- IP является локальным. Машина с этим IP-адресом ответит отправителю своим MAC-адресом.
- IP не является локальным. Маршрутизатор шлюза обнаружит это и отправит свой MAC-адрес.
- IP-адрес не локальный, а параметр "Мастер" по умолчанию - шлюз и маска подсети. Используя эту информацию, машина A может определить нелокальность IP-адреса и отправить его на MAC-адрес маршрутизатора (ARPing, если он еще не известен).
(Если машина A обнаружит это раньше, она будет находиться в кеше ARP, и машина A будет просто использовать это.) Теперь, когда MAC-адрес отправлен, пакет может быть передан (физический уровень 1, выполняющий фактическую передачу данных на проводе). Следующая остановка будет переключателем. Коммутатор знает, какой исходящий порт MAC-адрес, указанный в качестве адресата уровня 2, включен, поскольку он отслеживает каждый MAC-адрес, с которого он видит, откуда идет пакет, и какой порт он пришел - если он не знает, тогда он будет вытеснять его каждый один порт, гарантируя, что он прибудет.
Таким образом, пакет поступает на маршрутизатор. Охлаждающая вещь о модели IP заключается в том, что она делит каждый отдельный IP-адрес в сети/мире на иерархию. Подсети по определению не могут частично перекрывать подсети, они либо полностью содержат их, либо полностью принадлежат им. Таким образом, до тех пор, пока подсетей следуют этой иерархии, маршрутизатор может однозначно определить, где каждый из 4 миллиардов возможных IP-адресов находится в сети, просто посмотрев, какая подсеть IP будет подпадать под ее таблицу! Затем пакет отправляется через этот порт.
По мере прохождения пакета через маршрутизаторы межсетевых маршрутизаторов, магистральной инфраструктуры и т.д., он прибывает на маршрутизатор Machine B, где происходит противоположный процесс - маршрутизатор B видит, что он предназначен для машины B и отправляет ее входящим. (Аналогично, Router B должен будет использовать процесс, подобный ARP, чтобы найти MAC-адрес Machine B, если он не известен.) Остальное должно быть тривиально отсюда.
хорошие ссылки:
https://web.archive.org/web/20120129120350/http://www.tildefrugal.net/tech/arp.php
http://en.wikipedia.org/wiki/Data_link_layer
http://en.wikipedia.org/wiki/Network_switch
http://en.wikipedia.org/wiki/Network_layer
http://en.wikipedia.org/wiki/Routing