Возникла проблема с организацией практических заданий по курсу Компьютерные сети.
Курс читается для студентов 2 курса информатики и 3 курса softaware engineering и биоинформатики. Основа курса — учебник Таненбаума "Компьютерные сети". Сам курс состоит из изучения архитектуры 5 уровней — физический уровень, канальный, сетевой, транспортный и уровень приложений. На лабораторных занятиях надо (простой вариант) написать программу клиент-сервер (крестики нолики, банкомат, морской бой, etc.), в которой обмен данными идет через сокеты. Одна и та же задача решается на (I) C/C++ (Berkley sockets API), (II) Java Sockets, a (III) вариант — клиент из первой части должен заработать с сервером из (II). Advanced задание — написать симулятор сети с основными уровнями и протоколами (а также возможностью конфигурирования топологии).
Вопрос: как улучшить/усилить простые задания? Они кажутся мне слишком тривиальными. Думал дать реализовать какой-нибудь протокол, типа POP3, HTTP. etc. Но проблема в том, что мало с курсом перекликается. Подкиньте идей, пожалуста.
memega
Re: Курс "Компьютерные сети": практические задания
М>Вопрос: как улучшить/усилить простые задания? Они кажутся мне слишком тривиальными.
Добавить задач на реализацию p2p решений (например, бессерверный чат). Причем запретить использование широковещательных пакетов.
Поработать с такими штуками как latancy — например, заставить написать NTP клиент.
Re: Курс "Компьютерные сети": практические задания
Здравствуйте, Мемега, Вы писали:
М>Сам курс состоит из изучения архитектуры 5 уровней — физический уровень, канальный, сетевой, транспортный и уровень приложений. На лабораторных занятиях надо (простой вариант) написать программу
какая программа?!..
даете сетевой кабель, показываете, где роутер. задание передать сообщение на комьютер преподавателя _любым_ способом.
первые 5 — отлично. те, кто не передал — разбираемся, на каком шаге застряли.
разрешенные вопрос:
1) у Вас аська есть? работает?
2) какая система на компе преподавателя?
3) еще раз покажите, где роутер?
4) мне длинны кабеля не хватает!!!
5) че за фигня, мой ip-шник фильтруют! во
Re[2]: Курс "Компьютерные сети": практические задания
Здравствуйте, bastrakov, Вы писали:
B>Здравствуйте, Мемега, Вы писали:
М>>К сожалению, не будет доступа с рутеру.
B>т.е. Вы на _лабораторных_ работах занимаетесь теорией. грустно. B>ну тогда программу проверки почты или новостей для любого протокола. во
Ну почему же теорией? Навыки работы с железом на другом курсе — а здесь проектирование протоколов и взаимодействие различных уровней. Если короко, то системное программное обеспечение компьютерных сетей. Протоколы для MAC подуровня, алкоритмы маршрутизации, обеспечение надежной передачи и прочее.
memega
Re: Курс "Компьютерные сети": практические задания
Здравствуйте, Мемега, Вы писали:
М>Курс читается для студентов 2 курса информатики и 3 курса softaware engineering и биоинформатики. Основа курса — учебник Таненбаума "Компьютерные сети". Сам курс состоит из изучения архитектуры 5 уровней — физический уровень, канальный, сетевой, транспортный и уровень приложений. На лабораторных занятиях надо (простой вариант) написать программу клиент-сервер (крестики нолики, банкомат, морской бой, etc.), в которой обмен данными идет через сокеты. Одна и та же задача решается на (I) C/C++ (Berkley sockets API), (II) Java Sockets, a (III) вариант — клиент из первой части должен заработать с сервером из (II). Advanced задание — написать симулятор сети с основными уровнями и протоколами (а также возможностью конфигурирования топологии).
Канальный-анальный. Все, зачем-то, морочат голову студентам рассказом о 5-уровневой модели (не имеющей к реальной жизни особого отношения), но хоть бы кто рассказывал о реальном программировании в реальных сетях. Например о том, что в современном мире, где большинство компьютеров, на которых будут исполняться ваши программы — это не выделенные сервера в дата-центрах с постоянным подключением к сети, а мобильные устройства, которые могут в любой момент потерять связь с сетью, восстановить ее и изменить свой собственный IP-адрес. А программы должны быть к этому готовы.
Разумеется, если вы пишете программу, которая работает "как бровсер", т.е. посылает куда-то запрос, получает ответ и забывает о соединении, а если в течении N секунд не получает ответа, то считает это ошибкой и тоже забывает о соединении, то обо всех этих сложностях думать не надо. А вы попробуйте написать программу, которая работает с долгоживущими соединениями — media streaming какой-нибудь или хоть чат. Вот тут-то эти все проблемы и полезут.
Я думаю, именно это надо рассказывать студентам, потому что это — смена парадигмы по сравнению со временами, когда писался учебник Таненбаума. А не о канально-анальных 5-уровневых моделях (столь удобных для препода, потому что легко подлавливать студентов на неточностях в ответах)
Re[2]: Курс "Компьютерные сети": практические задания
Здравствуйте, Pzz, Вы писали:
Pzz>Канальный-анальный. Все, зачем-то, морочат голову студентам рассказом о 5-уровневой модели (не имеющей к реальной жизни особого отношения), но хоть бы кто рассказывал о реальном программировании в реальных сетях. Например о том, что в современном мире, где большинство компьютеров, на которых будут исполняться ваши программы — это не выделенные сервера в дата-центрах с постоянным подключением к сети, а мобильные устройства, которые могут в любой момент потерять связь с сетью, восстановить ее и изменить свой собственный IP-адрес. А программы должны быть к этому готовы.
Pzz>Разумеется, если вы пишете программу, которая работает "как бровсер", т.е. посылает куда-то запрос, получает ответ и забывает о соединении, а если в течении N секунд не получает ответа, то считает это ошибкой и тоже забывает о соединении, то обо всех этих сложностях думать не надо. А вы попробуйте написать программу, которая работает с долгоживущими соединениями — media streaming какой-нибудь или хоть чат. Вот тут-то эти все проблемы и полезут.
Pzz>Я думаю, именно это надо рассказывать студентам, потому что это — смена парадигмы по сравнению со временами, когда писался учебник Таненбаума. А не о канально-анальных 5-уровневых моделях (столь удобных для препода, потому что легко подлавливать студентов на неточностях в ответах)
Фундаментальные модели хороши тем, что время их слабо меняет. Network location awarness и прочие SLP для динамических сетей совершенно не нарушают эту модель.
Ты про IPX, например, слыхал? Полностью plug-n-play сеть безо всяких DHCP — но точно также ложится на модель OSI.
А частные задачи актуальные для здесь и сейчас изучать надо в ПТУ — потому что сразу на производство.
Re[3]: Курс "Компьютерные сети": практические задания
Здравствуйте, DOOM, Вы писали:
DOO>Фундаментальные модели хороши тем, что время их слабо меняет. Network location awarness и прочие SLP для динамических сетей совершенно не нарушают эту модель.
Обычно комитеты по стандартизации не создают фундаментальных знаний
DOO>Ты про IPX, например, слыхал? Полностью plug-n-play сеть безо всяких DHCP — но точно также ложится на модель OSI. DOO>А частные задачи актуальные для здесь и сейчас изучать надо в ПТУ — потому что сразу на производство.
Теоретиков — давить!
Re[2]: Курс "Компьютерные сети": практические задания
Pzz>Я думаю, именно это надо рассказывать студентам, потому что это — смена парадигмы по сравнению со временами, когда писался учебник Таненбаума. А не о канально-анальных 5-уровневых моделях (столь удобных для препода, потому что легко подлавливать студентов на неточностях в ответах)
Учебник Любимского был написан, кажется, в 1980 году, а до сих пор читается с интересом. То, о чем вы говорите, отлично подошло бы для какого-нибудь спец.курса, а для базового курса нужно другое — основа.
Как пример, то ли Стенфорд, то ли МИТ вообще используют симулятор на лабах и основные задание запрограммировать рутинг и т.д.
memega
Re[4]: Курс "Компьютерные сети": практические задания
Здравствуйте, Pzz, Вы писали:
DOO>>Фундаментальные модели хороши тем, что время их слабо меняет. Network location awarness и прочие SLP для динамических сетей совершенно не нарушают эту модель. Pzz>Обычно комитеты по стандартизации не создают фундаментальных знаний
Это ты зря.
Ты думаешь, что стандарты берутся из сферического вакуума с конями?
DOO>>Ты про IPX, например, слыхал? Полностью plug-n-play сеть безо всяких DHCP — но точно также ложится на модель OSI. DOO>>А частные задачи актуальные для здесь и сейчас изучать надо в ПТУ — потому что сразу на производство. Pzz>Теоретиков — давить!
Попадутся — ко мне отправляй. А то найти человека, не зажатого стереотипами — та еще проблема.
Re[5]: Курс "Компьютерные сети": практические задания
Здравствуйте, DOOM, Вы писали:
DOO>>>Ты про IPX, например, слыхал? Полностью plug-n-play сеть безо всяких DHCP — но точно также ложится на модель OSI. DOO>>>А частные задачи актуальные для здесь и сейчас изучать надо в ПТУ — потому что сразу на производство. Pzz>>Теоретиков — давить! DOO>Попадутся — ко мне отправляй. А то найти человека, не зажатого стереотипами — та еще проблема.
Согласен полностью.
У меня трудности были в 1997-1998 годах, когда люди с красными дипломами, приходя устраиваться сетевым инженером, не только не знали, но и заявляли, что "нас этому в университете не учили". Сам ответ уже о многом говорит, к тому же по сетям был факультатив (для которого я материалы помогал готовить).
И это все-таки люди с во многом советским образованием.
Что говорить о нынешнем?
Re[3]: Курс "Компьютерные сети": практические задания
От:
Аноним
Дата:
02.09.11 08:11
Оценка:
Здравствуйте, DOOM, Вы писали:
DOO>Фундаментальные модели хороши тем, что время их слабо меняет.
Фундаментальная тут теория массового обслуживания, а не 5-уровневая модель OSI. И в нее каждый год дописывают новые разделы.
Re[4]: Курс "Компьютерные сети": практические задания
Здравствуйте, Аноним, Вы писали:
А>Фундаментальная тут теория массового обслуживания, а не 5-уровневая модель OSI. И в нее каждый год дописывают новые разделы.
Это как сказать, что фундаментальна тут алгебра, а не матан.
Вещи-то разные.
P.S. Модель — 7-ми уровневая, вообще-то.