КулЛиб - Классная библиотека! Скачать книги бесплатно 

Как работают компьютерные сети и интернет [Чарльз Р. Северанс] (pdf) читать онлайн

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]
Introduction
to Networking
How The Internet Works

Charles Severance
Illustrations: Mauro Toselli

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

Чарльз Р. Северанс
Иллюстрации: Мауро Тозелли

Москва, 2022

УДК 004.738, 004.62
ББК 32.973
С28

С28

Чарльз Р. Северанс
Как работают компьютерные сети и интернет / пер. с англ. П. М. Бомбаковой – М.: ДМК Пресс, 2022. – 116 с.: ил.
ISBN 978-5-97060-959-0
Цель данной книги – дать общее представление о технической структуре и архитектуре сети интернет. Подробно описываются разные
уровни сетевой модели TCP/IP (канальный, сетевой, транспортный и
прикладной); особое внимание уделяется безопасности транспортного уровня. Рассмотрена система доменных имен. В заключительной
главе представлена семиуровневая модель взаимодействия открытых
систем (OSI) в сравнении с моделью TCP/IP.
В конце каждой главы приводятся глоссарий по теме и контрольные
вопросы, позволяющие читателям проверить свои знания.
Книга предназначена для широкой аудитории. Для чтения необязательны знания в области математики и технологий.

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

ISBN 978-5-97060-959-0 (рус.)

© Charles R. Severance, 2015
© Оформление, перевод на русский язык, издание,
ДМК Пресс, 2022

Оглавление
Предисловие от издательства.............................................................................8
Предисловие...........................................................................................................9
Глава 1. Введение................................................................................................ 10
1.1. Общение на расстоянии..........................................................................10
1.2. Компьютеры общаются иначе................................................................13
1.3. Ранние глобальные сети передачи данных с промежуточным
хранением......................................................................................................14
1.4. Пакеты и маршрутизаторы.....................................................................15
1.5. Пакеты и адресация................................................................................16
1.6. Вывод........................................................................................................17
1.7. Глоссарий..................................................................................................18
1.8. Контрольные вопросы.............................................................................19

Глава 2. Сетевая архитектура............................................................................ 22
2.1. Канальный уровень.................................................................................23
2.2. Сетевой уровень (IP)................................................................................26
2.3. Транспортный уровень (TCP).................................................................28
2.4. Прикладной уровень...............................................................................29
2.5. Расположение слоев................................................................................30
2.6. Глоссарий.................................................................................................31
2.7. Контрольные вопросы.............................................................................31

Глава 3. Канальный уровень............................................................................. 34
3.1. Беспроводная передача данных.............................................................35
3.2. Координация обмена данными..............................................................37
3.3. Координация в других технологиях канального уровня......................38
3.4. Заключение..............................................................................................40
3.5. Глоссарий.................................................................................................40
3.6. Контрольные вопросы.............................................................................40

Глава 4. Сетевой уровень (IP)............................................................................ 43
4.1. IP-адреса (Internet Protocol)...................................................................45
4.2. Как маршрутизаторы определяют маршруты.......................................46
4.3. Возможные проблемы и пути их решения............................................47
4.4. Определение маршрута..........................................................................49
4.5. Получение IP-адреса...............................................................................54
4.6. Другой вид повторного использования адресов...................................56
4.7. Назначение глобального IP-адреса........................................................56
4.8. Заключение..............................................................................................57

6



Оглавление

4.9. Глоссарий.................................................................................................58
4.10. Контрольные вопросы...........................................................................59

Глава 5. Система доменных имен.................................................................... 64
5.1. Распределение доменных имен.............................................................64
5.2. Чтение доменных имен..........................................................................66
5.3. Заключение..............................................................................................66
5.4. Глоссарий.................................................................................................67
5.5. Контрольные вопросы.............................................................................67

Глава 6. Транспортный уровень........................................................................ 69
6.1. Заголовки пакетов...................................................................................70
6.2. Повторная сборка и повторная передача пакетов................................70
6.3. Транспортный уровень в действии........................................................72
6.4. Клиентские и серверные приложения...................................................73
6.5. Серверные приложения и порты............................................................74
6.6. Заключение..............................................................................................75
6.7. Глоссарий..................................................................................................76
6.8. Контрольные вопросы.............................................................................76

Глава 7. Прикладной уровень............................................................................ 79
7.1. Клиентские и серверные приложения...................................................79
7.2. Протоколы прикладного уровня.............................................................81
7.3. Исследование протокола HTTP...............................................................82
7.4. Протокол доступа к электронной почте IMAP.......................................86
7.5. Управление потоками.............................................................................87
7.6. Создание сетевых приложений..............................................................89
7.7. Заключение...............................................................................................90
7.8. Глоссарий..................................................................................................90
7.9. Контрольные вопросы.............................................................................91

Глава 8. Безопасность транспортного уровня................................................ 95
8.1. Шифрование и дешифрование данных.................................................96
8.2. Два типа ключей шифрования...............................................................96
8.3. Слой защищенных сокетов (SSL)............................................................98
8.4. Шифрование трафика веб-браузера......................................................99
8.5. Сертификаты безопасности и центры сертификации........................100
8.6. Заключение............................................................................................101
8.7. Глоссарий................................................................................................102
8.8. Контрольные вопросы...........................................................................103

Глава 9. Сетевая модель OSI............................................................................ 106
9.1. Физический (первый уровень).............................................................107
9.2. Канальный (второй уровень)................................................................107

Оглавление 

7

9.3. Сетевой (третий уровень).....................................................................107
9.4. Транспортный (четвертый уровень)....................................................108
9.5. Сеансовый (пятый уровень).................................................................108
9.6. Уровень представления (шестой уровень)...........................................108
9.7. Прикладной (седьмой уровень)............................................................108
9.8. Сравнение моделей OSI и TCP/IP.........................................................108
9.9. Канальный уровень (TCP/IP)................................................................109
9.10. Сетевой уровень (TCP/IP)....................................................................110
9.11. Транспортный уровень (TCP/IP).........................................................110
9.12. Прикладной уровень (TCP/IP).............................................................110
9.13. Заключение..........................................................................................110
9.14. Глоссарий.............................................................................................110
9.15. Контрольные вопросы.........................................................................111

Глава 10. Заключительная часть..................................................................... 113

Предисловие от издательства
Отзывы и пожелания
Мы всегда рады отзывам наших читателей. Расскажите нам, что вы думаете об этой книге, – что понравилось или, может быть, не понравилось.
Отзывы важны для нас, чтобы выпускать книги, которые будут для вас
максимально полезны.
Вы можете написать отзыв прямо на нашем сайте www.dmkpress.com, зайдя на страницу книги, и оставить комментарий в разделе «Отзывы и
рецензии». Также можно послать письмо главному редактору по адресу
dmkpress@gmail.com, при этом напишите название книги в теме письма.
Если есть тема, в которой вы квалифицированы, и вы заинтересованы
в написании новой книги, заполните форму на нашем сайте по адресу
http://dmkpress.com/authors/publish_book/ или напишите в издательство по ад­
ресу dmkpress@gmail.com.

Список опечаток
Хотя мы приняли все возможные меры для того, чтобы удостовериться
в качестве наших текстов, ошибки все равно случаются. Если вы найдете
ошибку в одной из наших книг – возможно, ошибку в тексте или в коде, –
мы будем очень благодарны, если вы сообщите нам о ней. Сделав это,
вы избавите других читателей от расстройств и поможете нам улучшить
последующие версии этой книги.
Если вы найдете какие-либо ошибки в коде, пожалуйста, сообщите о
них главному редактору по адресу dmkpress@gmail.com, и мы исправим это
в следую­щих тиражах.

Нарушение авторских прав
Пиратство в интернете по-прежнему остается насущной проблемой.
Издательство «ДМК Пресс» очень серьезно относятся к вопросам защиты
авторских прав и лицензирования. Если вы столкнетесь в интернете с незаконно выполненной копией любой нашей книги, пожалуйста, сообщите нам адрес копии или веб-сайта, чтобы мы могли применить санкции.
Пожалуйста, свяжитесь с нами по адресу электронной почты dmkpress@
gmail.com со ссылкой на подозрительные материалы.
Мы высоко ценим любую помощь по защите наших авторов, помогающую предоставлять вам качественные материалы.

Предисловие
Цель данной книги – дать общее представление о технической структуре
и архитектуре сети интернет. Книга предназначена для широкой аудитории. Так, она подойдет даже тем, кто не обладает техническим опытом
или математическими навыками. Интернет в своем строении удивителен, и его должны понимать все, кто им пользуется.
Несмотря на то что эта книга не затрагивает напрямую сертификации
Network+ или CCNA, я все же надеюсь, что знакомство с ней послужит
неплохой стартовой точкой для тех, кто в будущем желает получить эти
сертификаты.
Я хочу выразить благодарность Памеле Фокс (Pamela Fox) из Академии
Хана за идею создания вводного курса сетевых технологий с использованием открытых материалов.
Изначально материал, положенный в основу этой книги, представлял
собой недельную лекцию, которую я читал в Школе информации Мичиганского университета в рамках курса «Сетевые вычисления» (Networked
Computing – SI502) начиная с 2008 года. Затем я внес в эту лекцию некоторые уточнения и расширил ее, превратив в трехнедельный курс «История,
технология и безопасность интернета» (Internet History, Technology, and
Security – IHTS), который, начиная с 2012 года, посетило более 100 000 студентов в рамках проекта Coursera. Для того чтобы превратить курс лекций в полноценную книгу, я добавил некоторые детали, благодаря чему
теперь она может быть полезна при прохождении вводного курса, посвященного архитектуре интернета, а также ее можно читать просто ради
удовольствия.
Особенность этой книги заключается в том, что она представляет собой
продукт сотрудничества с моими друзьями Мауро Тозелли (Mauro Toselli)
(@xlontrax) и Сью Блюменберг (Sue Blumenberg). С Мау­ро и Сью я познакомился в 2012 году. Тогда они были волонтерами в Community Teaching
Assistants (CTAs) для моего курса IHTS (Internet History, Technology, and
Security) в Coursera. За последние три года мы стали коллегами и хорошими друзьями. К слову, это отличный пример того, как открытое образование объединяет людей.
Дополнительные материалы к этой книге можно найти по адресу http://
www.net-intro.com/.
Если вам понравилась книга или же, напротив, вы нашли в ней ошибки, свяжитесь со мной в Twitter.
Чарльз Р. Северанс (@drchuck)

www.dr-chuck.com

Анн-Арбор, Мичиган, США
20 мая 2015 года

Глава

1
Введение

На первый взгляд использование сети интернет выглядит крайне
просто. Мы переходим на какой-либо веб-адрес, и открывается нужная страница. Или же мы заходим в нашу любимую социальную сеть
и просматриваем фотографии друзей, семейные фото или снимки с
домашними животными. Однако за кажущейся простотой скрывается большое количество сложного программного и аппаратного обеспечения. Разработка технологий, на основе которых работает совре­
менный интернет, началась в 1960-х годах. Так, созданию первого
«интернета» в 1980-х годах в рамках проекта NSFNet предшествовали
20 лет исследования технологии межсетевого взаимодействия. С тех
пор благодаря исследованиям и разработкам в области сетевых технологий сети стали больше, быстрее, и теперь могут связывать миллиарды устройств по всему миру.
С целью лучше понять, как работает интернет сегодня, рассмотрим
с помощью каких технологий осуществлялась коммуникация людей и
устройств на протяжении многих лет.

1.1. Общение на расстоянии
Представьте группу из пяти человек, сидящих в кругу. Для нас вполне
естественно говорить с любым человеком в комнате, но только если
все находящиеся в ней вежливы и не ведут разговоры параллельно
друг с другом. Так, в этой ситуации людям просто нужно уметь слышать друг друга и координировать использование общего пространства в комнате.
Но что, если поместить этих людей в разные комнаты таким образом, чтобы они больше не могли видеть и слышать друг друга? Как
пара людей сможет общаться друг с другом? Один из способов – проложить между ними провод с микрофоном на одном конце и динамиком на другом. Однако в таком случае остальные все еще будут слы-

1.1. Общение на расстоянии 

11

шать их разговор, поэтому необходимость в ведении только одного
разговора сохраняется.
Каждому человеку потребуется четыре динамика (для каждого потенциального собеседника) и большое количество проводов. Осуществить подобное для пяти человек – проблема, однако становится еще
сложнее, если количество участников возрастает до сотни или тысячи.
Именно так выглядели первые телефонные системы 1900-х годов –
провода, микрофоны, динамики. Поскольку о прокладке проводов
между всеми телефонами не могло идти и речи, эти системы не позволяли всем людям объединиться в единую сеть. Каждый из них мог
связаться только с оператором, который затем соединял два провода
вместе, чтобы пара людей могла начать разговор. Когда разговор заканчивался, оператор отсоединял провода.

Рис. 1.1. Общение с помощью телефонных операторов
Первые локальные телефонные системы работали при условии, если дом или офис клиента был близко к зданию, где находится оператор, и между ними можно было проложить провод.

12



Глава 1. Введение

Но что, если в связи нуждались тысячи людей, находящихся на
расстоянии сотен километров друг от друга? Разумеется, проложить
100-км линию связи от каждого дома к одному центральному офису
оператора невозможно. Вместо этого телефонные компании создали
систему с несколькими центральными офисами и проложили между
ними телефонные линии. Так, при осуществлении коммуникации на
больших расстояниях соединение может проходить через несколько
центральных офисов. До появления оптоволоконных кабелей междугородные телефонные линии прокладывались через огромные стол­
бы с большим количеством проводов. Количество проводов на столбах
представляло количество возможных параллельных междугородных
телефонных звонков.

Рис. 1.2. Столбы междугородной телефонной сети
По мере увеличения длины телефонных линий росла и их стоимость. Поэтому вышеописанные соединения, проходящие через несколько центральных офисов, были довольно дорогими и немногочисленными. На первых порах локальные звонки были относительно
недорогими. Однако междугородные соединения были намного дороже и тарифицировались поминутно. Такая ценовая политика объяснялась тем, что во время разговора по междугородному телефону
никто другой не мог воспользоваться этим же соединением. Телефонным компаниям были выгодны более короткие разговоры, благодаря

1.2. Компьютеры общаются иначе 

13

чему междугородные соединения быстрее становились доступными
для других клиентов.
После появления волоконно-оптической связи телефонные компа­
нии начали использовать более продвинутые методы соединения клиентов, позволяющие передавать множество междугородных соединений по одной линии. Если на какой-либо старой фотографии вы видите
множество проводов на одном столбе, скорее всего, это телефонные
линии, которые использовались не для передачи электричества.

1.2. Компьютеры общаются иначе
Когда люди разговаривают по телефону, сначала они совершают звонок,
общаются какое-то время, а затем кладут трубку. Согласно статистике,
большая часть времени уходит отнюдь не на сам разговор. По крайней
мере, так было раньше, когда смартфоны были далеко не у всех. Однако
процесс коммуникации у различных устройств, в том числе и приложений на вашем смартфоне, значительно отличается от человеческого.
Иногда они посылают короткие сообщения для того, чтобы проверить,
доступно ли другое устройство. Иногда отправляют сообщения среднего размера, например одно изображение или длинное сообщение
электронной почты. Также они могут отправлять и большие сообщения, например целый фильм или часть программного обеспечения для
установки. Загрузка таких файлов может занимать минуты или даже
часы. Так, при взаимодействии между устройствами сообщения могут
быть короткими, среднего размера или же длинными.
Изначально пары устройств также соединялись с помощью проводов. Самый простой способ отправить данные с одного устройства
на другое – выстроить исходящие сообщения в очередь и посылать
сообщения одно за другим с такой скоростью, с какой устройства и
соединения могут передавать данные. В таком случае каждое сообщение ожидает своей очереди, а затем, после того как будут отправлены
предшествующие сообщения, оно передается через соединение.
Если устройства находились в одном здании, их легко можно было
соединить проводами. Если они находились в одном городе, обычно
приходилось арендовать каналы у телефонных компаний. Владельцы устройств зачастую просили соединять линии в их центральном
офисе, чтобы одному устройству не приходилось каждый раз устанавливать связь с другим. Такие арендованные выделенные каналы были
лучшим решением, поскольку они всегда находились в активном режиме. Использовались они 24 часа в сутки и поэтому стоили довольно
дорого.

14



Глава 1. Введение

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

1.3. Ранние глобальные сети передачи
данных с промежуточным хранением
В 1970–80-х годах исследователи, работающие в разных университетах мира, как никогда нуждались в возможности отправлять друг
другу сообщения и данные с помощью таких соединений между
устройствами. Однако стоимость каждого соединения была крайне
высока и росла с увеличением расстояния. Именно поэтому зачастую
устройства были подключены только к ближайшим машинам. Но, если устройство, к которому вы были подключены, было подключено к
другому устройству, а это устройство в свою очередь – к третьему и
т. д., появлялась возможность отправить сообщение на большее расстояние (при условии, что каждое из задействованных устройств сможет хранить и передавать ваши данные).

Рис. 1.3. Сети передачи данных с промежуточным хранением

1.4. Пакеты и маршрутизаторы 

15

Со временем при относительно небольшом количестве соединений
появилась возможность отправлять данные на большие расстояния с
помощью «лоскутного одеяла» сетевых соединений. Однако этот процесс занимал довольно много времени. Так, перед отправкой на следующее устройство по маршруту сообщение сталкивалось с большим
количеством очередей. После доставки сообщения на промежуточное
устройство оно хранилось некоторое время (которое варьировалось
в зависимости от трафика и могло составлять до нескольких часов), а
затем перенаправлялось на другое соединение (совершало переход).
Таким образом, отправка одного сообщения могла занимать минуты, часы или даже дни (в зависимости от трафика на каждом этапе
маршрута). Однако это все же было намного быстрее, чем посылать в
другую страну письмо или почтовую открытку.

1.4. Пакеты и маршрутизаторы
Самым важным нововведением, позволившим сообщениям быстрее
перемещаться по сети с несколькими переходами, стало разбиение
каждого сообщения на небольшие фрагменты, которые впоследствии
отправлялись по отдельности. В области сетевых коммуникаций эти
сообщения называются пакетами. Впервые эта идея была высказана
в 1960-х годах, однако до 1980-х годов она не имела широкого распространения, поскольку ее реализация требовала большей вычислительной мощности и более сложного сетевого программного обеспечения.
При разбиении сообщения на отдельные пакеты, если короткое
сообщение было отправлено после длинного сообщения, первому
не приходилось ждать завершения отправки второго. Вместо этого
первому пакету короткого сообщения требовалось дождаться лишь
завершения отправки текущего пакета длинного сообщения. До тех
пор, пока короткое сообщение не было отправлено полностью, а передача длинного сообщения не возобновилась по полному сетевому
соединению, система чередовала отправку пакетов этих сообщений.
Разбиение сообщения на пакеты значительно сократило объем памяти, требующейся от промежуточных устройств. Теперь вместо того,
чтобы хранить сообщения в течение нескольких часов, им достаточно
было хранить некоторое количество пакетов лишь несколько секунд,
а остальные пакеты ожидали своей очереди на исходящем канале.
По мере отказа от сетей с промежуточным хранением начали появляться особые устройства, специализирующиеся на транспортировке пакетов. Первоначально они назывались интерфейсными процессорами обработки сообщений (Interface Message Processors – IMPs)

16 

Глава 1. Введение

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

Рис. 1.4. Отправка пакетов
С появлением маршрутизаторов, специализирующихся на транспортировке пакетов по сетям с несколькими переходами, подключать
устройства разных производителей к одной сети стало намного проще. Все, что для этого требовалось, – подключить обычное устройство
к маршрутизатору. Остальную же работу по организации связи выполняли другие маршрутизаторы.
Если
несколько
устройств,
находящихся
рядом,
были
объединены в локальную сеть (Local Area Network – LAN) с
помощью
физическо-го
провода,
следовало
подключить
маршрутизатор к локальной сети. Затем, после отправки данных
через маршрутизатор все устройства в этой сети могли отправлять
данные дальше через глобальную сеть (Wide Area Network – WAN).

1.5. Пакеты и адресация
В первых сетях передачи данных с промежуточным хранением для
каждого сообщения необходимо было иметь информацию об ис-

1.6. Вывод 

17

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

1.6. Вывод
Объединив все вышеописанные аспекты, мы с легкостью сможем
понять, как устроена современная сеть интернет. Итак, существуют
специализированные устройства, называемые маршрутизаторами,
которые отвечают за транспортировку пакетов от источника к месту
назначения. На пути от исходного устройства к конечному каждый
пакет проходит через несколько таких маршрутизаторов.
Несмотря на то что зачастую пакеты представляют собой части более крупного сообщения, маршрутизаторы пересылают каждый из
них по отдельности, опираясь на указанные исходные и конечные
адреса. Пакеты одного и того же сообщения могут проходить по разным маршрутам. Также иногда пакеты приходят не по порядку; более поздний пакет может прибыть раньше предыдущего в результате
так называемых заторов. Каждый пакет содержит «относительный
адрес», который в дальнейшем позволяет конечному устройству собрать пакеты в правильном порядке и восстановить исходное сообщение.
Благодаря созданию сетей с несколькими переходами общая стои­
мость связи внутри определенной географической области может
распределяться между большим количеством связанных и отдельных
пользователей. Обычно пакеты следуют по кратчайшему маршруту,
однако, если соединение на этом маршруте перегружено или прервано, маршрутизаторы могут скооперироваться и перенаправить трафик. Таким образом, пакеты транспортируются по иным, в том числе
более длинным маршрутам, в конечном итоге позволяющим доставить пакеты быстрее.

18



Глава 1. Введение

Итак, интернет строится на основе набора взаимодействующих
маршрутизаторов, которые одновременно способны перемещать
пакеты из разных источников в разные пункты назначения. Каждое
устройство или локальная сеть подключены к маршрутизатору, который перенаправляет трафик в различные пункты назначения.
Маршрутизатор может обрабатывать данные с одного устройства, например смартфона, с нескольких устройств в одном здании или с тысячи устройств, подключенных к сети университетского городка. Термин «интернет» происходит от термина internetworking (межсетевое
взаимодействие), который подразумевает соединение множества
сетей для совместной работы. Наши устройства подключаются к ло­
кальным сетям, а интернет соединяет локальные сети вместе, таким
образом все подключенные устройства могут взаимодействовать друг
с другом.

Рис. 1.5. Глобальное соединение

1.7. Глоссарий
Адрес – уникальный номер, который присваивается устройству и позволяет маршрутизировать сообщения на него.

1.8. Контрольные вопросы 

19

Выделенный канал – постоянно активное соединение для отправки
данных на большие расстояния, арендуемое у телефонной компании или другого подобного предприятия.
Глобальная сеть – сеть, покрывающая большие расстояния вплоть до
возможности отправки сообщений по всему миру. Обычно такая
сеть строится с использованием каналов связи, принадлежащих
нескольким различным организациям.
Локальная сеть – сеть, охватывающая ограниченную возможностью
прокладки проводов или мощностью радиопередатчика область.
Маршрутизатор – специализированное устройство, предназначенное для приема входящих пакетов по нескольким каналам и быст­
рой транспортировке пакетов по наиболее оптимальному исходящему каналу с целью ускорения их доставки.
Оператор (телефонный) – сотрудник телефонной компании, помогаю­
щий людям осуществлять телефонные звонки.
Переход – физический участок сети. Как правило, на пути от исходного
к конечному устройству пакеты совершают несколько переходов.
Пакет – фрагмент более крупного сообщения ограниченного размера. Большие сообщения или файлы разбиваются на множество
пакетов, каждый из которых впоследствии отправляется отдельно. Обычно максимальный размер пакета составляет от 1000 до
3000 знаков.
Сеть передачи данных с промежуточным хранением – сеть, в которой
при отправке данных с одного устройства на другое сообщение сохраняется на промежуточном устройстве до тех пор, пока для него
не станет доступным исходящее сетевое соединение (обычно этот
период довольно долгий).

1.8. Контрольные вопросы
Вы можете пройти этот тест онлайн по адресу http://www.net-intro.com/quiz/.
1. Чем занимались первые телефонные операторы?
А. Обслуживали вышки сотовой связи.
Б. Соединяли пары проводов, чтобы люди могли разговаривать
по телефону.
В. Прокладывали медные провода между городами.
Г. Сортировали пакеты по мере их поступления в место назначения.

20



Глава 1. Введение

2. Что такое выделенный канал?
А. Граница между арендованным и находящимся в собственности телефонным оборудованием.
Б. Кабель между клавиатурой и монитором.
В. Провод, идущий от одного офиса телефонной компании к другому.
Г. Постоянное телефонное соединение.
3. Как долго при сетевой передаче с промежуточным хранением сообщение может храниться на промежуточном компьютере?
А.
Б.
В.
Г.

Менее секунды.
Не более четырех секунд.
Менее минуты.
До нескольких часов.

4. Что такое пакет?
А.
Б.
В.
Г.

Упаковка товаров для отправки.
Небольшая емкость для хранения.
Часть более крупного сообщения, отправляемого по сети.
Объем данных, который можно было сохранить на перфокартах ранних версий.

5. Какое из приведенных ниже определений соответствует термину
«маршрутизатор»?
А.
Б.
В.
Г.

Сортировщик почты.
Холодильник.
Скоростной поезд.
Кабель связи.

6. Как назывались первые сетевые маршрутизаторы?
А. Процессоры межконфессиональных сообщений (Interfaith Me­
ssage Processors).
Б. Персептроны движения в интернете (Internet Motion Percep­
trons).
В. Программы мгновенного обмена сообщениями (Instant Mes­
sage Programs).
Г. Интерфейсные процессоры сообщений (Interface Message Pro­
cessors).
7. Что еще требовалось для правильной маршрутизации каждого
сегмента сообщения помимо разделения больших сообщений на
более мелкие части?

1.8. Контрольные вопросы 

А.
Б.
В.
Г.

21

Адрес источника и приемника в каждом сегменте сообщения.
ID и пароль для каждого сегмента сообщения.
Маленькая батарея для хранения каждого сегмента сообщения.
Небольшой блок отслеживания для поиска потерянных сообщений, например GPS.

8. Почему отправка сообщений по всему миру через интернет осуществляется практически бесплатно?
А.
Б.
В.
Г.

За все соединения платят правительства.
Соединения оплачиваются за счет рекламы.
Ресурсами делятся и пользуются большое количество людей.
Взимать плату за междугородные соединения незаконно.

Глава

2
Сетевая архитектура

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

Прикладной
Транспортный
Сетевой
Канальный
Рис. 2.1. Четырехуровневая модель TCP/IP
Они дали этим четырем направлениям следующие названия: (1) канальный уровень (Link), (2) сетевой уровень (Internetwork), (3) транспортный уровень (Transport) и (4) прикладной уровень (Application).
Обычно эти направления представляют в виде слоев, где канальный
уровень является нижним, а прикладной – верхним. На канальном
уровне осуществляется проводное и беспроводное соединение вашего устройства с локальной сетью. Прикладной же уровень – это то,
с чем мы, пользователи, непосредственно взаимодействуем. Например, к архитектуре прикладного уровня относятся веб-браузеры.

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

23

Неофициально вышеописанную систему принято называть моделью TCP/IP. Такое название складывается из двух основных протоколов, на которых строится интернет, – протокола управления передачей
данных (Transmission Control Protocol – TCP), относящегося к транспортному уровню, и интернет-протокола (IP), относящегося к сетевому уровню.
Мы кратко рассмотрим каждый из слоев, начиная с нижнего.

2.1. Канальный уровень
Канальный уровень отвечает за подключение вашего устройства к локальной сети и организацию передачи данных. На сегодняшний день
канальный уровень успешно функционирует, в том числе и в беспроводной сети. Однако беспроводные устройства способны отправлять
данные лишь на ограниченные расстояния. Так, смартфон обычно
связывается с вышкой, находящейся в нескольких километрах от него. Если же вы, например, пользуетесь смартфоном в движущемся
поезде, по мере следования устройству необходимо будет переключаться на новые вышки. Ноутбук, подключенный к сети Wi-Fi, как
правило, обменивается данными с точкой доступа, находящейся в
пределах 200 м.
Длина кабеля, обеспечивающего доступ к интернету для стационар­
ного компьютера, обычно достигает не более 100 м. Также зачастую
технологии канального уровня используются несколькими устройствами, которые могут находиться рядом друг с другом.
В локальных сетях совместного пользования на канальном уровне
возникает два основных вопроса. Первый из них касается кодировки
и отправки данных. Беспроводные соединения требуют использования одинаковых радиочастот и единой кодировки. В проводных соединениях необходимо наличие установленного уровня напряжения
для передачи бита информации по проводной линии связи. Для канального уровня оптоволоконных соединений необходимо согласовать используемую частоту света и скорость отправки данных.
Второй вопрос касается взаимодействия с другими устройствами. Все они могут отправлять данные параллельно. Однако, если бы
все устройства в сети отправляли данные сразу после их появления,
возникали бы конфликты между сообщениями. В результате чего наступил бы хаос, и приемные станции смогли бы уловить только шум.
Именно поэтому инженеры начали поиски способа, позволяющего соблюдать очередность работы станций в общей сети. Одним из

24



Глава 2. Сетевая архитектура

таких способов является разбиение больших сообщений на пакеты,
которые затем отправляются по отдельности. Так, если в текущий момент данные отправляет только одно устройство, оно будет делать это
настолько быстро, насколько это возможно. Однако в случае, если таких устройств три, каждое из них отправит один пакет, а затем будет
ждать, пока два других отправят свои пакеты. После того как каждое
другое устройство отправит по одному пакету, первое устройство отправит свой следующий пакет. Такая система позволяет распределять
доступ к сети равномерно между всеми устройствами.
Но как одно устройство узнает о том, что другие тоже хотят отправить данные? Для решения этой проблемы была разработана гениальная технология под названием «множественный доступ с прослушиванием несущей и обнаружением конфликтов» (Carrier Sense Multiple
Access with Collision Detection – CSMA/CD). Несмотря на длинное название, эта технология довольно проста. Когда ваше устройство хочет
отправить данные, вначале оно проверяет, не отправляет ли другое
устройство данные в сеть (проверка несущей частоты). Если ни один
компьютер не отправляет данные, то ваше устройство начинает отправку. Во время отправки данных оно также контролирует состояние
канала на предмет того, сможет ли он получить свои данные обратно. Если устройство обнаруживает, что это возможно, то оно делает
вывод, что канал все еще свободен, и продолжает передачу. Но, если
два устройства начали отправку примерно в одно и то же время, может возникнуть конфликт, вследствие которого ваше устройство не
сможет получить собственные данные. При обнаружении конфликта
оба устройства прекращают передачу, немного ждут и затем пробуют
еще раз. Перед повтором передачи каждое устройство делает паузу
разной продолжительности.
После отправки пакета ваше устройство уступает место для передачи другим отправителям. Если одно из них обнаруживает, что ваше
устройство прекращает отправку, и начинает отправлять собственный пакет, устройство заметит использование канала другим устройством и дождется завершения этого процесса, после чего попытается
отправить следующий пакет (множественный доступ).
Вышеописанная технология работает эффективно, когда данные
хочет отправить только одно устройство или же когда несколько
устройств хочет отправлять данные одновременно. В первом случае
устройство может эффективно использовать общую сеть, отправляя
пакеты один за другим, а во втором доступ к сети равномерно распределяется между устройствами.

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

25

Рис. 2.2. Прослушивание несущей / обнаружение конфликтов
Некоторые канальные уровни, например сотовое соединение
смартфона, Wi-Fi-соединение, спутниковый или кабельный модем, являются общими. Такие технологии, как CSMA/CD, помогают
им обеспечивать равномерное распределение доступа к сети между
устройст­вами. Другие же канальные уровни, например оптоволоконные кабели и выделенные линии, обычно не используются совместно
и предназначены для установки соединений между маршрутизаторами. Однако такие соединения также являются элементами канального уровня.
Инженеры, работающие над технологиями канального уровня,
особое внимание уделяют решению проблемы передачи данных несколькими устройствами по одному каналу, который может находиться на расстоянии от нескольких метров до сотен километров.
Однако для транспортировки данных на столь протяженные расстояния устройствам необходимо отправлять пакеты через некоторое количество маршрутизаторов, соединенных несколькими канальными
уровнями. Так, каждое перемещение пакета через другой канальный
уровень от одного маршрутизатора к другому называется переходом.
Для того чтобы отправить данные на другую сторону земного шара,

26



Глава 2. Сетевая архитектура

пакетам предстоит пройти через 20 маршрутизаторов или сделать
20 переходов.

2.2. Сетевой уровень (IP)
Как только пакет, предназначенный для отправки, проходит по первому соединению, он попадает в маршрутизатор. Затем маршрутизатор
уточняет адрес назначения, содержащийся в пакете, и выстраивает
наиболее оптимальный путь к месту назначения. Каждый маршрутизатор обрабатывает огромное количество пакетов, которые могут
быть предназначены для миллиона разных устройств. Так, далеко
не все маршрутизаторы могут определить точное местоположение и
построить наилучший маршрут к каждому возможному конечному
устройству. Поэтому обычно маршрутизатор старается найти лучший
вариант маршрута доставки пакета ближе к месту назначения.
Каждый маршрутизатор, через который проходит пакет, также делает все возможное, чтобы осуществить доставку в место назначения.
По мере прохождения пакетом своего пути маршрутизаторы начинают определять место его назначения все точнее. Как только пакет
достигает последнего канала передачи данных на своем пути, канальный уровень точно определяет место назначения.
Данный процесс можно сравнить с планированием маршрута отпуска. В таких маршрутах обычно тоже много переходов. Представим,
что первый переход – это поездка на машине, такси или автобусе до
железнодорожного вокзала. Затем вы садитесь на пригородный поезд
и следуете из вашего городка в большой город. Там вы садитесь на
поезд дальнего следования и едете в большой город другой страны.
Затем вы пересаживаетесь на пригородный поезд и отправляетесь в
небольшую деревню, где и хотели отдохнуть. Выйдя из поезда, вы садитесь в автобус, а после автобуса идете к своей гостинице.
Если бы в поезде, который следует между большими городами, вы
спросили бы у проводника, где находится отель в маленькой деревне,
вряд ли он смог бы на это ответить. Задача проводника заключается
в том, чтобы приблизить вас к месту назначения, и только это имеет
значение, пока вы едете в поезде дальнего следования. При посадке в автобус в небольшой деревне можно спросить кондуктора, какая
остановка находится ближе всего к вашей гостинице. И когда вы, наконец, выходите из автобуса на нужной остановке, то можете обратиться к прохожему с просьбой подсказать путь к гостинице.
Чем дальше вы находитесь от пункта назначения, тем меньше нужно знать точные сведения о том, как туда добраться. Когда вы далеко,

2.2. Сетевой уровень (IP) 

27

все, что вам нужно знать, – это как стать «ближе» к месту назначения. По этому же принципу работают маршрутизаторы. Точный путь
знают только ближайшие к конечному устройству маршрутизаторы.
Остальные нацелены на то, чтобы переместить ваше сообщение ближе к месту назначения.
Однако во время пути следования пакетов, как и во время путешествия, могут возникнуть проблемы или задержки, которые потребуют
некоторых изменений в маршруте.

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

28



Глава 2. Сетевая архитектура

повреждает его). Иногда проблемы возникают в результате стихийных
бедствий, таких как ураган или тайфун. В таких случаях маршрутизаторы и каналы отключаются повсеместно на определенной территории. Как правило, маршрутизаторы обнаруживают сбои достаточно
быстро и по возможности сразу же меняют маршруты пакетов.
Однако бывают случаи, когда пакеты теряются. Такие проблемы решаются на следующем уровне интернет-архитектуры.

2.3. Транспортный уровень (TCP)
Сетевой уровень одновременно прост и сложен. Его задача заключается в определении маршрута пакета к конечному устройству.
Но бывает такое, что пакеты теряются, задерживаются или прибывают в пункт назначения не по порядку; так пакет, отправленный
позже, нашел короткий путь быстрее, чем отправленный раньше.
Каждый пакет содержит адрес исходного и конечного устройств, а
также свой относительный адрес. Зная относительный адрес и размер
каждого пакета, конечное устройство может восстановить исходное
сообщение, даже если пакеты были получены не по порядку.
В процессе восстановления данных конечным устройством и доставки их в принимающее приложение периодически оно отправляет
на исходное устройство уведомления о получении пакетов, в которых указывает, какая часть сообщения была получена и восстановлена. Если конечное устройство обнаруживает, что части восстановленного сообщения отсутствуют, в большинстве случаев это является
следствием потери или задержки пакетов. В таком случае конечное
устройство делает небольшую паузу, а затем отправляет исходному
устройству запрос на повторную отправку данных, которые потенциально могли быть потеряны.
Исходное устройство хранит копии отправленных частей исходного сообщения до тех пор, пока конечное устройство не подтвердит их
получение. Как только исходный компьютер получает подтверждение
о получении части сообщения, оно отбрасывает соответствующие
данные и затем отправляет новые.
Объем данных, отправляемых исходным устройством до начала
ожидания подтверждения, называется размером группы сетевых пакетов. Если этот показатель имеет небольшое значение, передача
данных замедляется, поскольку исходное устройство все еще ожидает подтверждения. Если исходное устройство отправляет слишком
большое количество данных до начала ожидания подтверждения,
ввиду перегрузки маршрутизаторов или линий междугородной свя-

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

29

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

2.4. Прикладной уровень
Канальный, сетевой и транспортный уровни работают слаженно,
что позволяет быстро и надежно перемещать данные между двумя
устройствами в комплексе сетей. Исходя из этого вытекает вопрос о
том, какие сетевые приложения создаются для использования таких
сетевых соединений.
В середине 1980-х годов, во времена появления первого интернета,
сетевые приложения разрешали пользователям входить в систему на
удаленных устройствах, передавать файлы, отправлять почту и даже
пользоваться текстовыми чатами в режиме реального времени.
В начале 1990-х годов, когда интернет стал доступен большему количеству людей и устройства научились без труда обрабатывать изображения, учеными крупнейшей в мире лаборатории физики высоких энергий ЦЕРН (European Organization for Nuclear Research – CERN)
было разработано приложение World Wide Web (Всемирная паутина).
Тогда оно было ориентировано на чтение и редактирование сетевых
гипертекстовых документов с изображениями. Сегодня же Всемирная паутина представляет собой обширное сетевое приложение, используемое повсеместно. Однако наряду с ним также используются и
другие интернет-приложения.
Каждое приложение имеет две стороны. Одна из них называется
серверной. Она функционирует на конечном устройстве и ожидает
входящих сетевых подключений. Другая сторона называется клиентской и запускается на исходном устройстве. Браузеры, например

30



Глава 2. Сетевая архитектура

Firefox, Chrome или Internet Explorer, являются веб-клиентами. Они
устанавливают соединения с веб-серверами и отображают страницы
и документы, хранящиеся на этих веб-серверах. Унифицированные
указатели ресурсов (Uniform Resource Locator – URL), которые вы можете видеть в адресной строке браузера, являются адресами веб-серверов, с которыми работает ваш клиент.
При разработке серверной и клиентской сторон приложения необходимо определить протокол приложения, с помощью которого в
дальнейшем стороны будут обмениваться сообщениями по сети. Для
каждого приложения используется свой протокол, каждый из которых опирается на задачи конкретного приложения. Несколько позже
мы рассмотрим некоторые из таких протоколов.

2.5. Расположение слоев
Обычно мы представляем TCP/IP-модель в виде четырех уровней (канального, сетевого, транспортного и прикладного), расположенных в
виде слоев, где прикладной уровень – верхний, а канальный – нижний. Причина, по которой их изображают именно таким образом, заключается в том, что в процессе сетевой коммуникации каждый слой
взаимодействует с уровнями над и под собой.
Все четыре уровня работают как на исходном устройстве, где пользователь запускает клиентское приложение (например, браузер), так
и на конечном устройстве, где запускается сервер приложений. Конечный пользователь взаимодействует с приложениями, составляющими верхний уровень модели, а на нижнем функционирует Wi-Fi,
сотовое и проводное соединение между исходным устройством и
остальной частью интернета.
Маршрутизаторы имеют своей целью лишь перемещение пакетов данных к месту назначения, поэтому они не взаимодействуют с
транспортным и прикладным уровнями. Маршрутизаторы работают
на сетевом и канальном уровнях. Для транспортировки и обеспечения переходов пакетов им необходимы только адреса источника и
назначения на сетевом уровне. Транспортный и прикладной уровни
вступают в игру только после того, как сетевой уровень доставит пакеты на конечное устройство.
Если вы хотите создать собственное сетевое приложение, вы, скорее всего, будете работать только с транспортным уровнем и не коснетесь сетевого и канального уровней. Безусловно, они необходимы
для работы транспортного уровня, но при написании программ детали нижнего уровня не так важны. Многоуровневая сетевая модель

2.7. Контрольные вопросы 

31

упрощает написание сетевых приложений, поскольку появляется
возможность упускать многие сложные детали перемещения данных
с одного устройства на другой.
Далее мы поговорим о вышеописанных уровнях более подробно.

2.6. Глоссарий
Клиент – в сетевом приложении является запрашивающей или инициирующей соединение стороной.
Волоконно-оптический кабель – технология передачи данных, которая кодирует данные с помощью света, передаваемого по очень
длинной нити из тонкого стекла или пластика. Оптоволоконные
соединения работают быстро и могут покрывать очень большие
расстояния.
Относительный адрес – относительное положение пакета в сообщении или потоке данных.
Сервер – в сетевом приложении отвечает на запросы или ожидает входящих подключений.
Размер группы сетевых пакетов – объем данных, который исходное
устройство может отправить до ожидания подтверждения.

2.7. Контрольные вопросы
Вы можете пройти этот тест онлайн по адресу http://www.net-intro.com/quiz/.
1. Почему инженеры организуют подход к решению большой и сложной задачи путем создания модели?
А. Потому что это позволяет им построить что-то маленькое и
протестировать это в аэродинамической трубе.
Б. Потому что чем дольше они будут что-либо обсуждать, тем
позже им придется приступить к самой тяжелой части работы.
В. Потому что они могут разбить задачу на набор более мелких
задач, которые могут быть решены независимо друг от друга.
Г. Потому что это помогает в разработке маркетинговых материа­
лов.
2. Какой из слоев находится наверху сетевой модели и используется
сетями TCP/IP?
А. Прикладной.
Б. Транспортный.

32



Глава 2. Сетевая архитектура

В. Сетевой.
Г. Канальный.
3. Какой из уровней заботится о получении пакета данных через одно физическое соединение?
А.
Б.
В.
Г.

Прикладной.
Транспортный.
Сетевой.
Канальный.

4. Что означает CSMA/CD?
А. Множественный доступ с прослушиванием несущей и обнаружением конфликтов.
Б. Доступ к среде с контролем конфликтов с непрерывным направлением.
В. Коррелированное размещение космических носителей с постоянным разделением.
Г. Разделение каналов с постоянным состоянием на несколько
адресов.
5. В чем заключается задача сетевого уровня?
А. Убедиться, что данные не будут потеряны во время маршрута.
Б. Получить пакет данных, перемещенный по нескольким сетям
от источника к месту назначения.
В. Убедиться, что только зарегистрированные пользователи могут использовать интернет.
Г. Убедиться, что Wi-Fi распределяется между несколькими уст­
ройствами равномерно.
6. Что, помимо адресов данных, источника и получателя, требуется
для того, чтобы убедиться, что сообщение может быть восстановлено, когда оно достигнет места назначения?
А. Относительный адрес.
Б. Место для отправки данных, если устройство назначения не
работает .
В. Сжатая и несжатая версия данных в пакете.
Г. GPS-координаты конечного устройства.
7. Что такое размер группы сетевых пакетов?
А. Сумма длины и ширины пакета.
Б. Максимальный размер одного пакета.

2.7. Контрольные вопросы 

33

В. Максимальное количество пакетов, которые могут входить в
состав сообщения.
Г. Максимальный объем данных, который устройство может отправить до получения подтверждения.
8. Где в типичном сетевом клиент-серверном приложении запускается клиентское приложение?
А.
Б.
В.
Г.

На портативном, стационарном или мобильном устройстве.
На точке беспроводного доступа.
На ближайшем маршрутизаторе.
В оптоволоконном кабеле.

9. Что означает URL?
А. Универсальная маршрутизация (Universal Routing Linkage).
Б. Единая логика повторной передачи (Uniform Retransmission
Logic).
В. Унифицированный указатель ресурса (Uniform Resource Loca­
tor).
Г. Единый список восстановления (Unified Recovery List).

Глава

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

Канальный уровень – это нижний уровень интернет-архитектуры.
Он называется нижним, поскольку расположен наиболее близко к
физическому уровню сети. На канальном уровне данные передаются
с помощью проводов, оптоволоконных кабелей или радиосигналов.
Особенность этого уровня заключается в том, что по нему данные
передаются только в одном сегменте локальной сети. К канальному
уровню относятся проводной Ethernet, Wi-Fi и сеть сотовой связи. Все
эти технологии позволяют передавать данные в пределах километра.
Волоконно-оптические линии, в том числе подводные, позволяют передавать данные на расстояние до тысяч километров. Также передавать данные на большие расстояния возможно с помощью спутниковых линий передачи данных.

Прикладной
Транспортный
Сетевой
Канальный
Рис. 3.1. Канальный уровень
Независимо от расстояния на данном уровне данные передаются
по одному каналу. Так, на пути к конечному устройству, как правило,
требуется пересылка пакетов по нескольким каналам. В этом разделе
мы подробно рассмотрим, как работает одна из наиболее распростра-

3.1. Беспроводная передача данных 

35

ненных технологий канального уровня – Wi-Fi. Данная технология
является отличным примером для рассмотрения некоторых проблем
канального уровня, требующих решения.

3.1. Беспроводная передача данных
Когда вы подключаетесь к интернету с помощью Wi-Fi с компьютера
или смартфона, отправка и прием данных на вашем устройстве осуществляется посредством небольшого радиомодуля, работающего на
низкой мощности. Он способен передавать данные лишь на небольшие расстояния (около 300 м), поэтому на следующем этапе пакеты
ваших данных отправляются на маршрутизатор, который может находиться, например, у вас дома. Далее, по каналу передачи данных
маршрутизатор пересылает данные в интернет. Такие маршрутизаторы называют базовыми станциями или шлюзами.
Устройства с включенными радиомодулями, находящиеся достаточно близко к базовой станции, получают все пакеты, передаваемые
этой станцией, независимо от того, на какое устройство назначена
отправка пакета. Помимо этого, они могут принимать все пакеты,
отправляемые соседними устройствами. Таким образом, вашему
устройству необходим способ, который поможет разграничить свои
и чужие пакеты.
Часто способность устройств принимать множество пакетов в зоне досягаемости привлекает мошенников. Так они могут незаконно
получать важные данные, такие как номера банковских счетов или
пароли к онлайн-сервисам. В следующем разделе мы вернемся к вопросу о безопасности личных данных.
На производстве каждому Wi-Fi-радиомодулю присваивается уникальный серийный номер. Таким образом, каждое устройство, поддерживающее технологию Wi-Fi, имеет собственный серийный номер, как и радиомодуль в шлюзе. Серийный номер радиомодуля Wi-Fi
можно найти в настройках устройства. Обычно он выглядит следующим образом:
0f:2a:b3:1f:b3:1a

Такой 48-битный серийный номер часто называют адресом управления доступом к среде передачи данных (Media Access Control), или
MAC-адресом. MAC-адрес можно сравнить с адресом на почтовом
конверте. Каждый пакет (радиоконверт), отправленный через сеть
Wi-Fi, содержит адреса исходного и конечного устройств, благодаря

36



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

чему устройства с легкостью могут определить предназначенные для
них пакеты.
При подключении к Wi-Fi, устройству необходимо выяснить, какой
из MAC-адресов можно использовать для отправки пакетов на маршрутизатор. Если вы физически переместите ваше устройство с одного
место на другое, оно будет взаимодействовать с разными шлюзами,
каждый из которых имеет свой серийный номер. Поэтому, когда вы
впервые подключаетесь к новой сети Wi-Fi, устройству необходимо
обнаружить ее MAC-адрес.
Для того чтобы узнать MAC-адрес, устройство отправляет специальное сообщение на широковещательный адрес. Фактически оно как
бы задает вопрос: «Кто отвечает за эту сеть Wi-Fi?» В этом сообщении
устройство указывает свой серийный номер в качестве адреса отправителя («от»), а в качестве адреса получателя («кому») он указывает
широковещательный адрес. Таким образом, устройство может узнать, есть ли шлюз в этой Wi-Fi-сети.
От: 0f:2a:b3:1f:b3:1a
Кому: ff:ff:ff:ff:ff:ff
Сообщение: Есть ли MAC-шлюз в этой сети?

Если в сети есть шлюз, он отправляет ответное сообщение, содержащее его серийный номер.
От: .98:2f:4e:78:c1:b4
Кому: 0f:2a:b3:1f:b3:1a
Сообщение: Я шлюз
Добро пожаловать в мою сеть

В случае, если ответа не поступает, ваше устройство ждет несколько
секунд, а затем решает, что в этой сети нет шлюза. При отсутствии
шлюза на устройстве может отображаться другой значок Wi-Fi или же
он может не отображаться вообще. Бывают случаи, когда в одной сети
может быть сразу несколько шлюзов. Однако пока что мы упустим
этот момент, поскольку данное явление не распространено и к тому
же довольно сложно для понимания.
Когда ваше устройство получает сообщение с MAC-адресом шлюза,
оно может использовать этот адрес для отправки пакетов в интернет. На этом этапе всем пакетам вашего устройства присваивается
серийный номер конечного устройства. Поэтому следует использовать широковещательный адрес как можно меньше, так как каждое
устройство, подключенное к сети Wi-Fi, получает и обрабатывает лю-

3.2. Координация обмена данными 

37

бые сообщения, отправленные на широковещательный адрес, чтобы
убедиться, что сообщения предназначены не для них.

3.2. Координация обмена данными
Многие устройства используют одни и те же радиочастоты, именно
поэтому крайне важно координировать то, как они отправляют данные. К примеру, если в комнате находится несколько человек и все
они одновременно начинают говорить, никто из собеседников не
сможет услышать и понять друг друга. То же самое происходит, когда
несколько радиомодулей Wi-Fi одновременно передают данные на
одной и той же частоте. Именно поэтому необходим способ, позволяющий координировать работу всех радиомодулей. В этом разделе мы
рассмотрим основы технических подходов к предотвращению потери данных ввиду возникновения конфликтов при передаче.
Первый подход называется «контроль несущей». Данный подход
заключается в том, что сначала канал передачи данных прослушивается на наличие осуществляемой в данный момент передачи. Если
оказывается, что канал занят, устройство ожидает завершения активного процесса. Можно предположить, что ожидание занимает долгое
время, но, поскольку все сообщения разбиваются на пакеты, обычно
устройству достаточно дождаться только завершения отправки пакета другим устройством, после чего оно может приступать к отправке
своих пакетов.
Если при прослушивании канала передачи данных Wi-Fi-радиомодуль устройства не обнаруживает активных процессов, оно может
начать передачу. Но что, если Wi-Fi-радиомодуль другого устройства,
также не обнаружив активной передачи, начнет передавать свои данные? Если несколько радиомодулей начинают передачу одновременно, вероятнее всего, данные повредятся, и оба пакета будут потеряны. Поэтому радиомодулю необходимо продолжать прослушивание
канала при отправке пакетов. Так он убедится что сможет принимать
собственные данные. Если же радиомодуль не может принять собст­
венные данные, он предполагает, что произошел конфликт (это называется обнаружением конфликтов), и прекращает передачу.
То же самое происходит, например, в комнате, где несколько людей пытаются вести дискуссию, и тогда часто бывает, что два человека
начинают говорить одновременно между собой. Но они сразу замолкают, уступая друг другу возможность высказаться, и в итоге молчат
оба. Как же в такой ситуации разговор возобновляется? Обычно это
происходит так: после долгой паузы оба человека снова начинают

38



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

разговаривать одновременно. Так может продолжаться несколько
раз, поэтому зачастую подобные ситуации выглядят крайне комично.
Радиомодули, в отличие от людей, способны решить эту проблему
намного быстрее. Когда радиомодули обнаруживают конфликт данных или искажение передачи, перед повторной попыткой передачи
они рассчитывают случайное время ожидания. Правила расчета случайного ожидания устанавливаются таким образом, чтобы оно разнилось у каждого конфликтующего устройства.
Формальное название для процесса, включающего в себя прослушивание, передачу, прослушивание, ожидание и повторную попытку
передачи (в случае необходимости), – «множественный доступ с конт­
ролем несущей и обнаружением конфликтов», или CSMA/CD.
На первый взгляд такая технология не внушает доверия. Может показаться странным что вся ее сущность заключается лишь в том, что
при возникновении конфликта устройство просто делает попытку
передачи, а затем через какое-то время делает ее еще раз. Однако на
практике эта технология применяется крайне успешно. Существует
целая категория технологий канального уровня, работающая по этому шаблону (прослушивание, передача, прослушивание и повторная
передача (при необходимости)). В нее входят проводной Ethernet,
данные сотовой связи и даже служба коротких сообщений (SMS/текстовые сообщения).

3.3. Координация в других технологиях
канального уровня
В структуру технологий канального уровня, имеющих большое количество передающих станций (ввиду чего им приходится работать с
почти 100%-й эффективностью в течение длительных периодов времени), заложен иной подход. Ключевым понятием данного подхода
является «токен». Токен указывает, когда каждой станции предоставляется возможность передачи данных. Станции не могут начать передачу, если у них нет токена. Таким образом, от них требуется только
дождаться своей очереди.
Когда станция получает токен, она отправляет имеющийся пакет.
После отправки станция передает токен далее и затем ждет его возвращения. Если ни одна из станций не имеет данных для отправки,
токен просто перемещается с одного устройства на другое.
Такой подход можно сравнить с ситуацией, когда группа людей передает мяч по кругу, и при этом говорить может только тот, кто дер-

3.3. Координация в других технологиях канального уровня 

39

жит мяч в руках. Таким образом, они общаются не перебивая друг
друга. Когда один человек получает мяч, он высказывает свою мысль
(передает пакет слов), а затем передает мяч дальше.

Рис. 3.2. Обмен данными с помощью токена
Подход CSMA/CD применим при отсутствии данных или при отправке данных низкого или среднего уровней. В сети, где используется технология токена, перед отправкой данных устройству необходимо подождать даже в том случае, если активной передачи в настоящий
момент не происходит. Когда устройство завершит отправку пакетов,
ему необходимо будет дождаться, пока токен вернется, и только потом оно сможет отправить следующий пакет. Если в сети находится
лишь одна станция, желающая отправить данные, ей все равно придется ожидать прохождения токена через все другие станции.
Вышеописанный подход лучше всего подходит при использовании
таких сред, как спутниковая связь или подводные оптоволоконные
линии, где обнаружение конфликта может занимать слишком много
времени или быть слишком затратным. CSMA/CD (метод «прослушай-попробуй») лучше всего подходит для не слишком затратных
сред, покрывающих меньшие расстояния и имеющих множество сов­
местно работающих станций, отправляющих данные в виде коротких
пакетов. Именно поэтому Wi-Fi (и CSMA/CD) особенно эффективен
для обеспечения доступа к сети в кафе, домах, квартирах или школах.

40



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

3.4. Заключение
Итак, мы рассмотрели нижний уровень интернет-архитектуры. Однако лишь вкратце. Безусловно, на этом уровне существует множество
других важных деталей, таких как расстояние подключения, напряжение, частота, скорость и многие другие. Каждая из этих деталей
требует углубленного изучения.
Ключевым преимуществом многоуровневой архитектуры является
то, что инженеры, создающие технологии канального уровня, могут
игнорировать проблемы, которые решаются на уровнях выше. Так,
они могут сосредоточиться на создании оптимального решения для
передачи данных на канальном уровне. Современные технологии
каналь­ного уровня, такие как Wi-Fi, спутниковые и кабельные модемы, Ethernet и сотовая связь представляют собой крайне развитые
систе­мы. Данные перемещаются быстро и без разрывов, благодаря
чему пользователю не нужно беспокоиться о том, что происходит на
этом уровне. Он просто работает.

3.5. Глоссарий
Базовая станция – название первого маршрутизатора, который обрабатывает пакеты по мере их передачи в интернет.
Широковещательная передача – отправка пакета таким образом, чтобы ее смогли получить все станции, подключенные к локальной
сети.
Шлюз – маршрутизатор, подключающий локальную сеть к более широкой сети (например, интернет). С помощью шлюзов устройства
могут отправлять данные за пределы локальной сети.
MAC-адрес – адрес, назначаемый сетевому оборудованию при производстве.
Токен – метод, позволяющий нескольким устройствам совместно использовать один и тот же физический носитель без риска возникновения конфликтов. Перед отправкой данных каждому устройст­
ву необходимо дождаться получения токена.

3.6. Контрольные вопросы
Вы можете пройти этот тест онлайн по адресу http://www.net-intro.com/quiz/.
1. Куда ваше устройство отправляет пакеты при подключении к интернету через сеть Wi-Fi?

3.6. Контрольные вопросы 

А.
Б.
В.
Г.

41

Шлюз.
Спутник.
Вышка сотовой связи.
Интернет-центр.

2. Каким образом назначается канал передачи / физический адрес
для сетевого устройства?
А. Вышкой сотовой связи.
Б. «Администрацией адресного пространства Интернет» (Internet
Assignment Numbers Authority – IANA).
В. Производителем оборудования связи.
Г. Правительством.
3. Какой из перечисленных вариантов является адресом канала?
А.
Б.
В.
Г.

0f:2a:b3:1f:b3:1a.
192.168.3.14.
www.khanacademy.com.
@drchuck.

4. Как устройство находит шлюз в сети Wi-Fi?
А. Оно имеет адрес шлюза, установленный производителем.
Б. Оно передает широковещательный запрос адреса шлюза.
В. Оно многократно отправляет сообщение на все возможные
адреса шлюза, пока не найдет его.
Г. Пользователь должен вводить адрес шлюза вручную.
5. Что в первую очередь делает устройство перед началом отправки
данных по Wi-Fi?
А. Осуществляет прослушивание канала на предмет активной передачи.
Б. Просто начинает отправлять данные.
В. Отправляет на шлюз сообщение с запросом разрешения на передачу.
Г. Ждет своей очереди.
6. Что делает передающая станция, подключенная к Wi-Fi, когда она
пытается отправить данные, но обнаруживает, что произошел
конфликт?
А. Продолжает отправлять сообщение, чтобы хотя бы часть сообщения передалась.
Б. Ожидает, пока шлюз не сообщит, что конфликт разрешен.
В. Немедленно перезапускает передачу сообщения в начале.

42



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

Г. Останавливает передачу и делает паузу перед повторной попыткой.
7. Что в первую очередь делает устройство перед началом передачи
данных с помощью токена?
А. Осуществляет прослушивание канала на предмет активной передачи.
Б. Просто начинает отправлять данные.
В. Отправляет на шлюз сообщение с запросом разрешения на передачу.
Г. Ждет своей очереди.

Глава

4
Сетевой уровень (IP)

Теперь, когда мы узнали, как передаются данные по одному каналу
связи, пришло время выяснить, каким образом они передаются на
большие расстояния, в пределах одной страны или даже по всему миру. По мере прохождения своего пути от одного устройства к другому
данные осуществляют несколько переходов через несколько сетей.
Такой путь можно сравнить с путешествием в далекую страну. Так,
сначала путешественник идет от дома до автобусной остановки, затем пересаживается на поезд до города, далее садится на другой поезд до аэропорта, затем на самолете он прилетает в другой аэропорт
и едет на такси до большого города, где затем садится на поезд, чтобы
доехать до маленького городка и после этого наконец идет от остановки до своего отеля. Как и путешественники, пакеты могут использовать различные виды «транспорта». Для пакета, отправляющегося в
«путешествие», под видами транспорта подразумеваются различные
технологии канального уровня, такие как Wi-Fi, Ethernet, оптоволоконные кабели и спутниковая связь.
Во время путешествия человек (и пакет) может пользоваться общественным транспортом. В одном автобусе, поезде или самолете с
вами могут находиться сотни других людей. Однако ввиду решений,
которые вы принимаете после каждого своего перехода, маршрут вашей поездки отличается от маршрута любого из них. Например, когда
вы прибываете на вокзал, то можете выйти из одного поезда, а затем
пересесть на другой отбывающий поезд. Путешественники, имеющие
как разные отправные точки, так и пункты назначения, как правило,
принимают разные решения. По мере принятия таких решений вы
продвигаетесь по маршруту (делаете переходы), который приведет
вас к месту назначения.
По мере транспортировки пакет также проходит ряд станций, на
каждой из которых принимается решение о том, по какому выходному каналу он будет перенаправлен далее. Такими станциями вы-

44



Глава 4. Сетевой уровень (IP)

ступают маршрутизаторы. Маршрутизаторы (как и железнодорожные
станции) имеют множество входящих и исходящих каналов. Некоторые каналы могут быть оптоволоконными, другие – спутниковыми,
а третьи – беспроводными. Задача маршрутизатора – убедиться, что
пакеты, проходящие через маршрутизатор, попадают на нужный уровень исходящих каналов. Обычно по мере прохождения своего пути
пакет проходит от 5 до 20 маршрутизаторов.

Рис. 4.1. Путешествие пакетов
Если на железнодорожных станциях для пассажиров есть специальный экран, где перечислены поезда и маршруты, то маршрутизаторы
ориентируются по адресу назначения, который содержится в пакете.
Так они решают, какой исходящий канал должен принять этот пакет.
Подобный подход можно сравнить с тем, как если бы служащий вокзала встречал каждого человека, выходящего из прибывающего поезда, и провожал до другого поезда.
Маршрутизатор может быстро определить исходящую ссылку, так
как каждый отдельный пакет содержит информацию о конечном
адресе. Такой адрес называют адресом интернет-протокола (Internet
Protocol Address), или сокращенно – IP-адресом. С помощью IP-адреса

4.1. IP-адреса (Internet Protocol) 

45

можно значительно повысить эффективность работы маршрутизатора по пересылке пакетов.

4.1. IP-адреса (Internet Protocol)
В предыдущем разделе мы говорили об адресах канального уровня и
выяснили, что такие адреса назначаются на этапе производства оборудования и не меняются на протяжении всего срока службы устройства. Однако адреса канального уровня не применимы при маршру­
тизации пакетов через несколько сетей, поскольку связь между
адресом канального уровня и местом, где устройство подключается
к сети, отсутствует. Например, портативные компьютеры и сотовые
телефоны постоянно перемещаются в пространстве, поэтому в таком
случае системе необходимо будет отслеживать перемещения каждого
отдельного устройства. Таким образом, поскольку в сети существуют
миллиарды устройств, использование адресов канального уровня при
маршрутизации представляется нецелесообразным.

Прикладной
Транспортный
Сетевой
Канальный
Рис. 4.2. Сетевой уровень
Более эффективным инструментом для маршрутизации сообщений выступает IP-адрес, который назначается устройству в соответствии с его местоположением. На сегодняшний день существует
две версии IP-адресов. Старые (классические) адреса IPv4 состоят
из четырех чисел, разделенных точками, и выглядят следующим
образом:
212.78.1.25.

Максимальное число в IP адресе – 255. Сегодня существует настолько много устройств, подключенных к интернету, что уникальные

46



Глава 4. Сетевой уровень (IP)

адреса IPv4 для них заканчиваются. IPv6-адреса длиннее и выглядят
так:
2001:0db8:85a3:0042:1000:8a2e:0370:7334.

В этом разделе мы сосредоточимся на классических адресах IPv4,
однако стоит отметить, что все представленные здесь идеи в равной
степени применимы как к адресам IPv4, так и к IPv6.
Самое важное, что можно сказать об IP-адресах, – это то, что они
делятся на две части1. Первая часть называется «адрес сети». Если мы
разделим IPv4-адрес на две части, мы получим следующее:
Адрес сети: 212.78
Идентификатор хоста: 1.25.

Основная идея здесь состоит в том, что множество устройств может быть подключено к интернету через одно соединение. Например,
весь кампус колледжа, школа или предприятие могут подключаться к
сети, используя один или несколько определенных сетевых номеров.
В приведенном выше примере 65 536 устройств может быть подключено к сети с использованием сетевого номера «212.78». Все устройства подключаются к интернету посредством одного соединения, поэтому все пакеты с IP-адресом 212.78.*.* перенаправляются в одно и
то же место.
Благодаря такому подходу маршрутизаторам больше не нужно отслеживать миллиарды отдельных устройств. Вместо этого им требуется отслеживать около миллиона (или, возможно, меньше) сетевых
номеров.
Таким образом, когда пакет прибывает в маршрутизатор и последнему необходимо определить дальнейший маршрут первого, маршрутизатору не требуется просматривать IP-адрес целиком. Для того
чтобы определить оптимальный маршрут, ему достаточно взглянуть
лишь на первую часть адреса.

4.2. Как маршрутизаторы определяют
маршруты
Несмотря на то что описанный выше подход значительно сокращает
количество конечных точек, которые должен отслеживать маршрутизатор, каждому из них все же требуется способ, позволяющий опреде1

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

4.3. Возможные проблемы и пути их решения 

47

лить маршрут от самого маршрутизатора к каждому из сетевых номеров, с которыми он может столкнуться.
При первом подключении к интернету новый магистральный
маршрутизатор не может знать все маршруты. Он может знать лишь
несколько заранее сконфигурированных маршрутов, однако для оптимальной маршрутизации пакетов в дальнейшем ему необходимо
отслеживать маршруты при обнаружении пакетов.
При обнаружении пакета маршрутизатор не сразу может определить оптимальный путь. Вместо этого он совершает запрос к соседним маршрутизаторам, которые уже сталкивались с данным номером
сети. Они же в свою очередь отправляют ему необходимые данные.
Иногда маршрутизаторы отправляют запросы «соседям» до тех пор,
пока весь маршрут фактически не будет определен.
В самых простых случаях новый магистральный маршрутизатор
может постепенно построить карту сетевых номеров для исходящих
каналов, которая поможет ему правильно маршрутизировать пакеты
на основе IP-адреса для каждого входящего пакета. Такая карта называется таблицей маршрутизации.
Когда интернет работает нормально, каждый маршрутизатор имеет относительно полную таблицу маршрутизации и редко встречается с незнакомыми сетевыми номерами. Как только маршрутизатор
впервые определяет маршрут к новому сетевому номеру, ему уже
не требуется повторно прокладывать маршрут для сетевого номера
(разу­меется, если что-то не изменится или не пойдет не так). Так,
маршрутизатор выполняет поиск маршрута по первому пакету, а затем он может направить следующие пакеты на этот номер сети, просто используя информацию, уже содержащуюся в его таблицах маршрутизации.

4.3. Возможные проблемы и пути их решения
Разумеется, случается так, что в сети возникают проблемы. Однако
маршрутизатор должен найти способ обойти их и выполнить свою
функцию. Одной из самых распространенных проблем является сбой в
исходящей линии. Причин у этой проблемы может быть масса, вплоть
до того, что кто-то споткнулся о кабель и выдернул его из разъема.
В таких случаях маршрутизаторы обычно уже располагают набором
сетевых номеров, которые они хотели отправить по поврежденной
линии. На удивление процесс восстановления при сбоях в исходящих линиях происходит достаточно просто. Сначала маршрутизатор
отбрасывает все записи в своей таблице. Затем по мере поступления

48



Глава 4. Сетевой уровень (IP)

новых пакетов, предназначенных для этих сетевых номеров, маршрутизатор заново выстраивает маршруты, на этот раз «советуясь» с
соседними маршрутизаторами (кроме тех, с кем из-за разрыва связи
он больше не может контактировать).

Рис. 4.3. Динамическая маршрутизация
На какое-то время работа маршрутизаторов замедляется ввиду
перестраивания таблиц маршрутизации, выстраивающих новую конфигурацию сети. Через некоторое время стандартная скорость работы восстанавливается.
Вот почему так важно наличие как минимум двух независимых
маршрутов от исходной сети к конечной. Если таковые имеются, мы
называем такую сеть «сетью с двумя соединениями». Подобные сети могут легко восстанавливаться после сбоев в исходящих каналах.
В местах, где сосредоточено множество сетевых подключений, например на восточном побережье США, в сети может произойти несколько сбоев исходящих линий, но при этом она все еще будет работать.
Однако в некоторых частных случаях, например когда вы находитесь
дома или в школе и имеете только одно соединение, если в нем возникает сбой, доступ к интернету полностью прекращается.

4.4. Определение маршрута 

49

В какой-то момент поврежденная линия восстанавливается или
вместо нее создается новая, и тогда маршрутизатор ищет способы
использовать новые линии наиболее эффективно. Он заинтересован
в совершенствовании собственных таблиц маршрутизации и в свободное от выполнения своих функций время ищет возможности улучшить таблицы. Во время пауз маршрутизатор запрашивает у соседа
всю или часть его таблицы маршрутизации. Маршрутизатор просматривает таблицы соседей и, если он видит, что другой маршрутизатор
построил более оптимальный маршрут к какому-либо сетевому номеру, он обновляет свою таблицу.
Благодаря всем вышеописанным процессам маршрутизаторы
учатся быстрее реагировать на сбои и перенаправлять пакеты с поврежденных или медленных линий на нормально функционирующие и/или более быстрые. Маршрутизаторы постоянно взаимодейст­
вую между собой, что позволяет им совершенствовать свои таблицы
маршрутизации. Несмотря на то что никто не может подсказать
маршрутизаторам универсальный «наилучший маршрут», они почти
всегда могут определить самый быстрый путь от источника к пункту
назначения. Также они легко справляются с обнаружением пакетов,
передающихся по медленным или временно перегруженным линиям
и их динамической маршрутизацией.
Бывают случаи, что маршруты пакетов могут меняться по ходу их
прохождения от исходного к конечному устройству. Также вы можете
отправить один пакет, а затем сразу же второй, и в итоге второй пакет
прибудет в пункт назначения раньше первого. Однако на IP-уровне
порядок пакетов не отслеживается; здесь решается множество других
важных задач.
Отправку пакетов с IP-адресами исходного и конечного устройств
можно сравнить с отправкой писем по почте. Каждый пакет проходит
через систему и в конце концов достигает места назначения.

4.4. Определение маршрута
Ни один из элементов интернет-архитектуры заведомо не имеет информации о маршруте, по которому ваши пакеты будут идти от исходного устройства к конечному. Всего маршрута, по которому они
будут проходить, не знают даже маршрутизаторы, непосредственно
участвующие в пересылке пакетов. Задача маршрутизаторов состоит
лишь в том, чтобы определять маршруты переходов пакетов, которые
приближают их к пункту назначения.

50



Глава 4. Сетевой уровень (IP)

Оказывается, что на большинстве устройств есть инструмент сетевой диагностики под названием traceroute (или tracert, в зависимости
от операционной системы), который позволяет отслеживать маршруты следования пакетов. Однако, учитывая, что маршруты пакетов
могут меняться, отслеживание с помощью данного инструмента является не более чем «неплохим предположением» относительно фактических маршрутов.
На самом деле traceroute вообще не «отслеживает» пакет. Данная
утилита работает на базе маршрутизируемого сетевого протокола
(IP), благодаря которому пакеты не «застревают» в сети. Прежде чем
мы перейдем непосредственно к traceroute, следует кратко рассмотреть, как пакет может «застрять» в сети и как IP решает эту проблему.
Помните, что информация о любом отдельном маршруте является лишь приблизительной оценкой оптимального исходящего канала для определенного номера сети. Так, маршрутизаторы не имеют
информации о деятельности друг друга. Но что, если бы у нас было
три маршрутизатора, имеющих записи в таблицах маршрутизации и
образующих бесконечную петлю?

141.21.*.*
141.21.*.*

141.21.*.*
141.21.*.*
141.21.*.*
141.21.*.*

141.21.*.*
141.21.*.*

Рис. 4.4. «Маршрутный вихрь»
Каждый из маршрутизаторов считает, что знает наилучший исходящий канал для IP-адресов, начинающихся с «212.78». Однако в
случае, представленном на рисунке, ввиду произошедшей путаницы

4.4. Определение маршрута 

51

между маршрутизаторами образуется своего рода маршрутная петля. Если пакет с префиксом «212.78» попадет в один из этих маршрутизаторов, он будет бесконечно перенаправляться по кругу из трех
каналов, не имея выхода. По мере поступления новых пакетов с тем
же префиксом они просто добавятся в бесконечный «маршрутный
вихрь». Каналы довольно быстро заполнятся циклическим трафиком,
а маршрутизаторы – пакетами, ожидающими отправки, и в итоге все
три маршрутизатора выйдут из строя. Такая проблема намного серь­
езнее, чем физический разрыв кабеля, поскольку она может привести
к сбою в работе сразу нескольких маршрутизаторов.
Чтобы решить эту проблему, разработчики интернет-протокола
добавили к каждому пакету значение, которое называется временем
жизни данных (Time To Live – TTL). Минимальное TTL, как правило, начинается от 30. Каждый раз, когда IP-пакет совершает переход, маршрутизатор вычитает одну единицу из значения TTL. Таким образом,
если пакету требуется 15 переходов для прохождения маршрута, то в
конечной точке он появится с TTL 15.
Теперь давайте рассмотрим, как работает TTL при образовании
маршрутной петли (или «маршрутного вихря») в определенном сете­
вом номере. В результате постоянного прохождения пакета через одни и те же каналы его значение TTL рано или поздно достигает нуля.
Когда значение TTL достигает нуля, маршрутизатор понимает, что
что-то пошло не так, и отбрасывает пакет. Такой подход гарантирует, что образование маршрутных петель не спровоцирует глобальных
сбоев в сети.
Данный подход является отличным решением. Чтобы обнаружить
маршрутные петли и выйти из них, мы просто вводим число, вычитаем по единице из этого числа при каждом переходе, а когда значение
становится равным нулю, отбрасываем пакет.
Также,когда маршрутизатор отбрасывает пакет, он отправляет
любезное уведомление, что-то вроде: «Извините, мне пришлось выбросить ваш пакет». В сообщении указан IP-адрес маршрутизатора,
который отбросил пакет.
Маршрутные петли на самом деле встречаются довольно редко. Однако описанное выше уведомление может быть полезно при
определении приблизительного маршрута пакета. Утилита traceroute
отправляет пакеты таким способом, чтобы маршрутизаторы, через
которые проходят ваши пакеты, отправляли им такие уведомления.

52



Глава 4. Сетевой уровень (IP)

Сначала traceroute отправляет пакет с TTL, равным 1. Пакет попадает
на первый маршрутизатор и сразу отбрасывается, а ваше устройство
получает соответствующее уведомление. Затем traceroute отправляет
пакет с TTL, равным 2. Пакет проходит через первый маршрутизатор
и отбрасывается вторым, который снова отправляет вам уведомление. Затем traceroute отправляет пакет с TTL, равным 3. Так, с каждым
разом утилита увеличивает значение TTL, пока пакет не дойдет до
места назначения.
Именно так traceroute определяет приблизительный маршрут ваших пакетов. Например, чтобы добраться из Анн-Арбора, штат Мичиган, в Пало-Альто, штат Калифорния, пакетам потребовалось 14 переходов. Они прошли через Канзас, Техас, Лос-Анджелес и Окленд.
Возможно, в сравнении с маршрутом машины или поезда, это не самый быстрый путь. Однако именно в этом случае данный маршрут
был наилучшим для конкретных пакетов.
На рис. 4.5 вы можете увидеть, сколько времени потребовалось пакетам, чтобы добраться от исходного устройства до каждого маршрутизатора, а также от исходного устройства к конечному. Миллисекунда (мс) – это 1/1000 доля секунды. Таким образом, 77,317 мс составляет
чуть меньше десятой доли секунды. Из этого следует вывод, что скорость данной сети довольно высока.
traceroute www.stanford.edu
traceroute to www5.stanford.edu (171.67.20.37), 64 hops max, 40 byte packets
1 141.211.203.252 (141.211.203.252) 1.390 ms 0.534 ms 0.490 ms
2 v-bin-seb.r-bin-seb.umnet.umich.edu (192.122.183.61) 0.591 ms 0.558 ms 0.570 ms
3 v-bin-seb-i2-aa.merit-aa2.umnet.umich.edu (192.12.80.33) 6.610 ms 6.545 ms 6.654 ms
4 192.122.183.30 (192.122.183.30) 7.919 ms 7.209 ms 7.122 ms
5 so-4-3-0.0.rtr.kans.net.internet2.edu (64.57.28.36) 17.672 ms 17.836 ms 17.673 ms
6 so-0-1-0.0.rtr.hous.net.internet2.edu (64.57.28.57) 31.800 ms 41.967 ms 31.787 ms
7 so-3-0-0.0.rtr.losa.net.internet2.edu (64.57.28.44) 63.478 ms 63.704 ms 63.710 ms
8 hpr-lax-hpr--i2-newnet.cenic.net (137.164.26.132) 63.093 ms 63.026 ms 63.384 ms
9 svl-hpr--lax-hpr-10ge.cenic.net (137.164.25.13) 71.242 ms 71.542 ms 76.282 ms
10 oak-hpr--svl-hpr-10ge.cenic.net (137.164.25.9) 72.744 ms 72.243 ms 72.556 ms
11 hpr-stan-ge--oak-hpr.cenic.net (137.164.27.158) 73.763 ms 73.396 ms 73.665 ms
12 bbra-rtr.Stanford.EDU (171.64.1.134) 73.577 ms 73.682 ms 73.492 ms
13 * * *
14 www5.Stanford.EDU (171.67.20.37) 77.317 ms 77.128 ms 77.648 ms

Рис. 4.5. Маршрут из Мичигана в Стэнфорд
Иногда отслеживание маршрутов пакетов может занимать больше
времени – до двух минут. Не все маршрутизаторы отправляют уведомление об отбрасывании пакета. В приведенном выше примере
маршрутизатор на 13 этапе отбросил наш пакет, не сказав «Извините». Обычно traceroute несколько секунд ожидает такого уведомления
и затем, если не получает его, отказывается от маршрутизатора и увеличивает значение TTL, чтобы пакет обошел его.

4.4. Определение маршрута 

53

Рис. 4.6. Уведомления о потерянных пакетах
Если вы запустите traceroute для проводного соединения с подводным кабелем, вы увидите, насколько быстро данные перемещаются
по подводным оптоволоконным линиям связи. На рис. 4.7 показан
маршрут из Мичиганского университета в Пекинский университет в
Китае.
$ traceroute www.pku.edu.cn
traceroute to www.pku.edu.cn (162.105.129.104), 64 hops max, 40 byte packets
1 141.211.203.252 (141.211.203.252) 1.228 ms 0.584 ms 0.592 ms
2 v-bin-seb.r-bin-seb.umnet.umich.edu (192.122.183.61) 0.604 ms 0.565 ms 0.466 ms
3 v-bin-seb-i2-aa.merit-aa2.umnet.umich.edu (192.12.80.33) 7.511 ms 6.641 ms 6.588 ms
4 192.122.183.30 (192.122.183.30) 12.078 ms 6.989 ms 7.619 ms
5 192.31.99.133 (192.31.99.133) 7.666 ms 8.953 ms 17.861 ms
6 192.31.99.170 (192.31.99.170) 59.275 ms 59.273 ms 59.108 ms
7 134.75.108.209 (134.75.108.209) 173.614 ms 173.552 ms 173.333 ms
8 134.75.107.10 (134.75.107.10) 256.760 ms 134.75.107.18 (134.75.107.18) 256.574 ms
9 202.112.53.17 (202.112.53.17) 256.761 ms 256.801 ms 256.688 ms
10 202.112.61.157 (202.112.61.157) 257.416 ms 257.960 ms 257.747 ms
11 202.112.53.194 (202.112.53.194) 256.827 ms 257.068 ms 256.962 ms
12 202.112.41.202 (202.112.41.202) 256.800 ms 257.053 ms 256.933 ms

Рис. 4.7. Маршрут из Мичигана в Пекинский университет
Пакет доходит до подводного кабеля на этапах 7 и 8. Минимальное время изменяется от 1/10 до почти 1/4 с. Несмотря на то что 1/4 с

54



Глава 4. Сетевой уровень (IP)

медленнее, чем 1/10 с, результат все равно впечатляет, если учесть,
что за это время пакет совершает практически кругосветное путешествие.
Ядро нашей IP-сети удивительно. В большинстве случаев работа маршрутизаторов не влияет на скорость перемещения пакетов
на дальних расстояниях. В следующем разделе мы рассмотрим, что
происходит с IP-адресами при переходе пакетов из одного канала на
другой.

4.5. Получение IP-адреса
На сегодняшний день все чаще люди пользуются портативными
и мобильными устройствами. Ранее мы говорили о том, что для
IP-уровня важнее отслеживать группы устройств, объединенных общим сетевым номером, чем отслеживать каждое устройство по отдельности. Но, поскольку сетевые номера указывают конкретное физическое подключение к сети, при каждом перемещении устройства
в пространстве ему потребуется новый IP-адрес. Помните, что адрес
канального уровня присваивается устройству при производстве и не
меняется в течение всего срока службы. Если вы сначала поработаете со своего ноутбука, скажем, в кофейне, а затем вернетесь домой и
будете работать с этого же устройства, но уже через домашний Wi-Fi,
ноутбуку потребуется другой IP-адрес.
Способность устройства получать другой IP-адрес после перемещения из одной сети в другую использует протокол, называемый
«Прото­кол динамической настройки узла» (Dynamic Host Configuration
Protocol – DHCP). DHCP очень прост. В разделе «Канальный уровень»,
мы говорили о том, что на этом уровне первым делом устройство
интересуется, есть ли в сети базовая станция, отправляя сообщение
на специальный широковещательный адрес. После успешного подключения через базовую станцию оно отправляет другое сообщение
на широковещательный адрес. На этот раз оно спрашивает: «Есть ли
шлюз, подключенный к этой сети, который может соединить меня с
интернетом? Если есть, сообщите мне свой IP-адрес и укажите, какой
IP-адрес мне следует использовать в этой сети».
Когда маршрутизатор шлюза отвечает, вашему устройству предоставляется временный IP-адрес для этой сети (например, когда вы находитесь в кафе). После того как маршрутизатор перестает получать
сообщения от вашего устройства, он решает, что вы ушли, и передает
IP-адрес другому.

4.5. Получение IP-адреса 

55

Если же два устройства оказываются в одной сети с одинаковым
IP-адресом, в процессе повторного использования предоставленного IP-адреса происходит сбой. Возможно, вы уже видели сообщение
типа «В этой сети уже есть компьютер с IP-адресом 192.168.0.5». Ваше
устройство видит другое устройство с адресом канала, отличным от
его собственного, при этом используя IP-адрес, который, по мнению
вашего устройства, назначен ему.
Но в большинстве случаев протокол динамической настройки узла
(DHCP) работает отлично. Вы открываете ноутбук, подключаетесь и
уже через несколько секунд можете войти в интернет. Затем вы закрываете ноутбук и перемещаетесь в другое место, где устройству дается новый IP-адрес.
В некоторых операционных системах, когда устройство совершает DHCP-запрос при подключении к сети и не получает ответа, оно
все равно решает присвоить себе IP-адрес. Очень часто такие адреса начинаются с «169. . . .». Если устройство присвоило один из этих
IP-адресов, оно считает, что подключено к сети и имеет IP-адрес, но
без шлюза у него нет возможности маршрутизировать пакеты через
локальную сеть в интернет. В таких случаях все, что можно сделать, –
подключить несколько устройств к одной локальной сети, найти друг
друга и сыграть в сетевую игру. С такими IP-адресами ничего больше
сделать не получится.

Рис.4.8. Получение IP-адреса через DHCP

56



Глава 4. Сетевой уровень (IP)

4.6. Другой вид повторного использования
адресов
Если вы знаете, как найти IP-адрес своего ноутбука, можно провести
небольшой эксперимент и посмотреть, как ваше устройство получает
разные IP-адреса в разных местоположениях. Составив список полученных по результатам эксперимента адресов, вы обнаружите, что
многие из них начинаются на «192.168.». Может показаться, что таким образом нарушается правило, которое гласит, что сетевой номер
(префикс IP-адреса) привязан к месту, где компьютер подключается к
интернету. Однако к адресам, начинающимся с «192.168.», применяется другое правило (префикс «10.» тоже особенный).
Адреса, начинающиеся с «192.168.», называются немаршрутизируемыми. Это означает, что они не могут использоваться как реальные
адреса, с помощью которых данные могут быть маршрутизированы
через ядро сети. Немаршрутизируемые адреса можно использовать в
локальной, но не в глобальной сети.
Тогда почему, когда ваше устройство получает адрес типа
«192.168.0.5», оно продолжает нормально работать в глобальной сети?
Это связано с тем, что ваш домашний маршрутизатор / шлюз / базовая
станция пользуется механизмом «преобразования сетевых адресов»
(Network Address Translation – NAT). Шлюз имеет один маршрутизируемый IP-адрес, который используется несколькими подключенными
к нему рабочими станциями. Для отправки пакетов ваше устройство
использует полученный немаршрутизируемый адрес («192.168.0.5»),
но по мере прохождения пакетов через шлюз этот адрес заменяется
фактическим маршрутизируемым адресом. Когда пакеты возвращаются на вашу рабочую станцию, маршрутизатор производит обратную замену.
Такой подход позволяет сохранять реальные маршрутизируемые
адреса и многократно использовать одни и те же немаршрутизируемые адреса для рабочих станций, которые перемещаются из одной
сети в другую.

4.7. Назначение глобального IP-адреса
Для того чтобы подключить новую сеть к интернету, необходимо обратиться к интернет-провайдеру, который осуществит соединение.
Он предоставит вам диапазон IP-адресов (один или несколько сетевых номеров), которые можно будет назначать устройствам, подклю-

4.8. Заключение 

57

ченным к вашей сети. Интернет-провайдер предоставляет вам часть
сетевых номеров, полученных от интернет-провайдера более высокого уровня.
На высшем уровне распределения IP-адресов находятся пять
региональ­ных интернет-реестров (Regional Internet Registries – RIR).
Каждый из пяти реестров выделяет IP-адреса для одной географической области. Каждой точке Земли может быть присвоен сетевой
номер одного из пяти реестров. Описанные реестры включают: Северную Америку (ARIN), Южную и Центральную Америку (LACNIC),
Европу (RIPE NCC), Азиатско-Тихоокеанский регион (APNIC) и Африку (AFRNIC).
Когда были изобретены классические адреса IPv4, такие как
«212.78.1.25», к интернету было подключено только несколько тысяч
компьютеров. Тогда человечество и представить не могло, что когда-нибудь к интернету сможет подключиться миллиард устройств. На
сегодняшний день, по мере развития интернета и интернета вещей,
умным автомобилям, холодильникам, термостатам и даже лампам
требуются собственные IP-адреса. Так, нам необходимо подключить к
интернету более миллиарда устройств. Для того чтобы это стало возможным, инженеры разработали интернет-протокол нового поколения под названием «IPv6». 128-битные адреса IPv6 намного длиннее
32-битных адресов IPv4.
Региональные интернет-реестры (RIR) постепенно переходят от
IPv4 к IPv6. Однако этот процесс, вероятнее всего, потребует много
времени, в течение которого IPv4 и IPv6 должны нормально сосуществовать.

4.8. Заключение
IP-уровень позволяет нам осуществлять не единичные переходы (как
на канальном уровне), а серии переходов, что позволяет быстро и
эффективно маршрутизировать пакеты. IP-уровень позволяет оперативно реагировать на сбои сети и решать возникающие проблемы,
таким образом поддерживая построение оптимальных путей маршрутизации для пакетов. К слову, для этого IP-уровню не требуется
информационный центр маршрутизации. Каждый маршрутизатор
исследует свое положение в общей сети и, взаимодействуя со своими
соседями, способствует эффективной маршрутизации пакетов.
IP-уровень не дает нам 100%-ную гарантию доставки пакетов. Они
могут быть потеряны из-за кратковременных разрывов подключения

58

 Глава 4. Продвинутые способы атаки с использованием метода полного...

или различного рода путаниц. Пакеты, которые ваша система отправляет позже, могут найти более быстрый маршрут и прибыть раньше пакетов, которые ваша система отправила раньше.
Если бы IP-уровень был создан таким образом, чтобы он никогда не
терял пакеты, для него стало бы практически невозможным справиться
со всеми сложностями, возникающими при работе с таким количест­
вом устройств.
Для того чтобы решить проблемы IP-уровня, существует другой уровень – транспортный.

4.9. Глоссарий
Магистральный маршрутизатор – маршрутизатор, который пересылает трафик в ядре интернета.
DHCP (Dynamic Host Configuration Protocol) – протокол динамической настройки узла. Протокол, позволяющий портативным устройствам
получать IP-адрес при смене местоположения.
Пограничный маршрутизатор – маршрутизатор, обеспечивающий соединение между локальной и глобальной сетями (то же, что и шлюз).
Идентификатор хоста – часть IP-адреса, которая используется для
идентификации устройства в локальной сети.
IP-адрес – адрес, позволяющий устройству подключаться к глобальной сети и взаимодействовать с другими устройствами, имеющими IP-адреса. Для упрощения маршрутизации в ядре интернета
IP-адреса разбиваются на сетевые номера и идентификаторы хоста.
Примером IP-адреса может быть «212.78.1.25».
NAT (Network Address Translation) – преобразование сетевых адресов.
Механизм, позволяющий использовать глобальный IP-адрес для
множества устройств в одной локальной сети.
Номер сети – часть IP-адреса, используемая для определения локальной сети, к которой подключено устройство.
«Маршрутный вихрь» – сбой, при котором образуется бесконечный
цикл передачи пакетов между некоторым количеством маршрутизаторов. Возникает при сбоях в таблицах маршрутизации.
RIR (Regional Internet Registries) – региональные интернет-реестры.
Реестры, примерно соответствующие пяти существующим на Земле
континентам, определяют IP-адреса для основных географических
зон мира.

4.10. Контрольные вопросы 

59

Таблицы маршрутизации – информация, хранящаяся в каждом маршрутизаторе и позволяющая отслеживать, какой исходящий канал
следует использовать для каждого номера сети.
Время жизни данных (TTL – Time To Live) – значение, содержащееся в
каждом пакете, по мере прохождения пакета через маршрутизаторы уменьшающееся на единицу. Когда TTL достигает нуля, пакет
отбрасывается.
Traceroute – команда, доступная во многих системах Linux/UNIX,
функция которой состоит в приблизительном определении маршрута пакета. В системах Windows может носить название tracert.
«Сеть с двумя соединениями» – сеть, которой характерно наличие как
минимум двух возможных маршрутов между любой парой узлов в
сети. При разрыве одного из соединений в такой сети общее соеди­
нение не будет затронуто.

4.10. Контрольные вопросы
Вы можете пройти этот тест онлайн по адресу http://www.net-intro.com/quiz/.
1. Какова основная функция сетевого уровня?
А. Перемещение пакетов от исходного устройства к конечному
путем нескольких переходов.
Б. Перемещение пакетов через одно физическое соединение.
В. Обработка отказа веб-сервера.
Г. Шифрование конфиденциальных данных.
2. Сколько физических каналов проходит пакет от исходного до конечного устройства?
А.
Б.
В.
Г.

1.
4.
15.
255.

3. Какой из перечисленных ниже вариантов ответов является IPадре­сом?
А.
Б.
В.
Г.

0f:2a:b3:1f:b3:1a.
192.168.3.14.
www.khanacademy.com.
@drchuck.

4. Зачем нужен переход от IPv4 на IPv6?
А. В IPv6 меньше таблицы маршрутизации.

60

 Глава 4. Продвинутые способы атаки с использованием метода полного...

Б. IPv6 сокращает количество необходимых переходов пакета.
В. У человечества заканчиваются адреса IPv4.
Г. Адреса IPv6 – выбор производителей сетевого оборудования
5. Что такое номер сети?
А. Группа IP-адресов с одинаковым префиксом.
Б. GPS-координаты конкретной локальной сети.
В. Количество переходов, которое требуется для прохождения пакета через сеть.
Г. Общая задержка пакетов, проходящих через сеть.
6. Сколько устройств может иметь адрес в сети с номером «218.78.»?
А.
Б.
В.
Г.

650.
6500.
65 000.
650 000.

7. Как маршрутизаторы определяют путь пакета через интернет?
А. Маршруты контролируются IRG (Группа интернет-маршрутизации).
Б. Каждый маршрутизатор просматривает пакет и пересылает его,
основываясь на своем лучшем предположении относительно
нужного исходящего канала.
В. Каждый маршрутизатор отправляет все пакеты по каждому исходящему каналу (алгоритм лавинной рассылки).
Г. Каждый маршрутизатор удерживает пакет до тех пор, пока пакет
не поступит от конечного устройства.
8. Что такое таблица маршрутизации?
А.
Б.
В.
Г.

Список IP-адресов, сопоставленных с адресами каналов.
Список IP-адресов, сопоставленных с координатами GPS.
Список сетевых номеров, сопоставленных с координатами GPS.
Список сетевых номеров, сопоставленных с исходящими каналами от маршрутизатора.

9. Как недавно подключенный к сети маршрутизатор заполняет свои
таблицы маршрутизации?
А. Консультируется с IANA (Управление присвоения номеров интернета).
Б. Скачивает документы маршрутизации RFC (описание протоколов).

4.10. Контрольные вопросы 

61

В. Обращается в Инженерную группу интернета (IETF).
Г. Обращается к соседним маршрутизаторам.
10. Что делает маршрутизатор, когда физический канал выходит из
строя?
А. Удаляет все записи таблицы маршрутизации для данного канала.
Б. Консультируется со службой карт интернета (IMAP).
В. Доменное имя (DNS) ищет IP-адрес.
Г. Отправляет все пакеты для данного канала на исходное устройство.
11. В чем преимущество «сетей с двумя соединениями»?
А.
Б.
В.
Г.

Таблицы маршрутизации намного меньше.
Они устраняют необходимость в сетевых номерах.
Они поддерживают больше IPv4-адресов.
Сеть продолжает работать, даже когда один из каналов выходит из строя.

12. Все ли пакеты одного сообщения проходят через интернет по одному и тому же маршруту?
А. Да.
Б. Нет.
13. Как маршрутизаторы обнаруживают новые маршруты и улучшают свои таблицы маршрутизации?
А. Каждый день в полночь загружают новую карту интернета по
протоколу IMAP.
Б. Периодически запрашивают сетевые таблицы
у соседних маршрутизаторов.
В. Случайным образом отбрасывают пакеты для запуска кода исправления ошибок в интернете.
Г. Конечные устройства получают данные о скорости передачи.
14. Для чего пакету необходимо значение «время жизни»?
А. Чтобы убедиться, что пакеты не попадут в маршрутную петлю.
Б. Чтобы отслеживать, сколько минут требуется пакету для прохождения через сеть.
В. Для поддержания соответствия между номерами сетей и координатами GPS.
Г. Чтобы сообщить маршрутизатору подходящий выходной канал для определенного пакета.

62

 Глава 4. Продвинутые способы атаки с использованием метода полного...

15. Как работает утилита traceroute?
А. Отправляет серию пакетов с низкими значениями TTL, чтобы
получить информацию о том, где отбрасываются пакеты.
Б. Загружает сетевой маршрут из карты интернета (IMAP).
В. Связывается с сервером доменных имен, чтобы получить маршрут для определенного сетевого номера.
Г. Просит маршрутизаторы добавить информацию о маршруте к
пакету, поскольку он направляется от источника к месту назначения.
16. Сколько времени требуется, чтобы пакет пересек Тихий океан по
подводному оптоволоконному кабелю?
А.
Б.
В.
Г.

0,0025 с.
0,025 с.
0,250 с.
2,5 с.

17. Как подключенное к сети Wi-Fi устройство получает IP-адрес?
А.
Б.
В.
Г.

Использует DHCP.
Использует DNS.
Использует HTTP.
Использует IMAP.

18. Какова функция Network Address Translation (NAT)?
А. Ищет IP-адрес, связанный с текстовыми именами, такими как
«www.dr-chuck.com».
Б. Позволяет трафику IPv6 проходить через сети IPv4.
В. Ищет лучший исходящий канал для определенного маршрутизатора и номера сети.
Г. Повторно использует специальные сетевые номера, такие как
«192.168.», на нескольких сетевых шлюзах в разных местах.
19. Как глобально управляются IP-адреса и сетевые номера?
А. Существует пять реестров высшего уровня, которые управляют
номерами сетей в пяти географических регионах.
Б. IP-адреса назначаются во всем мире случайным образом по
принципу лотереи.
В. IP-адреса назначаются производителями сетевого оборудования.
Г. IP-адреса основаны на координатах GPS.

4.10. Контрольные вопросы 

63

20. Насколько IPv6-адреса длиннее, чем IPv4-адреса?
А.
Б.
В.
Г.

Одинакового размера.
Адреса IPv6 на 50 % длиннее, чем адреса IPv4.
Адреса IPv6 вдвое длиннее, чем адреса IPv4.
Адреса IPv6 в 10 раз длиннее, чем адреса IPv4.

21. О чем говорит IP-адрес, начинающийся с «169.»?
А. Ваше подключение к интернету поддерживает протокол многоадресной рассылки.
Б. Шлюз сопоставляет ваш локальный адрес с глобальным адресом с помощью NAT.
В. Не было доступного шлюза для пересылки ваших пакетов в интернет.
Г. Шлюз для данной сети – это низкоскоростной шлюз с небольшим размером окна.
22. Если вы начинаете работу с интернет-провайдером в Польше, какой блок IP-адресов назначит вам региональный интернет-реестр
(RIR)?
А.
Б.
В.
Г.
Д.
Е.

ARIN.
LACNIC.
RIPE NCC.
APNIC.
AFRNIC.
United Nations.

Глава

5
Система доменных имен

Система доменных имен позволяет вам получать доступ к веб-сайтам по их доменному имени (например, www.khanacademy.org). Благодаря
этому вам не нужно вести список числовых IP-адресов (например,
«212.78.1.25»). IP-адрес определяется тем, где ваше устройство подключено к интернету. Когда вы пользуетесь портативным компьютером из разных мест, в каждом новом месте он получает новый
IP-адрес. Поскольку к вашему портативному компьютеру никто не
подключается, не имеет значения, меняется ли ваш IP-адрес время
от времени. Но, например, к веб-серверу подключается очень много
устройств, поэтому было бы неудобно, если бы он перемещался и менял IP-адрес.
Когда ваше устройство подключается к системе, используя адрес
доменного имени, оно ищет IP-адрес, соответствующий данному доменному имени (далее DNS), а затем устанавливает соединение, используя нужный IP-адрес.
Такой подход упрощает процесс перемещения сервера из одного места в другое. Серверу присваивается новый IP-адрес, и данные
адреса домена обновляются. После обновления записи DNS новым запросам на доменное имя дается новый IP-адрес. Поскольку конечные
пользователи получают доступ к большинству серверов с использованием доменных имен и не видят IP-адрес, сервер можно переместить
в новое сетевое соединение, что не повлияет на возможность доступа
конечного пользователя к серверу.

5.1. Распределение доменных имен
В предыдущем разделе мы говорили о том, что IP-адреса назначаются в зависимости от того, где вы подключаете новую сеть
к интернету. Распределение доменных имен определяется правилами организаций, которые «владеют» ими. На вершине ие-

5.1. Распределение доменных имен 

65

рархии владения доменными именами находится организация
под названием Корпорация по управлению доменными именами и
IP-адресами (Internet Corporation for Assigned Network Names and
Numbers – ICANN). ICANN распределяет домены верхнего уровня
(top-level domain – TLD), такие как .com, .edu и .org между другими
организациям. Недавно стал доступен новый набор TLD – .club и
.help.
ICANN также занимается назначением двухбуквенных доменных
имен верхнего уровня, таких как .us, .za, .nl и .jp, странам по всему
миру. Такие доменные имена принято называть Национальными доменами верхнего уровня (country code top-level domain – ccTLD). Также
часто используются TLD второго уровня, например .co.uk для коммерческих организаций в Великобритании. Политика подачи заявок
на доменные имена с любым конкретным ccTLD в разных странах
сильно различается.

Рис. 5.1. Доменные имена
После назначения организации определенного доменного имени
контролирующая организация может назначать поддомены внут­

66



Глава 5. Система доменных имен

ри домена верхнего уровня. Например, домен верхнего уровня .edu
назначен организации Educause. Educause присваивает высшим
учебным заведениям такие домены, как umich.edu. Как только Мичиганский университет получает контроль над umich.edu, он может самостоятельно выбирать поддомены в своем новом домене.
Физические лица могут приобретать доменные имена с .com и .org.
Владельцам таких доменов разрешается управлять своим доменом
и создавать в нем поддомены для собственного или общего пользования.

5.2. Чтение доменных имен
В IP-адресе типа «212.78.1.25» префикс слева представляет собой «номер сети», поэтому в некотором смысле мы читаем IP-адреса слева
направо, где левая часть IP-адреса несет в себе общую информацию, а
правая часть адреса – уточняющую:
212.78.1.25
слева ----> направо.

Доменные имена мы читаем справа налево:
drchuck.personal.si.umich.edu
налево