К. Закер - Компьютерные сети. Модернизация и поиск неисправностей (953092), страница 87
Текст из файла (страница 87)
Система, передающая дейтаграммы, ограничи- Часть !и Сетевые пропзколы вает размер пакета величиной ноясинольлого лгргдиковиого 4ажв (ЛЙЖ', пксоляоп Втккййг влф конкретной сети, которая представляет собой- наибольший размер кадра, транспортировку юторого макет осуществлять протокол Канального уровня.
Нк пути следования к месту назначения пакеты могут проходить через сети с различными. МТИ. До тех пср, пока МП3 каждой сети, по катюрой путешествует пакет, превьппает размер самого пакета, передача не вызывает никаких сложностей, Однако, если величина пакета больше МП! конкретной сети, он не может быль передан в исходной Форме. Если такое происходит, протокол 1Р марщрутизатсра, обеспечивающего двс!уп в ланнуе свта„отвечает за разбиение дейтаграммы на фрагменты,'мейъшйе по размерам, чем МП) сети; Затем ыаргцругизатор направляет каждый фрагмент: дальше, но уже в изаиираванном пакете с собственным 1Р-запыовюзм. В зависнмобтй 'от количества и характеристик'сетей, встречающихся на зрвссе лейчву!щмыы, она может неалнотпезно подвергаться:дроблению, прежде чем достигнет пункта назначения.
Система мсскет рщбить дейтаграмму на фрагменты, которые сами по себб слишком велики для передачи по остам„расположенным далее на пути следования ланных. 'Позтаму другой маршрутизатор вынужден разделять полученные им фрагменты на еще более мелкие фрагменты Сборка фрагментированной дейтаграммы происходит толыаз в сйстеме, являющейся конечным получателем пакета, и только после того, кйк она получит все накаты, бадержащие фрагменты.
Промежуточные марйрутизагоры восстановлением дейтаграмм не занимщотся. Стрвге таас!иь двйтвдзамма прздстмммат собой забав дзнньсь упакованных , который имеет предопределенное значение в поле идентификатора! Р-загопсвка. Когда марерутизатср разбивает дейпираьзау на йазгменты, он использует такое же меченнв в пасв идентификатора дпя каждого пакета. который создает, пскззьаая там самым, что все пакеты составляет аместв одну дейтаграмму.
Называть. отдельный фрагмент дейтгкрзммсй будет нвксррмпным употреблением двекхо термина. Котла марщйутизвгор получает дейтаграмму, нуждвкидуюся в фрагментации„ он форыирувт насколько новых пакетов, содержащих один и тот же,адрес конечной системы а поле идентификатора ! Р-заголовка (значение заимствуется у исходной дейиграммы). Остальные паля 1Р-заголовка в точности такие же, за исключением трех молификаций. П Значение .пгкщ общей длины меняется, соответствуя размеру фрагмента„ вместо.размерй.целой дейтаграммы. П Бит 3 паля флагов, известный пал названием "дальнейшие фрагменты" (Моте Рш!рпепы), устанавливается в 1, показьпйя гаьг самым, что пакеты будут переносить промежуточные фрапкенты, кроме случая самого по- г' и.
тснп следнего фрагмента дейтаграммы, лля которого значение данного бита равно б. Е3 Величина в поле смещения фрагмента изменяется для отражения положения каждого фрагмента в целостной дейтаграмме, в зависимости от размера самих фрагментов (в свою очередь, зависящего ог МТ11 сети, по которой фрагменты будут переправляться) Значение для. первого сегмента равно б, значение лля каждого следующего фрагмента увеличивается на длину фрагмента, выраженную в байтах.
Укаэанные изменения в 1Р-заголовке необходимы лля того, чтобы обеспечить правильную сбсрку дейтаграммы по прибытии по месту назначения. Маршрутизатор передаст фрагменты точно так же, как и любые другие 1Р- пакеты, а в силу того„что 1Р относится к протоколам без установления соединения, отдельные порции могут пойти абсолютно различными путями и прибыть к пели в совершенно ином пор»лке. Системз-получатель использует значение бита "дальнейшие фрагменты" дл» того, чтобы определить, когда следует начинать процесс сборки дейтаграммы, и зндчення полей смешения фрагмента для упорядочивания фрагментов при сборке.
Выбор размера генерируемых фрагментов предоставлен конкретным реализациям протокола 1Р. Обычно размер каждого фрагмента равен МП1 для сети, по которой фрагменты даскны передаваться, за вычепм длины заголовка протокола 1Р и протокола Канального уровня с окрупгением вниз до ближайших 8 байтов. С другой стороны, некоторые системы автоматически вырабатывают 576-байтовые фрагменты, поскольку зто — величина МТ11 пугн по умолчанию, устанавливаемая многими маршрутизаторами. Фрагментация нежелательна, но зто — необмщимое зло. Очевидно, что:фраг— ментация, то есть создание множества пакетов из одного пакета, увеличивает издержки, связанные с управлением процессом передачи.
Если даже только один из фрагментов дейтаграммы будет потерян или поврежден; потребуется повторная передача всей дейтаграммы. Не существует способа повторной передачи талько отдельного фрагмента, так как система-отпрамггель савершенно не в курсе процесса фрагментации, произ»слепней промежугочныз~ маршрутизаторами. Протокол 1Р сисгемы-получател» не пересьпмет вжввпцую информацию вверх, протоколу Транспортного уровня, до тех пор, пока не по' лучены все фрагменты дейтаграммы и она не собрана полностью.
Поэтому, протокол Транспортного уровня должен самостоятельно отследип потерянные ванные и позаботьпъся о повторной передаче дейтаграммы. Маршрутизация Так как протокол 1Р отвечает за поставку пакетов по месту конечного назначения, он определяет и путь, по которому направится пакет. Маршрутом пакета называется пуп, который он проходит от одной оконечной системы, отправдвшей его, до другой оконечной системы, являюгдейся 'ейг'месйяа назначения' Маршрутизаторы, через который следует пакет в процессе путешествия по маршруту, носят название лт«а«гезсулючлых сисэтеи фее«1латйтлв «у«геэт). «рундвментютьиае различие между аканечнымя и прамежуптчнымн системами заиюачается в там, насколько высока в:прап«кольнем стеке поднимастхзт ийфОрьяция'пакета: В кампьштерс-'иагочнике запрос на доступ' к сетевому ресурсу возникает на Прикладном уровне, проделывает весь путь вниз по стеку протоколов и, в конечном итоге, появляется на Физическом уровне, уже инкапсулированный в пакет-: и готовый для передачи.
Коптя же он достигает места- назначения, процесс происходит в обратном порядке -то есть пакет поднимается вверх по протокольному стеку вплоть ло Прнклдднага уровни. Поэтому, в оконечных системах в обработке информации пакета задействован весь стек протоколов., В промсжутачньи же аисте«ист„нэпримср. маршруптзаторах, информация.пакета не поднимается выше протокола. Сетевого уровня, которым в данном случае является 1Р (рнс.
11.13). Протокол 1Р:Фтсекает запзловок протокола Канального уровня; а затем, определив, куда следует передавать пакет далее, падппавлтшает его к упаковке протоколам Кавцдьнаго уровня в соотлетс«вии с размерами кадра, поддерживаемого конкретной сетью, па которой проследуют пакет.
Эта мажет потребовать вовлечения протокола АКР для.разрещсция 1Р-адреса в аппаратный адрес вледующей промежутзчной остановки пакета и затем снабжения этим адреса«э щхпокола Канальнога уровня. Лйрийвти«ядля ГтэидлФ прелставляет собой- процесс, происхаляптий прн каждой промехгунтчнай остановке пакета.'Система-источник передает пакет своему шлтазу Па умолчанию, та есть маршруптзвптру, после чего последний определяет, куда отправлять пакет далее Если система назначения находится в том сс«гценте сети, с которым данный маршрутизатор сватан, он посылает пакет в этот сетевой сегмент. Если, же канечн««й, пункт находится в лрутой;сети+ маршрутизатор определяет, какому из лрупы маршрутизаторов он додтпзн оптравить пакет, чтобы тат смог лгстичь системытпапучателя наиболее эффедгивно.
таким образам,. следующей остановкой дхя пакета, идентифицируемого адресом назначения протокола Канальнога урпвнн, не обязательно будет именно та система, чей адрес указан в поле: адреса назначения Н'-загйдавка В конце канцты, адни из маршрутизаторов будет иметь дсступ к сети, где находится система, являющаяся окончательным получателем пакета, и тогда он сможет переслать этот пакет непосредственно компьютеру-адресату. В случае рзссматрнюемага метода процесс маршрутизации рисп1ийеыытся мшклу сетедьдмн маршрутизаторами. Ни алин из кампьтатеров, вовлеченных в маршрутизацию, не имеет исчерпывающей ийфонмации а маршруте пакета па сети ни в Один из моментов. Подобное расттределение труда деттает втхтможным само наличие такой огромной сети, ттад Интернет.
Не существует пралтичесхого метода„позволяташега отдельной системе определять из- менчнвый маршрут между мнагимк тысячами маршругизагоров в Интернете к конкретному пункту назначения для каждого транзитного пакета. рмщ. т т.та. па«еты, оолтчаемье маршдутизанлим, аопиима«лев в сто«о аропжолоа нв выше Сетевого трави« Наиболее сложной частью процесса маршрутизации является реализация метода, с помощью которого маршругизатар определяет, куда посылать каждый пакет далее. Маршрутизаторы имеют прямую информшйпо только о компьютерах сетевж сегментоа, непосредственно связанных с ними. Поэтому, у них нет возможности в одностороннем порядке выяснить оптимальный пуп к конкретному месту назначения.
В больгпинстве случаев маршрутизаторы получают информацию о лругих сегментах мти пугем общения с друппии маршругизаторами с применением протоколов, разработанных специальна для этой цели, например, протокола К1Р 1Коцгшя Ыаппвг1ап Ртангсо1„протокол информации маршрутизации). Каждый маршрутизатор передает сведения о себе маршрутизаторам сетей, с которыми он непосредственно«сразщ, те, в свою очередь, информируют свае окружение н так далее.