Протоколы tcp , icmp , udp.
Основные понятия, стандарты и организации, действующие в области ИС.
Взаимодействие открытых систем(Open Systems Interconnection (OSI))
Взаимодействие открытых систем - правила сопряжения систем с открытой архитектурой от различных производителей.
Архитектура безопасности(Security architecture)
Архитектура безопасности - официальное дополнение ISO к модели OSI, определяющее меры безопасности в информационной сети.
Архитектура безопасности предполагает:
- предотвращение чтения сообщений любыми лицами;
- защиту трафика от его анализа посторонними;
- обнаружение изменений потоков сообщений;
- определение искажений блоков данных.
В зависимости от используемых методов различают:
- сети со слабой защитой, в которых усилия нарушителя пропорциональны затратам отправителя;
- сети с сильной защитой, требующие резкого увеличения затрат нарушителя.
Базовая эталонная модель взаимодействия открытых систем (Модель OSI)
(Стандарт ISO 7498 (Open systems interconnection basic reference model))
Базовая эталонная модель взаимодействия открытых систем - стандарт ISO, определяющий процесс информационного взаимодействия двух или более систем, в виде совокупность информационных взаимодействий уровневых подсистем.
Система обработки сообщений (Message Handling System (MHS))
Система обработки сообщений - в модели OSI - система агентов сообщений пользователя, агентов передачи сообщений, хранения сообщений и устройств доступа, обеспечивающая работу электронной почты.
Уровень (Layer)
Уровень - в модели OSI - набор структур и программ, обеспечивающих обработку определенного класса событий.
Уровень выступает единицей декомпозиции совокупности функций, обеспечивающих информационное взаимодействие прикладных процессов.
В модели OSI выделяют семь уровней информационного взаимодействия:
-7- прикладной уровень: передача информации между программами;
-6- уровень представления: шифрование, кодирование и сжатие данных;
-5- сеансовый уровень: установка, поддержка и разрыв соединения;
-4- транспортный уровень: точность доставки, уровень качества услуг;
-3- сетевой уровень: маршруты передачи, обработка и передача сообщений;
-2- канальный уровень: управление каналом связи, доступ к среде передачи и адресация;
-1- физический уровень: cвязь на уровне аппаратуры.
Уровни не зависят друг от друга и состоят из активных объектов, которые:
- взаимодействуют с другими объектами того же уровня;
- предоставляют сервис смежному с ним верхнему уровню;
- получают сервис от смежного с ним нижнего уровня;
- обмениваются блоками данных с целью выполнения возложенных на них задач.
Семиуровневая модель ВОС.
Модель Взаимодействия Открытых Систем (OSI).
Эталонная модель OSI, иногда называемая стеком OSI представляет собой 7-уровневую сетевую иерархию, разработанную Международной организацией по стандартам (International Standardization Organization - ISO). Эта модель содержит в себе по сути 2 различных модели:
- горизонтальную модель на базе протоколов, обеспечивающую механизм взаимодействия программ и процессов на различных машинах
- вертикальную модель на основе услуг, обеспечиваемых соседними уровнями друг другу на одной машине
В горизонтальной модели двум программам требуется общий протокол для обмена данными. В вертикальной - соседние уровни обмениваются данными с использованием интерфейсов API.
7 Прикладной | ↔ | 7 Прикладной |
6 Представления данных | ↔ | 6 Представления данных |
5 Сеансовый | ↔ | 5 Сеансовый |
4 Транспортный | ↔ | 4 Транспортный |
3 Сетевой | ↔ | 3 Сетевой |
2 Канальный | ↔ | 2 Канальный |
1 Физический | ↔ | 1 Физический |
Уровень 7, прикладной
Прикладной уровень отвечает за доступ приложений в сеть. Задачами этого уровня является перенос файлов, обмен почтовыми сообщениями и управление сетью. (FTP, Telnet,…)
Уровень 6, представления
Этот уровень обеспечивает преобразование данных (кодирование, компрессия и т.п.). Обеспечивает независимость прикладных процессов от различных форм представления данных.
Уровень 5, сеансовый
Обеспечивает механизм организации и формирования структуры взаимодействия между прикладными процессами.
Уровень 4, транспортный
Транспортный уровень делит потоки информации на достаточно малые фрагменты (пакеты) для передачи их на сетевой уровень. В стеке TCP/IP происзодит контроль целостности передачи данных. (TCP).
Уровень 3, сетевой
На этом уровне происходит маршрутизация пакетов на основе преобразования MAC-адресов в сетевые адреса. Сетевой уровень обеспечивает также прозрачную передачу пакетов на транспортный уровень. (IP).
Уровень 2, канальный
Канальный уровень обеспечивает создание, передачу и прием кадров данных. Этот уровень обслуживает запросы сетевого уровня и использует сервис физического уровня для приема и передачи пакетов. Спецификации IEEE 802.x делят канальный уровень на два подуровня: управление логическим каналом (LLC) и управление доступом к среде (MAC). LLC обеспечивает обслуживание сетевого уровня, а подуровень MAC регулирует доступ к разделяемой физической среде. (Ethernet).
Уровень 1, физический
Физический уровень получает пакеты данных от вышележащего канального уровня и преобразует их в оптические или электрические сигналы, соответствующие 0 и 1 бинарного потока. Эти сигналы посылаются через среду передачи на приемный узел. Механические и электрические/оптические свойства среды передачи определяются на физическом уровне и включают:
· Тип кабелей и разъемов
· Разводку контактов в разъемах
· Схему кодирования сигналов для значений 0 и 1
На сетевом уровне формируется IP-пакет: DATA|IP-заголовок
На канальном уровне формируется кадр: DATA|IP-заголовок|Ethernet-заголовок:
· 1 IP-паке в один кадр
· 1 IP-пакет разбивается на несколько кадров
· Несколько IP-пакетов помещаются в 1 кадр
3. TCP/IP, распределение протоколов по уровням ВОС.
Transmission Control Protocol/Internet Protocol (TCP/IP) - это промышленный стандарт стека протоколов, разработанный для глобальных сетей.
Стандарты TCP/IP опубликованы в серии документов, названных Request for Comment (RFC). Документы RFC описывают внутреннюю работу сети Internet. Некоторые RFC описывают сетевые сервисы или протоколы и их реализацию, в то время как другие обобщают условия применения.
Так как стек TCP/IP был разработан до появления модели взаимодействия открытых систем ISO/OSI, то, хотя он также имеет многоуровневую структуру, соответствие уровней стека TCP/IP уровням модели OSI достаточно условно.
Структура протоколов TCP/IP приведена на рисунке 2.1. Протоколы TCP/IP делятся на 4 уровня.
Рис. 2.1. Стек TCP/IP
(уровень IV) соответствует физическому и канальному уровням модели OSI. Этот уровень в протоколах TCP/IP не регламентируется, но поддерживает все популярные стандарты физического и канального уровня: Ethernet, Token Ring, FDDI, Fast Ethernet, PPP и т.д..
(уровень III) - уровень межсетевого взаимодействия, который занимается передачей пакетов с использованием различных транспортных технологий локальных сетей, территориальных сетей, линий специальной связи и т. п. В качестве основного протокола сетевого уровня (в терминах модели OSI) в стеке используется протокол IP. Протокол IP является дейтаграммным протоколом, то есть он не гарантирует доставку пакетов до узла назначения. Также протоколы RIP, OSPF, ICMP и др.
(уровень II) называется основным. На этом уровне функционируют протокол управления передачейTCP (Transmission Control Protocol) и протокол дейтаграмм пользователя UDP(User Datagram Protocol). Протокол TCP обеспечивает надежную передачу сообщений между удаленными прикладными процессами за счет образования виртуальных соединений. Протокол UDP обеспечивает передачу прикладных пакетов дейтаграммным способом, как и IP, и выполняет только функции связующего звена между сетевым протоколом и многочисленными прикладными процессами.
(уровень I) называется прикладным. WWW, Telnet, SMTP и т.д..
Протоколы IP, ARP, RARP.
Основу транспортных средств стека протоколов TCP/IP составляет протокол межсетевого взаимодействия - Internet Protocol (IP). Документ – RFC 791. К основным функциям протокола IP относятся:
· перенос между сетями различных типов адресной информации в унифицированной форме,
· сборка и разборка пакетов при передаче их между сетями с различным максимальным значением длины пакета.
Состав IP-кадра:
· Заголовок 20байт
· внутри заголовка 2 блока по 32бита для IP-адресов источника и назначения
· Поле данных
В большинстве типов локальных и глобальных сетей определяется такое понятие как максимальный размер поля данных кадра или пакета, в которые должен инкапсулировать свой пакет протокол IP. Эту величину обычно называют максимальной единицей транспортировки - Maximum Transfer Unit, MTU. Сети Ethernet имеют значение MTU, равное 1500 байт
ARP (Address Resolution Protocol) протокол служит для установления соответствия между IP и MAC адресом (ARP – когда изв. IP, RARP – когда изв. MAC). MAC-адрес – 48бит, прошит в каждой железке (байта – производитель, ещё 3 байта – уникальный номер железки).
В сетях используется IP-адресация, как более гибкая. IP-адрес не привязан к железу.
С помощью ARP заполняется специальная таблица – ARP-кэш, с динамическими записями.
2 узла – А и Б, А знает IP Б и хочет отправить ему данные:
1) А посылает широковещательный ARP запрос с IP адресом Б
2) Б видит свой IP и посылает широковещательный ответ со своим MACом
3) A получает MAC Б, помещает его в ARP-кэш и формиреут Ethernet-кадр (данные|IP-заголовок(IP-адреса)|Ethernet-заголовок(MAC адреса))
Для дальнейшей передачи ARP-запросы не нужны.
RARP – Reverse ARP. Одно из применений – старт бездисковых станций, не знающих в начальный момент своего IP-адреса.
Протоколы TCP , ICMP , UDP.
Transmission Control Protocol (TCP) (протокол управления передачей) — один из основных сетевых протоколов Интернета, предназначенный для управления передачей данных в сетях и подсетях TCP/IP.
Выполняет функции протокола транспортного уровня модели OSI.
TCP — это транспортный механизм, предоставляющий поток данных, с предварительной установкой соединения, за счёт этого дающий уверенность в достоверности получаемых данных, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета.
Единицей данных протокола TCP является сегмент. Информация, поступающая к протоколу TCP в рамках логического соединения от протоколов более высокого уровня, рассматривается протоколом TCP как неструктурированный поток байт. Поступающие данные буферизуются средствами TCP. Для передачи на сетевой уровень из буфера "вырезается" некоторая непрерывная часть данных, называемая сегментом.
Соединение в протоколе TCP идентифицируется парой полных адресов обоих взаимодействующих процессов (оконечных точек). Адрес каждой из оконечных точек включает IP-адрес (номер сети и номер компьютера) и номер порта (FTP – 21, HTTP – 80 и т.д.). Одна оконечная точка может участвовать в нескольких соединениях.
Установление соединения выполняется в следующей последовательности:
· При установлении соединения одна из сторон является инициатором. Она посылает запрос к протоколу TCP на открытие порта для передачи (active open).
· После открытия порта протокол TCP на стороне процесса-инициатора посылает запрос процессу, с которым требуется установить соединение.
· Протокол TCP на приемной стороне открывает порт для приема данных (passive open) и возвращает квитанцию, подтверждающую прием запроса.
· Для того чтобы передача могла вестись в обе стороны, протокол на приемной стороне также открывает порт для передачи (active port) и также передает запрос к противоположной стороне.
· Сторона-инициатор открывает порт для приема и возвращает квитанцию. Соединение считается установленным. Далее происходит обмен данными в рамках данного соединения.
Используется квитирование (подтверждение передачи данных)
ICMP (Internet Control Message Protocol — межсетевой протокол управляющих сообщений) — сетевой протокол, входящий в стек протоколов TCP/IP. В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашиваемая услуга недоступна, или хост, или маршрутизатор не отвечают. Также на ICMP возлагаются некоторые сервисные функции.
Каждое сообщение протокола ICMP передается по сети внутри пакета IP. Пакеты IP с сообщениями ICMP маршрутизируются точно так же, как и любые другие пакеты, без приоритетов, поэтому они также могут теряться. Кроме того, в загруженной сети они могут вызывать дополнительную загрузку маршрутизаторов. Для того, чтобы не вызывать лавины сообщения об ошибках, потери пакетов IP, переносящие сообщения ICMP об ошибках, не могут порождать новые сообщения ICMP.
Существует несколько типов сообщений ICMP. Каждый тип сообщения имеет свой формат, при этом все они начинаются с общих трех полей: 8-битного целого числа, обозначающего тип сообщения (TYPE), 8-битного поля кода (CODE), который конкретизирует назначение сообщения, и 16-битного поля контрольной суммы (CHECKSUM). Кроме того, сообщение ICMP всегда содержит заголовок и первые 64 бита данных пакета IP, который вызвал ошибку.
UDP (User Datagram Protocol — протокол пользовательских датаграмм) — это транспортный протокол для передачи данных в сетях IP без установления соединения. Он является одним из самых простых протоколов транспортного уровня модели OSI. В отличие от TCP, UDP не гарантирует доставку пакета. Это позволяет ему гораздо быстрее и эффективнее доставлять данные для приложений, которым требуется большая пропускная способность линий связи, либо требуется малое время доставки данных.
Первые 64 бита (8 байт) датаграммы представляют собой UDP-заголовок (порты отправителя и получателя, длина датаграммы, контрольная сумма), остальные биты — данные сообщения.
Создаётся псевдозаголовок с IP-адресами отправителя и получателя, который используется при расчёте контрольной суммы.