Вы находитесь на странице: 1из 96

Урок №1

Коммутация в
локальных сетях.
Базовый

Содержание

1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Основы систем счисления и устного счета . . . . . . . . . 6
3. Задачи, возникающие при построении сетей. . . . . . . 16
4. Модель OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5. Классификация сетей. . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Урок 1

Уважаемые студенты!
Мы начинаем изучать новый курс «Коммутация в ло-
кальных сетях, базовый». Этот курс является первым в
большом блоке курсов, которые направлены на изучение
современных сетевых технологий. В процессе изучения
этого блока курсов мы будем активно использовать мате-
риалы авторизованных курсов CCNA и CCNP Академии
Cisco, поэтому сегодня мы также начинаем изучать мате-
риалы авторизованного курса CCNA R&S Introduction to
Networks. Ваш преподаватель предоставит вам доступ к
соответствующему учебному классу на портале netacad.
com.

3
Компьютерная Академия ШАГ

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

4
Урок 1

Это, прежде всего, связано с тем, что ИТ-специалист


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

5
Компьютерная Академия ШАГ

2. Основы систем счисления и


устного счета
Давайте вспомним, как представляются числа в различ-
ных системах счисления и как можно перевести число из
одной системы счисления в другую. Конечно, существу-
ют разные способы перевода некоторого числа из одной
системы счисления в другую — от ручных (на листочке в
столбик), до электронных (на калькуляторе, компьютере).
Однако, оба варианта требуют наличия вспомогательных
средств (авторучка, бумага, калькулятор и т.д.), которые
не всегда доступны или, точнее, не всегда доступны во-
время. А тратить время на поиски листка бумаги или
запуск калькулятора лишь ради перевода некоторого
числа в, скажем, двоичную систему не всегда эффективно.
Гораздо быстрее это можно сделать в уме. Разумеется, речь
не идет о произвольных числах. В большинстве случаев
при изучении различных технологий нам придется иметь
дело с побайтовым представлением информации, поэтому
достаточно научиться переводить числа не произвольной
величины, а лишь в пределах одного байта.
Вам известны основные единицы измерения количества
информации: бит (0 или 1), ниббл (4 бита), байт (2 ниббла
или 8 бит). В некоторых случаях мы встретимся с такой
единицей измерения, как «слово» (word) или «двойное
слово» (double word). Одно слово равно двум байтам, а
двойное слово соответственно четырем байтам (иногда
двойное слово так и называют — четырехбайтовое слово).

6
Урок 1

Нас абсолютно не должны стеснять единицы измере-


ния количества информации. Это не более сложно, чем
измерение веса в граммах или килограммах. Нет никакой
разницы между четырехбайтовым словом и 32 битами.
Однако, как принято в некоторых случаях использовать
выражение веса в граммах, миллиграммах, микрограммах
(например, при дозировке лекарств), а в других случаях в
тоннах, килотоннах, мегатоннах, так и количество инфор-
мации в различных случаях принято измерять в битах,
нибблах, байтах, словах и т.д. в зависимости от объема
информации или от назначения этой информации.
Давайте посмотрим на некоторое число (к примеру
123), представленное в различных системах счисления:

123 десятичное представление, используются цифры 0, 1, 2, 3,


4, 5, 6, 7, 8, 9
01111011 двоичное представления, используются цифры 0 и 1
173 восьмеричное представление, используются цифры 0, 1,
2, 3, 4, 5, 6, 7
78 шеснадцатиричное представление, используются цифры
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Причем, обратите
внимание на то, что в данном случае A, B, C, D, E, F —
именно цифры, написание которых просто похоже на
написание букв, точно так же, как написание буквы З
похоже на написание цифры 3.

Разложим десятичное число 123 на сумму степеней


числа 10 с множителями: 123=1*102+2*101+3*10⁰
Степени числа 10 соответствуют позициям цифр (сами
цифры мы использовали в качестве множителя) в исход-
ном десятичном числе. Позиции цифр нумеруются справа

7
Компьютерная Академия ШАГ

налево, нумерация начинается с нуля. Каждая позиция


цифры называется разрядом. Число 123 — трехразрядное
число.
Теперь разложим двоичное число 01111011 (заметьте,
его длина — один байт или восемь бит) на сумму степеней
числа 2 с множителями:

01111011=0*2⁷+1*2⁶+1*2⁵+1*2⁴+1*23+0*2^2+1*21+1*2⁰

Степени числа 2 соответствуют позициям цифр (сами


цифры мы использовали в качестве множителя) в исходном
двоичном числе. Позиции цифр нумеруются справа нале-
во, нумерация начинается с нуля. Каждая позиция цифры
называется разрядом. Число 01111011 — восьмиразрядное
число.
Разложим восьмеричное число 173 на сумму степеней
числа 8 с множителями: 173=1*82+7*81+3*8⁰
Степени числа 8 соответствуют позициям цифр (сами
цифры мы использовали в качестве множителя) в исходном
восьмеричном числе. Позиции цифр нумеруются справа на-
лево, нумерация начинается с нуля. Каждая позиция цифры
называется разрядом. Число 173 — трехразрядное число.
Разложим шеснадцатиричное число 78 на сумму степеней
числа 16 с множителями: 78=7*161+8*16⁰
Степени числа 16 соответствуют позициям цифр (сами
цифры мы использовали в качестве множителя) в исходном
шестнадцатеричном числе. Позиции цифр нумеруются справа
налево, нумерация начинается с нуля. Каждая позиция циф-
ры называется разрядом. Число 78 — двухразрядное число.

8
Урок 1

Мы с вами будем работать с тремя системами счисления:


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

Номер бита 7 6 5 4 3 2 1 0
Степень числа 2 2⁷ 2⁶ 2⁵ 2⁴ 23 22 21 2⁰
Значение степени 128 64 32 16 8 4 2 1

Теперь достаточно запомнить простое правило пере-


вода из двоичной системы в десятичную. Если в какой-то
позиции значение бита равно 1 (в этом случае еще го-
ворят, что бит «установлен» в данной позиции), то мы
к десятичному значению добавляем значение числа 2 в
степени номера соответствующей позиции.

9
Компьютерная Академия ШАГ

Приведем пример. Необходимо перевести в десятичную


систему число 10110011.
Рассматриваем число слева направо.
В седьмой позиции бит установлен. Десятичное значение
бита в этой позиции равно 128.
В шестой позиции бит не установлен, следовательно, его
десятичное значение равно 0.
В пятой позиции бит установлен. Десятичное значение 32.
В четвертой позиции бит установлен. Десятичное зна-
чение 16. В третьей позиции бит не установлен. Десятич-
ное значение 0. Во второй позиции бит не установлен.
Десятичное значение 0. В первой позиции бит установлен.
Десятичное значение 2.
В нулевой позиции бит установлен. Десятичное значение 1.
Суммируем: 128+0+32+16+0+0+2+1=179.
Второй пример, менее подробно. Двоичное число 11000101.
Соответствующие десятичные значения установленных и
нулевых бит: 128+64+0+0+0+4+0+1=197.
Третий пример. Все биты установлены: 11111111.
Соотве тс твующее десятичное число буде т:
128+64+32+16+8+4+2+1=255, как и следовало ожидать.
Как вы видите, алгоритм перевода байта из двоичной
системы в десятичную очень прост. Однако, необходимо
некоторое количество тренировок, чтобы выполнять этот
перевод, как говорится, «со скоростью записи» — без пауз
на вспоминание десятичного значения разряда и сумми-
рование. Поэтому необходимо выполнение домашних
заданий и практика без использования калькулятора.
Впрочем, это требование относится к практике по любому
переводу чисел между системами счисления.
10
Урок 1

Перейдем к обратной процедуре — переводу чисел из


десятичной системы в двоичную. Сначала этот алгоритм
может показаться более сложным, на самом же деле в
нем тоже нет никаких трудностей, и тоже необходимо
только практиковаться, чтобы довести навыки перевода
до автоматизма.
Как мы знаем, максимальное значение байта равняется
255, а максимальное значение одиночного бита в старшем
разряде — 128. Поэтому нам не придется иметь дела с
чем-то более сложным. Чем выяснением, делится ли чис-
ло, не превышающее 255 на число, не превышающее 128.
Впрочем, давайте перейдем к примерам.
Переведем в двоичный формат число 217.
Сначала определим, будет ли установлен 7-й бит. Если
при делении числа 217 на 128 (десятичное значение уста-
новленного старшего бита) получится ненулевое частное,
следовательно, бит установлен. Поскольку 255 больше,
чем 128, то частное будет ненулевым, и мы записываем,
что 7-й бит равен 1.
Установленный 7-й бит значит, что от числа 217 оста-
лось в остатке после деления 217–128=89.
Проверяем, установлен ли 6-й бит. 89 больше, чем 64
(десятичное значение шестого бита), следовательно, 6-й
бит установлен (равен 1), и в остатке остается 89–64=25.
Проверяем, установлен ли 5-й бит. 25 меньше, чем 32
(десятичное значение пятого бита), следовательно, 5 бит
равен 0.
Проверяем, установлен ли 4-й бит. 25 больше 16 (де-
сятичное значение четвертого бита), следовательно, 4-й
бит равен 1, а в остатке остается 25–16=9.
11
Компьютерная Академия ШАГ

Проверяем, установлен ли 3-й бит. 9 больше 8 (деся-


тичное значение третьего бита), следовательно, 3-й бит
равен 1, а в остатке получаем 1.
Проверяем, установлен ли 2-й бит. 1 меньше, чем 4
(десятичное значение второго бита), значит, второй бит
равен нулю.
Проверяем, установлен ли 1-й бит. 1 меньше, чем 2
(десятичное значение первого бита), значит, 1-й бит ра-
вен нулю.
Проверяем, установлен ли нулевой бит. 1 равно 1 (деся-
тичное значение первого бита), значит, первый бит равен
единице, в остатке имеем ноль, следовательно, перевод
числа закончен и мы можем указать значение двоичного
числа: 11011001.
Рассмотрим второй пример. Переведем в двоичную
систему счисления число 163. 163>128. Значит, 7-й бит
равен 1, в остатке 163-128=35.
35 (остаток)<64. 6-й бит равен 0.
35 (остаток)>32. 5-й бит равен 1. Остаток 35–32=3.
3 (остаток)<16. 4-й бит равен 0.
3 (остаток)<8. 3-й бит равен 0.
3 (остаток)<4. второй бит равен 0.
3>2. первый бит равен 1. Остаток 3–2=1
1 (остаток) равен 1. Нулевой бит равен 1. Остаток 1–1=0 —
перевод закончен, двоичное число равно 10100011
Третий пример. Переведем в двоичную систему счис-
ления число 79. 79<128, 7-й бит — 0.
79>64, 6-й бит — 1, остаток 15.
15<32, 5-й бит — 0.
15<16, 4-й бит — 0.
12
Урок 1

15>8, 3-й бит — 1, остаток 7.


7>4, 2-й бит — 1, остаток 3.
3>2, 1-й бит — 1, остаток 1.
1=1, 0-й бит — 1, остаток 0, перевод закончен, двоич-
ное число 01001111. Поскольку начальные нули можно
отбрасывать, то число записывается как 1001111
Четвертый пример с визуальным представлением ал-
горитма. Переведем число 119.
119<128 0
119>64 1
119–64=55>32 1
55–32=23>16 1
23–16=7<8 0
7>4 1
7–4=3>2 1
3–2=1=1 1
1–1=0 Перевод закончен.
Итог: 01110111=1110111

Переводить числа из шестнадцатиричной системы в


двоичную и обратно намного проще. Для этого нужно
только запомнить следующую таблицу соответствия:

«2» «16» «2» «16» «2» «16» «2» «16»


0000 0 0100 4 1000 8 1100 C
0001 1 0101 5 1001 9 1101 D
0010 2 0110 6 1010 A 1110 E
0011 3 0111 7 1011 B 1111 F

13
Компьютерная Академия ШАГ

Переведем числа из двоичной системы в шестнадцате-


ричную, пользуясь таблицей.
Возьмем число 10110011. Для перевода необходимо
разбить это число на группы по четыре цифры, начиная
справа: 1011 0011. После этого каждую группу записать
в шестнадцатеричном формате, в соответствии с табли-
цей: В3.
Аналогично: 10010010= 1001 0010 = 92; 10001110= 1000
1110 = 8E; 10101101= 1010 1101=AD. Как быть, если коли-
чество цифр не кратно четырем, например: 101101. В этом
случае мы дописываем слева нули так, чтобы разбиение
на группы по четыре стало возможным: 101101=00101101.
Число от этого не изменилось, и получаем 00101101= 0010
1101 = 2D. Еще пример: 10110=00010110= 0001 0110 = 16.
Обратный перевод осуществляется так же просто:
7E=0111 1110=1111110
FF=1111 1111=11111111
C0=1100 0000=11000000 DB=1101 1011 и т.д.
Теперь перейдем к переводу шестнадцатеричных чисел
в десятичные и обратно. Как ни странно, иногда лучшим
способом будет осуществление перевода сначала в двоич-
ную систему счисления, а затем либо в десятичную либо
в шестнадцатеричную, в зависимости от того, в какую
сторону мы выполняем перевод. Если же вы хотите осу-
ществлять эти переводы без использования двоичной
системы счисления, то используйте следующий алгоритм.
Для перевода из десятичной в шестнадцатеричную просто
делите десятичное число на 16, и записываете подряд частное
и остаток в шестнадцатеричном формате (для чисел до 255!):

14
Урок 1

10=(10/16=0, 10 в остатке)=0х0А
37=(37/16=2, 5 в остатке)=0х25
194=(194/16=12, 2 в остатке)=0хС2
255=(255/16=15, 15 в остатке)=0xFF
Для обратного перевода первую шестнадцатеричную
цифру представляете в десятичном формате, умножае-
те ее на 16 и прибавляете следующую, переведенную в
десятичный формат, записывая результат в десятичном
формате:
0хС0=12х16+0=192
0хВЕ=11х16+14=190
и т. д.
Кроме перевода чисел между разными системами счис-
ления, ознакомимся с одним удобным способом прибли-
женного вычисления десятичного значения любой степени
числа 2, пользуясь тем, что приблизительное значение
21⁰=1024~~1000. Теперь становится легко подсчитать, напри-
мер, приблизительное значение 21⁶=21⁰x2⁶~~1000x64=64000.
Аналогично получим 22⁰=21⁰x21⁰~~1000x1000=1000000
(один миллион); 232=22x(21⁰)3~~4x10003=4000000000 (4
миллиарда).

15
Компьютерная Академия ШАГ

3. Задачи, возникающие при


построении сетей
Сейчас, когда мы с вами вспомнили некоторые основы
математики, перейдем непосредственно к сетям. Компьютеры
в классе находятся в сети. Давайте посмотрим вокруг, или
вспомним, как выглядит сеть в классе, и перечислим, из чего
эта сеть состоит. Мы сразу обнаружим кабели, соединяющие
компьютеры с каким-то промежуточным устройством. Далее
увидим, что эти кабели соединяются с компьютерами через
физический интерфейс сетевого адаптера.
Достаточно ли этого, чтобы говорить о наличии работающей
сети? Понятно, что нет, ведь компьютеры, кабели, адаптеры
и прочее оборудование — это всего лишь железо, которое
не обеспечит функционирования сети без операционной
системы, установленной на данных компьютерах. Следо-
вательно, операционная система также является одной из
компонент сети. Все ли это компоненты? Давайте вспомним,
если у нас есть компьютер, на котором установлена только
операционная система, комфортно ли мы себя чувствуем,
например, в сети Интернет? Сразу становится понятным, что
одной операционной системы мало, и что вам нужны ваши
любимые сетевые приложения — кому браузер, кому клиент
электронной почты, а кому и установленная сетевая игра.
Перечислять такие приложения можно долго, но главное
уже понятно: сетевые приложения тоже обеспечивают функ-
ционирование сети наравне с другими ее компонентами.
Зададимся попутно вопросом, какое из решений будет более
16
Урок 1

оптимальным для случаев функционирования приложений


в сети — встраивать функциональность, обеспечивающую
сетевое взаимодействие, в каждое сетевое приложение, или
же обеспечивать эту функциональность с помощью опера-
ционной системы. Ответ очевиден: поскольку операционная
система все равно обеспечивает функционирование аппарат-
ной части компьютера, включая и сетевые компоненты этой
аппаратной части, то намного удобнее и разумнее реализо-
вать сетевые функции один раз в операционной системе, а
разработчикам приложений обеспечить возможность при
необходимости использовать эти функции.
Теперь мы в общих чертах можем представить сетевое
взаимодействие следующим образом: вначале приложение
получает какие-то данные от пользователя и оформляет эти
данные для передачи другим приложениям, затем обращается
к операционной системе и передает ей эти данные. Далее
операционная система обращается к сетевому адаптеру, пе-
редает данные ему, а адаптер, в свою очередь, преобразует их
и передает в сеть. Данные перемещаются по сети, поступают
на сетевой адаптер получателя, преобразуются, передаются
операционной системе, а далее та передает их приложению.
Даже при таком общем описании сетевого взаимодействия
легко заметить, что в нем принимают участие различные
компоненты, и программные и аппаратные, и можно дога-
даться, что задача реализации сетевого взаимодействия очень
сложна: ведь сеть состоит из многих компонент, сложность
которых сама по себе очень высока.
Давайте представим, что перед нами стоит задача соз-
дания технологии, позволяющей создавать компьютерные
сети. Понятно, что постановка задачи в виде: «построить
17
Компьютерная Академия ШАГ

сеть!» не приведет ни к каким результатам. С чего мы


будем начинать? Какие вообще задачи могут встать перед
нами? Начнем с очевидных задач, будем формулировать
их, решать, и двигаться дальше.
Итак, первая задача: соединить компьютеры между
собой какими-то линиями связи для передачи данных.
Какими способами это можно сделать и сколько их. Первая
мысль, которая приходит в голову, — соединить каждый
компьютер с каждым индивидуальной линией связи.
Единственный ли это способ? Конечно, нет, — можно,
например, соединить все компьютеры с одним, централь-
ным, и передавать данные через него. Еще идея — соеди-
нить каждый компьютер с двумя соседями и передавать
данные по кольцу, и так далее. Как мы видим, существует
много вариантов объединения компьютеров в сеть, все
они разные, а значит, у каждого есть свои достоинства и
недостатки. Значит, нужно выяснить, какие это недостатки,
можно ли от них избавиться, существует ли самое лучшее
решение вообще или для какой-то конкретной ситуации.
Задача выбора способа соединения компьютеров в сеть
называется задачей выбора топологии связей.
Под топологией в данном случае нужно понимать кон-
фигурацию графа (многоугольника), в котором вершинам
соответствуют компьютеры, а ребрам — связи между
ними. Проще говоря — план (карта) сетевых соединений.
Итак, попробуем разобраться с различными тополо-
гиями. Очевидно, что самой полной топологией будет та,
которая содержит все возможные связи между компью-
терами (топологии с избыточными связями между двумя
компьютерами рассматривать не будем, это явно лишнее!).
18
Урок 1

Нарисуем условно такую топологию.


Как мы видим, каждая верши-
на соединена с каждой другой
вершиной своим ребром, то
есть, каждая пара компьютеров
соединена отдельной линией
связи. Такая топология называ-
ется полносвязной (англ. —
mesh). Есть ли достоинства у
такой топологии? Несомненно,
есть: эта топология будет максимально надежной. Выход
из строя одной линии связи приведет к нарушению связи
только между двумя компьютерами. А если технология
позволяет задействование транзитных связей, то есть,
передачи данных через промежуточный компьютер, то в
этом случае для нарушения связи с одним компьютером
нужно вообще изолировать его от сети!
Значит ли это, что именно данную топологию следует
использовать для построения сетей? Прежде чем это
утверждать, давайте подумаем о ее недостатках. Какой из
них сразу бросается в глаза? Конечно же, необходимость
огромного количества соединений. Так на нашем рисунке,
на котором изображено шесть
узлов, мы можем насчитать 15
связей! В общем случае коли-
чество связей в этой топологии
можно рассчитать по формуле
N*(N-1)/2, где N — количество
компьютеров. Это значит, что в
сети из ста компьютеров будет
19
Компьютерная Академия ШАГ

существовать 4950 связей, и при этом, чтобы добавить


еще один компьютер, необходимо будет добавить еще
100 линий связи! Можем ли мы теперь рекомендовать
полносвязную топологию для построения сети? Нет, ведь
она совершенно нетехнологична. Во-первых, даже на не-
большую сеть потребуются весьма значительные затраты
на кабель и его прокладку. Во-вторых, даже небольшое
расширение существующей сети будет находиться под
большим вопросом — ведь от каждого нового компьютера
необходимо будет протянуть кабель ко всем остальным.
В-третьих, ни в одном из существующих персональных
компьютеров просто-напросто не хватит слотов рас-
ширения для сетевых адаптеров, чтобы построить даже
небольшую сеть.
Следовательно, для построения сетей полносвязная
топология может быть рекомендована в крайне ограни-
ченном числе случаев.
Рассмотрим следующую топологию. Попытаемся хоть
немного уменьшить недостатки полносвязной топологии,
убрав из нее несколько связей.
Такая топология называется ячеистой (англ. — partial
mesh). Что можно сказать о ней? Очевидно, что избавить-
ся от недостатков полносвязной топологии не удалось,
зато надежность такой топологии снижается тем больше,
чем больше связей мы удалим. Но, возможно, мы просто
слишком рано остановились, когда убирали лишние связи?
Двинемся дальше по пути упрощения топологии и убе-
рем все внутренние связи таким образом, что каждый из
узлов будет соединен только с двумя соседними.

20
Урок 1

Получившаяся топология носит название кольцо


(англ. — ring).
В этой топологии, как мы ви-
дим, намного легче добавлять
новые узлы, каждый новый узел
должен быть соединен всего с
двумя другими. Соответственно,
в этой топологии намного мень-
ше расходы на приобретение и
прокладку кабеля. поскольку
теоретически возможно представить двунаправленное
движение данных по кольцу, эта топология может обладать
некоторой избыточностью и надежностью. Наряду с этими
достоинствами ярко проявляется новый недостаток —
может появиться необходимость одновременной передачи
данных между несколькими узлами, а поскольку линии
связи являются общими (совместно используемыми),
необходимо задуматься о способе, с помощью которого
узлы будут договариваться об очередности передачи
данных и/или избегать их искажения при одновремен-
ной передаче. Разработка способа использования общих
линий связи — является отдельной задачей, называемой
задачей разделения линий связи, и этой задачей мы
уделим внимание после того,
как закончим рассмотрение
различных топологий.
Следующая топология пред-
ставляет собой еще большее
упрощение полносвязной то-
пологии.
21
Компьютерная Академия ШАГ

Как видите, мы удалили еще одну из связей между уз-


лами. Получившаяся топология носит название общая
шина (англ. — bus, иногда называют multi-access).
Достоинствами этой топологии являются минималь-
ный расход кабеля, максимальная легкость подключения
новых узлов, и вследствие всего этого минимальная цена.
К недостаткам ее можно отнести низкую надежность,
отсутствие отказоустойчивости (разрыв сети в любом
месте в лучшем случае приведет к распаду сети на две
части, а в худшем — к неработоспособности всей сети), и
отсутствие возможности осуществления одновременной
передачи данных двумя и более станциями, что также
говорит о необходимости решения задачи разделения
линий связи. Несмотря на эти недостатки эта топология
достаточно долго являлась самой распространенной и
использовалась вплоть до конца прошлого века.
Казалось бы, все топологии исчерпаны? Нет, мы за-
были еще один способ удаления лишних связей. Давайте
попробуем связать все узлы через один транзитный узел.
Получившаяся топология
называется звезда (англ. — star).
Естественно, нужно учесть, что
центр звезды, куда сходятся
лучи, не может быть компью-
тером из-за ограниченного ко-
личества сетевых адаптеров у
обычного ПК. Это должно быть
некое промежуточное сетевое
устройство, которое принимает данные от всех узлов и
передает также всем узлам. Примером такого устройства
22
Урок 1

может служить концентратор — устройство находится


в центре сети и концентрирует в себе соединения всех
узлов. Эта топология отличается максимальной просто-
той подключения новых узлов, естественно, до тех пор,
пока хватает портов для подключения у концентратора.
Надежность этой топологии отчасти выше надежности
общей шины, поскольку выход из строя одной линии
связи приводит к потере связи только с одним узлом.
С другой стороны, у звезды появилась единая «точка
отказа» — концентратор, при выходе из строя которого
выходит из строя вся сеть.
Цена и расход кабеля при использовании этой топологии
также незначительны, хотя и превышают эти же показа-
тели для общей шины. И еще у звезды существует тот же
недостаток, что у общей шины — поскольку концентратор
передает и принимает данные для всех станций, также
возникает проблема разделения линий связи.
Этими топология-
ми исчерпываются все
базовые топологии.
Используя несколько
топологий в одной сети,
мы получим смешанную
или комбинированную топологию. Рассмотрим пример.
Здесь используются три топологии — звезда, шина и
кольцо. Иногда небольшие участки сети строятся с исполь-
зованием различных топологий, а затем соединяются в
одну сеть комбинированной топологии.

23
Компьютерная Академия ШАГ

Еще один пример комбини-


рованной топологии — иерар-
хическая звезда. Пример:
Такая топология получится
в том случае, когда луч звезды
будет заканчиваться не узлом,
а центром следующей звезды в
иерархии — концентратором.
Теперь введем еще одну клас-
сификацию топологий. До сих
пор мы говорили о топологии соединения сетевых устройств
линиями связи. Но вы могли заметить, что топологии ли-
ний связи не всегда соответствуют направлению движе-
ния данных. Так, например, при топологии связей звезда,
реализованной на концентраторе, данные передаются
одновременно на все порты, и их видят все устройства
точно так же, как и при использовании топологии общей
шины. Более того, существует технология (и мы с ней по-
зже познакомимся), в которой при связях в виде звезды
данные движутся по кольцу!
Будем называть топологию, описывающую карту физи-
ческих линий связи и соединения устройств физической
топологией. Топологию же, описывающую движение пото-
ков данных по линиям связи, будем называть логической
топологией. Таким образом, логической топологией будем
называть конфигурацию графа (многоугольника), где вер-
шины соответствуют узлам, а ребра соответствуют путям
передачи данных между узлами.
С этим определением мы можем вышеизложенную ситу-
ацию описать несколько по-другому: в сети с физической
24
Урок 1

топологией звезда используется логическая топология об-


щая шина или кольцо. Может ли существовать физическая
топология кольцо, в которой логическая топология тоже
кольцо? Да, конечно, может. Получается, что возможны
следующие варианты: физическая шина — логическая шина,
физическое кольцо — логическое кольцо, физическая звезда
— логическая шина, физическая звезда — логическое кольцо.
Обратите внимание, что ни в одном из вариантов мы не
встретили логической топологии звезда. Это не случайно:
логической топологии звезда не существует. Возможно,
это вас удивит, но на самом деле все просто и логично,
если вспомнить основы электричества: возможно только
два варианта соединения проводников — параллельное
(реализует общую шину) и последовательное (реализует
кольцо). Все, третьего варианта, который реализовал бы
логическую звезду, просто нет.
Итак, мы уже можем сделать ряд выводов. В качестве
физической топологии при построении сети чаще всего
выбирается звезда, общая шина или кольцо. В качестве
логической топологии может быть выбрана либо звезда,
либо общая шина.
Вспомним общий недостаток всех этих топологий. Этим
недостатком (свойственным, кстати, любой неполносвяз-
ной топологии) является необходимость совместного
использования несколькими станциями общих линий
связи. Представьте себе, что вы находитесь в комнате, где
находится много человек. Если одновременно несколько
человек захотят поговорить, то голоса наложатся друг на
друга и толком никто друг друга не поймет. Такая ситуация
наверняка встречалась в жизни каждого из нас, и каждый
25
Компьютерная Академия ШАГ

из нас наверняка знает способы, как из этой ситуации


выйти, или как ее не допустить. Давайте вместе вспомним
эти способы.
Способ первый, назовем его «культурные люди». В ком-
нате сидит компания культурных и воспитанных людей,
и два человека решают что-то сказать. Вначале каждый
из них определяет, не говорит ли уже кто-нибудь. Если
вокруг тихо, то оба начнут говорить одновременно. Что
при этом произойдет, если люди действительно воспи-
танные? Оба немедленно прервут свою речь, извинятся,
и каким-то способом (кивком, жестом, приглашающим
словом) определят, кто же из двоих продолжит говорить,
а кто подождет, пока не закончит другой.
Способ второй. Предположим, что люди не очень воспи-
танные, либо очень увлекающиеся. В этом случае необходим
какой-то арбитр, который мог бы определять и указывать,
кто может говорить, а остальным не давал бы такой возмож-
ности. Роль этого арбитра очень напоминает роль спикера
парламента, устанавливающего регламент, включающего
и отключающего микрофон, поэтому назовем этот способ
«парламентом».
Третий способ назовем «трубка мира». Представьте себе
группу людей, усевшихся вокруг костра и передающих
по кругу трубку. Каждый, кто взял трубку, имеет право
сделать определенное количество затяжек, и, если хочет
что-то сказать, произнести речь в это время, после чего
обязан передать трубку другому. Остальные говорить в это
время не имеют права — может быть вырыт топор войны.
Если оратор не хочет ничего говорить, он просто передает
трубку следующему по кругу человеку.
26
Урок 1

Это, конечно, не все методы, позже мы поговорим о


других методах разделения среды, а также обсудим их
достоинства и недостатки, но сейчас вам следует знать,
что каждый из указанных методов имеет свою реализа-
цию в сетевых технологиях.
Итак, предположим, две задачи — выбор топологий
и метода разделения среды, — нами решены. Можно ли
на этом остановиться? Конечно же, нет. Мы еще совер-
шенно не обсудили, а как же именно будет передаваться
информация по нашим линиям, соединяющим компью-
теры. Вы знаете, что внутри компьютера информация
представлена в виде последовательности бит. Каким же
образом представить биты в виде электрических сигна-
лов для передачи по линиям связи, все ли здесь просто?
Давайте придумаем какой-нибудь несложный способ
представлния бит и рассмотрим, как будет выглядеть
передача информации с помощью нашего способа.
Итак, давайте выберем самый напрашивающийся ме-
тод кодирования и будем кодировать бит 1 наличием
потенциала в линии связи, а бит 0 — его отсутствием и
изобразим на рисунке, как в таком случае будет выглядеть
последовательность 10101010.

Пока все вроде бы выглядит нормально. Давайте по-


пробуем передать последовательность, состоящую из
одних единиц

27
Компьютерная Академия ШАГ

Видим, что в этом случае остается постоянный высокий


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

И мы видим, что в том случае, если мы будем передавать


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

28
Урок 1

данных вообще? Таким образом, перед нами появляется


еще одна, третья задача — выбор способа кодирования
информации для передачи по линиям связи.
Предположим, что мы решим и эту задачу (мы можем
это предполагать уверенно — мы уже знаем о существо-
вании сетей, которые работают!). Какие трудности нас
могут ожидать в дальнейшем? И снова не странно, что
это трудности, связанные с совместным использова-
нием линий связи. Ведь если линию связи использует
несколько компьютеров, то информация в линии может
быть предназначена любому из них. С помощью чего мы
сможем определить настоящего получателя информации?
С помощью чего можно определить, кому он должен отве-
тить на полученную информацию? К счастью, в обычной
жизни подобная проблема давно решена, и идею этого
решения можно применить в задаче построения сетей.
Необходимо всего лишь разработать какой-то способ
адресации, присвоить адреса отправителям и получателям,
и указывать их в отправляемой информации точно так
же, как указываются адреса в письмах обычной почты.
Кажется, что количество работы растет с каждым новым
шагом решения задачи. Теперь нам требуется определить,
каким же требованиям должны отвечать адреса, которые
мы будем применять в сети. Давайте подумаем, какое
главное и обязательное требование к адресу?
Представьте, что вам отправили почтовый перевод
на крупную сумму. Чего вам меньше всего хотелось бы
в этой ситуации? Вероятно, того, чтобы в вашем городе
существовали еще одна улица, дом, квартира и получа-
тель с точно такими же данными, как ваши. Другими
29
Компьютерная Академия ШАГ

словами, главным и непременным требованием к любому


адресу является его уникальность. Иначе информация и
денежный перевод могут быть доставлены вовсе не тому,
кому следует.
Далее нам следует учесть, что этот адрес будет передавать-
ся по сети вместе с данными. Значит, чем больше места он
займет, тем меньше останется места для данных, и значит,
для увеличения объема передачи полезных данных за еди-
ницу времени нам нужно стремиться к тому, чтобы адреса
были небольшими. Кроме того, небольшие адреса проще
анализировать коммуникационному оборудованию, их ана-
лиз меньше будет загружать их вычислительные мощности
(почтальону проще и быстрее прочитать название города
Киев, чем города Висануккампасит). Поэтому следующим
требованием к адресам будем считать компактность.
Но кроме сетевого оборудования и машин адреса исполь-
зуются и людьми. Какой адрес вам удобней было бы за-
помнить, itstep.org, или 89.184.78.37? Ответ, я думаю, оче-
виден. А значит, сетевой адрес должен иметь удобное для
пользователя представление — в конце концов, это сеть
должна работать для нас, а не мы для нее! Следовательно,
еще одним требованием к адресу будет его удобство для
человека.
Достаточно ли выполнения этих требований? Ну, на са-
мом деле, требование к адресу всего одно — уникальность,
а остальное — не более чем добрые пожелания. Что же еще
можно пожелать от адреса? Давайте представим, что адре-
сом каждого конкретного человека будет являться номер
его паспорта или его ИНН. Уникальные, компактные, хотя
и не очень удобные для запоминания адреса. Вы можете
30
Урок 1

представить, как будет выглядеть доставка корреспонден-


ции по такому адресу? Мне в голову приходит только один
способ — по городам и селам ездят почтовые машины с
громкоговорителями, из которых постоянно доносится:
«владелец паспорта номер такой-то, зайдите на почту, для
вас есть письмо…». Почему так будет происходить? Про-
сто потому, что никто не в состоянии удержать в памяти
соответствие географическое местонахождения адресата
и номер его паспорта! Пусть уж почта работает так, как
сейчас — вначале корреспонденция прибывает в страну,
затем — в город, затем — в почтовое отделение, почтальоны
которого знают, где располагается нужная улица, а на улице
уже легко найти дом, а в доме — квартиру. Возможность
такого поэтапного поиска обеспечивается существованием
иерархии адресов. Мы видим, что для эффективной работы
в сети адреса должны быть иерархическими.
Если мы внимательно рассмотрим изложенные требова-
ния, то станет ясно, что многие из них плохо согласуются
между собой. Так, например, очевидно, что требования
уникальности и компактности могут войти в противоре-
чие: максимально компактный адрес состоит из одного
символа, но сколько может существовать уникальных од-
носимвольных адресов? Та же ситуация с компактностью
и иерархичностью, эти требования тоже могут оказаться
трудновыполнимыми одновременно. Из-за подобных труд-
ностей в сетевых технологиях приходится одновременно
сосуществовать различным адресам, благодаря чему в
той или иной ситуации можно воспользоваться адресом,
отвечающим нужному требованию.

31
Компьютерная Академия ШАГ

Давайте разберем, какие вообще бывают адреса. Начнем


с аппаратных адресов. Как вы уже знаете, в неполносвязных
топологиях, или, как их еще называют, топологиях с раз-
деляемыми линиями связи, сигнал, посланный одной из
станций, будет достигать всех станций в сети. Следова-
тельно, каждая станция в сети должна обладать своим
собственным адресом, и каждая порция отправляемых
данных должна снабжаться адресом получателя для того,
чтобы станция могла определить, кому предназначены
данные, и адресом отправителя для того, чтобы знать,
кому посылать ответ. Для этого каждый сетевой адаптер
имеет свой собственный уникальный адрес, который, как
правило, прошит в его ПЗУ. Аппаратные адреса в привыч-
ной нам сети обычно имеют длину в 6 байт и являются
неструктурированными. При такой длине адреса можно
обеспечить адресацию до 2⁴⁸ устройств (это составит
2⁸x(21⁰)⁴, что примерно равно 256000 миллиардов адре-
сов). На самом деле уникальных адресов будет меньше
(примерно 64000 миллиардов), вследствие того, что для
адресации используется не 48, а 46 бит, а два первых бита
адреса имеют специальное значение, о чем мы поговорим
позже. Эти адреса устанавливаются непосредственно
производителями адаптеров не только для того, чтобы
избежать дублирования, но и для того, чтобы уменьшить
количество ручного труда администратора (на самом деле
аппаратные адреса могут быть изменены вручную, но об
этом позже). При этом уникальность адреса обеспечивается
методом двойного его назначения: часть адреса — первые
3 байта — присваивается централизованно (фактически,
каждому производителю выдается разрешение на исполь-
32
Урок 1

зование определенного диапазона первых трех байт адреса


и данный диапазон может использоваться только этим
производителем), три оставшихся байта присваивается
уникальным образом непосредственно производителем,
таким образом, каждый серийный адаптер получает адрес.
Подсчитаем, какой диапазон адресов может быть назначен
производителям централизованно, с учетом особой роли
первых двух байт адреса: 22⁴ˉ2=222=22x(21⁰)2~4 миллиона
уникальных диапазонов адресов. В то же время каждый
производитель может в каждом выданном диапазоне
выпустить вчетверо больше адаптеров.
Поскольку данные адреса не предназначены для не-
посредственного использования человеком, требования
к удобству формата адреса отсутствуют, и такие адреса
принято записывать в шестнадцатиричном формате с
использованием разделителя, либо без него:
00-0c-76-28-5d-50,
00:0c:76:28:5d:50,
00.0c.76.28.5d.50,
000c.7628.5d.50,
000c76285d50, — это все разные формы записи одного
и того же аппаратного адреса.
Следующая разновидность адресов — числовые состав-
ные адреса, называемые также протокольными адресами.
Может существовать много разновидностей этих адре-
сов, но все эти разновидности имеют общие черты: они
назначаются администратором (тем или иным образом),
обладают уникальностью в сети любого масштаба и об-
ладают структурой (являются иерархическими). Вслед-
ствие этого с помощью этих адресов может быть решена
33
Компьютерная Академия ШАГ

задача, решение которой невозможно с использованием


аппаратных адресов — задача доставки информации в
сложной составной сети. К классу подобных адресов (в
некоторой степени условно) можно отнести телефонные
номера: они обладают уникальностью в телефонной сети,
обладают структурой (код страны — код города — номер
АТС — номер абонента), с помощью которой легко найти
маршрут к любому абоненту.
Эти адреса обычно используются различным програм-
мным обеспечением и, как правило, неудобны для поль-
зователей. Примером подобных адресов в сетях передачи
данных могут являться IP-адреса — 4-хбайтовые адреса,
записываемые, как правило, в десятично-точечной нота-
ции (192.168.1.10, 10.1.0.22 и т. д.). Эти адреса наиболее
широко используются в современных сетях, несмотря на
ряд недостатков. Намного подробнее с этими адресами
мы с вами будем знакомиться в нашем следующем курсе.
И следующий класс адресов — символьные адреса,
иногда называемые символьными именами. Этот класс
адресов был разработан специально для удобства поль-
зователей, поэтому обычно содержит только хорошо чи-
таемые обозначения: буквы, цифры и некоторые другие
символы. Для удовлетворения требованиям удобства
пришлось пожертвовать требованиями компактности —
эти адреса обычно длиннее и аппаратных, и протокольных
адресов. Они могут быть как структурированными (un.
org, www.itstep.org и т.д), так и неструктурированными (\\
printserver, journal и пр.). Поскольку оборудование и ПО
с такими адресами не работают, то обычно требуются до-
полнительные службы, которые помогали бы переводить
34
Урок 1

адреса, удобные для пользователей, в адреса, понятные


компьютерам.
Итак, как мы убедились, задача выбора схемы адресации
также может быть решена различными способами, и при
создании какой-то сетевой технологии и/или построении
сети необходимо будет выбрать способ адресации, опти-
мальный для конкретной ситуации.
Перейдем к следующей задаче построения сетей — задаче
структуризации. Как вы помните, именно необходимость
построения сложных составных сетей явилась причиной
требования иерархичности адресации и введения со-
ставных адресов. Фактически же, структурированность
адресов являлась всего лишь отражением реальной не-
обходимости структурирования сетей. Как и в случае с
топологиями, мы можем говорить о структурировании
логическом и физическом.
Давайте рассмотрим пример физического структури-
рования. Предположим, у нас есть 4 станции, работаю-
щих в топологии «общая шина». На рисунке изображено
(очень схематично) падение уровня сигнала, отправлен-
ного от станции A станции D. На значительном расстоя-
нии уровень сигнала может упасть настолько, что связь
между станциями будет невозможной. Что же делать в
таком случае? Вы прекрасно знаете, что в электронике
давным-давно применяются разнообразные усилители.

35
Компьютерная Академия ШАГ

Поместив устройство, усиливающее сигнал, в том месте,


где он еще остается достаточно качественным, мы можем
добиться увеличения расстояния, на которое передаются
данные. Задача усиления цифрового сигнала облегчает-
ся тем, что он имеет предсказуемую, заранее известную
форму, в отличие от сигнала аналогового, который может
принимать произвольные значения в каком-то заранее
заданном диапазоне. Поскольку аналоговый сигнал может
быть любым, усилитель не может отличить аналоговый
сигнал от шума и усиливает шум вместе с сигналом.
Цифровой же сигнал достаточно обнаружить, а после
этого восстановить его можно с любыми заданными па-
раметрами. Именно поэтому качественные аналоговые
усилители так дорого стоят, и именно благодаря этому
есть возможность создать «усилитель» цифрового сиг-
нала приемлемой стоимости. Такие «усилители» — на
самом деле они выполняют регенерацию сигнала — при-
нято называть повторителями (англ. — repeater). Мно-
гопортовые повторители называют концентраторами
(англ. — hub).

36
Урок 1

Все эти устройства являются средствами физической


структуризации сети.
Давайте представим себе другую ситуацию. Предполо-
жим, что передача ведется от станции A к станции B. В
этом случае повторитель также будет усиливать сигнал в
правую часть сети (эти части сети называются сегмента-
ми), и станции в правом сегменте не смогут в это время
передавать данные, поскольку находятся на одной разде-
ляемой линии связи с левым сегментом. Для увеличения
производительности сети было бы неплохо иметь более
интеллектуальное устройство, которое могло бы опреде-
лять по физическому адресу получателя, в каком сегмен-
те сети он находится, и пересылать регенерированный
сигнал в сегмент только тогда, когда это действительно
необходимо. И такие устройства действительно существу-
ют — это мосты (англ. — bridge). Многопортовые мосты
называются коммутаторами (англ. — switch).
Мы с вами определили целый круг задач при постро-
ении аппаратной части сети и перейдем к задачам, тре-
бующим программной реализации. Давайте перечислим
самые очевидные:

37
Компьютерная Академия ШАГ

1. На одном сетевом компьютере может работать одно-


временно несколько сетевых приложений. Каким образом
ПО будет узнавать, какому из приложений предназначены
пришедшие по сети данные?
2. Между одними и теми же приложениями могут
пересылаться данные разных типов (текстовое письмо
в электронной почте и фотография в этом письме). Как
правильно интерпретировать полученные данные и от-
личить их друг от друга?
3. Сеть состоит из многих устройств и зависит от ра-
боты поддерживающей структуры — электропитания,
заземления, и пр. Любой из компонентов может выйти
из строя и передающиеся в это время данные могут быть
потеряны. Как бороться с потерей данный и обеспечить
все же их доставку?
4. Все эти функции и многие другие могут быть реа-
лизованы как в непосредственно в приложении, так и в
операционной системе, которая обеспечит выполнение
этих функций для приложений. Как это лучше сделать и
как именно организовать?
Это далеко не полный круг задач, возникающих при
проектировании сетевых технологий. Мы убедились,
что задача сетевого взаимодействия состоит из многих
сложных компонент.

38
Урок 1

4. Модель OSI
В начале развития сетевых технологий каждый про-
изводитель подходил к решению задач создания техно-
логии самостоятельно, и эти решения были полностью
проприетарными (закрытыми для свободного исполь-
зования), основанными на корпоративных стандартах
производителей: IBM, Decnet, и пр. В то время многие сети
были вынужденно привязаны к оборудованию одного
производителя, поскольку устройства разных произво-
дителей не могли общаться между собой.
Возникла идея создать некую общую модель, которой
могли бы пользоваться все сетевые специалисты, и кото-
рая позволила бы разрабатывать взаимно совместимое
программное обеспечение и оборудование.
Кроме того, было решено разбить общую задачу на
части таким образом, чтобы изменения в каждую часть
можно было вносить независимо от других частей.
Такой принцип — разбиение задачи на более мелкие
независимые части для облегчения ее решения, носит
название «декомпозиции». Как именно лучше осуще-
ствлять декомпозицию, на основании каких признаков
ее проводить?
Давайте для начала попробуем разделить нашу сеть
по признаку реализации функций на две части — про-
граммную и аппаратную, и подумаем, какую пользу это
может нам принести.

39
Компьютерная Академия ШАГ

ПО
Оборудование

Ответ достаточно очевиден — если мы сможем создать


и сохранить неизменным способ взаимодействия этих
двух частей (уровней), то вносить изменения на каждый
уровень можно будет, не затрагивая другие уровни. А это,
в свою очередь, значит, что разработчики программного
обеспечения и производители сетевого оборудования
могут работать независимо друг от друга: ведь если и тем
и другим известны правила взаимодействия уровней, то
главное — придерживаться этих правил. Удобство оче-
видно: если будет существовать общепринятая модель
сети, которой будут придерживаться все специалисты,
создание новых сетевых технологий и решение проблем
значительно упростится.
Достаточно ли двух уровней для проведения удобной
декомпозиции? Подумав, мы поймем, что нет, — на каж-
дом уровне все еще слишком много взаимодействующих
компонент и слишком много задач. Так, например, на про-
граммном уровне существуют как операционная система,
так и приложения. И тут же возникает вопрос — а как
лучше организовать сетевые взаимодействия приложе-
ний? Должно ли каждое приложение иметь свой сетевой
модуль, или лучше реализовать этот модуль один раз в
операционной системе? Понятно, что если мы реализу-
ем модуль единожды в самой операционной системе, то
разработчику прикладных программ нет необходимости
реализовывать его функции самостоятельно, в приклад-
40
Урок 1

ной программе, и он может сосредоточиться на решении


конкретной прикладной задачи. Так мы приходим к выво-
ду, что добавление еще одного уровня облегчит задачу
создания технологии.
На сколько же уровней необходимо разбить задачу
чтобы осуществить эффективную декомпозицию?
Для ответа на этот вопрос в 1978 году Международная
Организация по Стандартизации (ISO — International
Organization for Standardization) приступила к созданию
эталонной модели OSI — Open System Interconnection.
Специалистами ISO была создана универсальная обще-
принятая модель сетевого взаимодействия, которая позво-
ляет сетевым специалистам всего мира разговаривать на
одном языке (документацию и стандарты, описывающие
модель OSI можно бесплатно загрузить с http://www.itu.
int/rec/T-REC-X/en как часть рекомендаций X.200).
Данная модель является абстрактной моделью, и как
всякая новая абстрактная модель может оставаться
непонятной до тех пор, пока не наполнена примерами
применения. Вас это не должно беспокоить, освоение
модели OSI — общего «языка» сетевых специалистов,
как и изучение всякого иностранного языка, происходит
постепенно, и по мере того, как описанные абстракции
будут наполняться конкретным содержанием, вы и сами
не заметите, как использование модели станет для вас
привычным и естественным.

41
Компьютерная Академия ШАГ

Модель OSI состоит из семи уровней:

Уровни нумеруются снизу вверх, с первого по седьмой,


и носят следующие названия: Layer 7: Application Layer
Layer 6: Presentation Layer Layer 5: Session Layer Layer 4:
Transport Layer Layer 3: Network Layer Layer 2: Data Link
Layer Layer 1: Physical Layer
Соответствующие русские названия выглядят следую-
щим образом: Уровень 7: Прикладной
Уровень 6: Представительский
Уровень 5: Сеансовый
Уровень 4: Транспортный
Уровень 3: Сетевой
Уровень 2: Канальный
Уровень 1: Физический

42
Урок 1

В литературе по сетям вы сможете увидеть другие русские


названия, так, например, 7-й уровень может называться уров-
нем приложений, 6-й — уровнем представлений. Не стоит
задумываться, какой из вариантов правильный, это всего
лишь проблема корректного перевода, и главное, чтобы вы
сами понимали, о чем идет речь. Поэтому на вопрос «а как
правильно» смело отвечайте: «а правильно — по-английски»
Следует заметить, что изначально количество уровней
определено не было, просто в ходе разработки модели
оказалось, что семь будет наиболее подходящим числом.
Принципы, используемые при определении уровней в
модели, были следующими:
а) Не создавать слишком много уровней, поскольку это
делает задачи описания и интеграции уровней сложнее,
чем это необходимо.
б) Создавать границу между уровнями в точке, где опи-
сание служб может быть кратким, а число взаимодействий
через границу между уровнями сведено к минимуму.
в) Создавать отдельные уровни для обработки функ-
ций, явно различающихся между собой по участию в
обеспечении процесса или применяемым технологиям.
г) Собирать аналогичные функции на одном уровне.
д) Осуществлять выбор границы между уровнями в
точке, которая, как показал предыдущий опыт, ранее
была выбрана успешно.
е) Создавать уровень для легко локализуемых функций,
с тем, чтобы уровень мог быть полностью переработан,
и его протоколы могли быть полностью изменены при
желании воспользоваться преимуществами новых дости-
жений в области архитектуры, аппаратных средств или
43
Компьютерная Академия ШАГ

программного обеспечения технологии, без изменения


служб, предоставляемых прилегающими уровнями.
ж) Создавать границы между уровнями там, где может
оказаться полезным в какой-то момент времени иметь
соответствующий стандартизированный интерфейс.
(См. ITU-T Recommendation X. 200; INFORMATION
TECHNOLOGY — OPEN SYSTEMS INTERCONNECTION
— BASIC REFERENCE MODEL: THE BASIC MODEL)
На самом деле количество уровней могло оказаться
как меньшим (в дальнейшем вы познакомитесь с такими
моделями), так и большим, как вы позже увидите в рамках
рассматриваемой модели.

Подробно рассмотрим функции каждого уровня.


По определению ITU-T, физический уровень прозрач-
ным образом обеспечивает передачу потока бит между
сущностями (объектами) канального уровня через фи-
зические соединения («The Physical Layer provides for the
transparent transmission of bit streams between data-link-
entities across physical-connections»)
Физический уровень определяет электрические и фи-
зические спецификации устройств и отвечает за передачу
сигналов в линии связи, их прием и преобразование в
биты данных. К этому уровню относятся физические
характеристики среды передачи данных, способы пре-
образования бит данных в сигналы и обратно, определя-
ются электрические параметры сигналов, механические
и электрические требования к разъемам и т.д.

44
Урок 1

Это легче будет понять, если в качестве систем, обме-


нивающихся данными, мы представим двух беседующих
людей. Что будет иметь отношение к физическому уровню?
Громкость голоса, тембр голоса, передатчик-генератор
сигнала — голосовые связки, приемник-преобразователь
— барабанные перепонки. Среда передачи сигнала —
воздух, сигнал — звуковая волна, распространяющаяся
в среде передачи данных, представляющая изменения
громкости и тембра голоса.
Другой пример — обмен письменной информацией.
Среда передачи данных — бумага или доска, сигнал —
изменение яркости носителя, благодаря нанесенной краске.
Давайте представим, что одну и ту же информацию пе-
редают двумя разными способами — письменно и устно.
Будет ли ее содержание отличаться в зависимости от того,
как она передана? Естественно, нет — физический уровень
не связан с характером передаваемой информации и его
работа совершенно не зависит от передаваемых данных.
Теперь зададимся вопросом — достаточно ли ТОЛЬКО
физического уровня для организации успешного обмена
данными? Очевидно, нет. Представьте себе ситуацию, когда
в комнате находится несколько человек, и каждый из них
хочет вести диалог с кем-то другим из присутствующих.
Что получится в результате? Только шум, не содержащий
практически никаких полезных данных. Эта ситуация
вам знакома, с задачей совместного использования раз-
деляемой среды передачи данных («разделением среды»)
вы должны были ознакомиться ранее: вспомните методы
разделения среды «культурные люди», «парламент» и
«трубка мира».
45
Компьютерная Академия ШАГ

Кроме того, даже если говорить будет только один че-


ловек, то можно ли только на основании сигнала (изме-
нения громкости и тембра голоса) определить, к кому он
обращается, для кого передает информацию? Конечно
же, нет. Задача адресации сообщений также решается
путем снабжения каждой порции отправляемых данных
адресом т. н. «аппаратным адресом».
Далее, мы знаем, что естественный язык обладает
избыточностью: небольшие (а часто и значительные)
искажения информации не мешают ее правильному пони-
манию, так, например, каждый из нас наверняка когда-то
разговаривал с человеком, имеющим какие-то дефекты
речи — заикание или картавость, но это не мешало собе-
седникам правильно понять друг друга. Возможно, если
эти искажения были слишком сильными, иногда прихо-
дилось повторять сообщение не один раз. При сетевом
обмене данными подобная ситуация невозможна без
дополнительных мер — поскольку обмен данными в виде
последовательности бит не обеспечивает избыточности
автоматически, порции данных необходимо снабжать
какой-то дополнительной информацией, позволяющей
убедиться в правильности принятых данных.
В естественных языках, в случае использования род-
ного языка, также нет необходимости в каком-то особом
выделении отдельных слов в предложениях, вы вычленяете
отдельные слова автоматически, благодаря выработавшейся
с детства привычке. Но представьте себе, что вы слышите
быструю речь на незнакомом или плохо знакомом вам
иностранном языке. В этом случае вы сможете различить
отдельные слова, только если говорящий намеренно бу-
46
Урок 1

дет выделять их интонацией или паузами. Точно так же,


в предложении незнакомой вам иностранной речи, даже
записанной известным алфавитом, вы сможете распознать
отдельные слова, только если они разделены пробелами.
Аналогичная ситуация и в обмене данными по сети — ни
один бит, начинающий или заканчивающий блок данных,
невозможно отличить от бита данных, находящегося
внутри этого блока, а значит, если не предпринять спе-
циальных мер, правильно интерпретировать принятые
биты данных будет невозможно.
Решение всех вышеперечисленных задач возложено на
канальный уровень.
Канальный уровень обеспечивает выполнение мно-
жества функций. К ним относятся способ получения
доступа к разделяемой линии связи, оформление потока
байт в блоки данных для передачи, адресацию в линии
связи, проверку целостности данных, путем снабжения
блока данных дополнительной информацией и еще ряд
важных функций, которые обязательно будут подробно
рассмотрены в дальнейшем.
Согласно стандарту ITU-T, канальный уровень обеспе-
чивает функциональные и процедурные средства для
передачи блоков данных канального уровня между сущ-
ностями (объектами) сетевого уровня как в режиме без
установления соединения (дейтаграммном), так и в режиме
с установлением соединения, в котором он реализует функ-
ции установления, обслуживания и разрыва соединений.
При этом соединение канального уровня может быть ре-
ализовано с использованием как одного, так и нескольких
физических соединений. («The Data Link Layer provides
47
Компьютерная Академия ШАГ

functional and procedural means for connectionless-mode


among network-entities, and for connection-mode for the
establishment, maintenance, and release data-link-connections
among network- entities and for the transfer of data-link-service-
data-units. A data-link-connection is built upon one or several
physical-connections»)
Теперь мы можем прийти к предварительному выводу:
создание работающей сети возможно с использованием
первых двух уровней модели, канального и физического.
Но для такой сети будет существовать ряд ограничений.
Так, например, с использованием только этих уровней
невозможно создать сеть произвольного или даже просто
большого масштаба: возвращаясь к примеру с беседой
людей в большой компании, представьте беседу несколь-
ких десятков тысяч человек с использованием любого из
известных вам способов доступа. Кроме того, вспомните,
что аппаратные адреса являются плоскими, неструктури-
рованными, и представьте себе задачу поиска получателя
в этой толпе по его, например, ИНН или номеру паспорта,
которые также являются примерами неструктурирован-
ных адресов.
Другими словами, с использованием двух нижних уровней
возможно обеспечить функционирование только неболь-
ших, ограниченных по размеру сетей, и для больших сетей,
а тем более для сетей произвольного размера необходимо
функционирование верхних уровней модели OSI.
Сетевой уровень позволяет объединить небольшие
сети, построенные с использованием только физического и
канального уровня в сложную составную сеть произволь-
ного масштаба.
48
Урок 1

Адреса сетевого уровня в отличие от аппаратных ад-


ресов являются структурированными иерархическими
адресами. Это свойство сетевых адресов позволяет ад-
ресовать не отдельные хосты, а объекты, являющиеся
объединением множества хостов — сети.
Работу сетевого уровня можно проиллюстрировать
на примере обычной почтовой службы, доставляющей
получателям посылки, письма, открытки и телеграм-
мы. Давайте вспомним, как выглядит почтовый адрес.
Его составляющими являются: название страны —
город — улица — дом — квартира — имя получателя.
Здесь ясно прослеживается структура и иерархия. Каж-
дому почтальону, осуществляющему доставку, вовсе нет
необходимости представлять полный маршрут следова-
ния корреспонденции к получателю, так как на каждом
уровне иерархии достаточно знать просто следующий
пункт назначения письма. Для доставки письма из США
на Украину возможна следующая процедура: работники
почтовой службы определяют, транспортное средство, сле-
дующее на Украину, и помещают туда письмо. В процессе
доставки письмо может сменить несколько транспортных
средств автомобиль, самолет, железнодорожный вагон.
Эта смена транспортных средств хорошо иллюстриру-
ет возможность использования различных технологий
канального уровня (автомобиль — самолет — вагон)
при доставке информации в составной сети, при том,
что «сетевой адрес» получателя остается неизменным.
По прибытию на Украину письма сортируются, и наше
письмо помещают в транспортное средство, следующее в
Донецк. В донецком главпочтамте письмо будет помеще-
49
Компьютерная Академия ШАГ

но в багаж, который следует передать в соответствующее


почтовое отделение, обслуживающее нужную улицу. И
почтальон этого отделения доставит письмо на проспект
Мира, 8, 5-й этаж — в филиал нашей академии.
Таким образом, мы определили функции сетевого уровня
в сложной составной сети — адресация и маршрутизация
(определение маршрута следования блока данных).
По определению ITU-T, сетевой уровень обеспечивает
процедурные и функциональные средства для передачи
данных между сущностями (объектами) транспортного
уровня как в режиме без установления соединения, так и
в режиме с установлением соединения, обеспечивая таким
образом независимость сущностей транспортного уровня
от способов и условий маршрутизации и доставки данных.
(«The Network Layer provides the functional and procedural
means for connectionless-mode or connection mode transmission
among transport-entities and, therefore, provides to the transport-
entities independence of routing and relay considerations»).
Кроме того, сетевой уровень обеспечивает средства для
установления, обслуживания и разрыва сетевых соединений
между открытыми системами, включающими сущности
уровня приложений, и функциональные и процедурные
средства для обмена блоками данных сетевого уровня меж-
ду сущностями транспортного уровня через соединения
сетевого уровня. («The Network Layer provides the means
to establish, maintain, and terminate network-connections
between open systems containing communicating application-
entities and the functional and procedural means to exchange
network-service-data-units between transport-entities over
network-connections»)
50
Урок 1

Три вышеописанных уровня — физический, каналь-


ный и сетевой классифицируют как «сетезависимые»,
поскольку именно эти три уровня обеспечивают работу
сети и передачу данных.
Итак, теперь мы с вами видим, что для построения сети
произвольного масштаба необходимо использовать три
нижних уровня модели OSI — физический, канальный
и сетевой. Зададимся вопросом — а ДОСТАТОЧНО ли
использования только этих трех уровней для построения
эффективно функционирующей сети? Если мы обратим
внимание на то, что сеть произвольного масштаба может
содержать произвольное число компонент (это число
не является бесконечным, но на практике может быть
действительно очень большим), и вспомним о том, что
чем большее число составляющих содержит система, то
тем больше вероятность выхода из строя какого либо ее
компонента, то поймем, что без дополнительных средств
обеспечения надежности в большой сети нам не обойтись.
В самом деле, ведь достаточно выйти из строя какому-либо
сетевому устройству, либо одному из физических каналов
связи, как сразу же возникает вероятность потери данных.
Для того чтобы бороться с последствиями потери данных
при передаче, обеспечивать надежную доставку данных
и был введен в модель транспортный уровень.
Понятно, что никакой гарантии сохранности какого-либо
блока данных по пути следования просто не может быть —
случившаяся неисправность либо авария приведут к потере
тех данных, которые в это время пересекали поврежден-
ный компонент сети. Но это не является катастрофой:
ведь данные на самом деле не пропали, и отправитель
51
Компьютерная Академия ШАГ

может повторять их отправку до тех пор, пока данные


не попадут к получателю. Вот здесь и возникает вопрос
— каким образом отправитель узнает о том, что данные
пришли к получателю? Ведь бессмысленно повторять пе-
редачу данных бесконечно! Опять обратимся к привычной
аналогии — службе доставки корреспонденции. Если мы
представим, что нам необходимо, чтобы крайне важная
информация была доставлена письмом абоненту, то у нас
будет единственный способ убедиться в том, что письмо
не затерялось по дороге — воспользоваться доставкой
с уведомлением о вручении. Уведомление представляет
собой открытку, прикрепляющуюся к письму, в которой
получатель должен расписаться при получении письма и
отправить обратно нам — отправителю, с помощью той
же почтовой службы. Получив уведомление с подписью
нашего получателя, мы убеждаемся, что наше письмо
было доставлено благополучно.
Такой же способ используется транспортным уровнем — на
определенную порцию данных следует подтверждение от
получателя. Это подтверждение называется квитанцией,
а сам метод — методом положительного квитирования
(положительного, поскольку подтверждает положитель-
ный результат доставки).
Теперь давайте представим, что на отправленную по-
рцию данных квитанция нами не получена. В результате
чего такое может произойти? Вернемся к аналогии с по-
чтовой службой. Вы отправили письмо и ждете уведом-
ление о получении. Когда вы начнете беспокоиться о его
отсутствии? Если вы приблизительно представляете себе,
сколько времени занимает доставка корреспонденции в
52
Урок 1

одном направлении, вы умножите это число дней на два,


добавите на всякий случай один-два дня на отсутствие
адресата на месте, добавите выходные дни, и когда этот
срок подойдет к концу, вы можете предполагать что: а)
потерялось письмо; б) потерялось уведомление. Каковы
будут ваши действия в одном и другом случае? На самом
деле, поскольку получить два одинаковых письма луч-
ше, чем не получить ни одного, действие должно быть
одно — повторная отправка письма. Хотя эта отправка и
вызовет дополнительную нагрузку на почтовую службу,
она обеспечит повышение вероятности доставки письма.
Практически так же выглядит работа транспортного
уровня и при доставке данных по сети. Порции данных
при отправке определенным образом нумеруются сис-
темой-отправителем, и система-получатель, получив ка-
кую-либо порцию данных, должна подтвердить получение
квитанцией. Следует учесть, что реализация надежной
доставки путем повторной отправки не является обяза-
тельной, а для ряда технологий и просто противопоказана.
Более того, даже при использовании надежной доставки,
далеко не все пакеты подтверждаются: так, например,
никогда не подтверждается получение квитанций (по-
думайте, почему?).
ITU-T определяет транспортный уровень как уровень,
прозрачным образом обеспечивающий передачу данных
между сущностями сеансового уровня, освобождая сеан-
совый уровень от проблем, связанных с необходимостью
достижения надежной и эффективной передачи данных.
(«The transport-service provides transparent transfer of data
between session-entities and relieves them from any concern
53
Компьютерная Академия ШАГ

with the detailed way in which reliable and cost effective


transfer of data is achieved»)
Транспортный уровень классифицируется по-разному.
Иногда его относят к сетезависимым уровням, поскольку
он тоже непосредственно связан с передачей данных по
сети, однако такой подход, на наш взгляд плох, иногда
выделяют в отдельную классификацию, не относя ни к
сетезависимым уровням, ни к вышележащим прикладным,
и представляя, таким образом, в виде некоей прослойки,
обеспечивающей для прикладных уровней возможность
надежной передачи данных по сетезависимым уровням,
этот взгляд куда более правильный.
Уровни, лежащие над транспортным уровнем, называ-
ются прикладными уровнями. Эти уровни обеспечивают
работу приложений на хостах. Сразу над транспортным
уровнем находится сеансовый уровень.
Сеансовый уровень используется для организации
логических соединений между приложениями, взаимо-
действующими по сети. Проще всего представить его
работу в аналогии с обычным телефонным разговором.
Вспомните эту процедуру — вы набираете номер, не-
которое время слушаете гудки. После чего происходит
соединение. В этот момент уже существует канал для
отправки данных на физическом, канальном и сетевом
уровне, то есть, уже можно отправлять информацию, то
есть — говорить. Начинаете ли вы немедленно излагать
информацию, сразу же после снятия трубки вашим або-
нентом? Конечно же — нет, в абсолютном большинстве
случаев. Что вы произносите сразу после соединения?
Верно, как правило, большинство говорит просто «алло».
54
Урок 1

Несет это слово какую-то информационную нагрузку,


относящуюся к сути разговора? Естественно нет, факти-
чески, «алло» служит только целям тестирования качества
связи, определения параметров линии — достаточно ли
качество связи для эффективного обмена информацией.
Услышав «алло» с другой стороны и убедившись в том,
что и вы хорошо слышите собеседника, и вас слышат
разборчиво, вы приступаете ко следующему этапу — вы
представляетесь и интересуетесь, кто с вами разговаривает
на другой стороне линии. Это вполне резонно — ведь, как
правило, вы хотите передать информацию конкретному
человеку, а не любому, кто взял трубку. Вы находите
нужного абонента и только затем приступаете к беседе.
Затем, закончив разговор, прощаетесь, и только затем
разрываете физическое соединение — кладете трубку.
Фактически, здесь мы перечислили функции сеансового
уровня: определение параметров логического соединения,
установление логического соединения, обслуживание
логического соединения, разрыв логического соединения.
Иногда говорят, что сеансовый уровень обеспечивает
управление диалогом.
ITU-T определяет функции сеансового уровня следующим
образом: целью сеансового уровня является предоставление
средств, необходимых для организации взаимодействия
сущностей уровня представлений, синхронизации их
диалога и управления обменом данными. Для этого се-
ансовый уровень обеспечивает сервис по установлению
сеансовых соединений между двумя сущностями уровня
представлений, поддержке упорядоченного обмена дан-
ными и разрыва сеансовых соединений упорядоченным
55
Компьютерная Академия ШАГ

образом. («The purpose of the Session Layer is to provide


the means necessary for cooperating presentation-entities to
organize and to synchronize their dialogue and to manage their
data exchange. To do this, the Session Layer provides services
to establish a session- connection between two presentation-
entities, to support orderly data exchange interactions, and to
release the connection in an orderly manner»)
Над сеансовым уровнем лежит уровень представлений,
иногда называемый представительским уровнем.
Уровень представлений обеспечивает согласование фор-
матов данных, передаваемых между сущностями уровня
приложений. Он освобождает сущности уровня приложе-
ний от необходимости самостоятельно решать проблемы,
связанные с общим представлением информации, предо-
ставляя, таким образом, синтаксическую независимость.
Смысл работы уровня представлений можно объяс-
нить на следующем примере. Предположим, что у вас есть
множество знакомых, каждый из которых знает какой-то
иностранный язык, причем все ваши знакомые, вместе
взятые, знают все иностранные языки. Казалось бы, в
этом случае, у вас не может возникнуть никаких проблем с
переводом иностранной корреспонденции. Но представь-
те, что вы получили письмо, написанное на совершенно
неизвестном вам языке, и вы даже не имеете представления,
что это за язык. К кому вы обратитесь за помощью в пере-
воде? Единственным выходом будет копирование письма
и раздача этих копий всем вашим знакомым лингвистам.
Но если на самом письме имеется информация о языке,
на котором оно написано, вы сразу будете знать, к кому
обращаться.
56
Урок 1

Определение уровня представлений, содержащееся


в описании ITU-T следующее: уровень представлений
обеспечивает представление информации, которой об-
мениваются сущности уровня приложений, либо на ко-
торую они ссылаются в процессе взаимодействия («The
Presentation Layer provides for the representation of information
that application-entities either communicate or refer to in
their communication»)
Верхний, седьмой уровень модели OSI называется
уровнем приложений (прикладным уровнем). Этот уро-
вень обеспечивает прикладным процессам доступ к среде
OSI для обеспечения взаимодействия процессов при
решении совместных задач. В частности, в его задачу
входит установление связи между взаимодействующими
процессами приложений, согласование контекста прило-
жений, определяющего единые для взаимодействующих
объектов условия взаимосвязи. Также он предоставляет
прикладным процессам сетевые сервисы общего назначе-
ния (электронная почта, передача файлов, веб-браузинг).
Следует понимать, что уровень приложений — это не
уровень, на котором работают приложения, это уровень,
на котором они взаимодействуют.
Уровень приложений ITU-T определяет следующим
образом: в качестве самого верхнего уровня модели OSI
уровень приложений обеспечивает для прикладного про-
цесса единственную возможность получения доступа к
среде OSI. Таким образом, уровень приложений не имеет
границы с более высоким уровнем. («As the highest layer
in the Reference Model of Open Systems Interconnection, the
Application Layer provides the sole means for the application
57
Компьютерная Академия ШАГ

process to access the OSIE. Hence the Application Layer has


no boundary with a higher layer»)
(В данном контексте термин «среда OSI» определяется
как абстрактное представление набора понятий, элемен-
тов, функций, обслуживания, протоколов, и т.д., как они
определены в эталонной модели OSI, и определенными
результирующими стандартами, которые, будучи при-
мененными, делают возможным взаимодействие между
открытыми системами)
Сейчас интересно сравнить модель OSI с двухуровневой
(аппаратный уровень — программный уровень) моделью,
рассмотренной нами перед этим. В самом деле, от того,
что появилась новая модель, старая никоим образом не
перестанет существовать, тем более что разделение функ-
ций на программные и аппаратные реализации является
объективным и достаточно четко очерченным. С верх-
ним уровнем — приложений — дело обстоит достаточно
просто. Понятно, что он реализован программно, — ведь
приложения, взаимодействие между которыми уровень
определяет, и являются программами. Также очевидно, что
реализация физического уровня — аппаратная. Вопрос в
том, где же именно проходит граница между аппаратными
и физическими уровнями в модели OSI? Каких уровней
больше — реализованных аппаратно или программно?
Скорее всего, если функции уровня достаточно сложны и
многообразны, то реализация уровня будет программной.
Если же на уровне реализовано выполнение ряда простых
стандартных функций, то, вероятно, его реализация будет
аппаратной. Конечно, это предположение не может слу-
жить каким-либо четким критерием, но, по крайней мере,
58
Урок 1

позволяет понять, что в модели OSI, как и в нашей преды-


дущей двухуровневой модели, программно реализованные
уровни находятся над аппаратно реализованными, то есть,
верхние и нижние уровни разных моделей совпадают. И в
самом деле, в модели OSI пять верхних уровней относят-
ся к уровням, реализованным программно, и считается,
что два нижних уровня реализованы аппаратно. Хотя в
некоторых источниках вы можете найти информацию о
том, что канальный уровень реализуется отчасти аппа-
ратно, отчасти программно, это, скорей всего, связано
с терминологическими тонкостями — в самом деле, на
вопрос о том, относится ли драйвер устройства, обеспе-
чивающего реализацию функции канального уровня, к
программам, сложно ответить однозначно. То есть, стоит
все же считать реализацию функций канального уровня
аппаратной, понимая при этом, что именно имеют в виду
те источники, которые говорят о смешанной реализации.
Также и третий (сетевой) уровень во-многом реализуется
аппаратно в современном оборудовании, впрочем более
детально сейчас об этом говорить пока рано.
Теперь, когда мы с вами ознакомились с моделью OSI, мы
можем попробовать разобраться, что именно происходит
с информацией при ее передаче в рамках данной модели.
Для упрощения понимания опять воспользуемся ме-
тодом аналогий. Конечно, наша модель взаимодействия
будет в значительной степени условной, но описание
основных процессов в этой модели поможет нам понять
главные принципы передачи информации.
Итак, давайте в качестве взаимодействующих систем
выберем две организации. Одна из организаций — про-
59
Компьютерная Академия ШАГ

ектный институт, проектирующий оборудование по за-


казу (будем называть эту организацию Подрядчиком),
вторая — завод, заказывающий разработку оборудования
(назовем его Заказчиком).
Изобразим эти две системы графически, выделив важ-
ные уровни.

Административный Директор Директор


Финансовый Главный экономист Главный экономист

Технический Главный инженер Главный инженер

Обеспечения Секретарь Секретарь

Представим себе ситуацию, в которой Заказчик за-


казывает проект у Подрядчика. Директор Заказчика с
административного уровня «спускает указание» на фи-
нансовый уровень обеспечить финансирование в указан-
ных рамках. Главный экономист Заказчика определяет
возможное финансирование и передает на техничес-
кий уровень. На техническом уровне главный инженер
составляет техническую документацию, необходимые
спецификации и передает на уровень обеспечения для
пересылки Подрядчику. Почтовая либо курьерская служба
осуществляет доставку информации Подрядчику, после
чего технический уровень Подрядчика анализирует по-
лученную документацию и согласовывает технические
параметры. Далее проект передается выше, главному
экономисту, который занимается согласованием стои-
мости, и только затем попадает на подпись директору,
60
Урок 1

после чего проект проделывает обратное путешествие,


для того, чтобы пройти аналогичные стадии на стороне
Заказчика и быть подписанным директором Заказчика.
После того, как проект подписан директором каждой
стороны, данное взаимодействие считается завершенным.
Теперь обратите внимание на направление взаимо-
действия в рамках одной системы. Эти взаимодействия
обозначены стрелками, направленными вверх и вниз от
границы между уровнями. То есть, в рамках одной системы
взаимодействие происходит строго между соседними
уровнями: вышележащий уровень передает информацию
вниз, нижележащий — вверх. При обмене же информацией
между разными системами взаимодействие происходит
строго между одинаковыми уровнями этих систем, чего,
впрочем, и следовало ожидать — ведь они выполняют
одинаковые функции, и очевидно, что подпись директора
должна ставиться рядом с подписью директора, финансовые
вопросы должны решаться финансистами, а технические
— техническими специалистами. Абсолютно точно так же
происходит физическое движение информации в рамках
модели OSI: физически информация передается между
соседними уровнями одной системы — отправителя —
сверху вниз, далее по линии связи к другой системе, далее
между физическими уровнями другой системы — полу-
чателя — снизу вверх. Логическое же взаимодействие
происходит строго между уровнями.
Понятно, что процессы передачи информации и вза-
имодействия должны быть регламентированы, описаны
какими-то правилами. В нашем примере секретарь, по-
лучивший корреспонденцию, не будет нести ее сразу
61
Компьютерная Академия ШАГ

директору — у него существует должностная инструкция


по обработке корреспонденции, и он поступит в соответ-
ствии с ней. Экономист не понесет проект директору, не
выполнив предварительно действий, определенных своей
должностной инструкцией и т. д. Должностная инструкция
представляет собой некий свод правил, регламентирующих
действия сотрудника в той или иной ситуации. Аналогич-
ные наборы правил, регламентирующих взаимодействия,
существуют и в модели OSI. Дадим определения этих на-
боров правил:
Набор формальных правил и соглашений, регламен-
тирующих взаимодействие между соседними уровнями
одной системы, называется интерфейсом.
Набор формальных правил и соглашений, регламенти-
рующих взаимодействие между одинаковыми уровнями
различных систем, называется протоколом.
ITU-T определяет протокол соответствующего уровня
следующим образом: протоколом уровня N называется
набор правил и форматов (семантических и синтаксиче-
ских), который определяет характер взаимодействия между
сущностями уровня N при исполнении функций уровня
N. («(N)-protocol: A set of rules and formats (semantic and
syntactic) which determines the communication behavior of
(N)-entities in the performance of (N)-functions»)
Определение же интерфейса в рекомендациях ITU-T
звучит так: с точки зрения OSI взаимодействие между
службой-пользователем и службой провайдером представ-
ляет собой абстрактный интерфейс на границе уровня OSI
и определяется в терминах набора примитивов, которые
обеспечивают обмен данными между службами, вместе с
62
Урок 1

последовательностью правил, определяющих этот обмен.


(«The interactions between the OSI-service-user and the OSI-
service-provider constitute an abstract interface at the OSI
service boundary. This abstract interface is the OSI- local view.
The OSI-local view is defined in terms of the set of OSI service
primitives which the OSI-service user and the OSI-service-
provider are allowed to exchange, together with the sequencing
rules which apply to these exchanges»)
Если же мы будем говорить менее формализованным
языком, то интерфейс в терминологии OSI — это язык вза-
имодействия между соседними уровнями одной системы, а
протокол, соответственно, — язык взаимодействия между
одинаковыми уровнями разных систем.
Перейдем теперь непосредственно к вопросу о передаче
информации в модели OSI.
Как вы знаете, на верхний — прикладной — уровень
информация в большинстве случаев поступает непосред-
ственно от пользователя (не во всех случаях, а именно в
большинстве, поскольку может поступать и от прикладных
программ). Эта пользовательская информация представляет
собой неструктурированный поток байт. И, как мы только
что выяснили, эта информация должна быть соответствую-
щим образом обработана прикладным уровнем отправи-
теля и прикладным уровнем получателя. Для того чтобы
эта обработка была выполнена корректно, прикладной
уровень отправителя должен добавить к пользовательской
информации определенную служебную информацию,
обеспечивающую выполнение функций уровня. К примеру,
это может быть служебная информация о приложении,
осуществляющем обработку пользовательских данных.
63
Компьютерная Академия ШАГ

Далее информация в соответствии с правилом ее пере-


мещения, передается для обработки уровню представле-
ний, который, как вы знаете, обеспечивает согласование
форматов передаваемых данных. Уровень представлений
считает все поступившие к нему данные единым блоком
информации. Для того чтобы переданные данные были
правильно интерпретированы принимающей стороной,
уровень представлений отправителя должен добавить
служебную информацию для уровня представления по-
лучателя. Например, может быть информация о том, что
данные передаются в текстовом формате.
Сеансовый уровень, в свою очередь, воспринимает все,
что получил от уровня представлений, как данные, для
передачи которых должно быть установлено соединения,
определены взаимодействующие сущности, оговорены
параметры соединения. И с этой целью он добавляет к
данным свою служебную информацию, обеспечивающую
установление соединения, управление сеансом и т. д.
Транспортный уровень для обеспечения своих функ-
ций должен разбить пришедшие данные на блоки, опти-
мизированные для передачи по сети, снабдить каждый
блок служебной информацией, позволяющей реализовать
функции надежной доставки — например, номер блока
данных, позволяющий квитировать их прием.
На сетевом уровне каждый блок данных должен быть
снабжен адресной информацией, позволяющей обеспечить
его доставку и возможность ответа отправителю.
Канальный уровень также добавляет свою служебную
информацию, обеспечивающую выполнение соответствую-
щих функций канального уровня: указывает на границы
64
Урок 1

блока данных, реализует аппаратную адресацию и т. д.


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

65
Компьютерная Академия ШАГ

Data

Header7 Data

Header6 Header7 Data

Header5 Header6 Header7 Data

Header4 Header5 Header6 Header7 Data

Header3 Header4 Header5 Header6 Header7 Data

Header2 Header3 Header4 Header5 Header7 Header7 Data

Header1 Header2 Header3 Header4 Header5 Header7 Header7 Data

Отсюда можно сделать следующий вывод — КПД любой


сетевой технологии всегда будет меньше 100%. Очевидно,
это связано с тем, что по сети кроме полезных данных в
обязательном порядке будут передаваться служебные
заголовки.
Единицы данных каждого уровня в рамках модели
называются «протокольными единицами данных» или
PDU (Protocol Data Unit) соответствующего уровня.
Блоки данных трех верхних уровней не имеют отдельных
названий, и называются просто данными. Блоки данных
остальных уровней имеют свои собственные названия.
Перечислим их.
Блок данных транспортного уровня называется сегмен-
том (segment), либо дейтаграммой(datagram).
66
Урок 1

Блок данных сетевого уровня называется пакетом


(packet). Блок данных канального уровня называется
кадром (frame). Единица данных физического уровня —
бит (bit).
Итак, вроде бы все просто. Перед тем, как передать
данные на нижний уровень, необходимо только добавить
соответствующую служебную информацию. Но здесь
возникает следующий вопрос — а можем ли мы быть
уверены в том, что способ, которым обрабатываются
данные при передаче, будет правильно применен при
взаимодействии между уровнями? Или, применяя более
формальные термины, — а всегда ли интерфейс между
двумя одинаковыми уровнями реализован одним и тем
же способом, то есть, являются ли интерфейсы между
уровнями стандартизованными?
С одной стороны, очевидно удобство такого подхода:
при наличии стандартизованных интерфейсов между
всеми уровнями достигается полная независимость уров-
ней друг от друга, и разработка и модификация каждого
уровня может не учитывать наличие других уровней, при
условии сохранения стандартных интерфейсов к ним. С
другой стороны, модель OSI является абстрактной, и в
самой модели отсутствуют требования к стандартизации
интерфейсов: «OSI по сути не требует стандартизации
интерфейсов для открытых систем. Более того, даже если
стандарты для таких интерфейсов определены, привер-
женность таким внутренним стандартам никоим образом
не может рассматриваться, как условие открытости».
(«…OSI per se does not require interfaces within open systems
to be standardized. Moreover, whenever standards for such
67
Компьютерная Академия ШАГ

interfaces are defined, adherence to such internal interface


standards can in no way be considered as a condition of
openness»).
Как же обстоят дела на самом деле? В действительно-
сти, для существующих сетевых технологий существует
только один стандартизованный интерфейс. Это интер-
фейс между сетевым и канальным уровнями. И даже
такая, казалось бы, малость приносит огромную пользу.
Ведь что такое интерфейс между сетевым и канальным
уровнями? Это интерфейс между программной и аппа-
ратной частью системы! Следовательно, стандартизация
этого интерфейса привела к возможности независимой
разработки оборудования и программного обеспечения,
к независимости разработчиков ПО от производителей
оборудования и наоборот.
Теперь перейдем к рассмотрению протоколов.
Ясно, что на каждом уровне функционирует свой про-
токол. Следовательно, для обеспечения передачи инфор-
мации, эти протоколы должны быть соответствующим
образом согласованы друг с другом, то есть, нужно рас-
сматривать не каждый протокол в отдельности, а некий
набор взаимодействующих протоколов. Для таких наборов
существует свое определение — стек протоколов.
Если быть более точным, то существует целых два
определения: 1) protocol suite (буквальный перевод —
набор протоколов), определяемый как иерархический
набор взаимосвязанных протоколов, разработанный, как
правило, совместно группой разработчиков («Protocol
Suite: A hierarchical set of related protocols designed usually
by one vendor»); и 2) стек протоколов, определяемый
68
Урок 1

как программная реализация какого-либо Protocol Suite


(«Protocol stack: A representation of the hierarchical nature
of a protocol suite»). Говоря корректно, suite — это опре-
деление протоколов, а stack — программная реализация
этого набора протоколов. В англоязычной литературе
эти термины часто взаимозаменяемы, в русскоязычной
литературе используется только термин «стек», определе-
ние которого соответствует англоязычному определению
suite: «иерархический набор взаимосвязанных протоколов,
разработанный, как правило, совместно единой груп-
пой разработчиков». Однако, с учетом независимости
двух нижних уровней модели OSI от верхних уровней,
это определение стека протоколов можно заменить бо-
лее корректным: стек протоколов — это иерархический
набор взаимосвязанных протоколов верхних уровней,
разработанный, как правило, совместно единой группой
разработчиков. Понятно, почему необходимо такое уточ-
нение: в связи со стандартизацией интерфейса между 2-м
и 3-м уровнем модели, разработка протоколов 1–2 и 3–7
уровней ведется, как правило, принципиально разными
группами разработчиков. При этом за соответствующим
набором протоколов верхних уровней оставили название
«стек протоколов», набор же протоколов канального
и физического уровня использует название «базовая
сетевая технология». И эта терминология очень точно
отражает положение дел в сетевых технологиях — ведь
именно базовая сетевая технология (БСТ) определяет
аппаратную реализацию, «лицо» каждой существующей
сетевой технологии.

69
Компьютерная Академия ШАГ

Таким образом, в настоящее время положение дел тако-


во: существуют различные базовые сетевые технологии,
по-разному реализованные аппаратно, и существуют
различные стеки протоколов от разных разработчиков.
Наличие же стандартизованного интерфейса между ап-
паратной и программной частями модели обеспечивает
возможность функционирования любого стека протоколов
поверх любой базовой сетевой технологии.
В качестве примеров стеков протоколов можно при-
вести стеки TCP/IP, IPX/SPX, NetBIOS/SMB. Примерами
базовых сетевых технологий могут являться технологии
Ethernet, PPP, Frame Relay, ATM и многие другие. В этом
курсе мы с вами займемся рассмотрением базовых сетевых
технологий локальных сетей, но предварительно обзорно
рассмотрим некоторые популярные стеки протоколов.
Начнем со стека протоколов TCP/IP.
Transmission Control Protocol/Internet Protocol (TCP/
IP) — это наиболее широко используемый в настоящее
время промышленный стандарт стека протоколов, ко-
торый был разработан для глобальных сетей. Стандарты
TCP/IP опубликованы в серии документов, называемых
Request for Comment (RFC).
Первые версии протоколов стека появились в середине
70-х гг. прошлого века, по инициативе Министерства обо-
роны США (Department of Defense, сокращенно — DoD),
поэтому иногда стек называют «стек DoD». В 1969 году,
после построения первой сети ARPANET, Агентство по
перспективным научным исследованиям при Министер-
стве обороны (Defense Advanced Research Project Agency,
DARPA) заинтересовалось созданием надежной сети с
70
Урок 1

коммутацией пакетов, обеспечивающей обмен данны-


ми между разнородными вычислительными системами,
установленными в исследовательских институтах. Для
разработки обеспечения связи между неоднородными
сетями DARPA финансировало исследования Стэнд-
фордского университета, а так же компании Bolt, Beranek
and Newman (BBN). Результатом этих исследований стал
набор протоколов Internet.
Стек TCP/IP представляет собой наиболее распростра-
ненный на сегодняшний день набор протоколов, поскольку
протоколы этого стека используются для обмена данными
между любыми связанными сетями и одинаково хорошо
подходят как для сетей любого масштаба.
Значительный вклад в развитие стека TCP/IP внес
университет Беркли, реализовав протоколы стека в своей
версии ОС UNIX. Широкое распространение ОС UNIX
привело и к широкому распространению протокола IP
и других протоколов стека. На этом же стеке работает
глобальная сеть Internet.
Чем же можно объяснить широкое распространение
и лидирующую роль стека TCP/IP?
В первую очередь, это объясняется следующими его
свойствами:
■■ это наиболее завершенный стандартный стек сетевых
протоколов, имеющий многолетнюю историю;
■■ этот стек представляет собой набор открытых стан-
дартов, которые могут быть свободно использованы лю-
бым разработчиком;
■■ практически все сети передают основную часть своего
трафика с помощью протокола TCP/IP, кроме того, это
71
Компьютерная Академия ШАГ

метод получения доступа к самой большой глобальной


сети — Internet, то есть, этот стек является стандартом
де-факто;
■■ все современные операционные системы поддержи-
вают стек TCP/IP.
Так как стек TCP/IP был разработан до появления модели
OSI, то, хотя он также имеет многоуровневую структуру,
соответствие уровней стека TCP/IP уровням модели OSI
достаточно условно (не в последнюю очередь потому, что
количество уровней в моделях различается) и в разных
источниках может быть представлено по-разному.
Протоколы TCP/IP делятся на 4 уровня.

I Прикладной уровень (application)


II Основной/транспортный уровень (transport)
III Межсетевой уровень (internet)
IV Уровень сетевых интервейсов (link)

Самый нижний, четвертый уровень, соответствует не


уровню/уровням модели OSI, а интерфейсу между вторым
и третьим уровнем модели. На этом уровне модели TCP/
IP описывают, как должны передаваться данные поверх
различных Базовых Сетевых Технологий. Этот уровень
поддерживает все популярные стандарты физического
и канального уровня, другими словами — любую Базо-
вую Сетевую Технологию. Обычно при появлении новой
технологии локальных или глобальных сетей она быстро
включается в стек TCP/IP за счет разработки соответствую-
щего RFC, определяющего метод инкапсуляции пакетов
IP в ее кадры. Нередко говорят, что нижний уровень

72
Урок 1

модели TCP/IP соответствует физическому и канальному


уровню модели OSI, однако такая трактовка неудачна, на
нижнем уровне модели TCP/IP не описываются технро-
логии канального/физического уровней, здесь говорят
только о стыковке стека TCP/IP с уже существующими
технологиями канального/физического уровней, что
соответствует в точности интрефейсу между вторым и
третьим уровнем модели OSI.
Следующий уровень, третий, — это уровень межсетевого
взаимодействия (буквальный перевод термина internet,
который не следует путать с термином Internet с большой
буквы, обозначающим самую большую составную сеть),
занимающийся передачей пакетов с использованием раз-
личных технологий. Этому уровню полностью соответ-
ствует сетевой уровень модели OSI. В качестве основного
протокола уровня в стеке используется протокол IP, ко-
торый изначально проектировался как протокол пере-
дачи пакетов в составных сетях, состоящих из большого
количества различных сетей, объединенных с помощью
различных базовых сетевых технологий. Протокол IP
является так называемым «дейтаграммным» протоколом,
то есть он не обеспечивает предварительную установку
связи, управление потоком данных, не гарантирует до-
ставку пакетов до узла назначения.
К уровню межсетевого взаимодействия относятся и
все протоколы помогающие решить задачи маршрути-
зации в составных сетях — так называемые «протоколы
динамической маршрутизации, такие как RIP, OSPF, BGP
и другие, которые мы изучим позже, а также протокол
межсетевых управляющих сообщений ICMP (Internet
73
Компьютерная Академия ШАГ

Control Message Protocol) применяющийся для диагнос-


тики сети и информирования об ошибках.
Следующий уровень (уровень II) называется тран-
спортным. На этом уровне функционируют протокол
управления передачей TCP (Transmission Control Protocol)
и протокол пользовательских дейтаграмм UDP (User
Datagram Protocol). Протокол TCP обеспечивает надежную
передачу сообщений между удаленными прикладными
процессами за счет образования логических соединений.
Протокол UDP обеспечивает передачу прикладных пакетов
дейтаграммным способом, как и IP, и выполняет только
функции связующего звена между сетевым протоколом
и многочисленными прикладными процессами.
Чаще всего в литературе вы прочитаете, что тран-
спортный уровень модели TCP/IP ставят в соответствие
транспортному уровню модели OSI, но это весьма неудач-
ное сопоставление. Давайте разберемся чуть подробнее.
Протокол TCP выполняет три основных функции:
■■ адресует сущности верхнего уровня (обычно речь
идет о приложениях)
■■ устанавливает логические соединения между прило-
жениями
■■ гарантирует доставку данных для приложений пу-
тем отправки квитанций.
К каким уровням модели OSI, на основании сказанно-
го выше, его следует отнести? Функция гарантирования
доставки относится к транспортному уровню модели
OSI. Функция установки логических соединений между
приложениями относится к сеансовому уровню модели
OSI. Адресация приложений, между готовыми сеансовый
74
Урок 1

уровень устанавливает соединения также должна быть


отнесена к сеансовому уровню, ясно, что для того, чтобы
установить логическое соединение между приложения-
ми, их сперва нужно идентифицировать. Таким образом
протокол TCP выполняет функции транспортного и се-
ансового уровня модели OSI.
Теперь несколько слов о втором протоколе рассматривае-
мого уровня — UDP. Это простой дейтаграммный протокол,
он не устанавливает логических соединений между приложе-
ниями и не гарантирует доставку данным для приложений,
которые его используют, однако одну из перечисленных
выше функций TCP он все же выполняет — протокол UDP
адресует приложения, которые обмениваются данными
без установки соединения и гарантий доставки. Таким
образом, протокол UDP следует отнести к сеансовому
уровню модели OSI, хотя он и не выполняет главной
задачи сеансового уровня — он не устанавливает ло-
гических соединений между приложениями, но, тем не
менее, протокол UDP выполняет адресацию приложений
верхнего уровня. Таким образом, транспортный уровень
модели TCP/IP следует сопоставлять с парой сеансовый/
транспортный модели OSI; при этом работающий на
этом уровне протокол TCP в полном объеме выполняет
функции и транспортного и сеансового уровня модели
OSI, а работающий на этом уровне протокол UDP выпол-
няет лишь второстепенную функцию сеансового уровня
модели OSI.
Верхний уровень, первый, называется прикладным.
За годы использования в различных сетях в стеке TCP/
IP было разработано большое количество протоколов
75
Компьютерная Академия ШАГ

прикладного уровня. К ним относятся такие широко


используемые протоколы, как протокол копирования
файлов FTP, протокол эмуляции терминала telnet, протокол
передачи почты SMTP, клиентские почтовые протоко-
лы, такие как POP3 и IMAP4, гипертекстовый протокол
HTTP, протокол динамического конфигурирования хостов
DHCP, протокол службы разрешения имен DNS, протокол
управления сетью SNMP и многие другие. Поскольку в
дальнейшем изучению этих протоколов будет посвящен
отдельный большой курс, подробно на них останавли-
ваться мы сейчас не будем.
С точки зрения сопоставления моделей, функции первого
уровня модели TCP/IP соответствуют представительскому
и прикладному уровням модели OSI.
Далее давайте составим графическое представление
соответствия уровней модели TCP/IP и уровней модели
OSI.

Модель OSI Модель TCP/IP


Application Application
Presentation
Session Transport
Transport
Network Internet
Интерфейс L2–L3 Link
Data-link
Physical

76
Урок 1

Теперь рассмотрим следующий стек протоколов, ко-


торый в свое время занимал доминирующее положение
на рынке, стек IPX/SPX.
Этот стек является оригинальным стеком протоколов
фирмы Novell, который она разработала для своей сете-
вой операционной системы NetWare еще в начале 80-х
годов. Протоколы Internetwork Packet Exchange (IPX) и
Sequenced Packet Exchange (SPX), которые дали имя стеку,
являются прямой адаптацией протоколов XNS фирмы
Xerox, которые были распространены в гораздо меньше
степени, чем IPX/SPX. В 80-е годы и в начале 90-х про-
токолы IPX/SPX лидировали по количеству установок.
Это было обусловлено тем, что сама ОС Novell NetWare
занимала лидирующее положение с долей установок в
мировом масштабе превышавшей 80%. В связи с тем, что
стек IPX/SPX являлся проприетарным (собственностью
разработчика) его использование сторонними разработ-
чиками было ограничено и от разработчиков требовалось
приобретение лицензии. В это время на рынок вышел
мощный конкурент — стек TCP/IP, который кроме от-
крытости стандартов обладал еще рядом преимуществ, и
популярность стека IPX/SPX пошла на убыль. В настоящее
время этот стек практически не используется.
Семейство протоколов фирмы Novell и их соответствие
модели OSI представлено на рисунке.

7–5 SAP NCP


4 SPX
3 IPX, RIP, NLSP
1 Ethernet, FDDI, Token Ring и др.

77
Компьютерная Академия ШАГ

На верхнем уровне, соответствующем прикладному,


представительному и сеансовому уровням OSI, работа-
ют протоколы NCP и SAP. Протокол NCP (NetWare Core
Protocol) является протоколом взаимодействия сервера
NetWare и оболочки рабочей станции.
C помощью этого протокола рабочая станция произво-
дит подключение к серверу, отображает каталоги сервера
на локальные буквы дисководов, просматривает файловую
систему сервера, копирует удаленные файлы, изменяет их
атрибуты и т.п., а также осуществляет разделение сете-
вого принтера между рабочими станциями. SAP (Service
Advertising Protocol) — протокол объявления о сервисе —
дает возможность сетевым устройствам обмениваться
информацией об имеющихся сетевых сервисах. Серверы
и маршрутизаторы используют SAP для объявления о
своих сервисных услугах и сетевых адресах. Протокол
SAP позволяет сетевым устройствам постоянно коррек-
тировать данные о том, какие сервисные услуги имеются
сейчас в сети. При старте серверы используют SAP для
оповещения оставшейся части сети о своих услугах. Когда
сервер завершает работу, то он использует SAP для того,
чтобы известить сеть о прекращении действия своих услуг.
Транспортному уровню модели OSI в стеке Novell со-
ответствует протокол SPX, который осуществляет пере-
дачу сообщений с установлением соединений. Обратите
внимание на интересную особенность реализации стека
IPX/SPX — функционирование этого уровня в нем не
является обязательным. Службы прикладного уровня
могут обращаться непосредственно к сетевому уровню,
на котором работает протокол IPX.
78
Урок 1

На сетевом уровне в стеке IPX/SPX кроме протокола IPX


также работают протоколы обмена маршрутной инфор-
мацией RIP и NLSP. IPX является протоколом, который
занимается вопросами адресации и маршрутизации
пакетов в сетях Novell. Маршрутные решения IPX осно-
ваны на адресных полях в заголовке его пакета, а также
на информации, поступающей от протоколов обмена
маршрутной информацией. Например, IPX использует
информацию, поставляемую либо протоколом RIP, либо
протоколом NLSP (NetWare Link State Protocol) для пере-
дачи пакетов компьютеру назначения или следующему
маршрутизатору. Протокол IPX поддерживает только
дейтаграммный способ обмена сообщениями, за счет
чего экономно потребляет вычислительные ресурсы.
Таким образом, протокол IPX обеспечивает выполнение
трех функций: задание адреса, установление маршрута и
рассылку дейтаграмм.
Особенности стека IPX/SPX обусловлены особенностями
ОС NetWare, а именно ориентацией ее ранних версий (до
4.0) на работу в локальных сетях небольших размеров,
состоящих из персональных компьютеров со скромными
ресурсами. Поэтому Novell нужны были протоколы, на
реализацию которых требовалось минимальное количество
оперативной памяти (ограниченной в IBM-совместимых
компьютерах под управлением MS-DOS 640 Кбайтами)
и которые бы быстро работали на процессорах неболь-
шой вычислительной мощности. В результате, ранние
протоколы стека IPX/SPX хорошо работали в небольших
локальных сетях, и значительно хуже — в глобальных
сетях, так как слишком перегружали медленные связи
79
Компьютерная Академия ШАГ

широковещательными пакетами, которые интенсивно


используются несколькими протоколами этого стека
(например, для установления связи между клиентами и
серверами). Этот недостаток стека также повлиял на его
распространенность наряду с необходимостью получения
лицензии на использование.
Перейдем к рассмотрению следующего популярного
стека, который еще продолжает использоваться в наше
время.
Стек NetBIOS/SMB появился в 1984 г., благодаря разра-
боткам фирмы IBM, которая спустя три года после выпуска
первого компьютера IBM PC, в целях расширения стан-
дартных функций базовой системы ввода/вывода (BIOS)
разработала программный интерфейс (API) NetBIOS —
Network Basic Input/Output System. Это расширение при-
менялось для взаимодействия между сетевыми ресурсами,
но не предусматривало низкоуровневого протокола для
передачи данных по сети. Такой протокол появился в 1985
г. и был объединен с NetBIOS в связке NetBEUI (NetBIOS
Extended User Interface).
NetBEUI создавался в расчете на небольшие рабочие
группы (до 255 узлов) и не имел функций маршрутизации.
Позже Microsoft выпустила дополнение — протокол
SMB (Server Message Block), реализующий целый ряд
высокоуровневых сервисов, таких как файловая служба,
служба печати и передача сообщений между приложени-
ями, и использующий для этого возможности NetBIOS.
Протокол SMB используется в операционных системах
Windows. Он является проприетарным (закрытым) стан-
дартом, и Microsoft предоставляет спецификации SMB
80
Урок 1

только сертифицированным партнерам. SMB постоянно


дорабатывается (обновления выходят с каждой новой
версией Windows).
Стек NetBIOS/SMB и его проекцию на модель OSI можно
изобразить так:

7
SMB
6
5 NetBIOS
4
3
2
1

Как мы видим, в стеке NetBIOS/SMB отсутствуют все


нижние уровни! И если к отсутствию специфицирова-
ния канального и физического уровня мы привыкли, то
с отсутствием сетевого уровня сталкиваемся впервые.
Возникает вопрос — хорошо это или плохо? Является ли
данный стек «полноценным»? На самом деле «единствен-
но правильного ответа» на этот вопрос не существует.
Нужно понимать, что рассматривать термины «хорошо» и
«плохо» нельзя абстрактно, не привязываясь к ситуации.
Да, у стека нет сетевого уровня. Но давайте вспомним,
зачем он вообще нужен? Этот уровень мы вводили для
возможности объединения сетей, для того, чтобы стало
возможным создавать сложные составные сети. А зачем
нам сетевой уровень в локальных сетях? Ведь в локаль-
ных сетях маршрутизация не нужна, и протокол может
работать поверх кадров канального уровня, экономя
81
Компьютерная Академия ШАГ

вычислительные ресурсы хостов! Вы спросите — а как


быть, когда данные этого стека все же нужно будет марш-
рутизировать? И здесь решение напрашивается — эти
данные можно маршрутизировать поверх любого сете-
вого протокола любого стека в качестве прикладных! То
есть, мы видим, что такое построение стека обеспечивает
значительную гибкость его применения. Например, в реа-
лизации данного стека в ОС Microsoft Windows включены
обе возможности — можно использовать как передачу
данных протокола непосредственно поверх канального
уровня (NetBIOS over Frame, NetBF), так и поверх сетевого
(NetBIOS over TCP/IP, NetBT).
Протокол SMB, соответствующий прикладному и пред-
ставительному уровням модели OSI, регламентирует
взаимодействие рабочей станции с сервером. В функции
SMB входят следующие операции:
■■ Управление сессиями. Создание и разрыв логического
канала между рабочей станцией и сетевыми ресурсами
файлового сервера.
■■ Файловый доступ. Рабочая станция может обратиться
к файл-серверу с запросами на создание и удаление ка-
талогов, создание, открытие и закрытие файлов, чтение
и запись в файлы, переименование и удаление файлов,
поиск файлов, получение и установку файловых атрибу-
тов, блокирование записей.
■■ Сервис печати. Рабочая станция может ставить файлы
в очередь для печати на сервере и получать информацию
об очереди печати.
■■ Сервис сообщений. SMB поддерживает простую пе-
редачу сообщений со следующими функциями: послать
82
Урок 1

простое сообщение; послать широковещательное сооб-


щение; послать начало блока сообщений; послать текст
блока сообщений; послать конец блока сообщений; пере-
слать имя пользователя; отменить пересылку; получить
имя машины.
Несмотря на коммерческий статус протокола SMB,
существует свободно распространяемый программный
пакет Samba, обеспечивающий ограниченную поддержку
сервисов SMB для ОС Unix/Linux. Поскольку основными
протоколами Unix-систем являются протоколы стека TPC/
IP, то в Samba для совместимости применяется NetBIOS
over TCP/IP.

83
Компьютерная Академия ШАГ

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

84
Урок 1

По территориальной распространенности сети могут


быть локальными, глобальными, и региональными.
Локальные — это сети, как правило покрывающие
территорию порядка десятков тысяч квадратных метров.
Региональные — расположенные на территории города
или области
Глобальные — это сети, покрывающие площади порядка
десятков тысяч квадратных километров.
В классификации сетей в настоящее время существует
три основных термина: LAN, MAN и WAN.
LAN (Local Area Network) — локальные сети, имеющие
замкнутую инфраструктуру до выхода на поставщиков
услуг. Термин «LAN» может описывать и маленькую офи-
сную сеть, и сеть уровня большого завода, занимающего
несколько сотен гектаров. Одним из признаков локальных
сетей является также использование высокоскоростных
каналов. Как правило, у инфраструктуры локальных сетей
есть единый владелец.
MAN (Metropolitan Area Network) — региональные
сети, сети масштаба города. Как правило, представляют
собой объединения локальных сетей, с единым или не-
сколькими владельцами.
WAN (Wide Area Network) — глобальные сети. Основ-
ной признак глобальной сети — наличие линий связи,
арендуемых у провайдера телекоммуникационных услуг.
В самом деле, если при построении локальной сети вла-
делец в состоянии самостоятельно приобрести необхо-
димое количество кабеля и обеспечить прокладку, то
прокладка кабеля на расстояние в десятки и сотни кило-
метров — задача чрезвычайно дорогая, а порой и просто
85
Компьютерная Академия ШАГ

невыполнимая из-за существующих законодательных и


технических ограничений. Намного проще воспользо-
ваться существующей инфраструктурой, взяв в аренду
у провайдера (Укртелеком, Фарлеп, и т.п.) необходимый
ресурс.
К характерным признакам глобальных сетей относится
также сложность используемых технологий и оборудова-
ния, изначально обусловленная более низким качеством
линий связи. Первые глобальные сети строились на сетях
для передачи голоса, плохо подходящих для передачи
данных, что обусловливает также высокую стоимость
оборудования (сравните цену самого дешевого модема с
ценой самого дорогого сетевого адаптера) по сравнению
с оборудованием для локальных сетей.
По этим же причинам скорость передачи данных по
глобальным линиям существенно ниже скорости пере-
дачи данных в локальных сетях.
Относительно недавно появился еще один термин —
PAN (Personal Area Network) — личная сеть. Такие сети
работают на расстояниях порядка 1–20 метров, харак-
терный пример — технология Bluetooth.
С вышеприведенной классификацией имеет сходство
классификация по производственному признаку:
■■ Сети масштаба рабочей группы
■■ Сети масштаба предприятия (иногда называются
кампусными сетями)
■■ Корпоративные сети
Сети масштаба рабочей группы как правило представ-
ляют собой сети размеров локальных, с дополнительными
признаками гомогенности (однотипности) используемого
86
Урок 1

ПО и оборудования. В самом деле — отдел выполняет


какие-то однотипные задачи, требующие схожего про-
граммного обеспечения и компьютеров. Как правило, в
сетях масштаба рабочей группы нет отдельного админи-
стратора, и его функции выполняет либо администратор
предприятия, либо наиболее квалифицированный сот-
рудник отдела.
Сети масштаба предприятия представляют собой объе-
динение сетей рабочих групп, и по размеру могут походить
на сети регионального масштаба. Отличительным призна-
ком сетей масштаба предприятия является обязательное
наличие администратора или группы администраторов,
обеспечивающих функционирование сети в режиме ра-
боты предприятия.
Корпоративные сети могут достигать масштабов гло-
бальных сетей. Обязательный признак корпоративной
сети — наличие группы администраторов, обеспечиваю-
щих ее функционирование в заданном режиме, вплоть
до круглосуточной беспрерывной работы (24х7).
По скорости передачи информации компьютерные сети
могут делиться на низко-, средне- и высокоскоростные.
■■ низкоскоростные (до 100 Мбит/с),
■■ среднескоростные (до 1000 Мбит/с),
■■ высокоскоростные (свыше 1000 Мбит/с).
Разумеется, приведенные числа весьма условны, ско-
рости современных сетей постоянно растут.
С точки зрения организации взаимодействия компью-
теров, сети делят на одноранговые (Peer- to-Peer Network)
и с выделенным сервером (Dedicated Server Network). Все
компьютеры одноранговой сети равноправны. Любой
87
Компьютерная Академия ШАГ

пользователь сети может получить доступ к данным,


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

88
Урок 1

Иерархическая модель сети является наиболее предпо-


чтительной, так как позволяет создать наиболее устойчи-
вую структуру сети и более рационально распределить
ресурсы. Также достоинством иерархической сети является
более высокий уровень защиты данных. К недостаткам
иерархической сети, по сравнению с одноранговыми
сетями, относятся:
1. Необходимость дополнительной ОС для сервера.
2. Более высокая сложность установки и модернизации
сети.
3. Необходимость выделения отдельного компьютера в
качестве сервера.
Мы ознакомились с некоторыми классификациями,
каждую из которых будем использовать при необходи-
мости рассмотрения различных аспектов функциониро-
вания сети.
Теперь давайте перейдем к вопросу о том, какие же
требования предъявляются к сетям, чего мы от них, соб-
ственно, хотим и ждем.

Требования, предъявляемые к сетям


На самом деле к сети предъявляется единственное тре-
бование — она должна обеспечивать нам тот набор услуг,
который нам требуется. Выполнение же всех остальных
требований призвано обеспечить нам максимальное
удобство и комфорт при пользовании сетью. Давайте их
рассмотрим, начиная с производительности.

89
Компьютерная Академия ШАГ

Производительность представляет собой интегральную


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

Вариация задержки — разница между минимальной и


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

Надежность
Существует несколько аспектов надежности. Для про-
стых устройств можно использовать, например, такие
параметры как вероятность выхода устройства из строя,
либо максимальное время наработки на отказ. Но для
сложных систем, таких, как сети, состоящих из миллио-
нов простых устройств, подобные критерии для оценки
надежности непригодны.
Для оценки надежности сетей чаще всего используются
два показателя. Один из них — это коэффициент готов-
ности (иногда называемый коэффициентом доступности
сети). Он характеризует надежность сети на длительном
промежутке времени, оценивая процент времени, в течение
которого сеть можно использовать:
91
Компьютерная Академия ШАГ

КГ=100%х(ОДП–ВН)/ОДП, где
КГ — коэффициент готовности
ОДП — общая длительность периода ВН — время не-
работоспособности сети
Второй показатель применяется для оценки надеж-
ности сети в текущий момент времени и определяется
вероятностью доставки пакетов:

КД=100%х(ОП–ПП)/ОП, где

КД — коэффициент доставки пакетов ОП — количество


отправленных пакетов ПП — количество потерянных
пакетов
Эти два параметра с достаточной степенью точности
могут охарактеризовать надежность сети.
Следующим требованием, предъявляемым к сети, яв-
ляется ее безопасность. Поскольку у нас будет отдельный
курс, посвященный безопасности, хочу здесь обратить
ваше внимание только на то, что вопрос безопасности
сетей не является вопросом только информационной
безопасности. Более того, зачастую даже вопрос инфор-
мационной безопасности сводят только к аспекту конфи-
денциальности данных, забывая другие аспекты, безопас-
ность же сети включает в себя помимо информационной
безопасности еще безопасность техническую в вопросах
защиты оборудования и инфраструктуры, безопасность
жизнедеятельности в вопросах защиты пользователей и
персонала и другие аспекты общей безопасности.
Далее обратимся к расширяемости и масштабируе-
мости. Два этих требования будем рассматривать вместе,
92
Урок 1

поскольку они близки между собой. Под расширяе-


мостью понимают возможность сравнительно легкого
добавления компонент сети — станций, промежуточных
устройств и т. д. Под масштабируемостью же понимают
возможность сравнительно легкого добавления компо-
нент сети без снижения ее производительности. То есть,
масштабируемость — это расширяемость без потери
производительности.
Следует понимать, что расширяемыми автоматически
являются почти все сетевые решения, в то время как масш-
табируемость требует тщательного планирования сети.
Так, например, при построении одноранговой сети для 10
компьютеров она будет расширяемой, если мы захотим
подключить еще 6, и при этом при ее построении исполь-
зуем 16-ти портовый коммутатор. Но масштабируемости,
при которой мы сможем преобразовать одноранговую
сеть в сеть с выделенным сервером, доступ к которому
будут осуществлять все остальные компьютеры через
один порт, мы сможем добиться, только если заранее
спланируем приобретение коммутатора с одним более
скоростным портом.
Под прозрачностью сети подразумевается возмож-
ность для пользователей использовать ее таким образом,
что вне зависимости от того, где расположен тот или
иной ресурс, локально или в сети, доступ к ресурсу и его
использование происходят одинаково. С точки зрения
пользователя прозрачность — это возможность исполь-
зования сетевых ресурсов таким же способом, как и ло-
кальных. Именно о прозрачности идет речь в лозунге IBM:
«Сеть — это компьютер!» Прозрачность — это свойство
93
Компьютерная Академия ШАГ

сети скрывать от пользователя детали своего внутреннего


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

Домашнее задание.
Проработайте материалы модуля 1 курса CCNA1 R&S и
сдайте соответствующий модульный экзамен на портале
netacad.com.

94
Урок 1

95

Вам также может понравиться