30. Архитектура протокола TCP/IP и модель OSI. Уровень доступа к сети модели TCP/IP. Межсетевой, транспортный и прикладной уровень модели TCP/IP. Классы IP-адресов.
Сетевая модель OSI— абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов. Предлагает взгляд на компьютерную сеть с точки зрения измерений. Каждое измерение обслуживает свою часть процесса взаимодействия. Благодаря такой структуре совместная работа сетевого оборудования и программного обеспечения становится гораздо проще и прозрачнее.
В настоящее время основным используемым стеком протоколов является TCP/IP, разработка которого не была связана с моделью OSI и к тому же была совершена до её принятия.
Модель OSI, уровни:
7. прикладной-доступ к сетевым службам
6. представления – представление и кодирование данных
5. сеансовый – управление сеансов связи
4. транспортный – прямая связь между конечными пунктами и надежность
3. сетевой – определение маршрута и логическая адресация
2. канальный – физическая адресация
1. физический – работа со средой передачи, сигналами и двоичными данными
Стек протоколов TCP/IP— набор сетевых протоколов разных уровней модели сетевого взаимодействия DOD, используемых в сетях. Протоколы работают друг с другом в стеке (англ. stack, стопка) — это означает, что протокол, располагающийся на уровне выше, работает «поверх» нижнего, используя механизмы инкапсуляции. Например, протокол TCP работает поверх протокола IP.
Стек протоколов TCP/IP основан на модели сетевого взаимодействия DOD и включает в себя протоколы четырёх уровней:
· прикладного (application),
· транспортного (transport),
· сетевого (internet),
· уровня доступа к среде (network access).
Протоколы этих уровней полностью реализуют функциональные возможности модели OSI. На стеке протоколов TCP/IP построено всё взаимодействие пользователей в IP-сетях. Стек является независимым от физической среды передачи данных.
Сетевой уровень изначально разработан для передачи данных из одной (под)сети в другую. Примерами такого протокола является 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.
Класс |
Диапазон значений первого
октета |
Первые биты первого октета |
Сетевые/хостовые
октеты (N=сеть, H=хост) |
Маска подсети по умолчанию |
Количество сетей |
Хостов в каждой подсети
(возможные к использованию адреса) |
A |
1
– 126* |
0 |
N.H.H.H |
255.0.0.0 |
126
(27 – 2) |
16,777,214
(224 – 2) |
B |
128
– 191 |
10 |
N.N.H.H |
255.255.0.0 |
16,382
(214 – 2) |
65,534
(216 – 2) |
C |
192
– 223 |
110 |
N.N.N.H |
255.255.255.0 |
2,097,150
(221 – 2) |
254
(28 – 2) |
D |
224
– 239 |
1110 |
Зарезервировано
для мультикастинга |
|||
E |
240
– 254 |
1111 |
Зарезервировано,
используется для исследований |