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


 

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

55600. ТРАВМАТИЗМ НА ЗАНЯТИЯХ ФИЗКУЛЬТУРЫ 63 KB
  Основными причинами травматизма являются организационные недостатки при проведении занятий. При проведении уроков по метаниям неправильно проложенная лыжня или неподготовленная трасса для кросса; неправильное комплектование групп по уровню подготовленности возрасту...
55601. Селянська реформа в Наддніпрянській Україні. Зміни в сільському господарстві 55 KB
  Зміни в сільському господарстві з використанням мультимедійного обладнання Мета навчальна: з’ясувати особливості соціальноекономічного розвитку українських земель напередодні селянської реформи 1861р. ознайомити учнів із проведенням особливостями і наслідками реформи формувати уявлення про реформу як явище.
55602. ЛИНГВИСТИЧЕСКАЯ РЕГАТА 186 KB
  Команды в соответствующих костюмах представляют название флаг под которым отправляются в плавание девиз. 3 из них мели рифы айсберги попав на которые команда пропускает 1 ход 16 объектов предполагают 34 вопроса или задания для участников.
55603. ВИКОНАННЯ КАСОВИХ ОПЕРАЦІЙ. РОЗРАХУНКИ З ПІДЗВІТНИМИ ОСОБАМИ 491 KB
  Звідси випливає завдання істотного поліпшення системи вищої освіти, якості підготовки фахівців. Все це викликає необхідність перегляду мети, змісту і технологій навчання, а, остаточно, самих уявлень про кваліфікованих працівників – випускників вищих навчальних закладів – високоосвічених, компетентних, здатних приймати правильні обґрунтовані рішення в умовах, що постійно змінюються, які можуть знайти застосування своїм знанням та вмінням у різних сферах діяльності.
55604. РЕКЛАМА 200.5 KB
  Мета проекту: активувати творчу ініціативу вихованців через пошукову діяльність; розвивати інтерес до економічного і політичного розуміння свого місця і значення в суспільному житті; сприяти вихованню в учнів активної життєвої позиції; познайомити дітей із терміном рекламa...
55605. Реклама – как карьера. Её роль в бизнесе 42 KB
  Advertising has rapidly rushed into our life. TV- programs, radio-news, newspapers deal with the advertising every day, using different ways of its presentation. So the topic of our lesson is the role of advertising in business and everyday life. Let’s recollect words and expressions we need for our discussion.
55606. Рекомендации для учителей начальных классов по использованию групповых форм работы на уроках чтения и письма 57.5 KB
  Чтение слов анаграмм составление учащимися слов анаграмм обмен зашифрованными словами Налво волна клво волк Ронова ворона вемеддь медведь Швиня вишня бейрово воробей Упражнение БимБом слоговая зарядка: 1ученик называет слог...
55607. Рельєф України (рівнини) 132.5 KB
  Мета: поглибити та систематизувати одержані з попередніх курсів знання учнів про рельєф та сили що беруть участь у його формуванні; вивчити загальний план будови поверхні території України; сформувати знання про особливості розташування великих форм рельєфу на території України...