Важно: один узел пытается передать пакет другому узлу, находящемуся с ним в разных сетях.В пункте 5 лабораторной работы был рассмотрен случай посылки ARP-запроса внутри локальной сети. Протокол ARP в этом случае определял непосредственно МАС-адрес узла-приемника запроса. Теперь рассмотрим ситуацию, когда узел-источник и узел-приемник находятся в разных сетях. Протокол ARP работает в пределах сегмента сети, поэтому в данном случае он будет использоваться для определения МАС-адреса маршрутизатора. Таким образом, пакет будет передан маршрутизатору для дальнейшей ретрансляции. Открываем “Command Promt”, имитирующую командную строку, на компьютере 192.168.3.4 и посылаем на хост 192.168.5.5. ping-запрос (рис. 4.53). Рис. 4.53. Командная строка узла 192.168.3.4 В этом случае инициируется ARP-запрос маршрутизатору, который пересылает пакеты в сеть назначения. На узле-источнике формируются два пакета протокола ARP и ICMP (рис. 4.54). Рис. 4.54. Вид рабочей области Формат пакета ARP-запроса содержит те же сведения, что и для разрешения локального адреса устройства, и рассылается широковещательно всем узлам подсети (рис. 4.55). Рис. 4.55. Формат пакета ARP-запроса Все узлы игнорируют пакет, кроме маршрутизатора, которому этот пакет предназначался (рис. 4.56). Рис. 4.56. Вид рабочей области Маршрутизатор формирует ARP-ответ, указывая свой физический адрес, и отправляет его узлу 192.168.3.4 (рис. 4.57). Рис. 4.57. Вид рабочей области После получения ARP-ответа хост 192.168.3.4 посылает ICMP-сообщение ping-запроса через маршрутизатор в сеть назначения. Посмотрите содержимое пакета, сделав клик по пакету (конверту) (рис. 4.58).
Рис. 4.58. Формат пакета ICMP-эхо-запроса IP-адрес источника – 192.168.3.4. IP-адрес назначения – 192.168.5.5. Тип ICMP-сообщения – 8 (эхо-запрос). Когда запрос приходит в сеть назначения, то маршрутизатор определяет МАС-адрес получателя, если такового нет в ARP-таблице маршрутизатора. Таким образом, снова решается задача разрешения локального адреса (рис. 4.59).
Рис. 4.59. Вид рабочей области Маршрутизатор вынужден сперва узнать физический адрес получателя, прежде чем он сможет отправить ping-запрос по назначению, поэтому пакет с ping-запросом, пришедший на маршрутизатор, отклонен. Новый ARP-запрос отправляется широковещательным сообщением от маршрутизатора, содержит его IP-адрес и МАС-адрес (рис. 4.60). IP-адрес назначения – узел 192.168.5.5. Рис. 4.60. Формат пакета ARP-запроса Узлы подсети, которым пакет не предназначен, его игнорируют (рис. 4.61). Рис. 4.61. Вид рабочей области Узел 192.168.5.5. формирует ARP-ответ и отправляет его обратно маршрутизатору (рис. 4.62), указав свой МАС-адрес, о чем свидетельствует содержимое пакета (рис. 4.63). Рис. 4.62. Вид рабочей области Рис. 4.63. Формат пакета ARP-ответа После того, как маршрутизатор определил МАС-адрес получателя входящего ping-запроса, он посылает ICMP-ответ маршрутизатору хоста отправителя. (В данном случае это тот же маршрутизатор Router0). Узел 192.168.3.4. снова пытается отправить ping-запрос во внешнюю сеть узлу 192.168.5.5. Его маршрут должен лежать через коммутатор Switch0, маршрутизатор Router0, коммутатор Switch1 и достигнуть узла назначения (рис. 4.64). Проследите маршрут пакета самостоятельно. Рис. 4.64. Вид рабочей области Узел формирует ping-ответ, который отправляется обратно узлу 192.168.3.4 (рис. 4.65). Рис. 4.65. Вид рабочей области Посмотрите содержимое пакета ping-ответа, пришедшего на хост 192.168.3.4 (рис. 4.66).
Рис. 4.66. Формат пакета ICMP-эхо-ответа IP-адрес источника – 192.168.5.5. IP-адрес назначения – 192.168.3.4. Тип ICMP-сообщения – 0 (эхо-ответ). Посмотрите ping-ответ в командной строке хоста 192.168.3.4 (рис. 4.67). Рис. 4.67. Вывод программы ping Маршрут пакета можно посмотреть с помощью команды tracert. Выполним эту команду, например, в командной строке компьютера 192.168.3.5 (рис. 4.68): Рис. 4.68. Вывод программы tracert На пути пакета до хоста 192.168.5.4 один промежуточный маршрутизатор. 7. Посылка ping-запроса на несуществующий хост Отправим ping-запрос на несуществующий адрес в сеть 192.168.5.0/24. Откроем программу “Command Promt” на узле 192.168.3.7 и попробуем отправить ping-запрос на несуществующий хост с IP-адресом 192.168.5.6 (рис. 4.69). Рис. 4.69. Командная строка узла 192.168.3.7 ARP-таблица на узле-источнике не содержит соответствующей записи о МАС-адресе узла 192.168.5.6, поэтому формируется ARP-запрос (рис. 4.70). Рис. 4.70. Вид рабочей области Все узлы игнорируют пакет, кроме маршрутизатора, которому этот пакет предназначался (рис. 4.71). Рис. 4.71. Вид рабочей области Узел 192.168.3.7 получает ARP-ответ с МАС-адресом маршрутизатора. Теперь, зная его аппаратный адрес, хост отправляет ping-запрос на узел 192.168.5.6 (рис. 4.72).
Рис. 4.72. Вид рабочей области Маршрутизатор пришедший пакет уничтожает, т.к. не может его перенаправить на указанный адрес, потому что соответствующего МАС-адреса он «не знает». В связи с этим маршрутизатор формирует ARP-запрос по адресу 192.168.5.6 (рис. 4.73). Рис. 4.73. Вид рабочей области Все узлы подсети игнорируют пакет, потому что IP-адрес в запросе не соответствует их собственным (рис. 4.74). Маршрутизатор ни какого ответа ни от кого не получает. Рис. 4.74. Вид рабочей области Процедура прохождения пакетов повторяется в течение всего сценария симуляции: маршрутизатор по-прежнему «не знает» МАС-адрес указанного в ping-запросе IP-адреса 192.168.5.6 и продолжает рассылать ARP-запросы. Ни один из узлов подсети на эти запросы не реагирует. Не получив ответа, маршрутизатор и сам «молчит», никак не уведомляя об ошибке хост-источник ping-запроса. Примечание: на самом деле в данном случае маршрутизатору следует отправить ICMP-сообщение «хост недостижим»: сообщение типа 3 с кодом 1. Однако проведенный эксперимент с теорией разошелся. Посмотрим ответ на ping-запрос в командной строке узла-источника 192.168.3.7: «превышено время ожидания» (рис. 4.75). Рис. 4.75. Вывод программы ping Попробуем отправить ping-запрос, содержащий IP-адрес узла, в сеть, на которую нет маршрута. Откроем программу “Command Promt” на узле 192.168.3.6 и попробуем отправить ping-запрос на несуществующий хост с IP-адресом 192.168.6.6 (рис. 4.76). Рис. 4.76. Командная строка узла 192.168.3.6 Так как ARP-таблица узла-источника соответствующей записи не имеет, формируется ARP-запрос на заданный узел с IP-адресом 192.168.6.6 (рис. 4.77). Рис. 4.77. Вид рабочей области Все узлы игнорируют пакет, кроме маршрутизатора, которому этот пакет предназначался (рис. 4.78).
Рис. 4.78. Вид рабочей области Узел 192.168.3.6 получает ARP-ответ с МАС-адресом маршрутизатора. Теперь, зная его аппаратный адрес, хост отправляет ping-запрос (рис. 4.79). Рис. 4.79. Вид рабочей области Когда ping-запрос попадает на маршрутизатор, тот не может его перенаправить не на какой из своих интерфейсов, т.к. IP-адреса его интерфейсов не совпадают с тем адресом, который указан в ping-запросе. Соответственно, этот пакет уничтожается и формируется новое ICMP-сообщение (рис. 4.80). Рис. 4.80. Вид рабочей области Посмотрим содержимое пакета, сформированного маршрутизатором (рис. 4.81). Рис. 4.81. Формат пакета ICMP «хост недостижим» IP-адрес источника – 192.168.3.1. IP-адрес назначения – 192.168.3.6. Тип ICMP-сообщения – 3 с кодом 1, что означает «хост недостижим». Этот пакет приходит на узел 192.168.3.6. Результат ping-запроса в командной строке узла 192.168.3.6: «хост назначения недостижим» (рис. 4.82). Рис. 4.82. Вывод программы ping Таким образом, маршрутизатор «ответил» на ping-запрос, для которого у него не было соответствующего маршрута, новым ICMP-сообщением «хост недостижим». Примечание: корректно ли отреагировал маршрутизатор в данной ситуации, отправив на хост-источник ping-запроса ICMP-сообщение «хост недостижим»? Чтобы ответить на этот вопрос, необходимо обратиться к спецификации протокола ICMP RFC 792 и ознакомится с другими типами ICMP-сообщений. [Электронный ресурс]. URL: http://tools.ietf.org/html/rfc792.
|