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


 

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

74231. Контакт металл – полупроводник. Барьер Шоттки 1.2 MB
  В зависимости от этих соотношений в области контакта могут реализоваться три состояния. Второе состояние соответствует условию обогащения приповерхностной области полупроводника дырками в pтипе и электронами в nтипе в этом случае реализуется омический контакт. И наконец в третьем состоянии приповерхностная область полупроводника обеднена основными носителями в этом случае в области контакта со стороны полупроводника формируется область пространственного заряда ионизованных доноров или акцепторов и реализуется блокирующий контакт или...
74232. Полупроводниковые диоды. Характеристики идеального диода на основе pn перехода 1.29 MB
  В зависимости от внутренней структуры типа количества и уровня легирования внутренних элементов диода и вольтамперной характеристики свойства полупроводниковых диодов бывают различными. Характеристики идеального диода на основе pn перехода Основу выпрямительного диода составляет обычный электроннодырочный переход. Как было показано в главе 2 вольтамперная характеристика такого диода имеет ярко выраженную нелинейность приведенную на рисунке 4. В прямом смещении ток диода инжекционный большой по величине и представляет собой...
74233. Аналитическая модель p – n – перехода Разновидности диодов 1.94 MB
  Варикапы Зависимость барьерной емкости СБ от приложенного обратного напряжения VG используется для приборной реализации. Функциональная зависимость емкости варикапа от напряжения определяется профилем легирования базы варикапа. В случае однородного легирования емкость обратно пропорциональна корню из приложенного напряжения VG. Задавая профиль легирования в базе варикапа NDx можно получить различные зависимости емкости варикапа от напряжения CVG линейно убывающие экспоненциально убывающие.
74234. Развитие феодальной экономики в Западной Европе в средние века 61 KB
  Расцвет феодализма в странах Западной Европы отмеченный экономическим подъемом основанным на внутренней колонизации освоении новых земель увеличении сбора сельскохозяйственных культур развитии животноводства; возрождении городов превратившихся в центры ремесленного производства и торговли. Развитие товарного производства и товарноденежных отношений сопровождалось коммутацией ренты появлением ярмарок кредитного дела банков. Расширялись товарноденежные отношения уничтожалась личная зависимость крестьян начался процесс...
74235. Становление индустриальной цивилизации. 68.5 KB
  Большую роль в разложении феодализма и генезисе буржуазных отношений сыграли географические открытия конца XV середины XVII в. середина XVI в.; португальские плавания к Индии и берегам Восточной Азии начиная с экспедиции Васко де Гама; испанские тихоокеанские экспедиции XVI в. Период русских и голландских открытий середина XVI середина XVII в.
74236. ПЕРВОБЫТНОЕ ХОЗЯЙСТВО: ОСНОВНЫЕ ЭТАПЫ РАЗВИТИЯ, ЧЕРТЫ И ОСОБЕННОСТИ 54 KB
  В соответствии с ней история человечества делится на три больших этапа в зависимости от материала из которого изготовлялись орудия труда: каменный век: 3 млн лет тому назад конец III тысячелетия до н. Вовторых основой производственных отношений первобытного строя была коллективная общинная собственность на орудия труда и средства производства характеризовавшаяся низким уровнем и медленными темпами развития производительных сил уравнительным распределением материальных благ. Важнейшей чертой отличающей человека от животного является...
74237. ДВЕ МОДЕЛИ ХОЗЯЙСТВЕННОГО РАЗВИТИЯ: ДРЕВНЕВОСТОЧНАЯ ЭКОНОМИКА И АНТИЧНОЕ ХОЗЯЙСТВО 58.5 KB
  Отличительной чертой восточного типа хозяйства являлась государственная собственность на землю и ирригационные сооружения. В Древнем Египте регулярно проводились переписи населения и хозяйства в основном для распределения трудовой повинности. Это обусловило невысокий уровень развития хлебопашества в греческих полисах постоянный переход от зернового хозяйства к интенсивному виноградарству и садоводству. Хозяйства носили как правило многоотраслевой характер.
74238. Факторы самобытности в развитии Российской цивилизации 32 KB
  Ее основными элементами были: Община как первичная хозяйственно-социальная ячейка а не как частнособственническое образование как на Западе; Государство с его особой ролью организатора и творца гражданского общества. Но государство было одновременно и сильным и слабым. Слабость проявлялась в чрезвычайно низком коэффициенте полезного действия : государство не смогло создать стабильного общества и само неоднократно разрушалось. В то же время это слабое несовершенное государство было единственным интегратором и организатором общества и...
74239. Великие географические открытия и их результаты 133 KB
  Географические открытия Рост научных знаний Рост производства и появление мануфактур Развитие торговли и складывание европейского и мирового рынка Становление абсолютистских государств Реформация В чем значение эпохи великих географических открытий и каковы ее результаты приведшие к качественным изменениям в мировом развитии Cредневековая Европейская цивилизация замыкалась в узкие рамки европейской территории. Бурное развитие заморской торговли породило акционерные компании имевшие постоянный капитал и боровшиеся за монопольное...