Описание протоколов TCP-IP

       

Порядок преобразования адресов


В ходе обычной работы сетевая программа, такая как TELNET, отправляет прикладное сообщение, пользуясь транспортными услугами TCP. Модуль

TCP посылает соответствующее транспортное сообщение через модуль IP. В результате составляется IP-пакет, который должен быть передан драйверу Ethernet. IP-адрес места назначения известен прикладной программе, модулю TCP и модулю IP. Необходимо на его основе найти Ethernet-адресместа назначения. Для определения искомого Ethernet-адреса используется ARP-таблица

4.3.  Запросы и ответы протокола ARP

Как же заполняется ARP-таблица? Она заполняется автоматически модулем ARP, по мере необходимости. Когда с помощью существующей ARP-таблицы не удается преобразовать IP-адрес, то происходит следующее:

1)   По сети передается широковещательный ARP-запрос.

2)   Исходящий IP-пакет ставится в очередь.

     Каждый сетевой адаптер принимает  широковещательные  передачи.   Все

драйверы Ethernet проверяют поле типа в принятом Ethernet-кадре и передают ARP-пакеты модулю ARP. ARP-запрос можно интерпретировать так: “Если ваш IP-адрес совпадает с указанным, то сообщите мне ваш Ethernet-адрес”

Пакет ARP-запроса выглядит примерно так:

     -----------------------------------------------------------

     |   IP-адрес отправителя              223.1.2.1           |

     |   Ethernet-адрес отправителя        08:00:39:00:2F:C3   |

     -----------------------------------------------------------

     |   Искомый IP-адрес                  223.1.2.2           |



     |   Искомый Ethernet-адрес            <пусто>             |

     -----------------------------------------------------------

Табл.2. Пример ARP-запроса

Каждый модуль ARP проверяет поле искомого IP-адреса в полученном ARP-пакете и, если адрес совпадает с его собственным IP-адресом, то посылает ответ прямо по Ethernet-адресу отправителя запроса. ARP-ответ можно интерпретировать так: “Да, это мой IP-адрес, ему соответствует такой-то Ethernet-адрес”. Пакет с ARP-ответом выглядит примерно так:


     -----------------------------------------------------------

     |   IP-адрес отправителя              223.1.2.2           |

     |   Ethernet-адрес отправителя        08:00:28:00:38:A9   |

     -----------------------------------------------------------

     |   Искомый IP-адрес                  223.1.2.1           |

     |   Искомый Ethernet-адрес            08:00:39:00:2F:C3   |

     -----------------------------------------------------------
Табл.3. Пример ARP-ответа

Этот ответ получает машина, сделавшая ARP-запрос. Драйвер этой машины проверяет поле типа в Ethernet-кадре и передает ARP-пакет модулю ARP. Модуль ARP анализирует ARP-пакет и добавляет запись в свою ARP-таблицу

Обновленная таблица выглядит следующим образом:

            ---------------------------------------------

            |      IP-адрес           Ethernet-адрес    |

            ---------------------------------------------

            |     223.1.2.1          08:00:39:00:2F:C3  |

            |     223.1.2.2          08:00:28:00:38:A9  |

            |     223.1.2.3          08:00:5A:21:A7:22  |

            |     223.1.2.4          08:00:10:99:AC:54  |

            ---------------------------------------------

Содержание раздела