Сетевая модель TCPIP

Адресация

В сети, построенной на стеке протоколов TCP/IP каждому хосту (компьютеру или устройству подключенному к сети) присвоен IP-адрес. IP-адрес представляет собой 32-битовое двоичное число. Удобной формой записи IP-адреса (IPv4) является запись в виде четырёх десятичных чисел (от 0 до 255), разделённых точками, например, 192.168.0.1. В общем случае, IP-адрес делиться на две части: адрес сети (подсети) и адрес хоста:

Как видно из иллюстрации, есть такое понятие как сеть и подсеть. Думаю, что из значений слов понятно, что IP адреса делятся на сети, а сети в свою очередь делятся на подсЕти с помощью маски подсетИ (корректнее будет сказать: адрес хоста может быть разбит на подсЕти). Изначально, все IP адреса были поделены на определенные группы (классы адресов/сети). И существовала классовая адресация, согласно которой сети делились на строго определенные изолированные сети:

Нетрудно посчитать, что всего в пространстве адресов IP — 128 сетей по 16 777 216 адресов класса A, 16384 сети по 65536 адресов класса B и 2 097 152 сети по 256 адресов класса C, а также 268 435 456 адресов многоадресной рассылки и 134 317 728 зарезервированных адресов. С ростом сети Интернет эта система оказалась неэффективной и была вытеснена CIDR (бесклассовой адресацией), при которой количество адресов в сети определяется маской подсети.

Существует так же классификация IP адресов, как «частные» и «публичные». Под частные (они же локальные сети) сети зарезервированы следующие диапазоны адресов:

  • 10.0.0.0 — 10.255.255.255 (10.0.0.0/8 или 10/8),
  • 172.16.0.0 — 172.31.255.255 (172.16.0.0/12 или 172.16/12),
  • 192.168.0.0 — 192.168.255.255 (192.168.0.0/16 или 192.168/16).
  • 127.0.0.0 — 127.255.255.255 зарезервировано для петлевых интерфейсов (не используется для обмена между узлами сети), т.н. localhost

Кроме адреса хоста в сети TCP/IP есть такое понятие как порт. Порт является числовой характеристикой какого-то системного ресурса. Порт выделяется приложению, выполняемому на некотором сетевом хосте, для связи с приложениями, выполняемыми на других сетевых хостах (в том числе c другими приложениями на этом же хосте). С программной точки зрения, порт есть область памяти, которая контролируется каким-либо сервисом.

Для каждого из протоколов TCP и UDP стандарт определяет возможность одновременного выделения на хосте до 65536 уникальных портов, идентифицирующихся номерами от 0 до 65535. Соответствие номера порта и службы, использующей этот номер можно посмотреть в файле /etc/services или на сайте http://www.iana.org/assignments/port-numbers. Весь диапазон портов делиться на 3 группы:

  • 0 до 1023, называемые привилегированными или зарезервированными (используются для системных и некоторых популярных программ)
  • 1024 — 49151 называются зарегистрированными портами.
  • 49151 — 65535 называются динамическими портами.

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

Если провести аналогию с реальным миром, сеть TCP/IP — это город. Названия улиц и проулков — это сети и подсети. Номера строений — это адреса хостов. В строениях, номера кабинетов/квартир — это порты. Точнее, порты — это почтовые ящики, в которые ожидают прихода корреспонденции получатели (службы). Соответственно, номера портов кабинетов 1,2 и т.п. обычно отдаются директорам и руководителям, как привилегированным, а рядовым сотрудникам достаются номера кабинетов с большими цифрами. При отправке и доставке корреспонденции, информация упаковывается в конверты (ip-пакеты), на которых указывается адрес отправителя (ip и порт) и адрес получателя (ip и порт). Простым языком как-то так…

Следует отметить, что протокол IP не имеет представления о портах, за интерпретацию портов отвечает TCP и UDP, по аналогии TCP и UDP не обрабатывают IP-адреса.

Для того чтобы не запоминать нечитаемые наборы цифр в виде IP-адресов, а указывать имя машины в виде человекопонятного имени «придумана» такая служба как DNS (Domain Name Service), которая заботится о преобразовании имен хостов в IP адрес и представляет собой огромную распределенную базу данных. Об этой службе я обязательно напишу в будущих постах, а пока нам достаточно знать, что для корректного преобразования имен в адреса на машине должен быть запущен демон named или система должна быть настроена на использование службы DNS провайдера.

1.4 Транспортный уровень

Сетевой уровень способствует установке соединения между двумя удаленными компьютерами. Транспортный уровень действует так, как будто модемов, повторителей, мостов или маршрутизаторов не существует. Транспортный уровень полностью полагается на службы более низких уровней. Он считает, что соединение установлено, и потому полностью отвечает за взаимодействие двух удаленных компьютеров. Обычно транспортный уровень отвечает за соединение приложений, запущенных на разных компьютерах.

Между двумя компьютерами в один промежуток времени может быть несколько транспортных соединений (например, одно для виртуального терминала, casino online а другое для электронной почты). На сетевом уровне транспортные пакеты напрямую основываются на адресе компьютера (или его сетевого интерфейса). На транспортном уровне адресом обладает отдельное приложение. Приложения используют уникальные адреса внутри одного компьютера, так что транспортный адрес обычно состоит из сетевого и транспортного адреса.

Рисунок 1.8: Соединения на транспортном уровне

В данном случае основным элементом является сегмент, который состоит из заголовка и полезной информации. Транспортный пакет передается внутри поля данных сетевого пакета.

Рисунок 1.9: Транспортный пакет находится внутри сетевого пакета, который, в свою очередь, находится внутри канального кадра

3.2 Пакетная передача

(Начиная с данного момента, мы будем использовать термин пакет для обозначения пакета, датаграммы, сегмента и модуля данных протокола.) Пакетная передача крайнее важна для передачи данных. Обычно в пакетах хранятся данные различного размера.

Рисунок 1.14: Пакетная передача

Один пакет всегда содержит данные одного конкретного приложения (одного соединения). Поскольку пакеты имеют разную длину, нет возможности гарантировать пропускную способность. С другой стороны, мы можем использовать пропускную способность более эффективно, поскольку если одно приложение не передает данные, пропускную способность могут использовать другие приложения.

Над базой данных имен и адресов определены следующие операции

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

Основные проблемы реализации рекомендаций X.500 проистекают из масштабности этого проекта, претендующего на роль всемирной справочной службы. Поэтому программное обеспечение, реализующее рекомендации X.500, получается весьма громоздким и предъявляет высокие требования к производительности аппаратуры.

Учет рекомендаций Х.400 и X.500 при проектировании систем электронной почты делает принципиально возможной и концептуально простой стыковку почтовых систем разных производителей.

Протокол VT решает проблему несовместимости различных протоколов эмуляции терминалов. Сейчас пользователю персонального компьютера, совместимого с IBM PC, для одновременной работы с компьютерами VAX, IBM 3090 и HP9000 нужно приобрести три различные программы для эмуляции терминалов различных типов и использующих разные протоколы. Если бы каждый хост-компьютер имел бы в своем составе программное обеспечение протокола эмуляции терминала ISO, то и пользователю бы понадобилась только одна программа, поддерживающая протокол VT. В своем стандарте ISO аккумулировала широко распространенные функции эмуляции терминалов.

Передача файлов — это наиболее распространенный компьютерный сервис. Доступ к файлам, как к локальным, так и к удаленным, нужен всем приложениям — текстовым редакторам, электронной почте, базам данных или программам удаленного запуска. ISO предусматривает такой сервис в протоколе FTAM. Наряду со стандартом X.400, это наиболее популярный стандарт стека OSI. FTAM предусматривает средства для локализации и доступа к содержимому файла и включает набор директив для вставки, замены, расширения и очистки содержимого файла. FTAM также предусматривает средства для манипулирования файлом как единым целым, включая создание, удаление, чтение, открытие, закрытие файла и выбор его атрибутов.

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

1.3 Сетевой уровень

Сетевой уровень гарантирует передачу данных между двумя удаленными компьютерами внутри отдельной глобальной сети (Wide Area Network — WAN). Основным элементов передачи является датаграмма, которая заключена в кадре. Датаграмма также состоит из заголовка и поля данных. В сетевых протоколах окончания обычно не используются.

Рисунок 1.6: Сетевой пакет в кадре данных

Как видно из Рисунка 1.6, заголовок датаграммы и данные (полезные данные сетевого уровня) составляют поле данных кадра.

Обычно между двумя компьютерами в WAN находится как минимум один маршрутизатор. Соединение между двумя маршрутизаторами на канальном уровне всегда прямое. Перед отправкой кадра в другую сеть маршрутизатор распаковывает датаграмму из кадра для того, чтобы поместить ее в другой кадр (или, более обобщенно, в кадр другого протокола канального уровня). Сетевой уровень не видит устройства физического и канального уровня (модемы, повторители, свитчи и т.д.).

Сетевому уровню все равно, какой протокол канального уровня используется на маршруте между отправителем и получателем.

Рисунок 1.7: Связи на сетевом уровне

Последовательный порт или карта Ethernet могут быть использованы в качестве сетевого интерфейса. Сетевой интерфейс внутри отдельной сети WAN обладает одним или более уникальным адресом.

Презентация на тему Стек протоколов OSI. Модель OSI концептуальная схема взаимодействия открытых систем Стек OSI — набор спецификаций протоколов, полностью соответствует. Транскрипт

1

Стек протоколов OSI

2

Модель OSI – концептуальная схема взаимодействия открытых систем Стек OSI — набор спецификаций протоколов, полностью соответствует модели OSI, он включает спецификации протоколов для всех семи уровней взаимодействия этой модели.

3

Модель взаимодействия открытых систем ISO/OSI

4

Стек протоколов OSI

5

Протоколы физического и канального уровней Ethernet, Token Ring, FDDI — протоколы локальных сетей LLC — протокол уровня управления логическим каналом X.25, ISDN и др. – стандарты территориальных сетей

6

Сетевой уровень сетевые протоколы (routed protocols) — реализуют продвижение пакетов через сеть протоколами маршрутизации (routing protocols). С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений протоколами разрешения адресов — Address Resolution Protocol, ARP — отвечают за отображение адреса узла, используемого на сетевом уровне, в локальный адрес сети

7

Транспортный уровень Транспортный протокол стека OSI скрывает различия между сетевыми сервисами с установлением соединения и без установления соединения, так что пользователи получают нужное качество обслуживания независимо от нижележащего сетевого уровня.

8

Сеансовый уровень Сеансовый уровень (Session layer) обеспечивает управление диалогом: фиксирует, какая из сторон является активной в настоящий момент, предоставляет средства синхронизации.

9

Представительный уровень Представительный уровень (Presentation layer) имеет дело с формой представления передаваемой по сети информации, не меняя при этом ее содержания. На этом уровне может выполняться шифрование и дешифрование данных

10

Прикладной уровень X это семейство рекомендаций Международного консультативного комитета по телеграфии и телефонии (CCITT), в которых описываются системы пересылки электронных сообщений. X.500 – семейство рекомендаций, описывающих стандарты глобальной справочной службы.

11

Прикладной уровень Протокол VT – решает проблему несовместимости различных протоколов эмуляции терминалов Протокол FTAM предусматривает средства для локализации и доступа к содержимому файла и включает набор директив для вставки, замены, расширения и очистки содержимого файла JTM — протокол пересылки и управления работами, позволяет пользователям пересылать работы, которые должны быть выполнены на хост- компьютере

12

Соответствие популярных стеков протоколов модели OSI

13

Причины неудачи модели OSI Несвоевременность. Неудачная технология. Неудачная реализация. Неудачная политика.

14

Список используемой литературы Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы, СПб: Питер, 2006 г., 672 с. Куроуз Д.Ф., Росс К.В. Компьютерные сети, СПб: Питер, 2004 г., 764 с. В. толлингс «Компьютерные системы передачи данных», шестое издание, Издательский дом «Вильямс», Москва – С. Петербург – Киев, 2002 г

1.1 Физический уровень

Физический уровень отвечает за инициализацию физической цепи между терминальным оборудованием (Data Terminal Equipment — DTE) и оконечным оборудованием линии передачи связи (Data Circuit-terminating Equipment — DCE), соединение по ней и ее дезактивацию. Помимо этого, физический уровень отвечает за соединение между DCE (Рисунок 1.3a). В роли DTE может выступать компьютер или маршрутизатор. С другой стороны, в роли DCE обычно выступает модем или мультиплексор.

Рисунок 1.3a: DTE и DCE

Другими словами, физический уровень описывает электрический или оптический сигнал, использующийся для связи между двумя компьютерами. Физические линии передачи связи создаются на физическом уровне. Другие приложения, например, модемы, модулирующие сигнал для телефонной линии, часто расположены на физической линии передачи связи, созданной между двумя компьютерами.

Протоколы физического уровня следующие:

  • Электрические сигналы (например, 1V)
  • Форм-фактор соединения (например, V.35)
  • Тип средства связи (витая пара, коаксиальный кабель, оптоволоконный кабель и т.п.)
  • Модуляция (например, частотная модуляция, фазовая модуляция и т.д.)
  • Кодирование (например, с возвратом к нулю, без возврата к нулю, и т.п.)
  • Синхронизация (синхронные или асинхронные соединения, временной ресурс и т.д.)

Уровень сетевого доступа

Уровень сетевого доступа состоит из всех функций, необходимых для физического подключения и передачи данных по сети. В эталонной модели OSI (Open Systems Interconnection) этот набор функций разбит на два уровня: физический и канальный. Эталонная модель TCP/IP создавалась после протоколов, присутствующих в ее названии, и в ней эти два уровня были слиты воедино, поскольку различные протоколы IP останавливаются на межсетевом уровне. Протокол IP предполагает, что все низкоуровневые функции предоставляются либо локальной сетью, либо подключением через последовательный интерфейс.

Преимущества TCP/IP

Протокол TCP/IP обеспечивает возможность межплатформенных сетевых взаимодействий ( то есть связи в разнородных сетях). Например, сеть под управлением Windows NT/2000 может содержать рабочие станции Unix и Macintosh, и даже другие сети более низкого порядка. TCP/IP обладает следующими характеристиками:

o Хорошие средства восстановления после сбоев.

o Возможность добавления новых сетей без прерывания текущей работы.

o Устойчивость к ошибкам.

o Независимость от платформы реализации.

o Низкие непроизводительные затраты на пересылку служебных данных.

Межхостовой уровень

К функциям этого уровня относится сегментирование данных в приложениях для пересылки по сети, выполнение математических проверок целостности принятых данных и мультиплексирование потоков данных ( как передаваемых, так и принимаемых) для нескольких приложений одновременно. Отсюда следует, что межхостовой уровень располагает средствами идентификации приложений и умеет переупорядочивать данные, принятые не в том порядке.

В настоящее время межхостовой уровень состоит из двух протоколов: протокола управления передачей TCP и протокола пользовательских дейтаграмм UDP. С учетом того, что Интернет становится все более транзакционно-ориентированным, был определен третий протокол, условно названный протоколом управления транзакциями/передачей T/TCP (Transaction/Transmission Control Protocol). Тем не менее, в большинстве прикладных сервисов Интернета на межхостовом уровне используются протоколы TCP и UDP.

Уровни и протоколы TCPIP

Протоколы TCP и IP совместно управляют потоками данных ( как входящими, так и исходящими) в сети. Но если протокол IP просто передает пакеты, не обращая внимания на результат, TCP должен проследить за тем, чтобы пакеты прибыли в положенное место. В частности, TCP отвечает за выполнение следующих задач:

o Открытие и закрытие сеанса.

o Управление пакетами.

o Управление потоком данных.

o Обнаружение и обработка ошибок.

Модель TCP/IP

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

Семейство протоколов TCP/IP

Семейство протоколов IP состоит из нескольких протоколов, часто обозначаемых общим термином “TCP/IP”:

o IP – протокол межсетевого уровня;

o TCP – протокол межхостового уровня, обеспечивающий надежную доставку;

o UDP – протокол межхостового уровня, не обеспечивающий надежной доставки;

o ICMP – многоуровневый протокол, упрощающий контроль, тестирование и управление в сетях IP. Различные протоколы ICMP распространяются на межхостовой и прикладной уровни.

Связи между этими протоколами изображены на рисунке.

Протокол IP

Протокол IP (Internet Protocol) является самым распространенным межсетевым протоколом в мире. Функциональность протокола определяется объемом данных, хранящихся в заголовках. Структура заголовков IP, а, следовательно, и его возможности первоначально определялись в серии RFC и других общедоступных документов, которые были опубликованы еще во времена создания группы IETF. Обычно считается, что базовым документом для современной версии IP является RSC 791 («internet protocol», Postel, J.B; 1981).

Благодаря неустанной работе IETF протокол IP постоянно развивается. В последующих RFC (Request for Comments) были добавлены многочисленные новые возможности. Тем не менее, все они строятся на основе, заложенной в RFC 791. С архитектурной точки зрения текущая версия IP имеет номер 4 (Ipv4). Со временем новая версия (Ipv6) постепенно вытеснит Ipv4, но в настоящее время повсеместно поддерживается стандарт Ipv4.

Стек протоколов TCPIP

Собственно, что есть сеть? Сеть — это более 2х компьютеров, объединенных между собой какими-то проводами каналами связи, в более сложном примере — каким-то сетевым оборудованием и обменивающиеся между собой информацией по определенным правилам. Эти правила «диктуются» стеком протоколов TCP/IP.

Transmission Control Protocol/Internet Protocol (Стек протоколов TCP/IP) — если сказать простым языком, это набор взаимодействующих протоколов разных уровней (можно дополнить, что каждый уровень взаимодействует с соседним, то есть состыковывается, поэтому и стек, имхо, так проще понять), согласно которым происходит обмен данными в сети. Каждый протокол — это набор правил, согласно которым происходит обмен данными. Итого, стек протоколов TCP/IP — это набор наборов правил Тут может возникнуть резонный вопрос: а зачем же иметь много протоколов? Неужели нельзя обмениваться всем по одному протоколу?

Все дело в том, что каждый протокол описывает строго отведенные ему правила. Кроме того, протоколы разделены по уровням функциональности, что позволяет работе сетевого оборудования и программного обеспечения становится гораздо проще, прозрачнее и выполнять «свой» круг задач. Для разделения данного набора протоколов по уровням была разработана модель сетевого  взаимодействия OSI (англ. Open Systems Interconnection Basic Reference Model, 1978 г., она же — базовая эталонная модель взаимодействия открытых систем). Модель OSI состоит из семи различных уровней. Уровень отвечает за отдельный участок в работе коммуникационных систем, не зависит от рядом стоящих уровней – он только предоставляет определённые услуги. Каждый уровень выполняет свою задачу в соответствии с набором правил, называемым протоколом. Проиллюстрировать работу модели OSI можно следующим рисунком: Как передаются данные?

Из рисунка видно, что существует 7 уровней сетевого взаимодействия, которые делятся на: прикладной, представлений, сеансовый, транспортный, сетевой, канальный, физический. Каждый из уровней содержит свой набор протоколов. Список протоколов по уровням взаимодействия хорошо представлен в Википедии:

Сам стек протоколов TCP/IP развивался параллельно с принятием модели OSI и «не пересекался» с ней, в результате получилось небольшое разногласие в несоответствии стека протоколов и уровней модели OSI. Обычно, в стеке TCP/IP верхние 3 уровня (прикладной, представления и сеансовый) модели OSI объединяют в один — прикладной. Поскольку в таком стеке не предусматривается унифицированный протокол передачи данных, функции по определению типа данных передаются приложению. Упрощенно интерпретацию стека TCP/IP относительно модели OSI можно представить так:

Данную модель сетевого взаимодействия еще называют модель DOD (от бурж. Department of Defense — Министерство обороны США). Итак, общее представление о сетевом взаимодействии рассмотрели. Для более глубокого понимания сути вопроса, могу посоветовать скачать и почитать книгу (Вито Амато «Основы организации сетей Cisco Т1 и Т2»), ниже.

Теоретические сведения

На концептуальной модели взаимодействия открытых систем OSI основан стек протоколов TCP/IP (Transmission Control Protocol — протокол управления
передачей / Internet Protocol – Интернет-протокол), который предоставляет ряд стандартов для связи компьютеров и сетей.

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

Применение стека протоколов TCP/IP дает следующие преимущества:

  1. поддерживается почти всеми операционными системами; почти все большие сети основаны на TCP/IP;
  2. технология позволяет соединить разнородные системы;
  3. надежная, расширяемая интегрированная среда на основе модели «клиент — сервер»;
  4. получение доступа к ресурсам сети Интернет.

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

Реализация TCP/IP позволяет узлу TCP/IP использовать статический IP-адрес или получить IP-адрес автоматически с помощью
DHCP-сервера
(Dynamic Host Configuration Protocol- протокол динамической конфигурации хоста).

Для простых сетевых конфигураций, основанных на локальных сетях (LAN, Local Area Network), он поддерживает автоматическое назначение IP-адресов.

По умолчанию компьютеры клиентов, работающие под управлением ОС Windows или Linux, получают информацию о настройке протокола TCP/IP
автоматически от службы DHCP.

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

Если служба DHCP недоступна, можно настроить TCP/IP для использования статического IP-адреса.

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

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

Параметр Описание
IP-адрес Логический 32-битный адрес, который идентифицирует TCP/IP узел. Каждой плате сетевого адаптера в компьютере с запущенным протоколом TCP/IP необходим уникальный IP-адрес, такой, как 192.168.0.108.
Каждый адрес имеет две части: ID сети, который идентифицирует все узлы в одной физической сети и ID узла, который идентифицирует узел в сети.
В этом примере ID сети — 192.168.0, и ID узла — 108.
Маска подсети Подсети делят большую сеть на множество физических сетей, соединенных маршрутизаторами. Маска подсети закрывает часть IP-адреса так, чтобы TCP/IP мог отличать ID сети от ID узла.
При соединении узлов TCP/IP, маска подсети определяет, где находится узел получателя: в локальной или удаленной сети.
Для связи в локальной сети компьютеры должны иметь одинаковую маску подсети.
Шлюз по умолчанию Промежуточное устройство в локальной сети, на котором хранятся сетевые идентификаторы других сетей предприятия или Интернета.
TCP/IP посылает пакеты в удаленную сеть через шлюз по умолчанию (если никакой другой маршрут не настроен), который затем пересылает пакеты другим шлюзам, пока пакет не достигнет шлюза, связанного с указанным адресатом.

Таблица 1. Параметры, используемые при настройке статического адреса TCP/IP

Если сервер с запущенной службой DHCP доступен в сети, он автоматически предоставляет информацию о параметрах TCP/IP клиентам DНСР.

Ссылка на основную публикацию