Networks 2014 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
Строка 22: Строка 22:
 
* [[Медиа:Networks_2013_Sockets_02.ppt|Сокеты-02]]
 
* [[Медиа:Networks_2013_Sockets_02.ppt|Сокеты-02]]
  
 +
== Третье задание ==
 +
Нужно сделать сервер и клиент, работающие по какому-нибудь простому протоколу REQUEST-RESPONSE,
 +
в котором время обработки запросов зависит от размера этого запроса.
 +
 +
В рамках одного соединения может быть несколько запросов.
 +
 +
 +
Возможны два способа реализации сервера:
 +
* Модель, как в apache.
 +
Есть главный процесс, обрабатывающий новые соединения.
 +
Есть процессы-воркеры.
 +
 +
Когда появился новый клиент, если есть свободный воркер, нужно передать обработку соединения ему, иначе создать новый процесс-воркер.
 +
 +
* Неблокирующий многопоточный сервер.
 +
 +
То есть один процесс неблокирующе читает из сокетов, и раздает задания фиксированному числу потоков.
 +
 +
Потоки ничего про сокеты не знают.
 +
 +
 +
Для полученного сервера надо запустить много клиентов и нарисовать графики изменения среднего времени ответа и еще чего-нибудь от числа клиентов.
 
== Рейтинг ==
 
== Рейтинг ==
  
 
[https://docs.google.com/spreadsheets/d/1fut5LyIzNx5XpP-E2oMwKGA3cvdv_MKMjrT3bTQiB-M/edit?usp=sharing Рейтинг]
 
[https://docs.google.com/spreadsheets/d/1fut5LyIzNx5XpP-E2oMwKGA3cvdv_MKMjrT3bTQiB-M/edit?usp=sharing Рейтинг]

Версия 18:41, 5 декабря 2014

Список тем по теории

  • Стек протоколов TCP/IP
  • TCP, UDP
  • IP, ICMP
  • ARP, Ethernet
  • DNS, DHCP
  • IP адреса, маска сети, шлюз. Порт
  • Устройство IP пакета. TOS, TTL
  • Схема работы стека протоколов при передаче данных между компьютерами
  • Маршрутизация. Статическая и динамическая. Протоколы динамической маршрутизации: OSPF, BGP
  • Маршрутизаторы
  • HTTP, HTTPS

Задания

Третье задание

Нужно сделать сервер и клиент, работающие по какому-нибудь простому протоколу REQUEST-RESPONSE, в котором время обработки запросов зависит от размера этого запроса.

В рамках одного соединения может быть несколько запросов.


Возможны два способа реализации сервера:

  • Модель, как в apache.

Есть главный процесс, обрабатывающий новые соединения. Есть процессы-воркеры.

Когда появился новый клиент, если есть свободный воркер, нужно передать обработку соединения ему, иначе создать новый процесс-воркер.

  • Неблокирующий многопоточный сервер.

То есть один процесс неблокирующе читает из сокетов, и раздает задания фиксированному числу потоков.

Потоки ничего про сокеты не знают.


Для полученного сервера надо запустить много клиентов и нарисовать графики изменения среднего времени ответа и еще чего-нибудь от числа клиентов.

Рейтинг

Рейтинг