24430

Архитектура стека TCP/IP. Протокол IP. Заголовок IP-пакета. IP-адресация

Контрольная

Информатика, кибернетика и программирование

Заголовок IPпакета. В его задачу входит продвижение пакета между сетями от одного маршрутизатора до другого до тех пор пока пакет не попадет в сеть назначения. Заголовок IPпакета IPпакет состоит из заголовка и поля данных. Значение длины заголовка IPпакета также занимает 4 бита и измеряется в 32 битовых словах.

Русский

2013-08-09

238.5 KB

31 чел.

1. Архитектура стека TCP/IP. Протокол IP. Заголовок IP-пакета.  IP-адресация.

Поскольку стек TCP/IP изначально создавался для Интернета, он имеет много особенностей, дающих ему преимущество перед другими протоколами, когда речь заходит о построении сетей, включающих глобальные связи.

В частности, очень полезным свойством, делающим возможным применение этого протокола в больших сетях, является его способность фрагментировать пакеты. Другой особенностью технологии TCP/IP является гибкая система адресации, позволяющая проще, чем другие протоколы аналогичного назначения включать в составную сеть сети разных технологий. В стеке TCP/IP очень экономно используются широковещательные рассылки.

Недостатком является высокие требования к ресурсам и сложность администрирования IP- сетей.

В стеке TCP/IP определены 4 уровня.

Прикладной уровень стека TCP/IP соответствует трем верхним уровням модели OSI: прикладному, представления и сеансовому. Он объединяет службы, предоставляемые системой пользовательским приложениям.

Транспортный уровень стека TCP/IP может предоставлять вышележащему уровню два типа сервиса:

  •   гарантированную доставку, обеспечивает протокол управления передачей (Transmission Control Protocol, TCP);
  •  доставку по возможности, или с максимальными усилиями, обеспечивает протокол пользовательских дейтаграмм (User Datagram Protocol, UDP).

Сетевой уровень, называемый также уровнем интернета, является стержнем всей архитектуры TCP/IP. Именно этот уровень, функции которого соответствуют сетевому уровню модели OSI, обеспечивает перемещение пакетов в пределах составной сети, образованной объединением множества сетей.

Идеологическим отличием архитектуры стека TCP/IP от многоуровневой организации других стеков является интерпретация функций самого нижнего уровня — уровня сетевых интерфейсов.

Нижнего уровнь стека TCP/IP задача отвечает за организацию взаимодействия с технологиями сетей, входящих в составную сеть. TCP/IP рассматривает любую сеть, входящую в составную сеть, как средство транспортировки пакетов до следующего на пути маршрутизатора.

Протокол IP

Основным протоколом сетевого уровня является межсетевой протокол (Internet Protocol, IP). В его задачу входит продвижение пакета между сетями — от одного маршрутизатора до другого до тех пор, пока пакет не попадет в сеть назначения. В отличие от протоколов прикладного и транспортного уровней протокол IP развертывается не только на хостах, но и на всех шлюзах. Протокол IP — это дейтаграммный протокол, работающий без установления соединений по принципу доставки с максимальными усилиями (то есть не предпринимает мер для гарантированной доставки данных.).

Заголовок IP-пакета

IP-пакет состоит из заголовка и поля данных. Ниже перечислены поля заголовка (рис. 18.1).

Поле номера версии занимает 4 бита и идентифицирует версию протокола IP.

Значение длины заголовка IP-пакета также занимает 4 бита и измеряется в 32- битовых словах.

Поле типа сервиса (Type of Service, ToS) имеет и другое, более современное название — байт дифференцированного обслуживания, или DS-байт. Данное поле служит одной цели — хранению признаков, которые отражают требования к качеству обслуживания пакета.

Поле общей длины занимает 2 байта и характеризует общую длину пакета с учетом заголовка и поля данных. Максимальная длина пакета ограничена разрядностью поля, определяющего эту величину, и составляет 65 535 байт. При передаче по сетям различного типа длина пакета выбирается с учетом максимальной длины пакета протокола нижнего уровня, несущего IP-пакеты.

Идентификатор пакета занимает 2 байта и используется для распознавания пакетов, образовавшихся путем деления на части (фрагментации) исходного пакета.

Флаги занимают 3 бита и содержат признаки, связанные с фрагментацией. Установленный в 1 бит DF (Do not Fragment — не фрагментировать) запрещает маршрутизатору фрагментировать данный пакет, а установленный в 1 бит MF (More Fragments — больше фрагментов) говорит о том, что данный пакет является промежуточным (не последним) фрагментом. Оставшийся бит зарезервирован.

Поле смещения фрагмента занимает 13 бит и задает смещение в байтах поля данных этого фрагмента относительно начала поля данных исходного нефрагментированного пакета. Используется при сборке/разборке фрагментов пакетов. Смещение должно быть кратно 8 байт.

Поле времени жизни (Time To Live, TTL) занимает один байт и используется для задания предельного срока, в течение которого пакет может перемещаться по сети. Если значение поля времени жизни становится нулевым до того, как пакет достигает получателя, пакет уничтожается

Поле протокола верхнего уровня занимает один байт и содержит идентификатор, указывающий, какому протоколу верхнего уровня принадлежит информация, размещенная в поле данных пакета.

Контрольная сумма заголовка занимает 2 байта A6 бит) и рассчитывается только по заголовку.

Поля IP-адресов источника и приемника имеют одинаковую длину — 32 бита.

Поле параметров является необязательным и используется обычно только при отладке сети.

Так как число подполей в поле параметров может быть произвольным, то в конце заголовка должно быть добавлено несколько нулевых байтов для выравнивания заголовка пакета по 32-битной границе.

IP-адресация

Чтобы технология TCP/IP могла решать свою задачу объединения сетей, ей необходима собственная глобальная система адресации, не зависящая от способов адресации узлов в отдельных сетях. Пара, состоящая из номера сети и номера узла, отвечает поставленным условиям и может служить в качестве сетевого адреса.

В качестве номера узла может выступать либо локальный адрес этого узла, либо некоторое число, никак не связанное с локальной технологией и однозначно идентифицирующее узел в пределах данной подсети. В первом случае сетевой адрес становится зависимым от локальных технологий, что ограничивает его применение. Второй подход более универсален, он характерен для стека TCP/IP.

В технологии TCP/IP сетевой адрес называют IP-адрес.

Каждый раз, когда пакет направляется адресату через составную сеть, в его заголовке указывается IP-адрес узла назначения. По номеру сети назначения каждый очередной маршрутизатор находит IP-адрес следующего маршрутизатора.

Перед тем как отправить пакет в следующую сеть, маршрутизатор должен определить на основании найденного IP-адреса следующего маршрутизатора его локальный адрес. Для этой цели протокол IP, как показано на рис. 17.1, обращается к протоколу разрешения адресов (ARP).

Формат IP-адреса

IP-адрес состоит из двух логических частей — номера сети и номера узла в сети. Наиболее распространенной формой представления IP-адреса является запись в виде четырех чисел, представляющих значения каждого байта в десятичной форме и разделенных точками, например: 128.10.2.30.

Заметим, что запись адреса не предусматривает специального разграничительного знака между номером сети и номером узла. Вместе с тем при передаче пакета по сети часто возникает необходимость разделить адрес на эти две части. Можно предложить несколько вариантов решения этой проблемы.

  •  Простейший из них состоит в использовании фиксированной границы. При этом все 32-битовое поле адреса заранее делится на две части не обязательно равной, но фиксированной длины, в одной из которых всегда будет размещаться номер сети, а в другой — номер узла.
  •  Второй подход основан на использовании маски, которая позволяет максимально гибко устанавливать границу между номером сети и номером узла. Маска — это число, применяемое в паре с IP-адресом, причем двоичная запись маски содержит непрерывную последовательность единиц в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Граница между последовательностями единиц и нулей в маске соответствует границе между номером сети и номером узла в IP-адресе.
  •  Наиболее распространенный до недавнего времени способ решения данной проблемы заключается в использовании классов адресов. Вводится пять классов адресов: А, В, С, D, Е. Для каждого класса сетевых адресов определено собственное положение границы между номером сети и номером узла. Признаком, на основании которого IP-адрес относится к тому или иному классу, являются значения нескольких первых битов адреса. Таблица 17.1 иллюстрирует структуру IP-адресов разных классов.

В стандартах Интернета определено несколько так называемых частных адресов, рекомендуемых для автономного использования:

  •  в классе А — сеть 10.0.0.0;
  •  в классе В — диапазон из 16 номеров сетей 172.16.0.0 - 172.31.0.0 (172.16.0.0 / -.240.0.0)
  •  в классе С - диапазон из 255 сетей - 192.168.0.0 - 192.168.255.0 (192.168.0.0 / -.-.0.0)
  •  127.0.0.0 / -.0.0.0 – A сеть для нужд локального хоста

Эти адреса, исключенные из множества централизованно распределяемых, составляют огромное адресное пространство, достаточное для нумерации узлов автономных сетей практически любых размеров.

Главным органом регистрации глобальных адресов в Интернете с 1998 года является неправительственная некоммерческая организация ICANN (Internet Corporation for Assigned Names and Numbers).


2. Понятие об экстремальном программировании (XP- модель).

В основе экстремального программирования лежат не конкретные методики, как принято считать, а лишь четыре базовых принципа: общение, простота, обратная связь и храбрость. Именно с них необходимо начинать.

Экстремальное программирование предлагает готовое решение: делайте все максимально просто, держите заказчика при себе или сами держитесь при заказчике, позвольте ему активно следить за процессом разработки, приветствуйте изменения - и успех практически обеспечен.

В командах, работающих по методу XP, всегда приветствуется общение - самое быстрое средство обмена информацией и опытом. Это очень важно, когда требуется максимальная скорость разработки. Но общение, как и любое другое полезное начинание, требует постоянной поддержки. Именно поэтому кто-то из команды должен взять на себя ответственность следить за общением, стать так называемым дипломатом. Общение и необходимость объяснения своих действий другим членам команды вынуждает делать все максимально просто. Если не получается с первого раза, над упрощением работают еще и еще, пока не будет достигнута главная цель - максимальная понятность кода другим разработчикам.

Двенадцать основных практик экстремального программирования могут быть объединены в четыре группы:

  •  Короткий цикл обратной связи
    •  Разработка через тестирование
    •  Игра в планирование
    •  Заказчик всегда рядом
    •  Парное программирование
  •  Непрерывный, а не пакетный процесс
    •  Непрерывная интеграция
    •  Рефакторинг
    •  Частые небольшие релизы
  •  Понимание, разделяемое всеми
    •  Простота
    •  Метафора системы
    •  Коллективное владение кодом
    •  Стандарт кодирования
  •  Благополучие программиста
    •  40-часовая рабочая неделя
    1.  Парное программирование

Парное программирование означает, что весь код создаётся парами людей, программирующими одну задачу сидя за одним рабочим местом. Один программист контролирует машину и в основном думает над кодированием детально. Другой программист сосредоточен на картине в целом и непрерывно просматривает код, производимый первым программистом. Время от времени люди меняются ролями.

Пары не фиксированы: рекомендуется «перемешивать» их насколько это возможно, так чтобы каждый знал что делает каждый другой, и все были близко знакомы со всей системой. Таким образом, парное программирование усиливает взаимодействие внутри команды.

  1.  Коллективное владение

Коллективное владение означает, что каждый несёт ответственность за весь код. Таким образом, каждый вправе вносить изменения в любой участок кода. Парное программирование поддерживает эту практику: работая в парах, все программисты получают доступ ко всем частям кода. Важное преимущество коллективного владения кодом — в том что оно ускоряет процесс разработки, поскольку, при появлении ошибки, её может устранить любой программист.

Давая каждому программисту право изменять код, мы получаем риск появления ошибок, вносимых программистами, которые считают что знают что делают, но не рассматривают некоторые зависимости. Хорошо определённые юнит-тесты решают эту проблему: если нерассмотренные зависимости порождают ошибки, то следующий запуск юнит-тестов будет неудачным.

  1.  Заказчик всегда рядом

«Заказчик» в XP — это не тот кто оплачивает счета, а тот кто на самом деле использует систему. XP утверждает, что заказчик должен быть всё время на связи и доступен для вопросов.

  1.  Основные правила

Планирование

  •  Пишутся User Stories.
  •  Собственно план создается в результате Планирования Релиза.
  •  Выпускать частые небольшие Релизы.
  •  Измеряется Скорость проекта.
  •  Проект делится на Итерации.
  •  Каждая итерация начинается с собрания по планированию.
  •  Люди постоянно меняются задачами.
  •  Каждый день начинается с утреннего Собрания стоя.  
  •  XP правила корректируются если что-то не так.

Дизайн

  •  Простота.
  •  Обязательно выбрать Метафору системы.
  •  Использовать CRC карточки для дизайна.
  •  Писать Пробные решения для уменьшения риска.
  •  Не добавлять никаких функций раньше времени.
  •  Рефакторить безжалостно.

Кодирование

  •  Заказчик всегда рядом.
  •  Весь код должен соответствовать принятому стандарту.
  •  Весь код должен быть создан парным программированием.
  •  Частая интеграция кода.
  •  Коллективное владение кодом.
  •  Оставлять оптимизацию на потом.

Тестирование

  •  Любой код должен иметь Unit Test.
  •  ВСЕ Unit тесты должны проходить перед отдачей.
  •  Если найден баг, то тесты корректируются или создаются.
  •  Функциональные тесты периодически выполняются и их результаты публикуются.


 

А также другие работы, которые могут Вас заинтересовать

32686. Приемы экономического анализа 88.5 KB
  Экономический анализ широко используется для оценки финансовой деятельности предприятия как всемирно признанный инструмент обоснования хозяйственных решений в современных условиях. Экономический анализ предусматривает применение способов и приемов
32687. Прогноз развития производства молока в СПК «Нива» Уренского района Нижегородской области 357 KB
  Цель настоящего исследования – на основании нормативных, законодательных материалов, научной и специальной литературы, изучить проблему планирования на предприятии, а в частности, рассчитать и проанализировать прогноз развития производства молока.
32688. История развития аудита 194.5 KB
  История развития аудита достаточно длинная и интересная. Впервые учет появляется еще в 5 тысячелетии до нашей эры. Тогда появляется своеобразная система учетов фактов всей хозяйственной жизни людей. Естественно, аудит тогда только зарождался, и учет проводился на примитивном уровне, но при этом он уже существовал.
32689. Проектування стрілочного переводу 1.16 MB
  проекті було виконано розрахунок вантажообороту та вагоноообороту та побудовані діаграми добового вантажообороту та вагонообороту; визначено розміри руху і розкладання передаточних потягів, розраховано норми часу на розформування та формування потягів, та час ходу потягів та маневрових пересувань
32690. Технології. Всі визначення для уроків 1.07 MB
  Аналіз існуючих виробів та визначення завдань проекту. Аналіз та компонування інформації для проекту. Загальні відомості про дизайн. Стадії дизайну об’єктів технологічної діяльності. Технологія створення дизайн-проекту.
32691. Размножение. Индивидуальное развитие организмов 709.5 KB
  Каждая новая особь, прежде чем достигнуть стадии, на которой она будет способна к размножению, должна пройти ряд стадий роста и развития. Некоторые особи погибают, не достигнув репродуктивной стадии (или половозрелости) в результате уничтожения хищниками
32692. Радиоэлектроника и доступное жильё 146.5 KB
  Парки будут полны здоровых, дающих прохладную тень, деревьев. В особенно крупных из них будут располагаться открытые спортивные объекты такие как баскетбольные площадки, теннисные корты и площадки с тренажёрами, использующими в качестве нагрузки вес спортсмена.
32693. Система управления демонстратора патронного керамического фильтра 1.14 MB
  Автоматическое управление системой водоочистки; увеличение надежности работы очистного оборудования, составляющего ДПКФ благодаря возможности контроля всех его элементов в частности и всей системы в целом; уменьшение затрат на затрачиваемые при очистке воды ресурсы за счет более оптимального их использования; увеличение точности и оперативности получения информации о состоянии системы водоочистки, а также о расходе ресурсов, с целью принятия значимых управленческих решений...
32694. Всі уроки з англійської мови 169.01 KB
  Повторення тем «Привітання. Знайомство», «Алфавіт». Шкільні речі. Кольори. Пори року. Частини тіла. Домашні улюбленці. Країни Європи. Літній табір відпочинку...