TCP/IP

* 5. Межсетевой протокол IP * Модуль IP является базовым элементом технологии internet, а цент-ральной частью IP является его таблица маршрутов. Протокол IP используетэту таблицу при принятии всех решений о маршрутизации IP-пакетов. Содер-жание таблицы маршрутов определяется администратором сети. Ошибки приустановке маршрутов могут заблокировать передачи. Чтобы понять технику межсетевого взаимодействия, нужно понять то,как используется таблица маршрутов. Это понимание необходимо для успеш-ного администрирования и сопровождения IP-сетей.

5.1. Прямая маршрутизация На рис.6 показана небольшая IP-сеть, состоящая из 3 машин: A, B и C.Каждая машина имеет такой же стек протоколов TCP/IP как на рис.1. Каждыйсетевой адаптер этих машин имеет свой Ethernet-адрес. Менеджер сети дол-жен присвоить машинам уникальные IP-адреса. A B C | | | --------------o------o------o------ Ethernet 1 IP-сеть "development" Рис.6. Простая IP-сеть Когда A посылает IP-пакет B, то заголовок IP-пакета содержит в полеотправителя IP-адрес узла A, а заголовок Ethernet-кадра содержит в полеотправителя Ethernet-адрес A. Кроме этого, IP-заголовок содержит в полеполучателя IP-адрес узла B, а Ethernet-заголовок содержит в поле получа-теля Ethernet-адрес B. ----------------------------------------------------- | адрес отправитель получатель | ----------------------------------------------------- | IP-заголовок A B | | Ethernet-заголовок A B | ----------------------------------------------------- Табл.5. Адреса в Ethernet-кадре, передающем IP-пакет от A к B В этом простом примере протокол IP является излишеством, котороемало что добавляет к услугам, предоставляемым сетью Ethernet. Однакопротокол IP требует дополнительных расходов на создание, передачу и обра-ботку IP-заголовка. Когда в машине B модуль IP получает IP-пакет отмашины A, он сопоставляет IP-адрес места назначения со своим и, еслиадреса совпадают, то передает датаграмму протоколу верхнего уровня. В данном случае при взаимодействии A с B используется прямая маршру-тизация.

5.2. Косвенная маршрутизация На рис.7 представлена более реалистичная картина сети internet. Вданном случае сеть internet состоит из трех сетей Ethernet, на базе кото-рых работают три IP-сети, объединенные шлюзом D. Каждая IP-сеть включаетчетыре машины; каждая машина имеет свои собственные IP- и Ethernet-адреса. ----- D ------- A B C | | | E F G | | | | | | | | | ----o-----o-----o-----o-- | --o-----o-----o-----o--- Ethernet 1 | Ethernet 2 IP-сеть "development" | IP-сеть "accounting" | | H I J | | | | --o----o-----o-----o---------- Ethernet 3 IP-сеть "fuctory" Рис.7. Сеть internet, состоящая из трех IP-сетей За исключением D все машины имеют стек протоколов, аналогичный пока-занному на рис.1. Шлюз D соединяет все три сети и, следовательно, имееттри IP-адреса и три Ethernet-адреса. Машина D имеет стек протоколовTCP/IP, похожий на тот, что показан на рис.3, но вместо двух модулей ARPи двух драйверов, он содержит три модуля ARP и три драйвера Ethernet.Обратим внимание на то, что машина D имеет только один модуль IP. Менеджер сети присваивает каждой сети Ethernet уникальный номер,называемый IP-номером сети. На рис.7 IP-номера не показаны, вместо нихиспользуются имена сетей. Когда машина A посылает IP-пакет машине B, то процесс передачи идетв пределах одной сети. При всех взаимодействиях между машинами, подклю-ченными к одной IP-сети, используется прямая маршрутизация, обсуждавшаясяв предыдущем примере. Когда машина D взаимодействует с машиной A, то это прямое взаимо-действие. Когда машина D взаимодействует с машиной E, то это прямое вза-имодействие. Когда машина D взаимодействует с машиной H, то это прямоевзаимодействие. Это так, поскольку каждая пара этих машин принадлежитодной IP-сети. Однако, когда машина A взаимодействует с машинами, включенными вдругую IP-сеть, то взаимодействие уже не будет прямым. Машина A долженаиспользовать шлюз D для ретрансляции IP-пакетов в другую IP-сеть. Такоевзаимодействие называется "косвенным". Маршрутизация IP-пакетов выполняется модулями IP и является прозрач-ной для модулей TCP, UDP и прикладных процессов. Если машина A посылает машине E IP-пакет, то IP-адрес и Ethernet-адрес отправителя соответствуют адресам A. IP-адрес места назначенияявляется адресом E, но поскольку модуль IP в A посылает IP-пакет через D,Ethernet-адрес места назначения является адресом D. ---------------------------------------------------- | адрес отправитель получатель | ---------------------------------------------------- | IP-заголовок A E | | Ethernet-заголовок A D | ---------------------------------------------------- Табл.6. Адреса в Ethernet-кадре, содержащем IP-пакет от A к E (до шлюза D) Модуль IP в машине D получает IP-пакет и проверяет IP-адрес местаназначения. Определив, что это не его IP-адрес, шлюз D посылает этотIP-пакет прямо к E. ---------------------------------------------------- | адрес отправитель получатель | ---------------------------------------------------- | IP-заголовок A E | | Ethernet-заголовок D E | ---------------------------------------------------- Табл.7. Адреса в Ethernet-кадре, содержащем IP-пакет от A к E (после шлюз D) Итак, при прямой маршрутизации IP- и Ethernet-адреса отправителясоответствуют адресам того узла, который послал IP-пакет, а IP- иEthernet-адреса места назначения соответствуют адресам получателя. Прикосвенной маршрутизации IP- и Ethernet-адреса не образуют таких пар. В данном примере сеть internet является очень простой. Реальныесети могут быть гораздо сложнее, так как могут содержать несколько шлюзови несколько типов физических сред передачи. В приведенном примере нес-колько сетей Ethernet объединяются шлюзом для того, чтобы локализоватьшироковещательный трафик в каждой сети.

5.3. Правила маршрутизации в модуле IP Выше мы показали, что происходит при передаче сообщений, а теперьрассмотрим правила или алгоритм маршрутизации. Для отправляемых IP-пакетов, поступающих от модулей верхнего уровня,модуль IP должен определить способ доставки - прямой или косвенный - ивыбрать сетевой интерфейс. Этот выбор делается на основании результатовпоиска в таблице маршрутов. Для принимаемых IP-пакетов, поступающих от сетевых драйверов, модульIP должен решить, нужно ли ретранслировать IP-пакет по другой сети илипередать его на верхний уровень. Если модуль IP решит, что IP-пакет дол-жен быть ретранслирован, то дальнейшая работа с ним осуществляется также,как с отправляемыми IP-пакетами. Входящий IP-пакет никогда не ретранслируется через тот же сетевойинтерфейс, через который он был принят. Решение о маршрутизации принимается до того, как IP-пакет передаетсясетевому драйверу, и до того, как происходит обращение к ARP-таблице. 5.4. IP-адрес Менеджер сети присваивает IP-адреса машинам в соответствии с тем, ккаким IP-сетям они подключены. Старшие биты 4-х байтного IP-адреса опре-деляют номер IP-сети. Оставшаяся часть IP-адреса - номер узла (хост-номер). Для машины из табл.1 с IP-адресом 223.1.2.1 сетевой номер равен223.1.2, а хост-номер - 1. Напомним, что IP-адрес узла идентифицируетточку доступа модуля IP к сетевому интерфейсу, а не всю машину. Существуют 5 классов IP-адресов, отличающиеся количеством бит всетевом номере и хост-номере. Класс адреса определяется значением егопервого октета. В табл.8 приведено соответствие классов адресов значениям первогооктета и указано количество возможных IP-адресов каждого класса. 0 8 16 24 31 --------------------------------------------------- Класс A |0| номер сети | номер узла | --------------------------------------------------- --------------------------------------------------- Класс B |10| номер сети | номер узла | --------------------------------------------------- --------------------------------------------------- Класс C |110| номер сети | номер узла | --------------------------------------------------- --------------------------------------------------- Класс D |1110| групповой адрес | --------------------------------------------------- --------------------------------------------------- Класс E |11110| зарезервировано | --------------------------------------------------- Рис.8. Структура IP-адресов ------------------------------------------------------- | Класс Диапазон значений Возможное Возможное | | первого октета кол-во сетей кол-во узлов | ------------------------------------------------------- | A 1 - 126 126 16777214 | | B 128-191 16382 65534 | | C 192-223 2097150 254 | | D 224-239 - 2**28 | | E 240-247 - 2**27 | ------------------------------------------------------- Табл.8. Характеристики классов адресов Адреса класса A предназначены для использования в больших сетяхобщего пользования. Они допускают большое количество номеров узлов.Адреса класса B используются в сетях среднего размера, например, сетяхуниверситетов и крупных компаний. Адреса класса C используются в сетях снебольшим числом компьютеров. Адреса класса D используются при обраще-ниях к группам машин, а адреса класса E зарезервированы на будущее. Некоторые IP-адреса являются выделенными и трактуются по-особому. ------------------------------ | все нули | Данный узел ------------------------------ ------------------------------ | номер сети | все нули | Данная IP-сеть ------------------------------ ------------------------------ | все нули | номер узла | Узел в данной (локальной) IP-сети ------------------------------ ------------------------------ | все единицы | Все узлы в данной (локальной) IP-сети ------------------------------ ------------------------------ | номер сети | все единицы | Все узлы в указанной IP-сети ------------------------------ ------------------------------ | 127 | что-нибудь (часто 1) | "Петля" ------------------------------ Рис.9. Выделенные IP-адреса Как показано на рис.9, в выделенных IP-адресах все нули соответст-вуют либо данному узлу, либо данной IP-сети, а IP-адреса, состоящие извсех единиц, используются при широковещательных передачах. Для ссылок навсю IP-сеть в целом используется IP-адрес с нулевым номером узла. Особыйсмысл имеет IP-адрес, первый октет которого равен 127. Он используетсядля тестирования программ и взаимодействия процессов в пределах одноймашины. Когда программа посылает данные по IP-адресу 127.0.0.1, то обра-зуется как бы "петля". Данные не передаются по сети, а возвращаются модулям верхнего уровня, как только что принятые. Поэтому в IP-сети зап-рещается присваивать машинам IP-адреса, начинающиеся со 127.


Страница: