adept11 Posted July 11, 2013 Posted July 11, 2013 Вопрос, собственно, про прохождения пакета от отправителя к полчуателю. К примеру имеем вот такую сеть: Два компьютера( 192.168.8.50 | 192.168.8.55) подключену к свичу, а свитч — к роутеру(192.168.8.1, а тот, в свою очередь смотрит в сеть, например, провайдера и в конечном итоге ее выход к магистралам(192.168.3.1). А теперь сам вопрос: как свич знает, что нужно отправить пакет именно на порт приходящего от роутера линка, а роутер, в свою очередь на роутер провайдера. Мои соображения по данному вопросу: например, открывая в браузере http://nag.ru мы посылаем http-запрос; к пакету цепляется mac-адрес роутера(192.168.8.1), свич напрявляет четко на него данный запрос(по заданому порту в таблице коммутации). В свою очередь роутер(192.168.8.1) своей таблицей маршрутизации упирается в роутер провайдера, ну и так далее, пока не достигнет пункта назначения. Поправьте, пожалуйста, там , где я неправ. Вставить ник Quote
vurd Posted July 11, 2013 Posted July 11, 2013 По ARP компьютер узнает MAC шлюза, так как нет прямого соединения с хостом назначения. Туда отправляется пакет с заголовком третьего уровня, где указан ip назначения. Свитч направляет пакеты на заданный MAC, указанный в заголовке второго уровня. Возьмите wireshark и посмотрите как всё происходит. Коммутаторы работают на втором уровне OSI и распределяют пакеты на основе MAC-адресов. А вот роутеры помимо этой информации руководствуются еще и третим. Вставить ник Quote
adept11 Posted July 11, 2013 Author Posted July 11, 2013 В шарке смотрел, дестинейшен эсернетовского кадра — роутер, это понятно. Про то, что ip-пакет инкапсулируется в кадр тоже ясно. Пакет берет mac адрес дестинейшена из сетевых настроек nic, так ведь ? Вставить ник Quote
vurd Posted July 11, 2013 Posted July 11, 2013 Благодаря протоколу ARP. Посылается запрос "какой мак у ip такого-то?". Опять таки, не выходя из wireshark, выполните в консоли команду "arp -d *", потом "arp -a". Увидите что происходит. Вставить ник Quote
adept11 Posted July 11, 2013 Author Posted July 11, 2013 Т.е мое утверждение к пакету цепляется mac-адрес роутера(192.168.8.1), свич напрявляет четко на него данный запрос(по заданому порту в таблице коммутации) можно считать верным? Вставить ник Quote
biox Posted July 12, 2013 Posted July 12, 2013 мак адрес роутера имеет вид XX:XX:XX:XX:XX:XX Вставить ник Quote
adnull Posted July 12, 2013 Posted July 12, 2013 Комп, видя то пакет надо отправить через gateway (т.к. адрес назначения находится вне сегмента), кидает широковещательный arp-запрос, который попадает на все порты коммутатора. Но отвечает на него только шлюз и сообщает свой mac. Коммутатор запоминает, что данный мак находится на данном порту. Следом комп кидает пакет на мак маршрутизатора, а свич кидает его в нужный порт по своей fdb-таблице (мак-кешу). Вставить ник Quote
vitalyb Posted July 12, 2013 Posted July 12, 2013 Комп, видя то пакет надо отправить через gateway (т.к. адрес назначения находится вне сегмента), кидает широковещательный arp-запрос, Только gateway не при чем. ARP запрос идет когда нет соответствующей записи в ARP таблице, а шлюз это или нет - не важно. Вставить ник Quote
adnull Posted July 12, 2013 Posted July 12, 2013 Ну да. Я просто пояснил почему комп кидает пакет в шлюз. Вставить ник Quote
adept11 Posted July 12, 2013 Author Posted July 12, 2013 (edited) мак адрес роутера имеет вид XX:XX:XX:XX:XX:XX вы меня не так поняли, я имел ввиду несколько другое, на моей схеме же 2 роутера(под 8.1 я подразумевал адрес шлюза, разницу между плоским и иерархическим адресом я знаю) Edited July 13, 2013 by adept11 Вставить ник Quote
Ivan_83 Posted July 12, 2013 Posted July 12, 2013 разницу между плоским и иерархичным адресом да здравствует секта имени кошки %) Вставить ник Quote
adept11 Posted July 13, 2013 Author Posted July 13, 2013 очепятка, бывает :) тему можно закрывать, ответ получил. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.