Р.Л. Смелянский - Компьютерные сети. Том 2. Сети в ЭВМ (1130083), страница 18
Текст из файла (страница 18)
Перенос машины из одной сети в другую может ::.,-. '.потребовать изменения маршрутизации. Эти изменения происходят не сразу, и пока они не выполнены, все сообщения идут по старому !д !х1!С или изменения какой-либо глобальной базы данных На рис. 2.26 показано разбиение сети класса В на подсети. Чтобы понять, как используется адрес подсети, следует проследить, как маршрутизатор использует 1Р-адрес. У маршрутизатора есть две таблицы.
В первой таблице содержатся записи вида «сеть — 0 т, а во второй — вида «эта сеть, адрес машины»*'. Первая таблица показы— вает, как достичь интересующей сети, а вторая — как достичь хоста внутри сети. Когда поступает 1Р-пакет, маршрутизатор ищет его адрес доставки в первой таблице маршрутизации.
Если этот адрес является Под термином лхвосг» дешев будем понимать любую машину в сети, имегошую хотя бы один 1р-адрес. 'г~;е. Под словами «зта сеггм здесыюдразумевается адрес сети, к которой принадлежит маршрутизатор 77 адресу Решением указанных проблем является разделение сети на части, но таким образом, чтобы извне она по-прежнему представляла собой единое целое, а внутри нее каждая часть имела бы свой адрес. Часть адреса, идентифицирующая определенную группу сетевых адресов транспортной среды, называется адресом подсети, а все хосты, имеющие одинаковый адрес подсети, образуют полсеть. Итак, под',:;,:::,:..:: сеть — это часть транспортной среды, невидимая извне.
Изменение адреса подсети или введение новой подсети не требует обращения в 32 бит !о Сеть Подсеть Хост ~ Маска подсети!1111111111111111111110000000000 Рис. 2.26. Разбиение сети класса В на подсети адресом другой сети, то пакет передается тому маршрутизатору, который отвечает за связь с указанной сетью. Если это адрес в сети данного маршрутизатора, то он, используя вторую таблицу, направляет пакет прямо по месту назначения. Если адреса нет во второй таблице, то маршрутизатор направляет пакет специально выделенному по умолчанию маршрутизатору, который должен разобраться с этим случаем с помощью более подробной таблицы. Из приведенного описания видно, что алгоритм маршрутизации имеет дело только с сетями или локальными машинами, а не с парами сеть — машина.
Такая организация алгоритма позволяет су!цественно сократить размер таблиц в маршрутизаторах. С появлением подсети структура записей в таблице изменяется. Теперь записи в таблице имеют вид «эта сеть, подсеть, О» и еэта сеть, эта подсеть, машина». Таким образом, маршрутизатор подсети знает, как достичь любой подсети в данной локальной сети и как найти конкретную машину в своей подсети.
Все что ему необходимо для этого — знать маску подсети. С помощью логической операции И и маски, показанной на рис. 2.26, маршрутизатор выделяет адрес подсети, а затем по своим таблицам определяет, как достичь требуемой подсети или (если это локальная подсеть для маршрутизатора) как достичь конкретной машины. 2.5.5.
Протоколы управление межсетевым взаимодействием Протокол 1СМР В Интернете кроме 1Р-протокола, который используется для передачи данных, имеется несколько протоколов управления, используемых сетевым уровнем, таких как 1СМР, АКР, КАКР, ВООТР. Рассмотрим последовательно эти протоколы. Управление функционированием Интернета на сетевом уровне происходит через маршрутизаторы с помощью протокола 1СМР !1п!егпе1 Соп1го! МезааВе Рго!осо1), описанного в КЕС 792. Этот протокол обеспечивает доставку сообщений любой машине, имеющей 1Р- адрес, от маршрутизаторов и других хостов в сети.
С помощью этого протокола реализуют обратную связь лля решения проблем, возни- каюшйх при передаче. Он также выявляет и рассылает сообщения о ",'.!':: десятдах событий. Для доставки своих сообщений протокол !СМР использует пакеты ! Р-протокола. Приведем наиболее важные сообщеР 'яия Сообщение без!!па!!оп ппгеас!за!з!е охватывает множество случаев, например, случай„когда маршрутизатор не знает, как достигнуть необходимой подсети или хоста, или случай, когда дейтаграмма при — доставке должна быть фрагментирована, но установлен флаг, который запрещает это делать Сообщение !ппе ехсеег!ед посылает маршрутизатор, если он об,';:, наружил лейтаграмму с истекшим времени жизни.
Это сообщение также генерирует хост, если он не успел завершить обработку 1Р",;:., пакета ло истечения времени его жизни. !Далее слова «пакет», «!Р:.::,': Пакет», «дейтаграмма» будем понимать как синонимы, если специ;,у ально не оговорено что-либо другое.) Синтаксические или семантические ошибки в заголовке !Р-пакета -,".:"', Вызывают появление сообщения рагаше1ег ргоЫещ Сообщение яопгсе г!пенс!г обеспечивает управление потоком Маршрутизатор или хост-получатель высылает этот пакет хосту- ",,'.4:: 'отправителю, если последнему необходимо понизить скорость пере": дачи.
Другими словами, это пример подавляющего пакета (см. под:;,"::,',' разд. 2.4). Сообгцения такого типа будут генерироваться до тех пор, пока скорость поступления пакетов от отправителя не достигнет "',::; значения, необходимого хосту-получателю. Это сообщение система : !~!;;, может использовать для предотвращения перегрузки, поскольку оно ,~,'-,' возникает всякий раз, когда маршрутизатор вынужден сбросить пакет -';,", из-за переполнения своего буфера Сообщение гей1гес1 позволяет маршрутизатору отправить реко- "!1-:.;:,1 мендацию о лучшем маршруте и впредь посьшать пакеты с опреде;",':.."1::-:; «ленным 1Р-адресом через другой маршрутизатор.
Сообщения еспо ге«!пеят и ес!зо гер!у позволяют проверить рабо,.;-' ',, тоспособность хостов в сети: получатель сообщения ес!го гег!иез! -",. обязан ответить сообщением ес!го гер1у, причем с теми же параметра-'-!;-';;,;.' ми, что и в ес)зо гег1пезт Сообщения !!ще-я!ашр гег!иев! и !ппе-в1ашр гер1у позволяют измерять временную задержку в Интернете на сетевом уровне.
Этот механизм необходим, например, для работы алгоритма маршрутизации по состоянию канала ",у Протокол определения адреса — АНР Хотя каждая машина в Интернете имеет уникальный !Р-адрес, при передаче пакета через СПД от этого мало пользы, так как канальный уровень не понимает !Р-адресов. Как правило, машина подключается к СПД через сетевую карту, которая понимает только адреса канального уровня, например ег!зегпег-адрес, имеюгций 48 разрядов 192.
1 3.8 Кольцо ЕРР! !92.31.б0.0 Е!Оагоо! 192.31.б5.0 Ешогпог 192.3!.б3.0 Рис. 2.27. Пример объединения сети класса С. Е1 ... ЕЗ, Л ... РЗ вЂ” адреса точек подключения 80 Сетевая карта знает только такие адреса и ничего не знает а 32- разрядных 1Р-адресах.
Как отобразить 32-разрядный 1Р-адрес в адресах канального уровня, поясним с помощью рис. 2.27. Когда машина 1 посылает сообщение машине 2, адрес доставки имеет вид зше!Роз.гпзц.зц. Сначала машина 1 с помощью службы имен домена — В)х)5 (1)огпа!и Хате бегч!се — см. подразд. 4.2 апределяет 1Р-адрес машины 2. Далее для отображения 1Р-адреса в Ег)гегпег-адресе машина 1 посылает через СПД Е1Ьеггте! следующий запрос: чУ кого такой 1Р-адрес?а. Этот запрос, также содержащий адрес СПД машины 1, увидят все машины в сети 192.31.65.0. Ма!пина 2, увидев такой запрос и свой 1Р-адрес в нем, пошлет ответ, в котором указан ее СПД-адрес (в данном случае, Ег)гегпег-адрес).
Протокол, который реализует рассылку запросов и сбор ответов, т.е. протокол определения адреса — АКР (АгЫгезз Кезо1пт)оп Ргогосо1), описан в КГС 826. Практически у каждой машины в Интернете имеется этот протокол. Теперь, зная СПД-адрес получателя, т.е. адрес требуемой машины в СПД (в данном случае, МАС-адрес), пакет с адресом 192.31.65.5 можно передать на канальный уровень. На канальном уровне полученный пакет помещают в Е!)гегпег-кадр, в заголовке которого размещается найденный МАС-адрес машины 2.
Машина 1 при этом запоминает МАС-адрес машины 2 на случай, если ей еще раз к ней придется обратиться. Ясно, что протокол должен учитывать время актуальности этой информации. Например, если на машине 2 заменят сетевую карту, то изменится и ее сетевой адрес. Поэтому данная информация должна периодически обновляться.
Для того чтобы машине 2 не пришлось повторять всю процедуру поиска МАС-адреса машины 1, в заголовке кадра машина 1 укажет свой МАС-адрес, а в пакете — свой 1Р-адрес. Теперь рассмотрим случай, когда обращение посылается в другую подсеть. Здесь возможны два решения. Первое решение; имеется определенный маршрутизатор, который принимает все сообшения, адресованные в определенную подсеть или группе адресов.
Доступ в эту опрелеленную подсеть возможен только через данныи маршрутизатор, который называется ргоху и на котором работает протокол ргоху АКР. Этот маршрутизатор знает, как найти адресуемую машину в этой определенной полсети. Второе решение — использование выделенного маршрутизатора, который управляет маршрутизацией удаленного графика. Машина-отправитель сама определяет, что обращение идет в удаленную сеть, и посылает сообщение на этот выделенный марш- ';„;.; рутизатор. В нашем случае на маршрутизатор с МАС-адресом ЕЗ, :.'-:,::, ' который распаковывает кадр и находит искомый! Р-адрес. По своим 1::::": ' таблицам этот маршрутизатор определяет, что все пакеты для машин :::;:.', сети 192.31.60.0 следует пересылать через интерфейс с МАС-адресом ГЗ.
Маршрутизатор с МАС-адресом ЕЗ посылает сообщение маршру- тизатору ГЗ по кольцу ГОЕ)1. Если же он не знает МАС-адреса адреса -:,':.:: ГЗ, то посылает вещательный запрос с указанием искомого 1Р-адреса, : на которые откликнется маршрутизатор с МАС-адресом ГЗ Подробнее АКР-протокол рассмотрен в 181. Обратный протокол определения адреса — ВАВР Иногда возникает необходимость по известному СПД-адресу определить соответствуюгций 1Р-адрес, например при удаленной загрузке бездисковой станции. Как же эта станция определит свой 1Р-адрес и 1Р-адреса соседних машин? В сети имеется определенный хост, на котором работает обратный -': г протокол определения адреса — КАКР (Кечегзе Адбгезз Кеьо1цйоп Ргогосо!). Этот хост также называют КАКР-сервером. При необходи.,!:",: ' мости определить по Е11тегпег-адресу соответствующий 1Р-адрес по- сылают следующий запрос КАКР-серверу: «Вот Ебтегпег-адрес, кто знает соответствующий 1Р-адрес?».