Сетевые технологии — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Домашние задания)
(REST/SOAP)
 
(не показано 7 промежуточных версий 3 участников)
Строка 2: Строка 2:
  
 
== Лекции ==
 
== Лекции ==
 +
[http://mit.spbau.ru/sewiki/images/0/07/Network_Sockets_20110930.pdf Презентация по сокетам]
  
 
== Домашние задания ==
 
== Домашние задания ==
 +
 +
=== Basic ===
 +
 
# Есть два IP адреса и маска. Написать программу, которая отвечает на вопрос: лежат ли эти IP адреса в одной подсети
 
# Есть два IP адреса и маска. Написать программу, которая отвечает на вопрос: лежат ли эти IP адреса в одной подсети
 
# Разобраться с tcpdump (написать команду и вывод команды в письме)
 
# Разобраться с tcpdump (написать команду и вывод команды в письме)
Строка 11: Строка 15:
 
### Что приходит при отправке пакета и обрыве сети
 
### Что приходит при отправке пакета и обрыве сети
 
### Что приходит при отправке пакета и кончается TTL
 
### Что приходит при отправке пакета и кончается TTL
 +
# Д/З к 19.10.12
 +
## Посмотреть route, iptables
 +
## Раньше А и Б выходили в инет через одну точку.
 +
### Сделать так чтобы А выходил в инет через Б
 +
### Теперь настроить на Б SNAT и показать, что при обращении к какому то урлу source подменяется
 +
## Написать проверялку endian на компе (Big | Little - endian)
 +
 +
=== Sockets ===
 +
 +
## Hello-Server<br/>Передаем: <имя> <время отправки> <br/>в ответ возвращается: Hello, <имя> <время отправики с сервера>
 +
### Продемонстрировать, что ответ может прийти не сразу (много клиентов)
 +
### tcp
 +
### udp
 +
### Сравнить количество обслуженных клиентов
 +
 +
=== Chat ===
 +
 +
# Chat (сервер, клиент) -- [http://mit.spbau.ru/sewiki/images/1/11/Network2012_chat_task_board.jpg фото доски]
 +
 +
=== Chat-2 ===
 +
 +
Для тех кто пишет сервер: написать многопоточный вариант или вариант с fork.<br />
 +
Для тех кто пишет клиент: написать утилиту позволяющую выяснить максимальное количество запросов, которые может обработать сервер в секунду.
 +
 +
=== REST/SOAP ===
 +
 +
Необходимо написать веб-сервис, который умеет выполнять две команды. Первая - позволяет получать текущий курс валют в виде "название валюты" и ее курс к рублю. Вторая - получает курс валюты, название которой передано в качестве параметра, за последние 10 дней в виде - "дата" и "курс"
 +
 +
Решить данное задание необходимо одним из двух способов:
 +
# Написать, используя идеологию REST. При это должны обрабатываться варианты, которых клиент требует html или JSON. Также необходимо поддержать метод HEAD, который должен возвращать список доступных методов. В данном варианте браузер является клиентским приложением.
 +
# Написать, используя архитектура SOAP. Написать клиента для проверки работоспособности приложения.
 +
 +
В качестве решения необходимо:
 +
# Сдать код веб-сервиса и в втором варианте клиента.
 +
# Разместить свой веб-сервис где-то в Интернете.
  
 
== Список литературы ==
 
== Список литературы ==
  
 
== Полезные ссылки ==
 
== Полезные ссылки ==
 +
 +
[https://docs.google.com/spreadsheet/pub?key=0Aif17q2hwUt4dGt6U0xxVktlZnhpYi15T2JpMnBWdnc&output=html Рейтинг]

Текущая версия на 19:33, 25 ноября 2012

Лектор - Кузнецов Антон Михайлович

Лекции

Презентация по сокетам

Домашние задания

Basic

  1. Есть два IP адреса и маска. Написать программу, которая отвечает на вопрос: лежат ли эти IP адреса в одной подсети
  2. Разобраться с tcpdump (написать команду и вывод команды в письме)
    1. Увидеть как пингуют мой компьютер
    2. Разобраться с ICMP type 3 запросами:
      1. Что приходит при отправке пакета на несуществующий узел
      2. Что приходит при отправке пакета и обрыве сети
      3. Что приходит при отправке пакета и кончается TTL
  3. Д/З к 19.10.12
    1. Посмотреть route, iptables
    2. Раньше А и Б выходили в инет через одну точку.
      1. Сделать так чтобы А выходил в инет через Б
      2. Теперь настроить на Б SNAT и показать, что при обращении к какому то урлу source подменяется
    3. Написать проверялку endian на компе (Big | Little - endian)

Sockets

    1. Hello-Server
      Передаем: <имя> <время отправки>
      в ответ возвращается: Hello, <имя> <время отправики с сервера>
      1. Продемонстрировать, что ответ может прийти не сразу (много клиентов)
      2. tcp
      3. udp
      4. Сравнить количество обслуженных клиентов

Chat

  1. Chat (сервер, клиент) -- фото доски

Chat-2

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

REST/SOAP

Необходимо написать веб-сервис, который умеет выполнять две команды. Первая - позволяет получать текущий курс валют в виде "название валюты" и ее курс к рублю. Вторая - получает курс валюты, название которой передано в качестве параметра, за последние 10 дней в виде - "дата" и "курс"

Решить данное задание необходимо одним из двух способов:

  1. Написать, используя идеологию REST. При это должны обрабатываться варианты, которых клиент требует html или JSON. Также необходимо поддержать метод HEAD, который должен возвращать список доступных методов. В данном варианте браузер является клиентским приложением.
  2. Написать, используя архитектура SOAP. Написать клиента для проверки работоспособности приложения.

В качестве решения необходимо:

  1. Сдать код веб-сервиса и в втором варианте клиента.
  2. Разместить свой веб-сервис где-то в Интернете.

Список литературы

Полезные ссылки

Рейтинг