физо. Документ Microsoft Word. Московская финансовопромышленная академия Кафедра Информатики
Скачать 0.65 Mb.
|
Тема 11. Организация функционирования глобальных сетей. Технология АТМ Территориальные вычислительные сети (глобальные, региональные, корпоративные), появление которых обусловлено достижениями научно-технического прогресса и объясняется потребностью в обмене информацией, стали неотъемлемой частью осуществления программ сотрудничества между странами. В настоящее время функционирует множество компьютерных сетей, используемых в научных и образовательных целях, в бизнесе, финансово-экономической деятельности, реализации совместных научно-технических программ и многих других применений. Следует, прежде всего, выделить глобальную сеть Internet, объединяющую множество других сетей и позволяющую войти в мировое сообщество. Internet предоставляет пользователям практически неограниченные информационные ресурсы. На характере развития сетевых структур в любой развитой стране в большой степени отражаются общие мировые тенденции развития КС. Одна из них – тенденция объединения в той или иной форме различных сетевых структур, обусловленная необходимостью предоставления пользователям возможности связи с компьютером, телефоном или факсом, находящимся в любой точке планеты. Процессу объединения сетей способствует развитие их архитектуры в направлении создания национальных и международных ассоциаций систем связи, в которых используются ЭВМ, изготовленные различными производителями и управляемые различными ОС. Это стало возможно, так как в основу моделей и архитектуры сетей положены международные стандарты. В результате во всех развитых странах в настоящее время выпускаются в основном разнообразные технические и программные средства территориальных и локальных сетей нового типа – открытых сетей, удовлетворяющих требованиям международных стандартов. Арендуемые элементы глобальной сети Достаточно часто для организации или предприятия нецелесообразно строить глобальную сеть целиком на собственных элементах, то есть собственных кабельных линиях связи, каналообразующей аппаратуре DWDM и собственных коммутаторах или маршрутизаторах. Чаще всего глобальная сеть принадлежит телекоммуникационной компании, которая предоставляет службы своей сети в аренду. При отсутствии такой сети, предприятия арендуют выделенные или коммутируемые каналы у оператора дальней связи и строят на них собственную глобальную (территориальную) сеть. Канальный уровень глобальных сетей В последнее время наблюдается сближение сетей всех видов – компьютерных, телефонных, сетей кабельного телевидения и др. Это означает, что в идеале глобальная сеть должна предоставлять разнообразные услуги: передачу пакетов компьютерных сетей, передачу трафика офисных, городских и междугородних АТС, обмен факсами и видеоизображениями, передачу трафика банкоматов и кассовых аппаратов. Эти виды трафика предъявляют различные требования к качеству услуг по передаче. Например, небольшие задержки пакетов компьютерных сетей незначительно влияют на их работу, а задержки трафика АТС серьёзно ухудшают качество связи между абонентами. Поэтому в последние годы ведутся работы по развитию механизмов обеспечения качества обслуживания (Quality of Service, QoS) в глобальных сетях. Канальный уровень глобальной сети составляют технологии асинхронного режима передачи (Asynchronous Transfer Mode, АТМ) и многопротокольной коммутации с помощью меток (MultiProtocol Label Swiching, MPLS). Рассмотрим организацию сетей АТМ. АТМ является технологией, основанной на предварительном соединении. Поэтому перед посылкой данных необходимо отправить пакет для установки связи. По мере прохождения этого установочного пакета по узлам подсети все маршрутизаторы делают записи в своих внутренних таблицах, отмечая тем самым наличие соединения и резервируя для него определенные ресурсы. Устанавливаемые соединения в терминологии АТМ часто называют виртуальными каналами, по аналогии с физическими каналами, имеющимися в телефонной системе. В большинстве сетей АТМ также имеются постоянные виртуальные каналы, представляющие собой постоянные соединения между двумя удаленными друг от друга хостами. Они напоминают выделенные телефонные линии. У каждого соединения (как временного, так и постоянного) есть свой уникальный идентификатор. После установки соединения любая из сторон может начать передачу данных. В основе технологии АТМ лежит идея передачи информации небольшими пакетами фиксированной длины, называемых ячейками (cells). Ячейки имеют размер 53 байта, из которых 5 байт составляют заголовок, а 48 несут полезную нагрузку. Частью заголовка является идентификатор соединения, поэтому как хосты (отправляющий и принимающий), так и все маршрутизаторы, встречающиеся на пути, знают, какая ячейка принадлежит какому соединению. Эта информация позволяет маршрутизатору направить каждый входящий пакет в нужном направлении. Определение маршрута производится на аппаратном уровне с высокой скоростью. Основным аргументом в пользу ячеек фиксированной длины является тот факт, что можно легко организовать аппаратную обработку маршрутизаторами коротких пакетов известной длины. Еще одним плюсом АТМ является то, что можно настроить аппаратуру на размножение входящего пакета на множество выходных линий. Такое свойство требуется для организации некого подобия телевизионной программы, которая методом широковещания пересылается большому количеству абонентов. Наконец, небольшие ячейки вряд ли смогут заблокироваться линию надолго, что гарантирует определенный уровень качества обслуживания. Все ячейки следуют по одному и тому же маршруту, поэтому верный порядок их доставки гарантируется, хотя сама доставка — нет. Сети АТМ организованы по принципу традиционных региональных сетей, линиями и коммутаторами (маршрутизаторами). Наиболее распространенные скорости работы АТМ - это 155 и 622 Мбит/с, однако можно использовать и более высокие скорости. Сети АТМ не зависят от используемой технологии физического уровня и могут с успехом строиться на основе первичных сетей DWDM. Глобальные сети (WAN) используются для объединения локальных сетей, разделенных значительными географическими расстояниями. Глобальные сети работают на физическом и канальном уровнях эталонной модели OSI. Канальный уровень глобальной сети составляют технологии АТМ и MPLS. Сети АТМ являются сетями с предварительным установлением соединения. Сети АТМ оперируют ячейками фиксированной длины. Глобальные сети обеспечивают обмен пакетами данных между локальными сетями и поддерживающими их маршрутизаторами. Тема 12. Программное обеспечение сетей – стеки сетевых протоколов Вопросы темы: Вопрос 1. Краткое описание стека TCP/IP. Вопрос 2. Сетевой уровень в семействе TCP/IP. Вопрос 3. Двоичная и десятичная IP-адресация. Вопрос 4. Зарезервированные IP-адреса. Вопрос 5. Использование масок при IP-адресации. Вопрос 6. Фрагментация. Вопрос 7. Формат заголовка IP-пакета. Семейства сетевых протоколов, иногда называемые стеками протоколов, реализуют функции верхних уровней модели OSI. Было разработано несколько стеков сетевых протоколов (IPX/SPX, SMB/NetBIOS и др), но в настоящее время наибольшую популярность завоевал стек TCP/IP, разработанный Управлением перспективных исследований и разработок министерства обороны США. В данном параграфе речь пойдет о стеке протоколов TCP/IP и его работе по обеспечению обмена данными через произвольное количество взаимосвязанных сетей. Вопрос 1. Краткое описание стека TCP/IP. Семейство протоколов под общим названием TCP/IP было разработано в ходе исследовательской работы, выполненной Управлением перспективных исследований и разработок министерства обороны США (DARPA) в начале 80-х гг ХХ века. Первоначально стек использовался для обеспечения связи между компьютерами внутри самого управления. Существенный вклад в развитие стека TCP/IP внес университет Беркли, реализовав протоколы стека в своей версии операционной системы UNIX. Широкое распространение ОС UNIX привело и к широкому распространению протокола IP и других протоколов стека. Протоколы стека TCP/IP стали стандартом де-факто и в настоящее время они реализованы в ОС семейства Microsoft Windows, Novell NetWare, Mac OS X и др. Стеку TCP/IP уделяется основное внимание по нескольким причинам: Стек TCP/IP является универсально доступным, и с большой долей вероятности он будет использоваться в работе любой вновь организуемой сети. Стек TCP/IP представляет собой полезный пример для понимания работы других протоколов, так как он включает элементы, которые типичны и для других протоколов. Стек TCP/IP важен, поскольку он используется маршрутизаторами в качестве средства конфигурирования. Рассмотрим структуру стека TCP/IP. Семейство протоколов TCP/IP было разработано до появления модели взаимодействия открытых систем OSI/ISO. Стек протоколов содержит четыре уровня (табл.1.), каждый из которых решает часть задачи по организации надежной работы составной сети. Таблица 1. Многоуровневая структура стека TCP/IP Вопрос 2. Сетевой уровень в семействе TCP/IP. Стержнем стека TCP/IP является протокол межсетевого взаимодействия (Internet Protocol, IP), относящийся к сетевому уровню. Протокол IP создан для использования в объединенных системах компьютерных коммуникационных сетей с коммутацией пакетов. Он обеспечивает передачу блоков данных, называемых датаграммами или пакетами, от отправителя к получателям, где отправители и получатели являются хост-компьютерами, идентифицируемыми IP-адресами фиксированной длины. Протокол IP обеспечивает при необходимости также фрагментацию и сборку датаграмм для передачи данных через сети с малым размером пакетов. Internet Protocol специально ограничен задачами обеспечения функций, необходимых для передачи IP датаграммы от отправителя к получателю через объединенную систему компьютерных сетей. Нет механизмов для увеличения достоверности конечных данных, управления протоколом, синхронизации или других услуг. Все эти механизмы реализуются на транспортном уровне стека с помощью вышеописанных средств протокола TCP. Протокол IP выполняет две главные функции: адресацию и фрагментацию. В параграфе "Физический уровень передачи данных", говорилось, что МАС- адресация существует на канальном уровне эталонной модели OSI, и поскольку большинство компьютеров имеют одно физическое подключение к сети, то они имеют один МАС-адрес. МАС-адреса назначаются производителями оборудования (сетевых карт и маршрутизаторов) и являются уникальными адресами. В IP-сетях узел имеет IP-адрес (произноситься как «ай пи адрес»), который представляет собой уникальный 32-битовый (в четвёртой версии протокола IP) или 128-битовый (в шестой версии) логический адрес. IP-адресация существует на сетевом уровне (уровне 3) эталонной модели OSI. В отличие от МАС-адресов, которые обычно существуют в плоском адресном пространстве, IP-адреса имеют иерархическую структуру. Можно сказать, что каждая ЛВС имеет свой уникальный номер (который выдаётся международной организацией), и этот номер позволяет однозначно идентифицировать локальную сеть в пределах глобальной сети (например, в Internet). Узлы внутри сети также нумеруются – администратор во время конфигурирования компьютеров и маршрутизаторов присваивает им номер узла. Таким образом, каждый компьютер (и порт маршрутизатора) получает IP-адрес, который состоит из двух частей: номера сети и номера узла. Каждая организация, представленная в списке сети, видится как одна уникальная сеть, до которой сначала надо установить маршрут и только после этого можно будет связаться с каждой отдельной хост-машиной этой организации. Как показано на рис. 17, каждая сеть имеет свой адрес, который относится ко всем хост-машинам, принадлежащим данной сети. Внутри сети каждая хост-машина имеет свой уникальный адрес. Рис. 17. Уникальная адресация позволяет конечным станциям связываться между собой Если устройство переносится из одной сети в другую, его IP-адрес должен быть изменен, чтобы отразить это перемещение. Так если компьютер с адресом А.1 перенести в сеть С, то ему надо будет присвоить адрес C.5. Вопрос 3. Двоичная и десятичная IP-адресация. IP-адреса записываются в виде битов, поскольку содержащаяся в них информация должна быть понятной компьютерам. Для того чтобы данные могли передаваться в среде передачи данных, они должны быть сначала преобразованы в электрические импульсы. Когда компьютер принимает эти электрические импульсы, он распознает только два состояния: наличие или отсутствие напряжения в кабеле. В четвёртой версии протокола IP IP-адрес представляет собой 32-разрядное двоичное число, записанное в виде четырех октетов или групп, каждая из которых состоит из восьми двоичных знаков (нулей и единиц). Таким образом, в IP-адресе, записанном как 11000000.00000101.00100010.00001011, первый октет представляет собой двоичное число 11000000, второй октет – двоичное число 00000101, третий октет – двоичное число 00100010, четвертый октет – двоичное число 00001011. Число, состоящее из 32 знаков запомнить очень тяжело. Поэтому для обозначения 32-битовых чисел в IP-адресах используются десятичные числа. Это называется представлением в десятичной форме с разделением точками. Чтобы перевести IP-адрес 11000000.00000101.00100010.00001011 в этот упрощенный формат, надо каждое из этих 8-битовых чисел преобразовывать в его десятичный эквивалент. Такое преобразование можно сделать, например, с помощью программы Microsoft «Калькулятор» (переключатели Dec и Bin). В результате двоичное число 11000000.00000101.00100010.00001011 преобразуется в точечно-десятичное число 192.5.34.11. В шестой версии протокола IP адреса имеют длину 128 бит и записываются в виде шестнадцатеричных чисел. Вопрос 4. Зарезервированные IP-адреса. В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов. • Если весь IP-адрес состоит только из двоичных нулей, то он обозначает адрес того u1091 узла, который сгенерировал этот пакет; этот режим используется только в некоторых сообщениях ICMP. • Если в поле номера сети стоят только нули, то по умолчанию считается, что узел назначения принадлежит той же самой сети, что и узел, который отправил пакет. • Если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast). • Если в поле номера узла назначения стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером сети. Например, пакет с адресом 192.190.21.255 доставляется всем узлам сети 192.190.21.0. Такая рассылка называется широковещательным сообщением (broadcast). Особый смысл имеет IP-адрес, первый октет которого равен 127. Он используется для тестирования программ и взаимодействия процессов в пределах одной машины. Когда программа посылает данные по IP-адресу 127.0.0.1, то образуется как бы «петля». Данные не передаются по сети, а возвращаются модулям верхнего уровня как только что принятые. Поэтому в IP-сети запрещается присваивать машинам IP-адреса, начинающиеся со 127. Этот адрес имеет название loopback. Можно отнести адрес 127.0.0.0 ко внутренней сети модуля маршрутизации узла, а адрес 127.0.0.1 - к адресу этого модуля на внутренней сети. На самом деле любой адрес сети 127.0.0.0 служит для обозначения своего модуля маршрутизации, а не только 127.0.0.1, например 127.0.0.3. Некоторые IP-адреса являются немаршрутизируемыми (частными), т.е. пакеты, отправленные с такого или на такой адрес, будут отброшены первым же маршрутизатором Интернета. Немаршрутизируемые IP-адреса предназначены для использования в локальных сетях, подключённых к Интернету. Такие сети часто подключаются к Интернету с помощью шлюза с трансляцией сетевых адресов (Network Address Translation, NAT). Получая IP-пакет, шлюз заменяет в нём немаршрутизируемый (частный) IP-адрес источника на свой маршрутизируемый (реальный) адрес. Таким образом, для наблюдателя в Интернете все пакеты, исходящие из такой сети, представляются пакетами, отправляемыми с одного адреса. Это повышает безопасность локальной сети, т.к. наблюдатель не может раскрыть её структуру и обеспечивает экономию IP-адресов, т.к. одни и те же частные IP-адреса могут использоваться во множестве локальных сетей. Если же локальная сеть создана для работы в «автономном режиме», без связи с Интернет, тогда администратор этой сети волен назначить ей произвольно выбранный номер. Но и в этой ситуации рекомендуется назначить сети адрес из немаршрутизируемого (частного) диапазона. Частные IP-адреса выбираются из следующих диапазонов: 10.0.0.1 – 10.255.255.254 с маской 255.0.0.0; 172.16.0.0 - 172.31.255.254 с маской 255.255.0.0; 192.168.0.1 – 192.168.255.254 с маской 255.255.255.0. О том, что такое маска Вы узнаете из следующего раздела. Вопрос 5. Использование масок при IP-адресации. Выше было сказано, что IP-адрес состоит из номера сети и номера узла. Однако встаёт вопрос: как маршрутизаторы отделяют номер сети от номера узла? Традиционно эта проблема решалась с помощью классов IP-адресов. Так в IP-адресах класса А на номер сети отводится первый октет IP-адреса. В IP-адресах класса В – первый и второй октеты, а в IP-адресах класса С – первый, второй и третий октеты. Чем больше бит отводится на номер сети, тем меньше бит остаётся на номер узла, следовательно, такая сеть может содержать меньшее количество узлов. Для сети класса А количество узлов может достигать 224, то есть 16 777 216 узлов, а для класса В – 216, что составляет 65 536 узлов. В сети класса С число узлов ограничено 28, то есть 256 узлами. В настоящее время наиболее распространены сети класса С, а все адреса сетей класса А являются занятыми, поскольку их количество ограничено 126 (Номер 0 не используется, а номер 127 зарезервирован для взаимодействия процессов в пределах одной машины, о чем сказано выше). Для определения границы между номером сети и номером узла сейчас широко используются маски сети. Маска - это число, которое используется в паре с IP-адресом; двоичная запись маски содержит единицы в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Поскольку номер сети является цельной частью адреса, единицы в маске также должны представлять непрерывную последовательность. Для стандартных классов сетей маски имеют следующие значения: класс А - 11111111.00000000.00000000.00000000 (255.0.0.0); класс В - 11111111.11111111.00000000.00000000 (255.255.0.0); класс С - 11111111.11111111.11111111.00000000 (255.255.255.0). Снабжая каждый IP-адрес маской, можно отказаться от понятий классов адресов и сделать более гибкой систему адресации. Например, если адрес 185.23.44.206 ассоциировать с маской 255.255.255.0, то номером сети будет 185.23.44.0, а не 185.23.0.0, как это определено системой классов. В масках количество единиц в последовательности, определяющей границу номера сети, не обязательно должно быть кратным 8, чтобы повторять деление адреса на байты. Пусть, например, для IP-адреса 129.64.134.5 указана маска 255.255.128.0, то есть в двоичном виде: IP-адрес 129.64.134.5 - 10000001.01000000.10000110.00000101 Маска 255.255.128.0 - 11111111.11111111.10000000.00000000 Если игнорировать маску, то в соответствии с системой классов адрес 129.64.134.5 относится к классу В, а значит, номером сети являются первые 2 байта - 129.64.0.0, а номером узла - 0.0.134.5. Если же использовать для определения границы номера сети маску, то 17 последовательных единиц в маске, «наложенные» на IP-адрес, определяют в качестве номера сети в двоичном выражении число: 10000001. 01000000. 10000000. 00000000 или в десятичной форме записи - номер сети 129.64.128.0, а номер узла 0.0.6.5. Для записи масок используются различные форматы. Например, удобно интерпретировать значение маски, записанной в шестнадцатеричном коде: FF.FF.00.00 - маска для адресов класса В. Часто встречается и такое обозначение 185.23.44.206/16 - эта запись говорит о том, что маска для этого адреса содержит 16 единиц или, что в указанном IP-адресе под номер сети отведено 16 двоичных разрядов. Механизм масок широко распространен в IP-маршрутизации, причем маски могут использоваться для самых разных целей. С их помощью администратор может разделять свою сеть на подсети, не требуя от поставщика услуг дополнительных номеров сетей. На основе этого же механизма поставщики услуг могут объединять адресные пространства нескольких сетей путем введения так называемых «префиксов» с целью уменьшения объема таблиц маршрутизации и повышения за счет этого производительности маршрутизаторов. Модули IP используют IP-адреса, помещенные в заголовок, для передачи IP пакетов их получателям. Выбор пути передачи называется маршрутизацией. Модули IP используют поля в заголовке пакетов для фрагментации и восстановления IP пакетов, когда это необходимо для их передачи через сети с малым размером пакетов. Сценарий действия состоит в том, что IP пакет меняет размер на каждом из хостов, задействованных в internet-коммуникации и на каждом из шлюзов, обеспечивающих взаимодействие между сетями. Эти модули придерживаются общих правил для интерпретации полей адресов, для фрагментации и сборки IP пакетов. Кроме этого, данные модули (и особенно шлюзы) имеют процедуры для принятия решений о маршрутизации, а также другие функции. Протокол IP обрабатывает каждый IP пакет как независимую единицу, не имеющий связи ни с какими другими пакетами. Протокол не имеет дело ни с соединениями, ни с логическими цепочками (виртуальными или какими-либо другими). Протокол IP использует четыре ключевых механизма для формирования своих услуг: задание типа сервиса, времени жизни, опций и контрольной суммы заголовка. Тип сервиса используется для обозначения требуемой услуги. Тип сервиса ‐ это набор параметров, который характеризует набор услуг, предоставляемых сетями, и составляющих собственно протокол IP. Этот способ обозначения услуг должен использоваться шлюзами для выбора рабочих параметров передачи в конкретной сети, для выбора сети, используемой при следующем переходе пакета, для выбора следующего шлюза при маршрутизации IP пакета. Механизм времени жизни служит для указания верхнего предела времени жизни IP пакета. Этот параметр устанавливается отправителем пакета и уменьшается в каждой точке на проходимом пакетом маршруте. Если параметр времени жизни станет нулевым до того, как IP пакет достигнет получателя, этот пакет будет уничтожен. Время жизни (Time to Live, TTL) можно рассматривать как часовой механизм самоуничтожения. Этот параметр введён для недопущения перегрузки сети «вечными» потерявшимися пакетами. Механизм опций предоставляет функции управления, которые являются необходимыми или просто полезными при определенных ситуациях, однако он не нужен при обычных коммуникациях. Механизм опций предоставляет такие возможности, как временные штампы, безопасность, специальная маршрутизация. Контрольная сумма заголовка обеспечивает проверку того, что информация, используемая для обработки пакетов, передана правильно. Данные могут содержать ошибки. Если контрольная сумма неверна, то IP пакет будет уничтожен, как только ошибка будет обнаружена. Протокол IP не обеспечивает надежности коммуникации. Не имеется механизма подтверждений ни между отправителем и получателем, ни между хост-компьютерами. Не имеется контроля ошибок для поля данных, только контрольная сумма для заголовка. Не поддерживается повторная передача, нет управления потоком. Обнаруженные ошибки могут быть оглашены посредством протокола ICMP (Internet Control Message Protocol), который поддерживается модулем IP протокола. Вопрос 6. Фрагментация. Фрагментация Internet датаграммы необходима, когда эта датаграмма возникает в локальной сети, позволяющей работать с пакетами большого размера, и затем должна пройти к получателю через другую локальную сеть, которая ограничивает пакеты меньшим размером. Internet датаграмма может быть помечена как нефрагментируемая. Любая Internet датаграмма, помеченная таким образом, не может быть фрагментирована модулем Internet ни при каких условиях. Если же Internet датаграмма, помеченная как нефрагментируемая, тем не менее не может достигнуть получателя без фрагментации, то вместо этого она будет разрушена. Фрагментация, перенос и сборка в локальной сети, невидимые для модуля Internet протокола, называются внутрисетевой фрагментацией и могут быть всегда использованы. Необходимо, чтобы Internet процедуры фрагментации и сборки могли разбивать датаграмму на почти любое количество частей, которые впоследствии могли бы быть вновь собраны. Получатель фрагмента использует поле идентификации для того, чтобы быть убежденным в том, что фрагменты различных датаграмм не будут перепутаны. Поле смещения фрагмента сообщает получателю положение фрагмента в исходной датаграмме. Смещение фрагмента и длина определяют кусок исходной датаграммы, принесенный этим фрагментом. Флаг «more fragments» установленный в ноль показывает появление последнего фрагмента. Эти поля дают достаточное количество информации для сборки датаграмм. Поле идентификации позволяет отличить фрагменты одной датаграммы от фрагментов другой. Модуль Internet, отправляющий Internet датаграмму, устанавливает в поле идентификации значение, которое должно быть уникальным для данной пары отправитель - получатель, а также время, в течении которого датаграмма будет активна в системе Internet. Модуль протокола, отправляющий нерасчлененную датаграмму, устанавливает в нуль флаг «more fragments» и смещение во фрагменте. Чтобы расчленить большую Internet датаграмму, модуль протокола Internet (например, шлюз), создает две новые Intenet датаграммы и копирует содержимое полей Internet заголовка из большой датаграммы в оба новых Internet заголовка. Данные из старой датаграммы делятся на две части по границе на очередном восьмом байте (64 бита). Полученная таким образом вторая часть может быть кратна 8 октетам, а может и не быть, но первая часть кратна всегда. Первая часть данных помещается в первую новую Internet датаграмму, в поле общей длины помещается длина первой датаграммы. Флаг «more fragments» устанавливается в единицу. Вторая часть данных помещается во вторую новообразованную Internet датаграмму, в поле общей длины заносится длина второй датаграммы. В поле смещения фрагмента во второй Internet датаграмме устанавливается значение такого же поля в исходной большой датаграмме, увеличенное на длину поля данных первой датаграммы. Эта процедура может быть обобщена на случай многократного расщепления исходной датаграммы. Чтобы собрать фрагменты Internet датаграммы, модуль протокола Internet (например, модуль на хост-компьютере) объединяет Internet датаграммы, имеющие одинаковые значения в полях идентификатора, отправителя, получателя и протокола. Собственно объединение заключается в помещении данных из каждого фрагмента в позицию, указанную в заголовке Internet пакета в поле «fragment offset» (смещение фрагмента). Первый фрагмент будет иметь в поле «fragment offset» нулевое значение, а последний фрагмент будет иметь флаг «more fragments», вновь установленный в нуль. Вопрос 7. Формат заголовка IP-пакета. IP-пакет состоит из заголовка и поля данных. Заголовок, как правило, имеющий длину 20 байт, имеет следующую структуру: Номер версии - номер версии показывает формат заголовка протокола IP. В настоящее время используются 4 и 6 версии протокола. В этом разделе описана 4 версия. Длина заголовка - длина Internet заголовка измеряется в словах по 32 бита каждый и указывает на начало поля данных. Заметим, что корректный заголовок может иметь минимальный размер 5 слов. Тип сервиса – Используется пока очень редко и обычно устанавливается в ноль. Тип сервиса определяет тип требуемого обслуживания. Реально выбор осуществляется между тремя альтернативами: малой задержкой, высокой достоверностью и высокой пропускной способностью. PR – приоритет (3 бита). Имеется 8 уровней приоритета: от 000 – обычный маршрут, до 111 – управление сетью. D – задержка (1 бит). 0 – нормальная задержка, 1 – малая задержка. T – пропускная способность. 0 – нормальная пропускная способность, 1 – высокая пропускная способность R – достоверность. 0 – обычная достоверность, 1 – высокая достоверность. Использование индикации задержки, пропускной способности и достоверности может, в некотором смысле, увеличить стоимость обслуживания. Во многих сетях улучшение одного из этих параметров связано с ухудшением другого. Исключения, когда имело бы смысл устанавливать два из этих трех параметров, очень редки. Общая длина – это длина датаграммы, измеренная в. байтах, включая IP заголовок и поле данных. Это поле может задавать длину датаграммы вплоть до 65535 байт. В большинстве хост-компьютеров и сетей столь большие датаграммы не используются. Все хосты должны быть готовы принимать датаграммы вплоть до 576 байт длиной (приходят ли они целиком или по фрагментам). Хостам рекомендуется отправлять датаграммы размером более чем 576 байт, только если они уверены, что принимающий хост готов обслуживать датаграммы повышенного размера. Идентификатор пакета. Идентификатор устанавливается отправителем для сборки фрагментов какой-либо датаграммы. Все фрагменты одной и той же датаграммы имеют одинаковый идентификатор пакета. Флаги: DF (Do not Fragment) 1 – запрет фрагментации, 0 – возможно фрагментирование. MF (More Fragments) 0 – последний (или единственный) фрагмент, 1 – будут еще фрагменты. Смещение фрагмента – Это поле показывает, где в датаграмме находится этот фрагмент. Смещение фрагмента изменяется порциями по 8 байт. Первый фрагмент имеет смещение нуль. Поля «идентификатор пакета», «флаги» и «смещение фрагмента» обеспечивают фрагментацию и сборку пакетов. Время жизни – это поле показывает максимальное время, в течение которого датаграмме позволено находиться в системе Internet. Если это поле имеет значение нуль, то датаграмма должна быть разрушена. Значение этого поля изменяется при обработке заголовка Internet. Время измеряется в секундах. Однако, поскольку каждый модуль, обрабатывающий датаграмму, должен уменьшать значение поля TTL по крайней мере на единицу, даже если он обрабатывает эту датаграмму менее, чем за секунду, то поле TTL следует понимать как максимальное количество маршрутизаторов, которое может пройти датаграмма. Если датаграмма будет разрушена маршрутизатором по причине истечения времени жизни, такой маршрутизатор должен отправить отправителю датаграммы пакет ICMP с кодом «Time to Live Expired». Протокол верхнего уровня - это поле показывает, какой протокол следующего уровня (TCP, UDP или какой-то другой) использует данные из Internet датаграммы. Контрольная сумма заголовка. Поскольку некоторые поля заголовка меняют свое значение (например, время жизни), это значение проверяется и повторно рассчитывается при каждой обработке Internet заголовка. IP-адрес отправителя и IP-адрес получателя – 32-разрядные IP-адреса, идентифицирующие конечные устройства, участвующие в обмене. Опции – защита, тестирование и отладка в сети и другие функции. В обычных приложениях используется редко. Выравнивание – используется для того, чтобы гарантировать завершение IP-заголовка на 32-битной границе. Выравнивание осуществляется нулями. |