24430

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

Контрольная

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

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

Русский

2013-08-09

238.5 KB

29 чел.

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 тесты должны проходить перед отдачей.
  •  Если найден баг, то тесты корректируются или создаются.
  •  Функциональные тесты периодически выполняются и их результаты публикуются.


 

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

74162. Исследование параметров микроклимата производственных помещений 17.14 KB
  Изучить методы и приборы для изменения микроклимата производственных помещений, ознакомиться с методами нормирования оптимальных и допустимых значений параметров микроклимата, а также приобрести практические навыки в оценке микроклимата рабочей зоны, и принятие мер по её нормализации
74163. Исследование эффективности средств зашиты от шума. Звукоизоляция ограждающих конструкций 60.5 KB
  Цель работы: Изучить методику измерения и нормирования производственного шума средства и методы защиты расчета и оценки эффективности звукоизоляции ограждающих конструкций производственного оборудования и зданий. Исходные данные: Место проведения измерений шума: кабина машиниста электропоезда Источник шума: тяговые двигатели компрессора стук колёс Рекомендуемое средство звукоизоляции...
74164. Исследование освещенности рабочих мест 26.64 KB
  Цель работы: Изучить принцип нормирования естественного совмещенного и искусственного рабочего освещения освоить методы измерения и оценки освещенности в рабочей зоне ознакомиться с основными методами расчёта общего и местного искусственного освещения. Исходные данные: Вариант: 7 Наименование производственного помещения: дом связи Характеристика зрительной работы по степени точности...
74166. Состав пород раннего палеозоя платформ и складчатых областей 3.29 KB
  Состав пород раннего палеозоя платформ и складчатых областей. В начале раннего палеозоя платформы северного полушария испытывали опускания и на больших площадях были покрыты морскими водами. Опускания сменились медленными поднятиями которые в конце раннего палеозоя привели к почти полному осушению всех древних платформ....
74167. ОРГАНИЧЕСКИЙ МИР ПОЗДНЕГО ПАЛЕОЗОЯ 137.98 KB
  Численность многих групп морских животных уменьшилась плеченогие мшанки морские ежи офиуры аммоноидии наутилусы остракоды губки фораминиферы как и их разнообразие вплоть до полного вымирания целых классов трилобиты эвриптериды бластоидеи палеозойские группы морских лилий тетракораллы. В этот период вымерло 96 всех морских видов и 70 наземных видов позвоночных.
74168. Органический мир мезозоя 12.01 KB
  Органический мир мезозоя В мезозое вымирают гигантские папоротники древесные хвощи плауны. В юрском периоде вымирают семенные папоротники и появляются первые покрытосеменные растения тогда представленные только древесными формами постепенно распространившиеся на все материки. Вымирают растительноядные за ними хищные динозавры. В морях вымирают многие формы беспозвоночных и морские ящеры.
74169. Суть Теории Большого Взрыва 13.4 KB
  Суть Теории Большого Взрыва Теория Большого взрыва строится на том что материя и энергия из которых состоит все сущее но Вселенной ранее находились в сингулярном состоянии т. Изначально теория Большого взрыва носила название динамическая эволюционирующая модель. На данный момент теория Большого взрыва разработана настолько хорошо что ученые берутся описать процессы которые начали происходить во Вселенной через 10 43 с после Большого взрыва. Существует несколько доказательств теории Большого взрыва одним из которых является реликтовое...