Курс "Компьютерные сети": практические задания
От: Мемега Литва  
Дата: 23.08.11 09:11
Оценка:
Привет всем!

Возникла проблема с организацией практических заданий по курсу Компьютерные сети.

Курс читается для студентов 2 курса информатики и 3 курса softaware engineering и биоинформатики. Основа курса — учебник Таненбаума "Компьютерные сети". Сам курс состоит из изучения архитектуры 5 уровней — физический уровень, канальный, сетевой, транспортный и уровень приложений. На лабораторных занятиях надо (простой вариант) написать программу клиент-сервер (крестики нолики, банкомат, морской бой, etc.), в которой обмен данными идет через сокеты. Одна и та же задача решается на (I) C/C++ (Berkley sockets API), (II) Java Sockets, a (III) вариант — клиент из первой части должен заработать с сервером из (II). Advanced задание — написать симулятор сети с основными уровнями и протоколами (а также возможностью конфигурирования топологии).

Вопрос: как улучшить/усилить простые задания? Они кажутся мне слишком тривиальными. Думал дать реализовать какой-нибудь протокол, типа POP3, HTTP. etc. Но проблема в том, что мало с курсом перекликается. Подкиньте идей, пожалуста.
memega
Re: Курс "Компьютерные сети": практические задания
От: DOOM Россия  
Дата: 23.08.11 11:30
Оценка:
Здравствуйте, Мемега, Вы писали:


М>Вопрос: как улучшить/усилить простые задания? Они кажутся мне слишком тривиальными.

Добавить задач на реализацию p2p решений (например, бессерверный чат). Причем запретить использование широковещательных пакетов.
Поработать с такими штуками как latancy — например, заставить написать NTP клиент.
Re: Курс "Компьютерные сети": практические задания
От: bastrakov Россия http://bastrakof.livejournal.com/
Дата: 23.08.11 12:34
Оценка:
Здравствуйте, Мемега, Вы писали:

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


какая программа?!..
даете сетевой кабель, показываете, где роутер. задание передать сообщение на комьютер преподавателя _любым_ способом.
первые 5 — отлично. те, кто не передал — разбираемся, на каком шаге застряли.

разрешенные вопрос:
1) у Вас аська есть? работает?
2) какая система на компе преподавателя?
3) еще раз покажите, где роутер?
4) мне длинны кабеля не хватает!!!
5) че за фигня, мой ip-шник фильтруют! во
Re[2]: Курс "Компьютерные сети": практические задания
От: Мемега Литва  
Дата: 23.08.11 12:37
Оценка:
Здравствуйте, bastrakov, Вы писали:

К сожалению, не будет доступа с рутеру.
memega
Re[3]: Курс "Компьютерные сети": практические задания
От: bastrakov Россия http://bastrakof.livejournal.com/
Дата: 23.08.11 15:24
Оценка:
Здравствуйте, Мемега, Вы писали:

М>К сожалению, не будет доступа с рутеру.


т.е. Вы на _лабораторных_ работах занимаетесь теорией. грустно.
ну тогда программу проверки почты или новостей для любого протокола. во
Re[4]: Курс "Компьютерные сети": практические задания
От: Мемега Литва  
Дата: 27.08.11 11:02
Оценка:
Здравствуйте, bastrakov, Вы писали:

B>Здравствуйте, Мемега, Вы писали:


М>>К сожалению, не будет доступа с рутеру.


B>т.е. Вы на _лабораторных_ работах занимаетесь теорией. грустно.

B>ну тогда программу проверки почты или новостей для любого протокола. во

Ну почему же теорией? Навыки работы с железом на другом курсе — а здесь проектирование протоколов и взаимодействие различных уровней. Если короко, то системное программное обеспечение компьютерных сетей. Протоколы для MAC подуровня, алкоритмы маршрутизации, обеспечение надежной передачи и прочее.
memega
Re: Курс "Компьютерные сети": практические задания
От: Pzz Россия https://github.com/alexpevzner
Дата: 29.08.11 14:14
Оценка: +1
Здравствуйте, Мемега, Вы писали:

М>Курс читается для студентов 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]: Курс "Компьютерные сети": практические задания
От: DOOM Россия  
Дата: 29.08.11 16:32
Оценка: +1
Здравствуйте, Pzz, Вы писали:

Pzz>Канальный-анальный. Все, зачем-то, морочат голову студентам рассказом о 5-уровневой модели (не имеющей к реальной жизни особого отношения), но хоть бы кто рассказывал о реальном программировании в реальных сетях. Например о том, что в современном мире, где большинство компьютеров, на которых будут исполняться ваши программы — это не выделенные сервера в дата-центрах с постоянным подключением к сети, а мобильные устройства, которые могут в любой момент потерять связь с сетью, восстановить ее и изменить свой собственный IP-адрес. А программы должны быть к этому готовы.


Pzz>Разумеется, если вы пишете программу, которая работает "как бровсер", т.е. посылает куда-то запрос, получает ответ и забывает о соединении, а если в течении N секунд не получает ответа, то считает это ошибкой и тоже забывает о соединении, то обо всех этих сложностях думать не надо. А вы попробуйте написать программу, которая работает с долгоживущими соединениями — media streaming какой-нибудь или хоть чат. Вот тут-то эти все проблемы и полезут.


Pzz>Я думаю, именно это надо рассказывать студентам, потому что это — смена парадигмы по сравнению со временами, когда писался учебник Таненбаума. А не о канально-анальных 5-уровневых моделях (столь удобных для препода, потому что легко подлавливать студентов на неточностях в ответах)


Фундаментальные модели хороши тем, что время их слабо меняет. Network location awarness и прочие SLP для динамических сетей совершенно не нарушают эту модель.
Ты про IPX, например, слыхал? Полностью plug-n-play сеть безо всяких DHCP — но точно также ложится на модель OSI.
А частные задачи актуальные для здесь и сейчас изучать надо в ПТУ — потому что сразу на производство.
Re[3]: Курс "Компьютерные сети": практические задания
От: Pzz Россия https://github.com/alexpevzner
Дата: 30.08.11 19:00
Оценка:
Здравствуйте, DOOM, Вы писали:

DOO>Фундаментальные модели хороши тем, что время их слабо меняет. Network location awarness и прочие SLP для динамических сетей совершенно не нарушают эту модель.


Обычно комитеты по стандартизации не создают фундаментальных знаний

DOO>Ты про IPX, например, слыхал? Полностью plug-n-play сеть безо всяких DHCP — но точно также ложится на модель OSI.

DOO>А частные задачи актуальные для здесь и сейчас изучать надо в ПТУ — потому что сразу на производство.

Теоретиков — давить!
Re[2]: Курс "Компьютерные сети": практические задания
От: Мемега Литва  
Дата: 31.08.11 06:43
Оценка:
Здравствуйте, Pzz, Вы писали:


Pzz>Я думаю, именно это надо рассказывать студентам, потому что это — смена парадигмы по сравнению со временами, когда писался учебник Таненбаума. А не о канально-анальных 5-уровневых моделях (столь удобных для препода, потому что легко подлавливать студентов на неточностях в ответах)


Учебник Любимского был написан, кажется, в 1980 году, а до сих пор читается с интересом. То, о чем вы говорите, отлично подошло бы для какого-нибудь спец.курса, а для базового курса нужно другое — основа.

Как пример, то ли Стенфорд, то ли МИТ вообще используют симулятор на лабах и основные задание запрограммировать рутинг и т.д.
memega
Re[4]: Курс "Компьютерные сети": практические задания
От: DOOM Россия  
Дата: 01.09.11 17:27
Оценка:
Здравствуйте, Pzz, Вы писали:

DOO>>Фундаментальные модели хороши тем, что время их слабо меняет. Network location awarness и прочие SLP для динамических сетей совершенно не нарушают эту модель.

Pzz>Обычно комитеты по стандартизации не создают фундаментальных знаний
Это ты зря.
Ты думаешь, что стандарты берутся из сферического вакуума с конями?

DOO>>Ты про IPX, например, слыхал? Полностью plug-n-play сеть безо всяких DHCP — но точно также ложится на модель OSI.

DOO>>А частные задачи актуальные для здесь и сейчас изучать надо в ПТУ — потому что сразу на производство.
Pzz>Теоретиков — давить!
Попадутся — ко мне отправляй. А то найти человека, не зажатого стереотипами — та еще проблема.
Re[5]: Курс "Компьютерные сети": практические задания
От: samond  
Дата: 02.09.11 07:37
Оценка:
Здравствуйте, 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]: Курс "Компьютерные сети": практические задания
От: DOOM Россия  
Дата: 02.09.11 09:10
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Фундаментальная тут теория массового обслуживания, а не 5-уровневая модель OSI. И в нее каждый год дописывают новые разделы.

Это как сказать, что фундаментальна тут алгебра, а не матан.
Вещи-то разные.
P.S. Модель — 7-ми уровневая, вообще-то.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.