3.01M
Category: internetinternet

Компьютерные сети

1.

2.

Часть 1 – Основа
История зарождения и развития
Часть 2 – Фундамент
Топология Сети
Часть 3 - База
Сетевая модель OSI
Стек tcp/ip
...
2

3.

Сетевая модель — теоретическое описание принципов работы набора
сетевых протоколов, взаимодействующих друг с другом. Модель обычно
делится на уровни, так, чтобы протоколы вышестоящего уровня
использовали бы протоколы нижестоящего уровня (точнее, данные
протокола вышестоящего уровня передавались бы с помощью
нижележащих протоколов — этот процесс называют инкапсуляцией,
процесс извлечения данных вышестоящего уровня из данных
нижестоящего — декапсуляцией).
3

4.

4

5.

1) Физический уровень (Physical Layer): определяет метод передачи данных, какая
среда используется (передача электрических сигналов, световых импульсов или
радиоэфир), уровень напряжения, метод кодирования двоичных сигналов.
2) Канальный уровень (Data Link Layer): он берет на себя задачу адресации в
пределах локальной сети, обнаруживает ошибки, проверяет целостность данных.
Если слышали про MAC-адреса и протокол «Ethernet», то они располагаются на этом
уровне.
3) Сетевой уровень (Network Layer): этот уровень берет на себя объединения
участков сети и выбор оптимального пути (т.е. маршрутизация). Каждое сетевое
устройство должно иметь уникальный сетевой адрес в сети. Думаю, многие
слышали про протоколы IPv4 и IPv6. Эти протоколы работают на данном уровне.
5

6.

4) Транспортный уровень (Transport Layer): Этот уровень берет на себя функцию
транспорта. К примеру, когда вы скачиваете файл с Интернета, файл в виде
сегментов отправляется на Ваш компьютер. Также здесь вводятся понятия портов,
которые нужны для указания назначения к конкретной службе. На этом уровне
работают протоколы TCP (с установлением соединения) и UDP (без установления
соединения).
5) Сеансовый уровень (Session Layer): Роль этого уровня в установлении, управлении
и разрыве соединения между двумя хостами. К примеру, когда открываете
страницу на веб-сервере, то Вы не единственный посетитель на нем. И вот для
того, чтобы поддерживать сеансы со всеми пользователями, нужен сеансовый
уровень.
6

7.

6) Уровень представления (Presentation Layer): Он структурирует информацию в
читабельный вид для прикладного уровня. Например, многие компьютеры
используют таблицу кодировки ASCII для вывода текстовой информации или
формат jpeg для вывода графического изображения.
7) Прикладной уровень (Application Layer): Наверное, это самый понятный для всех
уровень. Как раз на этом уроне работают привычные для нас приложения — email, браузеры по протоколу HTTP, FTP и остальное.
7

8.

8

9.

Канальный уровень (link layer)
Предназначение канального уровня — дать описание тому, как происходит обмен
информацией на уровне сетевых устройств, определить, как информация будет
передаваться от одного устройства к другому. Информация здесь кодируется,
делится на
пакеты и отправляется по нужному каналу, т.е. среде передачи.
Этот уровень также вычисляет максимальное расстояние, на которое пакеты
возможно
передать, частоту сигнала, задержку ответа и т.д. Все это — физические свойства
среды
передачи информации. На канальном уровне самым распространенным
протоколом
является Ethernet, который мы рассмотрим в конце статьи.
9

10.

Межсетевой уровень (internet layer)
Глобальная сеть интернет состоит из множества локальных сетей,
взаимодействующих между собой. Межсетевой уровень используется, чтобы
описать обеспечение такого
взаимодействия.
Межсетевое взаимодействие — это основной принцип построения интернета.
Локальные сети по всему миру объединены в глобальную, а передачу данных
между этими сетями осуществляют магистральные и пограничные
маршрутизаторы.
Именно на межсетевом уровне функционирует протокол IP, позволивший
объединить
разные сети в глобальную. Как и протокол TCP, он дал название модели
10

11.

Сетевые протоколы — это правила взаимодействия устройств в сети, благодаря
которым различные девайсы могут работать друг с другом, несмотря на
конструктивные различия.
В сети файлы не передаются целиком, а дробятся и передаются в виде
относительно небольших сообщений. Далее они передаются другому устройству
— получателю, где повторно собираются в файл.
11

12.

У протокола TCP есть несколько особенностей:
Система нумерации сегментов. TCP отслеживает передаваемые и принимаемые сегменты,
присваивая номера каждому из них. Байтам данных, которые должны быть переданы,
присваивается определенный номер байта, в то время как сегментам присваиваются
порядковые номера.
Управление потоком. Функция ограничивает скорость, с которой отправитель передает
данные. Это делается для обеспечения надежности доставки, в том числе чтобы компьютер
не генерировал пакетов больше, чем может принять другое устройство. Если говорить
простым языком, то получатель постоянно сообщает отправителю о том, какой объем
данных может быть получен.
Контроль ошибок. Функция реализуется для повышения надежности путем проверки
байтов на целостность.
Контроль перегрузки сети. Протокол TCP учитывает уровень перегрузки в сети,
определяемый объемом данных, отправленных узлом.
12

13.

Протокол TCP гарантирует доставку, а также обеспечивает целостность данных,
передаваемых в сети. Поэтому он применяется для передачи данных, которые
чувствительны к нарушению целостности, — например, текстов, файлов и т.п. Вот
несколько протоколов, которые работают по TCP:
SSH, FTP, Telnet: в данных протоколах TCP используется для обмена файлами.
SMTP, POP, IMAP: протоколы, где TCP отвечает за передачу сообщений электронной
почты.
HTTP/HTTPS: протоколы, где TCP отвечает за загрузку страниц из интернета.
Эти примеры работают на уровне приложений стека TCP/IP и передают данные
вниз к TCP, на транспортный уровень.
13

14.

14

15.

В каждый пакет данных TCP добавляет заголовок общим объемом в 20 байт (или октетов), в котором
содержатся 10 обязательных полей:
Порт источника — порт устройства-отправителя.
Порт назначения — порт принимающего устройства.
Порядковый номер. Устройство, инициирующее TCP-соединение, должно выбрать случайный
начальный порядковый номер, который затем увеличивается в соответствии с количеством
переданных байтов.
Номер подтверждения. Принимающее устройство увеличивает этот номер с нуля в соответствии с
количеством полученных байтов.
Сдвиг данных TCP. Данный параметр определяет размер заголовка, чтобы система могла понять, где
начинаются данные.
Зарезервированные данные — зарезервированное поле, значение которого всегда равно нулю.
Флаги управления. TCP использует девять флагов для управления потоком данных в определенных
ситуациях — например, при инициировании сброса сессии.
15

16.

Размер окна — самая важная часть заголовка TCP. Это поле используется
получателем для указания отправителю объема данных, которые он может
принять.
Контрольная сумма. Отправитель генерирует контрольную сумму и передает ее в
заголовке каждого пакета. Принимающее устройство может использовать
контрольную сумму для проверки ошибок в полученном файле.
Срочный указатель — это предлагаемая протоколом возможность помечать
некоторые байты данных тегом «Срочно» для их пересылки и обработки вне
очереди.
Поле опции. Может использоваться для расширения протокола или его
тестирования.
16

17.

Если нам очень важна скорость передачи, а вот потеря пакетов не так критична
(как, например, в голосовом или видеотрафике), то лучше использовать UDP, или
User Datagram Protocol. В отличие от TCP он обеспечивает передачу данных без
получения подтверждения от пользователя. Проще говоря, просто отправляет
пакеты и не ждет ничего в ответ. Из-за этого достигается высокая скорость в ущерб
надежности.
Чаще всего UDP применяется в чувствительных ко времени службах, где потерять
пакеты лучше, чем ждать. Звонки в Skype или Google Meet, стриминг видео, онлайнтрансляции используют этот протокол из-за того, что они чувствительны ко
времени и рассчитаны на определенный уровень потерь. Вся голосовая связь
через интернет работает по протоколу UDP. Также UDP очень часто используется в
онлайн-играх. Аналогичная история с DNS-серверами, поскольку они должны быть
быстрыми и эффективными.
17

18.

Примерами протоколов, использующих UDP-протокол, являются:
DNS — протокол, преобразующий домены в IP-адреса, чтобы сделать возможной
загрузку интернет-ресурса через браузер.
SNMP — протокол, позволяющий системному администратору проводить
мониторинг, контролировать производительность сети и изменять конфигурацию
подключенных устройств.
DHCP — протокол, отвечающий за автоматическое назначение IP-адреса клиенту.
18

19.

19

20.

20

21.

Ключевым различием между TCP и UDP является скорость, поскольку
TCP сравнительно медленнее UDP. В целом, UDP является быстрым,
простым и эффективным протоколом, однако повторная передача
потерянных пакетов данных возможна только в TCP.
Еще одно заметное различие между TCP и UDP заключается в том,
что первый обеспечивает упорядоченную доставку данных от
пользователя к серверу (и наоборот). UDP, в свою очередь, не
проверяет готовность получателя и может доставлять пакеты
вразнобой.
21

22.

Состояние соединения
Требуется установленное соединение
Протокол без соединения, без
для передачи данных (соединение
требований к открытию, поддержанию
должно быть закрыто после завершения
или прерыванию соединения
передачи)
Повторная передача данных
Повторная передача нескольких кадров
в случае потери одного из них
Отсутствие повторной передачи
потерянных пакетов
Метод передачи
сообщения передаются по границам
сегментов
границами; отправляются по
отдельности и проверяются на
целостность по прибытии
Используется для передачи сообщений
электронной почты, HTML-страниц
браузеров
Видеоконференции, потоковое
вещание, DNS, VoIP, IPTV
Ключевым различием между TCP и UDP является скорость, поскольку
TCP сравнительно медленнее UDP. В целом, UDP является быстрым,
простым и эффективным протоколом, однако повторная передача
Может гарантировать доставку данных Не гарантирует доставку данных
Гарантия доставки
потерянных пакетов данных
в TCP.
получателю возможна толькополучателю
Еще одно заметное различие между TCP и UDP заключается в том,
что первый обеспечивает упорядоченную доставку
данных от
Базовый механизм проверки ошибок.
Полная
проверка ошибок UDP, в свою
Использует
вышестоящие
протоколы
Проверка
ошибок
пользователя
к серверу
(и наоборот).
очередь,
не
для проверки целостности
проверяет готовность получателя и может доставлять пакеты
вразнобой.
UDP-пакеты с определенными
Данные считываются как поток байтов;
Сферы применения
22
English     Русский Rules