Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Протоколы, используемые в мультисервисной сети




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

В проектируемой мультисервисной сети используется стек протоколов TCP/IP. Стек протоколов TCP/IP (англ. Transmission Control Protocol/Internet Protocol) - собирательное название для сетевых протоколов разных уровней, используемых в сетях. Слово «стек» (англ. stack, стопка) подразумевает, что протокол TCP работает поверх IP.

В модели OSI данный стек занимает (реализует) все уровни и сам делится на 4 уровня: прикладной, транспортный, межсетевой, уровень доступа к сети (в OSI это уровни - физический, канальный и частично сетевой). На стеке протоколов TCP/IP построено всё взаимодействие пользователей в сети, от программной оболочки до канального уровня модели OSI. По сути это база, на которой завязано всё взаимодействие. При этом стек является независимым от физической среды передачи данных.

3.1.1 Уровни стека TCP/IP

Существуют разногласия в том, как вписать модель TCP/IP в модель OSI, поскольку уровни в этих моделях не совпадают. К тому же, модель OSI не использует дополнительный уровень - «Internetworking» - между транспортным и сетевым уровнями. Примером спорного протокола может быть ARP или STP.

В таблице 3.1 показано как традиционно протоколы TCP/IP вписываются в эталонную модель OSI.

Таблица 3.1 - Размещение протоколов стека TCP/IP по уровням модели OSI.

Наименование уровня Протокол
  Прикладной напр. HTTP, SMTP, SNMP, FTP, Telnet, scp, DHCP, RTSP, BGP
  Представительный напр. XML, XDR, ASN.1, SMB, AFP
  Сеансовый напр. TLS, SSL, ISO 8327 / CCITT X.225, RPC, NetBIOS, ASP
  Транспортный напр. TCP, UDP, RTP, SCTP, SPX, ATP, DCCP, GRE
  Сетевой напр. IP, ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP
  Канальный напр. Ethernet, Token ring, PPP, HDLC, X.25, Frame relay, ISDN, ATM, MPLS, Wi-Fi, ARP, RARP
  Физический напр. Ethernet, RS-232, EIA-422, RS-449, EIA-485

 

В таблице 3.2 представлена упрощенная интерпретацию стека TCP/IP.

Таблица 3.2 - Упрощенная интерпретация стека TCP/IP

Наименование уровня Протокол
  Прикладной «7 уровень» напр. HTTP, FTP, DNS (RIP, работающий поверх UDP, и BGP, работающий поверх TCP, являются частью сетевого уровня)
  Транспортный напр. TCP, UDP, RTP, SCTP, DCCP (протоколы маршрутизации, подобные OSPF, что работают поверх IP, являются частью сетевого уровня)
  Межсетевой Для TCP/IP это IP (вспомогательные протоколы, вроде ICMP и IGMP работают поверх IP, но являются частью сетевого уровня; ARP не работает поверх IP)
  Физический напр. физическая среда и принципы кодирования информации, T1, E1

Обычно в стеке TCP/IP верхние 3 уровня (прикладной, представительный и сеансовый) модели OSI объединяют в один - прикладной. Поскольку в таком стеке не предусматривается унифицированный протокол передачи данных, функции по определению типа данных передаются приложению.

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

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

Канальный уровень

Канальный уровень описывает, каким образом передаются пакеты данных через физический уровень, включая кодирование. Ethernet, например, в полях заголовка пакета содержит указание того, какой машине или машинам в сети предназначен этот пакет.

Примеры протоколов канального уровня - Ethernet, IEEE 802.11 Wireless Ethernet, SLIP, Token Ring, ATM и MPLS.

PPP не совсем вписывается в такое определение, поэтому обычно описывается в виде пары протоколов HDLC/SDLC.

MPLS занимает промежуточное положение между канальным и сетевым уровнем и, строго говоря, его нельзя отнести ни к одному из них.

Канальный уровень иногда разделяют на 2 подуровня - LLC и MAC.

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

Изначально разработан для передачи данных из одной (под) сети в другую. Примерами такого протокола является X.25 и IPC в сети ARPANET.

С развитием концепции глобальной сети в уровень были внесены дополнительные возможности по передаче из любой сети в любую сеть, независимо от протоколов нижнего уровня, а также возможность запрашивать данные от удалённой стороны, например в протоколе ICMP (используется для передачи диагностической информации IP-соединения) и IGMP (используется для управления multicast-потоками). ICMP и IGMP расположены над IP и должны попасть на следующий - транспортный - уровень, но функционально являются протоколами сетевого уровня, а поэтому их невозможно вписать в модель OSI.

Пакеты сетевого протокола IP могут содержать код, указывающий, какой именно протокол следующего уровня нужно использовать, чтобы извлечь данные из пакета. Это число - уникальный IP-номер протокола. ICMP и IGMP имеют номера, соответственно, 1 и 2.

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

Протоколы транспортного уровня могут решать проблему негарантированной доставки сообщений («дошло ли сообщение до адресата?»), а также гарантировать правильную последовательность прихода данных. В стеке TCP/IP транспортные протоколы определяют, для какого именно приложения предназначены эти данные.

Протоколы автоматической маршрутизации, логически представленные на этом уровне (поскольку работают поверх IP), на самом деле являются частью протоколов сетевого уровня; например OSPF (IP идентификатор 89).

TCP (IP идентификатор 6) - «гарантированный» транспортный механизм с предварительным установлением соединения, предоставляющий приложению надёжный поток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий данные в случае потери и устраняющий дублирование данных. TCP позволяет регулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности. В этом его главное отличие от UDP.

UDP (IP идентификатор 17) протокол передачи датаграмм без установления соединения. Также его называют протоколом «ненадёжной» передачи, в смысле невозможности удостовериться в доставке сообщения адресату, а также возможного перемешивания пакетов. В приложениях, требующих гарантированной передачи данных, используется протокол TCP.

UDP обычно используется в таких приложениях, как потоковое видео и компьютерные игры, где допускается потеря пакетов, а повторный запрос затруднён или не оправдан, либо в приложениях вида запрос-ответ (например, запросы к DNS), где создание соединения занимает больше ресурсов, чем повторная отправка.

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

Прикладной уровень

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

Эти программы имеют свои собственные протоколы обмена информацией, например, HTTP для WWW, FTP (передача файлов), SMTP (электронная почта), SSH (безопасное соединение с удалённой машиной), DNS (преобразование символьных имён в IP-адреса) и многие другие.

В массе своей эти протоколы работают поверх TCP или UDP и привязаны к определённому порту, например:

HTTP на TCP-порт 80 или 8080, FTP на TCP-порт 20 (для передачи данных) и 21 (для управляющих команд), SSH на TCP-порт 22, запросы DNS на порт UDP (реже TCP) 53, обновление маршрутов по протоколу RIP на UDP-порт 520. Эти порты определены Агентством по выделению имен и уникальных параметров протоколов (IANA).

Бесспорно, к этому уровню относятся: DHCP, Echo, Finger, Gopher, HTTP, HTTPS, IMAP, IMAPS, IRC, NNTP, NTP, POP3, POPS, QOTD, RTSP, SNMP, SSH, Telnet, XDMCP.

IP (Internet Protocol)

IP (англ. Internet Protocol - межсетевой протокол) - маршрутизируемый сетевой протокол, основа стека протоколов TCP/IP.

Протокол IP используется для негарантированной доставки данных (разделяемых на так называемые пакеты) от одного узла сети к другому. Это означает, что на уровне этого протокола (третий уровень сетевой модели OSI) не даётся гарантий надёжной доставки пакета до адресата. В частности, пакеты могут прийти не в том порядке, в котором были отправлены, продублироваться (когда приходят две копии одного пакета; в реальности это бывает крайне редко), оказаться повреждёнными (обычно повреждённые пакеты уничтожаются) или не прибыть вовсе. Гарантии безошибочной доставки пакетов дают протоколы более высокого (транспортного) уровня сетевой модели OSI - например, TCP - которые IP используют в качестве транспорта.

В современной сети Интернет используется IP четвёртой версии (IPv4). В протоколе IP этой версии каждому узлу сети ставится в соответствие IP-адрес длиной 4 октета. При этом компьютеры в подсетях объединяются общими начальными битами адреса. Количество этих бит, общее для данной подсети, называется маской подсети (ранее использовалось деление пространства адресов по классам, сейчас используется бесклассовая адресация).

В настоящее время вводится в эксплуатацию шестая версия протокола IPv6 (англ. Internet Protocol version 6), призванная решить проблемы за счёт использования длины адреса 128 бит вместо 32.

После того, как адресное пространство в IPv4 закончится, два стека протоколов - IPv6 и IPv4 будут использоваться параллельно (dual stack), с постепенным увеличением доли трафика IPv6 по сравнению с IPv4. Такая ситуация возникает из-за наличия огромного количества устройств, не поддерживающих IPv6 и требующих специального преобразования для работы с устройствами, использующими только IPv6.

3.2.1 IP-пакет

IP-пакет - форматированный блок информации, передаваемый по вычислительной сети. Соединения вычислительных сетей, которые не поддерживают пакеты, такие как традиционные соединения типа «точка-точка» в телекоммуникациях, просто передают данные в виде последовательности байтов, символов или битов.

В современной практике термин «IP-пакет» обычно используется в качестве синонима к термину «IP-датаграмма». Вместе с тем в ряде документов IETF (RFC 1812, RFC 1547, RFC 1661 и др.) между ними проводится определенное различие. Как известно, модули данных верхних уровней сетевой модели последовательно инкапсулируются в модули данных нижележащих уровней. При передаче на канальный уровень IP-датаграмма может не помещаться в модуль данных канального уровня. В таком случае для инкапсуляции требуется предварительная фрагментация датаграммы для удовлетворения требований конкретной технологии уровня среды передачи данных. Таким образом, возникает ещё один термин - IP-фрагмент. Термин IP-пакет обобщает понятия IP-датаграммы и IP-фрагмента и обозначает модуль данных, передаваемый канальному уровню для инкапсуляции в кадр. Можно сказать, что на сетевом уровне IP-датаграмма является инкапсулирующим модулем данных, а IP-пакет - инкапсулируемым. В частном случае они могут совпадать, в общем случае - нет, так как IP-датаграмма может дробиться на фрагменты. Не всякая датаграмма, и даже не всякий фрагмент без дополнительной фрагментации может стать IP-пакетом.

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

3.2.2 Структура IP-датаграммы (пакета)

Протокол IP четвертой версии (IPv4).

На рисунке 3.1 приведена структура пакета IPv4.

 

       
                                                               
Версия IHL Тип обслуживания Длина пакета
Идентификатор Флаги Смещение фрагмента
Число переходов (TTL) Протокол Контрольная сумма заголовка
IP-адрес отправителя (32 бита)
IP-адрес получателя (32 бита)
Параметры (до 320 бит) Данные (до 65535 байт минус заголовок)
                                                               

Рисунок 3.1. – Структура IP-пакета IPv4

 

В таблице Таблица 3.3 приведены назначение полей IP-пакета IPv4

Таблица3.3 – Назначение полей IP-пакета IPv4

Наименование поля Назначение поля
Версия Для IPv4 значение поля должно быть равно 4.
IHL Длина заголовка IP-пакета в 32-битных словах (dword). Именно это поле указывает на начало блока данных в пакете. Минимальное корректное значение для этого поля равно 5.
Идентификатор Значение, назначаемое отправителем пакета и предназначенное для определения корректной последовательности фрагментов при сборке датаграммы. Для фрагментированного пакета все фрагменты имеют одинаковый идентификатор
3 бита флагов Первый бит должен быть всегда равен нулю, второй бит DF (don’t fragment) определяет возможность фрагментации пакета и третий бит MF (more fragments) показывает, не является ли этот пакет последним в цепочке пакетов
Смещение фрагмента Значение, определяющее позицию фрагмента в потоке данных.
Число переходов Максимальное число роутеров, которые может пройти пакет. При прохождении роутера это значение уменьшается на единицу и по достижению нуля пакет отбрасывается.
Протокол Идентификатор интернет - протокола следующего уровня. В IPv6 называется «Next Header».

 

Протокол IP четвертой версии (IPv6).

На рисунке 3.2 приведена структура пакета IPv6.

В таблице 3.4 приведены назначение полей IP-пакета IPv6

 

Версия (4 бита) Класс трафика (8 бит) Метка потока (20 бит)
Длина полезной нагрузки (16 бит) След. заголовок (8 бит) Число переходов
IP-адрес отправителя (128 бит)
IP-адрес получателя (128 бит)
Данные

Рисунок 3.2. - Структура IP-пакета IPv6

 

Таблица 3.4 - Назначение полей IP-пакета IPv6

Наименование поля Назначение поля
Версия Для IPv6 значение поля должно быть равно 6.
Класс трафика Определяет приоритет трафика (QoS, класс обслуживания).
Метка потока Уникальное число, одинаковое для однородного потока пакетов.
Длина полезной нагрузки Длина данных (заголовок IP-пакета не учитывается).
Следующий заголовок Определяет следующий инкапсулированный протокол.
Число переходов Максимальное число роутеров, которые может пройти пакет. При прохождении роутера это значение уменьшается на единицу и по достижению нуля пакет отбрасывается.

 

3.2.3 Диапазоны IP-адресов для локальных сетей

При подключении пользовательского компьютера к Интернету, IP-адреса выбираются из диапазона, предоставленного провайдером. Компьютеры, не имеющие IP-адреса, выданного провайдером, могут (при правильной настройке маршрутизации) работать с другими локальными компьютерами, имея IP-адреса из диапазонов, зарезервированных для локальных сетей (RFC 1918):

0.0.0.0 - 10.255.255.255 (одна сеть класса A или 16777216 хостов)
172.16.0.0 - 172.31.255.255 (шестнадцать сетей класса B или 1048576 хостов)
192.168.0.0 - 192.168.255.255 (256 сетей класса C или 65536 хостов)

Компьютеры с такими адресами могут получать доступ к Интернету посредством прокси-серверов или NAT.

При построении сетей, составляющих Интернет (например, сетей провайдеров), выбираются строго определённые диапазоны адресов, назначенные организацией IANA. IANA подконтрольна ICANN («высшей инстанции» в вопросах резервирования диапазонов адресов) и имеет свои представительства по всему миру. Например, в Европе распределение адресов координирует RIPE NCC.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...