|
Компьютерные сети. Поиграем?Понять — значит упростить. А.Строгов (Эпиграф к роману “Волны гасят ветер” братьев Стругацких.) Авторы хорошо помнят время, когда “информатика” в школьной сетке часов вызывала у детей те же чувства, что и парк аттракционов вместо математики, отмененной гриппующим учителем. Времена изменились, компьютером детей не удивишь, а на стрелялки-бродилки просто нет времени, настолько объемна и серьезна программа современной школьной информатики. Но игры, как методический прием, любят и учителя, и дети. Игры особенно эффективны на сложных темах, ибо позволяют понять суть, упростив до чувственного восприятия вопросы, с трудом поддающиеся напряжению “чистого” разума. Кроме того, знания, полученные в выпадающей из общей рутины среде, оседают в памяти на долгие годы. В этой статье мы предлагаем описание двух некомпьютерных игр по довольно сложной теме “Компьютерные сети”: 1. Игра “Общая шина”. 2. Игра “Кольцо”. Описание игр предваряем небольшим теоретическим введением, в контексте которого они проводятся. Несколько слов о почве, на которой появились эти игры. Игры придуманы Вячеславом Юрьевичем Матыкиным — учителем информатики гимназии № 1 города Новохоперска Воронежской области и его ребятами — учениками 7-го класса, отредактированы и “отлажены” в результате общений с Александром Александровичем Дувановым. В это время (2007/2008 учебный год) Вячеслав Юрьевич возглавлял команду школьников, которая занималась на курсе 16 “Азы информатики. Выходим в Интернет” Роботландского сетевого университета (www.botik.ru/~robot/ru) под кураторством Чмелевой Елены Николаевны. В основу этого Роботландского курса положен одноименный интерактивный учебник А.А. Дуванова, фрагмент из которого приводится ниже в качестве теоретического введения. Заметим, что учебник можно приобрести, не обучаясь на курсах (www.botik.ru/~robot/sale/index.htm#forma), но работа в Роботландском университете добавляет педагогические плюсы как учителю, так и школьнику, кроме того, подпитывает интерес к предмету азартом курсовых публичных соревнований. Теоретическое введениеИгры, которые мы предлагаем, демонстрируют работу сетей, построенных по топологиям “общая шина” (первая игра) и “кольцо” (вторая игра). Рассмотрим работу этих сетей на примере сети Ethernet (“общая шина”) и сети Token Ring (“кольцо”). Общая шинаEthernet — самый распространенный международный стандарт локальных сетей (несколько миллионов сетей с этой технологией по всему миру). На рис. 1 показана схема сети Ethernet на коаксиальном кабеле. Сегмент кабеля на концах оборудован терминаторами (“заглушками”) для поглощения распространяемого сигнала (на рисунке терминаторы нарисованы черными квадратиками).
Рис. 1. Ethernet на общей шине Кабель при помощи Т-образного разъема соединяет между собой сетевые адаптеры компьютеров. Принцип работыЛюбой участник может послать в сеть сообщение, но только тогда, когда в ней “тихо” — нет другой передачи. Например, узел 2 (рис. 1) слушает сеть и стартует передачу, начиная ее адресами отправителя и получателя (“компьютер 2 передает сообщение для компьютера 4”). Передача распространяется по кабелю в обе стороны (поглощаясь терминаторами на концах), и все участники слышат ее (в том числе и сам отправитель). Все, кроме компьютера 4, игнорируют передаваемые данные, обнаружив чужой адрес получателя, а компьютер 4 принимает данные полностью. Понятно, что при таком способе передачи нельзя допустить длительного захвата сети одним узлом. Если компьютер 2 задумает переслать компьютеру 4 большой файл, все остальные сетевые участники не скоро получат возможность начать передачу. В силу этой причины сообщения передаются разделенными на пакеты (в технологии Ethernet они называются кадрами). Длина пакета лежит в диапазоне от 64 до 1518 байтов. Передав один пакет, узел на некоторое время прерывает работу и, если в сети “тихо”, отправляет следующий пакет. Но паузой может воспользоваться другой узел и начать свой сеанс передачи. Таким образом, все узлы разделяют одну среду (кабель), имея равные возможности для посылки в сеть информационных пакетов. КоллизииКомпьютер 1 послушал сеть (свободна!) и начал передачу пакета (рис. 2).
Рис. 2. Узел 1 начал передачу пакета Сигнал не успел дойти до компьютера 5, когда тот тоже начал передачу, решив, что сеть свободна (рис. 3).
Рис. 3. Узел 5 тоже начал передачу
пакета, решив, Понятно, что через некоторое время в сети произойдет наложение сигналов. Такая ситуация называется коллизией. Когда передающая станция обнаружит несовпадение переданного в сеть сигнала с полученным из сети, она фиксирует коллизию и обрывает передачу пакета согласно протоколу Ethernet. И компьютер 1, и компьютер 5 обрывают передачу, обнаружив коллизию. Коллизия в сети Ethernet не является исключительным событием — это обычная рабочая ситуация. Вопрос в том, как долго ждать узлу, чтобы попытаться вновь передать в сеть испорченный коллизией пакет? Если ждать фиксированный промежуток времени, то коллизия со 100%-ной вероятностью возникнет вновь (компьютеры 1 и 5 одновременно возобновят передачу, если одновременно прервали ее из-за коллизии). В протоколе Ethernet пауза после обнаружения коллизии выбирается из интервала от 0 до 52,4 мс случайным образом. Как это не покажется странным, именно случайная пауза после коллизии обеспечивает работоспособность сети Ethernet. Этот простейший механизм обработки коллизий был предложен в далеких 70-х годах и успешно работает до сих пор! Диаметр сети, ранние и поздние коллизииЧто произойдет, если кабель длинный, а пакет маленький? Коллизия может возникнуть после того, как узел завершит передачу пакета! На рис. 4 показана именно такая ситуация. Коллизия происходит, когда узел 1 закончил передачу пакета:
Рис. 4. Поздняя коллизия (коллизия после того, как узел закончил передачу пакета) Такая коллизия называется поздней. При поздней коллизии пакет пропадает безвозвратно (узел 1 считает, что передача пакета произошла успешно и удаляет его из своей буферной памяти). Для нормальной работы сети необходимо, чтобы передающая станция могла обнаружить коллизию до того, как закончит передачу пакета в сеть. Такая коллизия называется ранней. При ранней коллизии узел передает испорченный пакет заново после случайной паузы. Для предотвращения поздних коллизий приходится ограничивать длину кабеля величиной, при которой время передачи пакета наименьшей длины (64 байта) было бы больше удвоенного времени прохождения сигнала по всей длине кабеля. Почему в расчет берется удвоенная длина кабеля? Пусть узел 1, расположенный на одном конце кабеля, начал передачу пакета. Передача должна продолжаться все время, за которое первый переданный сигнал достигнет узла 5 на противоположном конце кабеля и вернется назад, искаженный коллизией (ведь может случиться, что узел 5 начнет свою передачу за мгновение до прихода к нему сигнала от узла 1). То есть необходимо учитывать прохождение сигнала по удвоенной длине кабеля. Ограничение диаметра сети Ethernet
величиной При передаче сигнала по кабелю возникает его ослабление (затухание). Приходится делить кабель на сегменты и соединять их между собой повторителями. Повторитель (repeater) — это простое электронное устройство (без всякого программного обеспечения), которое усиливает сигнал при передаче его из одного сегмента кабеля в другой. На рис. 5 показана сеть, в которой кабель состоит из трех сегментов, соединенных двумя повторителями:
Рис. 5. Сеть с повторителями КольцоКольцо — топология, в которой каждый узел сети соединен с двумя другими узлами, образуя кольцо (петлю). Данные передаются от одного узла к другому в одном направлении (по кольцу). Каждый компьютер работает как повторитель, ретранслируя сообщение к следующему компьютеру.
Рис. 6. Кольцо В такой сети одна разделяемая среда, но принцип ее работы отличается от принципа работы разделяемой среды Ethernet. Изначально по кольцу передается специальное сообщение-маркер (другое название: токен) — признак свободной среды. Узел может начать передачу лишь тогда, когда получает маркер. Теперь вместо маркера по кольцу следует пакет с данными. Получатель копирует пакет в свой буфер и передает его дальше по сети с пометкой о получении. Узел-отправитель, получив пакет с пометкой о приеме, заменяет пакет маркером — сеть снова свободна. Рис. 7 демонстрирует передачу пакета от станции 1 к станции 3:
Рис. 7. Передача сообщения по кольцу
По протоколу кольца узел, владеющий токеном, может отправить не один, а несколько пакетов в течение времени удержания токена (фиксированная величина). По истечении этого времени передающая станция обязана прекратить передачу (передача текущего пакета разрешается) и передать токен далее по кольцу. По описанному выше алгоритму работают сети, построенные по технологиям Token Ring и FDDI. В кольцо можно включить и сервер, тогда он будет оказывать пользователям дополнительные услуги. Описание игрИгра “Общая шина”Эта подвижная учебная игра предлагается для закрепления темы “Принципы работы сети Ethernet с разделяемой средой”. Игра позволяет ученикам хорошо “прочувствовать” протокол работы сети, так как в ее ходе они исполняют роли сетевых адаптеров и информационных пакетов и моделируют процессы, происходящие в Ethernet. Описание игры
Ребятам игра понравилась. Не все сразу поняли правила, зато потом выявились и педантичные “адаптеры”, и шустрые “пакеты”. Раскрасневшийся полноватый Влад, переводя дыхание, одобрил: “Классная игра!” Правила игры “Общая шина” в изложении для учениковУчитель. В чем особенность топологии “общая шина”? Ученики. Все узлы сети подсоединены к общему каналу связи. Учитель. Сегодня мы поиграем в “общую шину” и в игре сможем “пережить” все процессы, происходящие при работе этой сети. В нашей сети будет два узла, поэтому давайте разделимся на две команды. Команды размещаются по обе стороны площадки, моделирующей общую шину. Рекомендации для педагогов. Ширина площадки примерно 2 метра. Играющие делятся на две команды по совершенно произвольному признаку. Например, все строятся по росту, затем одна команда формируется из четных, вторая — из нечетных игроков. Учитель. Почему сообщение перед отправкой в сеть разделяется на пакеты? Ученики. Чтобы один узел “не захватил” сеть надолго. Чтобы после отправки короткого пакета дать возможность отправлять пакеты другим узлам. Учитель. Но узел может передавать пакеты непрерывно друг за другом, не позволяя другим узлам начать передачу. Какое правило мешает узлу монопольно захватить сеть? Ученики. Фиксированная пауза после передачи каждого пакета. Этой паузой могут воспользоваться другие узы и начать свою передачу. Учитель. Как называется совокупность правил, по которым работает сеть? Ученики. Сетевым протоколом. Учитель. Кто в сети следит за соблюдением сетевого протокола? Ученики. Ответственность за соблюдение сетевого протокола возлагается на каждый сетевой узел. На физическом уровне этим занимаются сетевые адаптеры, через которые пакеты уходят в сеть. Учитель. Выберем и мы в каждой команде “сетевой адаптер”, все остальные члены команды будут играть роль пакетов. Когда адаптер должен выпускать пакет в сеть? Ученики. Когда в сети нет других пакетов. Учитель. Что должен делать адаптер после того, как пакет уходит в сеть? Ученики. Выждать фиксированную паузу. Учитель. Как называется ситуация, при которой в общей шине появляются несколько пакетов? Ученики. Коллизией. Учитель. Чем плоха коллизия? Ученики. Пакеты — это сигналы. Они накладываются и искажают друг друга. Учитель. Что предписывает делать протокол Ethernet при обнаружении коллизии? Ученики. Нужно прекратить передачу и возобновить ее через случайную паузу. Учитель. Почему пауза должна быть случайной? Ученики. Если пауза будет фиксированной, то коллизия возникнет вновь, ведь узлы одновременно возобновят прерванную передачу. Учитель. Наши адаптеры будут следить за соблюдением сетевого протокола Ethernet, который для игры мы запишем так: Пакеты по сигналу адаптера отправляются в сеть к пункту назначения. При этом они действуют по следующим правилам:
Выигрывает та команда, в которой “сетевой адаптер” первым передаст сообщение другому узлу (отправит все свои “пакеты”). Фото 1–5 на с. 10 (автор — ученик 10-го “Б” класса Копытин Кирилл) демонстрируют рабочие моменты игры. Рекомендации для педагогов
Основная игра происходит в несколько туров (мы проводили до 10). Итог каждого тура приносит выигравшей команде одно очко. После двигательной активности командам снова предлагается ответить на вопросы. Это позволит закрепить знания, полученные во время предварительного обсуждения и самой игры. Каждый правильный ответ приносит команде дополнительное очко. Лишь после такого своеобразного блица окончательно выявляется команда-победительница. Фото 1. Успешная передача пакета Фото 2. Фиксированная пауза Фото 3. Пакеты перед коллизией Фото 4. Случилась коллизия Фото 5. Случайная пауза после коллизии Список вопросов1. Зачем после отправки пакета протокол сети предусматривает фиксированную паузу? Ответ. Фиксированная пауза позволяет начать передачу другим сетевым участникам. Если один узел будет слать пакеты непрерывно (без пауз), никто больше не сможет работать. Говорят, сеть будет монополизирована одним узлом. Фиксированная пауза предотвращает монополизацию. 2. Почему сообщение передается не целиком, а разбивается на пакеты? Ответ. Для предотвращения монополизации сети одним узлом при передаче длинного сообщения. Правда, наряду с разбивкой на пакеты нужна фиксированная пауза после передачи каждого пакета (см. ответ на первый вопрос). 3. Можно ли паузу после коллизии сделать фиксированной? Ответ. Нет. Фиксированная пауза вызовет новую коллизию, так как узлы одновременно начнут повторять прерванную коллизией передачу и сеть не сможет работать. 4. Что такое сетевой протокол? Ответ. Правила, по которым организована работа сети. 5. Какое устройство передает в сеть пакеты, соблюдая сетевой протокол? Ответ. Сетевой адаптер. 6. Какое еще назначение у сетевого адаптера? Ответ. Преобразовать компьютерный сигнал в сигнал, принятый в среде передачи. И обратно. 7. Как называют сетевой адаптер, через который компьютер подключается к телефонной линии? Ответ. Модем. 8. Когда узел начинает передачу пакета в сети с разделяемой средой? Ответ. Когда в сети нет другой передачи. 9. Что такое коллизия? Ответ. Коллизия — это наложение двух и более пакетов (сигналов), переданных в сеть разными узлами. 10. Чем топология “общая шина” отличается от других топологий? Ответ. Все узлы сети подсоединены к общему каналу связи. 11. Приведите основные протокольные правила работы сети с разделяемой средой. Ответ. В сетях с разделяемой средой работа выполняется по следующим правилам:
12. Является ли коллизия исключительной ситуацией в сети с разделяемой средой? Ответ. В сети с разделяемой средой коллизия является обычной рабочей ситуацией. 13. За счет какого приема протокол Ethernet обеспечивает работоспособность сети, несмотря на коллизии? Ответ. При обнаружении коллизии узлы должны прекратить передачу и возобновить ее через случайную паузу. Именно случайная пауза обеспечивает работоспособность сетей Ethernet. 14. Какая коллизия называется ранней? Ответ. Ранней называется такая коллизия, которую передающая станция распознает во время передачи пакета. 15. Какая коллизия называется поздней? Ответ. Коллизия называется поздней, если она возникает после завершения передачи пакета, вызвавшего коллизию. 16. Почему ранняя коллизия не приводит к потерям пакетов? Ответ. Узел узнает о коллизии во время передачи пакета, то есть тогда, когда пакет еще находится в буфере адаптера и может быть передан заново. 17. Почему поздняя коллизия приводит к потерям пакетов? Ответ. Пакет уже передан в сеть, он удален из буфера адаптера и, следовательно, его уже невозможно передать повторно. 18. Почему для сети с разделяемой средой стандарты предусматривают ограничение на число подключаемых к ней узлов? Ответ. При большом количестве узлов дождаться паузы в сети для начала передачи может оказаться непросто. Стандарты называют такое количество узлов, при котором сеть остается работоспособной даже при максимальной нагрузке (когда все узлы работают одновременно). Игра-демонстрация “Кольцо”Игра демонстрирует работу сети с топологией “кольцо”. Описание игрыНепосредственно в игре заняты четыре ученика, остальные наблюдают за работой сети, учитель комментирует происходящее. Игроки садятся за стол, каждое место отмечено номером узла, за который играет участник (см. рис. 8). Рис. 8. Модель игровой среды Узлы с номерами 1 и 3, 2 и 4 должны обменяться друг с другом сообщениями, каждое из которых разделено на разное число пакетов (чтобы продемонстрировать передачу токена, когда пакеты закончились). Пакет — это карточка, одна сторона которой содержит адресную часть, оборотная — данные. Адресная часть содержит трехзначное число, цифры которого слева направо обозначают:
Так, на карточках-пакетах узла 1 записано:
Рис. 9. Адресная часть пакетов узла 1 С оборотной стороны на карточках написан фрагмент некой известной мысли. В игре длина данных пакета ограничена 10 символами (число 10 взято условно). Например, содержание карточек-пакетов узла 1 может быть таким, как на рис. 10.
Рис. 10. Примеры информационных частей пакетов узла 1 Для других узлов передаваемые сообщения могут быть такими:
В начале игры токеном владеет узел 1, и ему учитель передает соответствующую карточку (см. рис. 11).
Рис. 11. Карточка-токен Игра происходит так, как описано в учебнике. Узел может начать передачу лишь тогда, когда получает токен. Теперь вместо токена по кольцу следует пакет с данными. Получатель копирует пакет в свой буфер (в игре переписывает содержание с обратной стороны карточки к себе в тетрадь) и передает его дальше по сети с пометкой о получении (в игре роль пометки играет скрепка, прикрепленная к пакету). Узел-отправитель, получив свой пакет с уведомлением, изымает его из сети и вместо него передает токен следующему по кольцу узлу. Игра протекает медленно, игроки выполняют действия только после разрешения учителя (после того, как учитель объяснит, что сейчас должно произойти). Правила игры “Кольцо” в изложении для учениковУчитель. В чем особенность топологии “кольцо”? Ученики. Кольцо — топология, в которой каждый узел сети соединен с двумя другими узлами, образуя кольцо (петлю). Данные передаются от одного узла к другому по кольцу в одном направлении. Учитель. Для демонстрации работы сети с топологией “кольцо” мне нужны 4 помощника. Они будут играть роли сетевых узлов. Остальные ребята будут сетевыми администраторами, которым необходимо тщательно изучить работу сети. (Учитель выбирает игроков на роли сетевых узлов. Предлагает им занять места за столами в соответствии со случайно вытянутым номером.) Учитель. В какой момент узел может начать передачу данных? Ученики. Узел может начать передачу лишь тогда, когда получает токен. Вместо токена по кольцу передается пакет с данными. Учитель.Что делает с пакетом промежуточный узел (тот, кому не предназначен пакет)? Ученики. Каждый компьютер работает как повторитель, ретранслируя сообщение к следующему компьютеру. Учитель. Как узел узнает, что пакет предназначен другому узлу? Ученики. В пакете присутствует адрес получателя. Узел сравнивает этот адрес со своим сетевым адресом, если совпадения нет, пакет — “чужой”. Учитель. Что делает с пакетом получатель? Ученики. Получатель копирует пакет в свой буфер и передает его дальше по сети с пометкой о получении (в нашей “сети” со скрепкой). Учитель. Как узлу понять, что пакет предназначен ему? Ученики. По номеру принимающего узла, указанному в адресной части пакета. Учитель. Как поступает со своим пакетом узел-отправитель, получив его обратно с пометкой о прочтении? Ученики. Узел-отправитель, получив пакет с пометкой о приеме, заменяет пакет маркером (передает токен соседу) — сеть снова свободна. Учитель. С обратной стороны карточки-пакета написан фрагмент некой известной мысли. Нашим узлам необходимо обменяться сообщениями и по окончании игры прочитать их вслух. А мы с вами будем следить за правильностью работы сети и, в случае необходимости, корректировать ее. Фото 6–9 (автор — ученица 10-го “Б” класса Жданова Инна) демонстрируют рабочие моменты игры.
Фото 6. Четыре “узла” ждут,
Фото 7. Передача пакета
Фото 8. Учитель комментирует рабочую ситуацию Фото 9. Сообщение принято Рекомендации для педагогов“Кольцо” в отличие от “Общей шины” — демонстрационная игра. Здесь важно подобрать такие количества узлов в сети и пакетов в сообщении, чтобы ребята успели понять принципы работы сети и игра им не наскучила. Вариант “4 узла, 3–4 пакета на узел” кажется нам вполне подходящим. Определенную трудность у ребят вызывает адресная часть пакетов. Ученики не могут сразу понять, кому предназначен пакет, путешествующий по сети, путают назначение первой и последней цифры в адресе пакета. Порой во время игры “узел” пересылал предназначенный ему пакет дальше по кругу, что, естественно, противоречит алгоритму работы сетей Token Ring. Работа с адресной частью упрощается, если прикреплять скрепку-уведомление напротив первой цифры и ввести следующее правило для определения номера получателя пакета: 1) если пакет без скрепки, то номер получателя последний; 2) если пакет со скрепкой, то номер получателя указывает скрепка. Кроме того, на классной доске можно изобразить два пакета со стороны адресной части (без пометки и с пометкой о получении) и подписать назначение каждой цифры в адресе (см. рис. 12).
Рис. 12. Адресная часть пакета без пометки и с пометкой о получении Следует обратить внимание ребят, что в нашей игре в отличие от реальных сетей Token Ring узел за один раз может передать только один пакет. Таким образом мы фиксируем время удержания токена узлом. В этой игре нет победителя. Она демонстрирует работу сетей, построенных по топологии “кольцо”. Интрига заключается в том, чтобы после получения всех пакетов правильно прочитать переданные сообщения. Поэтому важно, чтобы до начала игры ребятам не было известно содержание сообщений. Узлам не разрешается переворачивать карточки-пакеты, пока сеть работает. Если предполагается проводить несколько туров с разными участниками, то необходимо заранее приготовить соответствующее количество сообщений. Вопросы для закрепления1. Как устроена сеть, построенная по топологии “кольцо”? Ответ. Каждый узел соединен с двумя другими; соединения образуют кольцо (петлю). 2. Объясните протокол работы сети с топологией “кольцо”. Ответ.
3. Может ли узел, владеющий токеном, передать в сеть не один, а несколько пакетов? Ответ. По протоколу кольца узел, владеющий токеном, может отправить не один, а несколько пакетов в течение времени удержания токена (фиксированная величина). По истечении этого времени передающая станция обязана прекратить передачу (передача текущего пакета разрешается) и передать токен далее по кольцу. 4. В разделяемой среде Ethernet пакет, переданный одной станцией, получают все другие станции, подключенные к сети. Верно ли это утверждение для сетей Token Ring? Ответ. Да, только часть станций получат пакет вместе с уведомлением о его получении. Если станция 1 передает пакет для станции 2 (см. рис. 13), то станции 3, 4 и 1 получат этот пакет (уже от станции 2) с пометкой о вручении.
Рис. 13. Передача пакета по кольцу Если станция 1 передает пакет для станции 3, то этот пакет получат станции 2 и 3, а станции 4 и 1 получат пакет с пометкой о вручении. 5. В чем общность и различие в принципах работы сетей с технологиями Token Ring и Ethernet? Ответ. Сети Token Ring и Ethernet используют разделяемые среды, но алгоритмы их работы разные.
А.. А.. Дуванов,
|