Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемfami-net.dlinkddns.com
1 1 Лекция 6. Основные модули(протоколы) стека TCP/IP
2 2 Модуль ENET (технологии Ethernet) Самый нижний уровень в схеме взаимодействия модулей стека TCP/IP представлен модулем ENET, который при передаче формирует кадр Ethernet, а при приёме обрабатывает кадр Ethernet.в схеме Кадр Ethernet уже был проиллюстрирован, заголовок кадра также был проиллюстрирован. Добавим, что длина поля данных лежит в диапазоне 46 – 1500 байт, а заголовок обязательно содержит Ethernet-адреса получателя и отправителя. При приёме модуль ENET просматривает Ethernet-кадры, проходящие по сети, и выискивает кадры со своим Ethernet- адресом, а также с адресом ff:ff:ff:ff:ff:ff, который означает «всем» и используется при широковещательной передаче. При формировании Ethernet-кадра для передачи в поле данных, как правило, инкапсулируется IP-пакет; адрес отправителя модуль ENET «знает» (это его адрес), но Ethernet-адрес получателя ему может быть неизвестен, и в этом случае необходим протокол ARP.инкапсулируется
3 3 Технология Ethernet Технология Ethernet очень популярна на рынке локальных сетей. В 80-е годы и в начале 90-х технологии Ethernet приходилось конкурировать с множеством альтернативных технологий локальных сетей, включая сети Token ring, FDDI и ATM. Некоторым из этих технологий удалось на несколько лет захватить часть рынка. Но технология Ethernet, разработанная в середине 70-х, продолжает свой рост и развитие до сих пор, а в последние годы она прочно заняла доминирующее положение на рынке. Сегодня Ethernet представляет собой превалирующую технологию локальных сетей, и, похоже, такая ситуация сохранится в обозримом будущем. Ethernet реализует метод CSMA/CD (множественный доступ с контролем несущей и обнаружением столкновений). Метод CSMA/CD предполагает, что все устройства взаимодействуют в одной среде, в каждый момент времени может передавать только одно устройство, а принимать могут все одновременно. Если два устройства пытаются передавать одновременно, то происходит столкновение передач, и оба устройства после случайного (краткого) периода ожидания пытаются вновь выполнить передачу.
4 4 Хронология.
5 5 Модуль (протокол) ARP Рассмотрим, каким образом при формировании Ethernet-кадра для передачи определяется адрес получателя. К моменту формирования Ethernet-адреса получателя известен его IP-адрес (находящийся в заголовке IP-пакета). Возникает задача преобразования IP-адреса получателя в Ethernet-адрес. Её решение реализует протокол ARP (RFC-826). Это преобразование выполняется только для отправляемых IP-пакетов, т.к. только в этом случае формируется соответствующий Ethernet-фрейм. Это преобразование (IP-адреса в Ethernet-адрес) производится с использованием ARP-таблицы. ARP-таблица хранится в памяти и содержит строки для машин сети, с которыми в последнее время осуществлялось взаимодействие. Структура ARP-таблицы (RFC-1213) предельно проста. В простейшем случае эта таблица имеет три столбца – IP-адрес, Ethernet-адрес и тип записи.
6 6 Пример ARP-таблицы Замечание. Принято все 4 байта IP-адреса записывать десятичными числами, разделёнными точками, а для записи 6- байтного Ethernet-адреса каждый байт указывается в шестнадцатеричной системе и отделяется двоеточием. ARP-таблица является необходимой по той простой причине, что IP-адрес и Ethernet-адрес выбираются абсолютно независимо друг от друга и аналитической формулы типа Ethernet-адрес = F(IP-адрес) для преобразования IP-адреса в Ethernet-адрес не существует.
7 7 Порядок преобразования адресов Обычно, прикладная программа, такая, как, например, Telnet, отправляет прикладное сообщение модулю TCP. Модуль TCP посылает соответствующее транспортное сообщение модулю IP. Прикладной программе, модулю TCP и модулю IP IP - адрес известен. К этому времени IP-пакет уже составлен и готов к передаче, но прежде его необходимо инкапсулировать в Ethernet – кадр. При формировании заголовка кадра нужен Ethernet-адрес получателя, для чего и используется ARP-таблица. ARP-таблица заполняется динамически модулем (протоколом) ARP, по мере необходимости.
8 8 Запросы и ответы протокола ARP Как же заполняется ARP-таблица? Когда с помощью существующей ARP-таблицы не удается преобразовать IP- адрес в Ethernet-адрес, то происходит следующее: По сети передается широковещательный ARP-запрос. Исходящий IP-пакет ставится в очередь. Каждый сетевой адаптер принимает широковещательные передачи. Все драйверы Ethernet проверяют поле типа в принятом Ethernet-кадре и передают ARP-пакеты модулю ARP. ARP-запрос можно интерпретировать так: "Если ваш IP-адрес совпадает с указанным, то сообщите мне ваш Ethernet-адрес". Пакет ARP-запроса выглядит примерно так: IP-адрес отправителя Ethernet-адрес отправителя :00:39:00:2F:C3 Искомый IP-адрес Искомый Ethernet-адрес
9 9 Запросы и ответы протокола ARP(продолжение) Каждый модуль ARP проверяет поле искомого IP-адреса в полученном ARP-пакете и, если адрес совпадает с его собственным IP-адресом, то посылает ARP-ответ прямо по Ethernet-адресу отправителя запроса. ARP-ответ можно интерпретировать так: "Да, это мой IP-адрес, ему соответствует такой-то Ethernet-адрес". Пакет с ARP-ответом выглядит примерно так: IP-адрес отправителя Ethernet-адрес отправителя :00:28:00:38:A9 Искомый IP-адрес Искомый Ethernet-адрес :00:39:00:2F:C3
10 10 Запросы и ответы протокола ARP(продолжение) Этот ответ получает машина, сделавшая ARP-запрос. Драйвер этой машины проверяет поле типа в Ethernet- кадре и передает ARP-пакет модулю ARP. Модуль ARP анализирует ARP-пакет и добавляет запись в свою ARP- таблицу. Обновленная таблица выглядит следующим образом: IP-адресEthernet-адресТип записи :00:39:00:2f:c3Динамический :00:28:00:38:a9Динамический :00:5a:21:a7:22Динамический :00:10:99:ac:54Динамический
11 11 Запросы и ответы протокола ARP(продолжение) Новая запись в ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как она потребовалась. Ранее, на втором шаге, исходный IP-пакет был поставлен в очередь. Теперь, с использованием обновлённой ARP-таблицы, выполняется формирование необходимого заголовка для Ethernet-кадра. После этого соответствующий Ethernet-кадр передаётся по сети. Если в сети нет машины с искомым IP-адресом, то ARP-ответа не будет и не будет записи в ARP-таблице. Протокол IP будет уничтожать IP-пакеты, направляемые по этому адресу. Протоколы верхнего уровня не могут отличить случай повреждения в сети Ethernet от случая отсутствия машины с искомым IP-адресом. Некоторые реализации протокола IP и протокола ARP не ставят в очередь IP-пакеты, ожидая ARP-ответов. Вместо этого IP-пакет уничтожается, а его восстановление возлагается на модуль TCP или прикладной процесс, работающий через модуль UDP. Такое восстановление выполняется с помощью тайм-аутов и повторных передач. Каждая машина имеет отдельную ARP-таблицу для каждого своего сетевого адаптера.
12 12 Модуль IP Модуль IP является базовым элементом технологии internet, а центральной частью модуля IP является его таблица маршрутов. Протокол IP (IPv4, RFC-791) использует эту таблицу при принятии всех решений о маршрутизации IP-пакетов. Содержание таких маршрутов в простейшем случае определяет администратор сети. Ошибки при установке маршрутов могут заблокировать передачу. Чтобы понять технику межсетевого взаимодействия, нужно понять то, как используется таблица маршрутов. Это понимание необходимо для успешного администрирования и сопровождения сетей internet.
13 13 Прямая маршрутизация Каждая машина имеет стек протоколов, аналогичный представленному на рисунке схемы взаимодействия модулей стека протоколов TCP/IP. Каждый сетевой адаптер машин имеет свой Ethernet-адрес и IP-адрес.взаимодействия Когда машина A посылает IP-пакет машине B, то заголовок этого пакета содержит в поле отправителя - IP-адрес машины A, а заголовок Ethernet-кадра содержит в поле отправителя Ethernet- адрес этого же компьютера. Кроме этого, IP-заголовок содержит в поле получателя IP-адрес машины B, а Ethernet-заголовок содержит в поле получателя Ethernet-адрес машины B.
14 14 Прямая маршрутизация (продолжение) Адреса в Ethernet-кадре, передающем IP- пакет от машины A к машине B, можно представить в виде следующей таблицы:
15 15 Прямая маршрутизация (продолжение) В этом простом примере в протоколе IP обнаруживается излишество, а именно – он ничего не добавляет к услугам, предоставляемым средой Ethernet; однако протокол IP требует дополнительных затрат времени процессора и пропускной способности среды передачи данных на создание, передачу и обработку IP-заголовка. При взаимодействии машин A и B используется так называемая прямая маршрутизация, в которой модуль IP является избыточным.
16 16 Косвенная маршрутизация На рисунке представлена более реалистичная картина сети internet. В данном случае сеть internet состоит из трех сетей Ethernet, на базе которых работают три IP-сети, объединенные маршрутизатором (шлюзом) D. Каждая IP-сеть включает четыре машины; каждая машина имеет свои собственные IP- и Ethernet- адреса.
17 17 Косвенная маршрутизация(продолжение) За исключением D все машины имеют стек протоколов, аналогичный показанному на слайде (*). Шлюз D соединяет все три сети и, следовательно, имеет три IP-адреса и три Ethernet- адреса. Машина D имеет стек протоколов TCP/IP, похожий на тот, что показан на слайде (**), но вместо двух модулей ARP и двух драйверов (ENET), он содержит три модуля ARP и три драйвера Ethernet. Обратим внимание на то, что машина D имеет только один модуль IP.слайдена слайде Администратор сети присваивает каждой сети Ethernet уникальный номер, называемый IP-номером сети. На рисунке IP-номера не показаны, вместо них используются имена сетей. Когда машина A посылает IP-пакет машине B, то процесс передачи идет в пределах одной сети. При всех взаимодействиях между машинами, подключенными к одной IP- сети, используется прямая маршрутизация, обсуждавшаяся в предыдущем примере.
18 18 Косвенная маршрутизация(продолжение) Когда машина D взаимодействует с машиной A, то это прямое взаимодействие. Когда машина D взаимодействует с машиной E, то это прямое взаимодействие. Когда машина D взаимодействует с машиной H, то это прямое взаимодействие. Это так, поскольку каждая пара этих машин принадлежит одной IP-сети. Однако, когда машина A взаимодействует с машинами, включенными в другую IP-сеть, то взаимодействие уже не будет прямым. Машина A должна использовать маршрутизатор D для ретрансляции IP-пакетов в другую IP-сеть. Такое взаимодействие называется косвенным. Маршрутизация IP-пакетов выполняется модулями IP и является прозрачной для модулей TCP, UDP и прикладных процессов.
19 19 Косвенная маршрутизация(продолжение) Если машина A посылает машине E IP-пакет, то IP-адрес и Ethernet-адрес отправителя соответствуют адресам A. IP-адрес места назначения является адресом E, но поскольку модуль IP в A посылает IP-пакет через D, Ethernet-адрес места назначения является адресом D.
20 20 Косвенная маршрутизация(продолжение) Модуль IP в машине D получает IP-пакет и проверяет IP - адрес места назначения. Определив, что это не его IP-адрес, Маршрутизатор D посылает этот IP- пакет прямо к E. Итак, при прямой маршрутизации IP- и Ethernet-адреса отправителя соответствуют адресам того узла, который послал IP-пакет, а IP- и Ethernet-адреса места назначения соответствуют адресам получателя. При косвенной маршрутизации IP- и Ethernet-адреса не образуют таких пар.
21 21 Косвенная маршрутизация(продолжение) В данном примере сеть internet является очень простой. Реальные сети могут быть гораздо сложнее, так как могут содержать несколько шлюзов и несколько типов физических сред передачи. В приведенном примере несколько сетей Ethernet объединяются шлюзом для того, чтобы локализовать широковещательный трафик в каждой сети.
22 22 Правила маршрутизации в модуле IP Рассмотрим правила или алгоритм маршрутизации. Для отправляемых IP-пакетов, поступающих от модулей верхнего уровня, модуль IP должен определить способ доставки - прямой или косвенный - и выбрать сетевой интерфейс. Этот выбор делается на основании результатов поиска в таблице маршрутов. Для принимаемых IP-пакетов, поступающих от сетевых драйверов, модуль IP должен решить, нужно ли ретранслировать IP-пакет по другой сети или передать его на верхний уровень. Если модуль IP решит, что IP-пакет должен быть ретранслирован, то дальнейшая работа с ним осуществляется также, как с отправляемыми IP- пакетами. Входящий IP-пакет никогда не ретранслируется через тот же сетевой интерфейс, через который он был принят. Решение о маршрутизации принимается до того, как IP-пакет передается сетевому драйверу, и до того, как происходит обращение к ARP-таблице.
23 23 IP-таблица маршрутов Как модуль IP узнает, какой именно сетевой интерфейс нужно использовать для отправления IP-пакета? Модуль IP осуществляет поиск в таблице маршрутов. Ключом поиска служит номер IP-сети, выделенный из IP-адреса места назначения IP-пакета. Таблица маршрутов содержит по одной строке для каждого маршрута. Основными столбцами таблицы маршрутов являются номер сети, флаг прямой или косвенной маршрутизации, IP-адрес шлюза и номер сетевого интерфейса. Эта таблица используется модулем IP при обработке каждого отправляемого IP-пакета. В большинстве систем таблица маршрутов может быть изменена с помощью команды типа route. Содержание таблицы маршрутов (в случае статической маршрутизации) определяется администратором сети, поскольку администратор сети присваивает машинам IP-адреса.
24 24 Подробности прямой маршрутизации Рассмотрим более подробно, как происходит маршрутизация в одной физической сети. Таблица маршрутов в узле alpha выглядит так:
25 25 Подробности прямой маршрутизации (продолжение) В данном простом примере все узлы сети имеют одинаковые таблицы маршрутов. Для сравнения ниже представлена та же таблица, но вместо названия сети указан ее номер.
26 26 Порядок прямой маршрутизации Узел alpha посылает IP-пакет узлу beta. Этот пакет находится в модуле IP узла alpha, и IP-адрес места назначения равен IP- адресу beta ( ). Модуль IP с помощью маски подсети выделяет номер сети из IP-адреса и ищет соответствующую ему строку в таблице маршрутов. В данном случае подходит первая строка. Остальная информация в найденной строке указывает на то, что машины этой сети доступны напрямую через интерфейс номер 1. С помощью ARP-таблицы выполняется преобразование IP-адреса в соответствующий Ethernet-адрес, и через интерфейс 1 Ethernet- кадр посылается узлу beta. Если прикладная программа пытается послать данные по IP- адресу, который не принадлежит сети development, то модуль IP не сможет найти соответствующую запись в таблице маршрутов. В этом случае модуль IP отбрасывает IP-пакет. Некоторые реализации протокола возвращают сообщение об ошибке "Сеть не доступна".
27 27 Подробности косвенной маршрутизации Теперь рассмотрим более сложный порядок маршрутизации в IP-сети, изображенной на рисунке.
28 28 Подробности косвенной маршрутизации (продолжение) В столбце "шлюз" таблицы маршрутов узла alpha указывается IP-адрес точки соединения узла delta с сетью development.
29 29 Порядок косвенной маршрутизации Узел alpha посылает IP-пакет узлу epsilon. Этот пакет находится в модуле IP узла alpha, и IP-адрес места назначения равен IP-адресу узла epsilon ( ). Модуль IP выделяет сетевой номер из IP-адреса ( ) и ищет соответствующую ему строку в таблице маршрутов. Соответствие находится во второй строке. Запись в этой строке указывает на то, что машины требуемой сети доступны через шлюз delta. Модуль IP в узле alpha осуществляет поиск в ARP-таблице, с помощью которого определяет Ethernet-адрес, соответствующий IP-адресу delta. Затем IP-пакет, содержащий IP-адрес места назначения epsilon, посылается через интерфейс 1 шлюзу delta.
30 30 Порядок косвенной маршрутизации (продолжение) IP-пакет принимается сетевым интерфейсом в узле delta и передается модулю IP. Проверяется IP-адрес места назначения, и, поскольку он не соответствует ни одному из собственных IP- адресов delta, шлюз решает ретранслировать IP-пакет. Модуль IP в узле delta выделяет сетевой номер из IP-адреса места назначения IP-пакета ( ) и ищет соответствующую запись в своей таблице маршрутов. Таблица маршрутов в узле delta выглядит так:
31 31 Порядок косвенной маршрутизации (продолжение) Та же таблица с IP-адресами вместо названий. Соответствие находится во второй строке. Теперь модуль IP напрямую посылает IP-пакет узлу epsilon через интерфейс номер 3. Пакет содержит IP- и Ethernet- адреса места назначения равные epsilon. Узел epsilon принимает IP-пакет, и его модуль IP проверяет IP-адрес места назначения. Он соответствует IP-адресу epsilon, поэтому содержащееся в IP- пакете сообщение передается протокольному модулю верхнего уровня
32 32 Установка маршрутов До сих пор мы рассматривали то, как используется таблица маршрутов для маршрутизации IP-пакетов. Но откуда берется информация в самой таблице маршрутов? Рассмотрим методы, позволяющие поддерживать корректность таблиц маршрутов. Простейший способ проведения маршрутизации состоит в установке маршрутов при запуске системы с помощью специальных команд. Этот метод можно применять в относительно маленьких IP-сетях, в особенности, если их конфигурации не часто меняются.
33 33 Установка маршрутов (продолжение ) Можно определить маршрут по умолчанию, который используется в тех случаях, когда IP-адрес места назначения не встречается в таблице маршрутов явно. Обычно маршрут по умолчанию указывает IP-адрес шлюза, который имеет достаточно информации для маршрутизации IP-пакетов со всеми возможными адресами назначения. Если ваша IP-сеть имеет всего один шлюз, тогда все, что нужно сделать, - это установить единственную запись в таблице маршрутов, указав этот шлюз как маршрут по умолчанию. После этого можно не заботиться о формировании маршрутов в других узлах. (Конечно, сам шлюз требует больше внимания.)
34 34 СПАСИБО за внимание! Конец лекции 6
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.