HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Представим, что нам нужно отправить письмо по почте. В этот процесс вовлечено много людей, и у каждого свои обязанности: сортировка почты, регистрация письма, его отправка и доставка. У каждого звена в этой цепи свои правила работы.</p>
1 <p>Представим, что нам нужно отправить письмо по почте. В этот процесс вовлечено много людей, и у каждого свои обязанности: сортировка почты, регистрация письма, его отправка и доставка. У каждого звена в этой цепи свои правила работы.</p>
2 <p>В интернете тоже есть свои правила или соглашения - протоколы. Например, для выдачи адреса используется протокол IP. Он определяет, как именно даются адреса и какой у них вид. Для работы интернета используется много разных протоколов и они образуют стек TCP/IP.</p>
2 <p>В интернете тоже есть свои правила или соглашения - протоколы. Например, для выдачи адреса используется протокол IP. Он определяет, как именно даются адреса и какой у них вид. Для работы интернета используется много разных протоколов и они образуют стек TCP/IP.</p>
3 <p>В этом уроке рассмотрим, что такое стек TCP/IP и сколько в нем уровней. Также подробнее разберем транспортный уровень, который отвечает за передачу информации в сети, и познакомимся с протоколами TCP и UDP.</p>
3 <p>В этом уроке рассмотрим, что такое стек TCP/IP и сколько в нем уровней. Также подробнее разберем транспортный уровень, который отвечает за передачу информации в сети, и познакомимся с протоколами TCP и UDP.</p>
4 <h2>Стек протоколов TCP/IP</h2>
4 <h2>Стек протоколов TCP/IP</h2>
5 <p>Чтобы интернет мог работать, используется сетевая модель или стек<strong>TCP/IP</strong>- набор правил, которые описывают, как компьютеры соединяются и передают информацию друг другу. Наименование модели состоит из названий двух главных протоколов:</p>
5 <p>Чтобы интернет мог работать, используется сетевая модель или стек<strong>TCP/IP</strong>- набор правил, которые описывают, как компьютеры соединяются и передают информацию друг другу. Наименование модели состоит из названий двух главных протоколов:</p>
6 <ul><li>TCP - протокол, который описывает, как передается информация внутри сети.</li>
6 <ul><li>TCP - протокол, который описывает, как передается информация внутри сети.</li>
7 <li>IP - протокол, который описывает связь компьютеров друг с другом.</li>
7 <li>IP - протокол, который описывает связь компьютеров друг с другом.</li>
8 </ul><p>Сетевая модель делится на 4 уровня, в каждом из которых применяются протоколы для работы той или иной функции:</p>
8 </ul><p>Сетевая модель делится на 4 уровня, в каждом из которых применяются протоколы для работы той или иной функции:</p>
9 <ol><li><strong>Канальный уровень</strong>или<strong>Link Layer</strong>- самый низкий уровень. На этом уровне описываются протоколы, которые обеспечивают связь компьютеров в сети, обработка данных устройствами. Проводное, спутниковое, беспроводное соединения, сетевые карты и свитчи - все это относится к канальному уровню</li>
9 <ol><li><strong>Канальный уровень</strong>или<strong>Link Layer</strong>- самый низкий уровень. На этом уровне описываются протоколы, которые обеспечивают связь компьютеров в сети, обработка данных устройствами. Проводное, спутниковое, беспроводное соединения, сетевые карты и свитчи - все это относится к канальному уровню</li>
10 <li><strong>Сетевой уровень</strong>или<strong>Network Layer</strong>- протоколы для взаимодействия сетей между собой. В модели TCP/IP на этом уровне используется протокол IP</li>
10 <li><strong>Сетевой уровень</strong>или<strong>Network Layer</strong>- протоколы для взаимодействия сетей между собой. В модели TCP/IP на этом уровне используется протокол IP</li>
11 <li><strong>Транспортный уровень</strong>или<strong>Transport Layer</strong>- протоколы для передачи информации. В интернете на этом уровне используются протоколы TCP и UDP, которые мы рассмотрим в этом уроке</li>
11 <li><strong>Транспортный уровень</strong>или<strong>Transport Layer</strong>- протоколы для передачи информации. В интернете на этом уровне используются протоколы TCP и UDP, которые мы рассмотрим в этом уроке</li>
12 <li><strong>Прикладной уровень</strong>или<strong>Application Layer</strong>- протоколы для связи сетевых приложений. Эти протоколы позволяют открывать сайты, смотреть онлайн-фильмы. Подробнее прикладной уровень разберем в следующих уроках</li>
12 <li><strong>Прикладной уровень</strong>или<strong>Application Layer</strong>- протоколы для связи сетевых приложений. Эти протоколы позволяют открывать сайты, смотреть онлайн-фильмы. Подробнее прикладной уровень разберем в следующих уроках</li>
13 </ol><p>Все протоколы зависят друг от друга. Нельзя использовать сетевой уровень, если отсутствует канальный. Например, между компьютерами нет подключения, но мы хотим дать им адреса. Поэтому модель называется стеком - все уровни наслаиваются друг на друга без возможности пропустить какой-то из уровней.</p>
13 </ol><p>Все протоколы зависят друг от друга. Нельзя использовать сетевой уровень, если отсутствует канальный. Например, между компьютерами нет подключения, но мы хотим дать им адреса. Поэтому модель называется стеком - все уровни наслаиваются друг на друга без возможности пропустить какой-то из уровней.</p>
14 <p>В этом курсе мы уже встречались с канальным и сетевым уровнями. На первом была построена связь компьютеров друг с другом с помощью проводного и беспроводного соединения. На сетевом уровне выдаются IP-адреса и обеспечивается связь нескольких локальных сетей друг с другом.</p>
14 <p>В этом курсе мы уже встречались с канальным и сетевым уровнями. На первом была построена связь компьютеров друг с другом с помощью проводного и беспроводного соединения. На сетевом уровне выдаются IP-адреса и обеспечивается связь нескольких локальных сетей друг с другом.</p>
15 <p>Для передачи информации используются протоколы UDP и TCP, которые находятся на третьем уровне модели TCP/IP - транспортном.</p>
15 <p>Для передачи информации используются протоколы UDP и TCP, которые находятся на третьем уровне модели TCP/IP - транспортном.</p>
16 <h2>Транспортный уровень</h2>
16 <h2>Транспортный уровень</h2>
17 <p>Транспортный протокол отвечает за транспортировку информации между компьютерами. Когда между устройствами передается большое количество информации, она разбивается на небольшие части -<strong>пакеты</strong>, которые посылаются поочередно. Компьютер собирает все пакеты вместе и проверяет их целостность по соглашениям, если это определено в протоколе.</p>
17 <p>Транспортный протокол отвечает за транспортировку информации между компьютерами. Когда между устройствами передается большое количество информации, она разбивается на небольшие части -<strong>пакеты</strong>, которые посылаются поочередно. Компьютер собирает все пакеты вместе и проверяет их целостность по соглашениям, если это определено в протоколе.</p>
18 <p>Представьте коробки с вещами при переезде. Если вещей много, то их не поместить внутрь одной коробки, поэтому нужно больше коробок. Пакеты в интернете работают по такому же принципу. Например, видео невозможно передать в один прием из-за ограничений на канальном уровне. Поэтому информацию разбивают на несколько пакетов и передают их последовательно.</p>
18 <p>Представьте коробки с вещами при переезде. Если вещей много, то их не поместить внутрь одной коробки, поэтому нужно больше коробок. Пакеты в интернете работают по такому же принципу. Например, видео невозможно передать в один прием из-за ограничений на канальном уровне. Поэтому информацию разбивают на несколько пакетов и передают их последовательно.</p>
19 <p>Размер информации, который можно передать в пакете, зависит от разных обстоятельств, ограничений, соглашений. Например, от способа подключения, ограничений провайдера и особенностей оборудования. В среднем это значение составляет 1500-2000 байт или 1.5-1.9 килобайта. Например, если нам нужно передать музыкальную композицию весом 5120 килобайт, то понадобится 5120 / 1.5, то есть примерно 3414 пакетов.</p>
19 <p>Размер информации, который можно передать в пакете, зависит от разных обстоятельств, ограничений, соглашений. Например, от способа подключения, ограничений провайдера и особенностей оборудования. В среднем это значение составляет 1500-2000 байт или 1.5-1.9 килобайта. Например, если нам нужно передать музыкальную композицию весом 5120 килобайт, то понадобится 5120 / 1.5, то есть примерно 3414 пакетов.</p>
20 <p>Чтобы такое количество информации корректно передавалось, на транспортном уровне определяется:</p>
20 <p>Чтобы такое количество информации корректно передавалось, на транспортном уровне определяется:</p>
21 <ul><li>Как нумеруются пакеты</li>
21 <ul><li>Как нумеруются пакеты</li>
22 <li>Проверяется ли доставка пакетов</li>
22 <li>Проверяется ли доставка пакетов</li>
23 <li>Проверяется ли целостность пакетов - не содержат ли отправленный и полученный пакеты различий</li>
23 <li>Проверяется ли целостность пакетов - не содержат ли отправленный и полученный пакеты различий</li>
24 <li>Сколько пакетов пришло и сколько еще ожидать</li>
24 <li>Сколько пакетов пришло и сколько еще ожидать</li>
25 </ul><p>В интернете на транспортном уровне используются два основных протокола:</p>
25 </ul><p>В интернете на транспортном уровне используются два основных протокола:</p>
26 <ul><li><strong>TCP</strong>(Transmission Control Protocol). Гарантирует доставку пакетов и контролирует ее. Информация передается только в том случае, если между компьютерами устанавливается связь и подтверждается готовность к передаче/приему</li>
26 <ul><li><strong>TCP</strong>(Transmission Control Protocol). Гарантирует доставку пакетов и контролирует ее. Информация передается только в том случае, если между компьютерами устанавливается связь и подтверждается готовность к передаче/приему</li>
27 <li><strong>UDP</strong>(User Datagram Protocol). Пакеты пересылаются, но не проверяются. Информация пересылается быстрее, так как нет дополнительных проверок, но возможны потери</li>
27 <li><strong>UDP</strong>(User Datagram Protocol). Пакеты пересылаются, но не проверяются. Информация пересылается быстрее, так как нет дополнительных проверок, но возможны потери</li>
28 </ul><p>Рассмотрим подробнее отличия протоколов TCP и UDP.</p>
28 </ul><p>Рассмотрим подробнее отличия протоколов TCP и UDP.</p>
29 <h3>Протокол TCP</h3>
29 <h3>Протокол TCP</h3>
30 <p>Перед тем, как отправить пакеты по протоколу TCP, устанавливается связь между компьютерами. На языке системных администраторов такой процесс называется<strong>рукопожатием</strong>или<strong>handshake</strong>. Связь устанавливается в три этапа:</p>
30 <p>Перед тем, как отправить пакеты по протоколу TCP, устанавливается связь между компьютерами. На языке системных администраторов такой процесс называется<strong>рукопожатием</strong>или<strong>handshake</strong>. Связь устанавливается в три этапа:</p>
31 <ol><li>Компьютер, который отправляет данные, посылает запрос на передачу информации</li>
31 <ol><li>Компьютер, который отправляет данные, посылает запрос на передачу информации</li>
32 <li>В ответ ожидает пакет с подтверждением готовности к приему информации</li>
32 <li>В ответ ожидает пакет с подтверждением готовности к приему информации</li>
33 <li>Компьютер отправляет запрос, что получил подтверждение</li>
33 <li>Компьютер отправляет запрос, что получил подтверждение</li>
34 </ol><p>Это упрощенная схема, но в ней видно, что компьютер, который посылает информацию, не только отправляет запрос на передачу, но и подтверждает, что ему пришло разрешение. Такой способ ненадолго задерживает время до отправки информации, но гарантирует, что оба устройства могут обмениваться информацией.</p>
34 </ol><p>Это упрощенная схема, но в ней видно, что компьютер, который посылает информацию, не только отправляет запрос на передачу, но и подтверждает, что ему пришло разрешение. Такой способ ненадолго задерживает время до отправки информации, но гарантирует, что оба устройства могут обмениваться информацией.</p>
35 <p>Пакеты в TCP передаются с постоянным подтверждением. Каждый пакет отправляется и подтверждается по отдельности:</p>
35 <p>Пакеты в TCP передаются с постоянным подтверждением. Каждый пакет отправляется и подтверждается по отдельности:</p>
36 <p>Если при передаче пакета произошла ошибка, например, оборвалась связь, и не было подтверждения, то пакет посылается еще раз. Для этого у каждого пакета есть таймер, в течение которого ожидается подтверждение:</p>
36 <p>Если при передаче пакета произошла ошибка, например, оборвалась связь, и не было подтверждения, то пакет посылается еще раз. Для этого у каждого пакета есть таймер, в течение которого ожидается подтверждение:</p>
37 <p>Принимать подтверждение на каждый пакет требуется в условиях плохой связи или при передаче важной информации. Эта процедура не происходит мгновенно, и чем больше данных, тем больше времени уходит на подтверждение пакетов.</p>
37 <p>Принимать подтверждение на каждый пакет требуется в условиях плохой связи или при передаче важной информации. Эта процедура не происходит мгновенно, и чем больше данных, тем больше времени уходит на подтверждение пакетов.</p>
38 <p>Чтобы не подтверждать получение каждого пакета, используется<strong>скользящее окно</strong>или<strong>Sliding Window</strong>. В этом случае подтверждается не один пакет, а сразу несколько. В остальном отличий нет - если пришло подтверждение, то посылаются следующие пакеты, если подтверждения нет, то повторяется пересылка пакетов.</p>
38 <p>Чтобы не подтверждать получение каждого пакета, используется<strong>скользящее окно</strong>или<strong>Sliding Window</strong>. В этом случае подтверждается не один пакет, а сразу несколько. В остальном отличий нет - если пришло подтверждение, то посылаются следующие пакеты, если подтверждения нет, то повторяется пересылка пакетов.</p>
39 <p>TCP обеспечивает надежность, но на это тратится время. Представим, что мы играем в онлайн-игру, где на счету каждая миллисекунда. В этом случае задержки могут все испортить. Чтобы быстро передавать информацию, используют протокол UDP, который не требует подтверждения получения пакета.</p>
39 <p>TCP обеспечивает надежность, но на это тратится время. Представим, что мы играем в онлайн-игру, где на счету каждая миллисекунда. В этом случае задержки могут все испортить. Чтобы быстро передавать информацию, используют протокол UDP, который не требует подтверждения получения пакета.</p>
40 <h3>Протокол UDP</h3>
40 <h3>Протокол UDP</h3>
41 <p>UDP используют в ситуациях, когда нужно быстро отреагировать на полученную информацию. Например, запрос об IP-адресе, действия в игре, потоковая передача видео и аудио. При потоковой передаче не дожидается загрузка файла, а воспроизводится та часть, которая уже загрузилась.</p>
41 <p>UDP используют в ситуациях, когда нужно быстро отреагировать на полученную информацию. Например, запрос об IP-адресе, действия в игре, потоковая передача видео и аудио. При потоковой передаче не дожидается загрузка файла, а воспроизводится та часть, которая уже загрузилась.</p>
42 <p>От UDP требуется только отправить информацию. Будет она получена, повреждена или продублирована - не важно. Поэтому протокол используется для передачи информации, для которой не критичны потери. Например, потоковое видео и аудиосвязь.</p>
42 <p>От UDP требуется только отправить информацию. Будет она получена, повреждена или продублирована - не важно. Поэтому протокол используется для передачи информации, для которой не критичны потери. Например, потоковое видео и аудиосвязь.</p>
43 <p>Если пакет по какой-то причине не дошел, то его повторная отправка не произойдет. По этой причине UDP не используется для передачи важной информации, требующей целостности.</p>
43 <p>Если пакет по какой-то причине не дошел, то его повторная отправка не произойдет. По этой причине UDP не используется для передачи важной информации, требующей целостности.</p>
44 <p>Представим онлайн-игру, где нашему персонажу нужно прыгать. Если передавать информацию по протоколу TCP, то возникнет задержка между нажатием клавиши и получением об этом информации в игре. Задержка небольшая, но в соревновательных играх она может привести к проигрышу. Информация о действии персонажа небольшая, поэтому ее можно послать при помощи протокола UDP.</p>
44 <p>Представим онлайн-игру, где нашему персонажу нужно прыгать. Если передавать информацию по протоколу TCP, то возникнет задержка между нажатием клавиши и получением об этом информации в игре. Задержка небольшая, но в соревновательных играх она может привести к проигрышу. Информация о действии персонажа небольшая, поэтому ее можно послать при помощи протокола UDP.</p>
45 <p>Если информация не дойдет, то вообще не будет никакого действия. Но вероятность у этого достаточно маленькая, и разработчики намерено пренебрегают надежностью в угоду скорости.</p>
45 <p>Если информация не дойдет, то вообще не будет никакого действия. Но вероятность у этого достаточно маленькая, и разработчики намерено пренебрегают надежностью в угоду скорости.</p>
46 <h3>Сравнение TCP и UDP</h3>
46 <h3>Сравнение TCP и UDP</h3>
47 <p>Чтобы было проще понять различия между протоколами TCP и UDP, стоит изучить таблицу:</p>
47 <p>Чтобы было проще понять различия между протоколами TCP и UDP, стоит изучить таблицу:</p>
48 <h2>Выводы</h2>
48 <h2>Выводы</h2>
49 <p>В этом уроке мы рассмотрели, что такое стек TCP/IP и сколько в нем уровней. Также подробно разобрали транспортный уровень, который отвечает за передачу информации в сети, и познакомились с протоколами TCP и UDP. Повторим важные мысли урока:</p>
49 <p>В этом уроке мы рассмотрели, что такое стек TCP/IP и сколько в нем уровней. Также подробно разобрали транспортный уровень, который отвечает за передачу информации в сети, и познакомились с протоколами TCP и UDP. Повторим важные мысли урока:</p>
50 <ul><li>Стек TCP/IP помогает функционировать интернету и описывает, как компьютеры соединяются и передают информацию друг другу</li>
50 <ul><li>Стек TCP/IP помогает функционировать интернету и описывает, как компьютеры соединяются и передают информацию друг другу</li>
51 <li>Модель TCP/IP делится на 4 уровня:<ul><li>Канальный уровень</li>
51 <li>Модель TCP/IP делится на 4 уровня:<ul><li>Канальный уровень</li>
52 <li>Сетевой уровень</li>
52 <li>Сетевой уровень</li>
53 <li>Транспортный уровень</li>
53 <li>Транспортный уровень</li>
54 <li>Прикладной уровень</li>
54 <li>Прикладной уровень</li>
55 </ul></li>
55 </ul></li>
56 <li>Транспортный уровень определяет правила передачи информации и контроль за ее получением</li>
56 <li>Транспортный уровень определяет правила передачи информации и контроль за ее получением</li>
57 <li>Когда информация передается, она разбивается на пакеты. Это связано с ограничениями при подключении компьютеров в сеть</li>
57 <li>Когда информация передается, она разбивается на пакеты. Это связано с ограничениями при подключении компьютеров в сеть</li>
58 <li>На транспортном уровне в модели TCP/IP используются два основных протокола: TCP и UDP</li>
58 <li>На транспортном уровне в модели TCP/IP используются два основных протокола: TCP и UDP</li>
59 <li>Протокол TCP подходит для передачи важной информации, но требует время</li>
59 <li>Протокол TCP подходит для передачи важной информации, но требует время</li>
60 <li>Протокол UDP подходит для быстрой передачи не критически важной информации, так как не гарантирует ее целостность и надежность передачи</li>
60 <li>Протокол UDP подходит для быстрой передачи не критически важной информации, так как не гарантирует ее целостность и надежность передачи</li>
61 </ul>
61 </ul>