46
КОМПЬЮТЕРНЫЕ СЕТИ Лекция №16 Интернет 2. Прикладной уровень Санкт-Петербург, 2012 Александр Масальских rusalmas@gmail

КОМПЬЮТЕРНЫЕ СЕТИ

  • Upload
    erek

  • View
    84

  • Download
    0

Embed Size (px)

DESCRIPTION

Александр Масальских [email protected]. КОМПЬЮТЕРНЫЕ СЕТИ. Лекция № 16 Интернет 2. Прикладной уровень. Санкт-Петербург, 2012. Одноранговые сети. - PowerPoint PPT Presentation

Citation preview

Page 1: КОМПЬЮТЕРНЫЕ СЕТИ

КОМПЬЮТЕРНЫЕ СЕТИЛекция №16Интернет 2. Прикладной уровень

Санкт-Петербург, 2012

Александр Масальских [email protected]

Page 2: КОМПЬЮТЕРНЫЕ СЕТИ

ОДНОРАНГОВЫЕ СЕТИ Однора́нговая, децентрализо́ванная и

ли пи́ринговая (от англ. peer-to-peer, P2P — равный к равному) сеть — это оверлейная компьютерная сеть, основанная на равноправии участников. В такой сети отсутствуют выделенные серверы, а каждый узел (peer) является как клиентом, так и сервером. В отличие от архитектуры клиент-сервера, такая организация позволяет сохранять работоспособность сети при любом количестве и любом сочетании доступных узлов. Участниками сети являются пиры.

Page 3: КОМПЬЮТЕРНЫЕ СЕТИ

ОДНОРАНГОВЫЕ СЕТИ Структурированные P2P сети – пиры

организованы в соответствии с некоторыми критериями и алгоритмами, которые накладывают определённую топологию и свойства.

Обычно в таких сетях используется индексация на базе распределённые хэш-таблиц (DHT), таких как метод хорды (MIT)

Такие сети подходят для организации крупных систем, благодаря хорошей масштабируемости и некоторым гарантиям на производительность (как правило O (log N))

Page 4: КОМПЬЮТЕРНЫЕ СЕТИ

ОДНОРАНГОВЫЕ СЕТИ Неструктурированные P2P сети не

накладывают никаких структур Пиры подключаются в стиле ad-hoc на

основании некоторых свободных наборов правил. В идеале, неструктурированные сети не должны иметь никакой централизации узлов. На практике существует несколько степеней централизации.

Page 5: КОМПЬЮТЕРНЫЕ СЕТИ

ОДНОРАНГОВЫЕ СЕТИ В чистой P2P системе вся сеть состоит из

равносильных пиров. Имеется только один уровень маршрутизации, так как нет выделенных узлов с особой инфраструктурной функцией

В централизованной P2P системе, центральный сервер используется для индексации и инициализации всей системы. Хоть это похоже на структурированную P2P, связи между пирами не определяются никаким алгоритмом

Гибридная P2P система подразумевает существование инфраструктурных узлов - supernodes

Page 6: КОМПЬЮТЕРНЫЕ СЕТИ

ОДНОРАНГОВЫЕ СЕТИ I2P (сокр. от англ.  «Invisible Internet Project»,

рус. «Проект Невидимый Интернет», произносится «айтупи») — открытое программное обеспечение, созданное для организации сверхустойчивой анонимной, оверлейной, зашифрованной сети и применимое для веб-сёрфинга, анонимного хостинга (создания анонимных сайтов, форумов и чатов, файлообменных серверов и т. д.), систем обмена мгновенными сообщениями, ведения блогов, а также для файлообмена (в том числе P2P — Torrent, eDonkey, Kad, Gnutella и т. д.),электронной почты, VoIP и многого другого. Адреса сайтов в сети I2P имеют вид: «http://адрес_сайта.i2p».

Page 7: КОМПЬЮТЕРНЫЕ СЕТИ

ОДНОРАНГОВЫЕ СЕТИ I2P — это анонимная, самоорганизующаяся распределённая

сеть Network database, которая использует модифицированный DHT Kademlia, но отличается тем, что хранит в себе хешированные адреса узлов сети, зашифрованные AESIP-адреса, а также публичные ключи шифрования, причём соединения по Network database тоже зашифрованы. Сеть предоставляет приложениям простой транспортный механизм для анонимной и защищённой пересылки сообщений друг другу. Хотя сеть I2P строго ориентирована на определение пути передачи пакетов, благодаря библиотеке Streaming lib реализована также и их доставка в первоначально заданной последовательности без ошибок, потерь и дублирования, что даёт возможность использовать в сети I2P IP-телефонию, интернет-радио, IP-телевидение, видеоконференции и другие потоковые протоколы и сервисы.

Внутри сети I2P работает собственный каталог сайтов, электронные библиотеки, а также торрент-трекеры. Кроме того, существуют гейты для доступа в сеть I2P непосредственно из Интернета созданные специально для пользователей, которые по разным причинам не могут установить на компьютер программное обеспечение «Проекта Невидимый Интернет».

Page 8: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА Сетевая почтовая служба (электронная почта)

– распределенное приложение, предоставляющее возможности обмена электронными сообщениями

Почтовый клиент (агент пользователя) – обеспечивает пользовательский интерфейс и взаимодействие с серверной частью почтовой службы

Почтовый сервер – выполняет прием сообщений от клиентов, буферизацию сообщений, распределение поступивших сообщений по индивидуальным буферам (почтовым ящикам), управляет объёмами памяти, обеспечивает регистрацию пользователей, управляет правами доступа и т.д.

Page 9: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА Электронные сообщения – информационная

структура определённого формата. Обычно разбивают на 2 части:

Заголовок (содержит вспомогательную информацию для почтовой службы)

Само тело «письма» Адрес отправителя и получателя имеют вид:

[email protected] Name – идентификатор пользователя Domen.gov – имя домена

Page 10: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. SMTP SMTP – (Simple Mail Transfer Protocol — простой

протокол передачи почты) — это широко используемый сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.

SMTP впервые был описан в RFC 821 (1982 год); последнее обновление в RFC 5321 (2008) включает масштабируемое расширение — ESMTP (англ.  Extended SMTP). В настоящее время под «протоколом SMTP», как правило, подразумевают и его расширения. Протокол SMTP предназначен для передачи исходящей почты, используя для этого порт TCP 25.

Page 11: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. SMTP Компоненты электронной почты:

Пользовательский почтовый агент (MUA, mail user agent)

Агент передачи электронной почты (MSA, mail submission agent)

Агент пересылки сообщения (MTA, mail transfer agent)

Почтовый обменник (MX, mail exchanger) Агент доставки почты (MDA, mail delivery agent)

Page 12: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. SMTP

Page 13: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. SMTP SMTP — требующий соединения текстовый

протокол, по которому отправитель сообщения связывается с получателем посредством выдачи командных строк и получения необходимых данных через надёжный канал, в роли которого обычно выступает TCP-соединение (Transmission Control Protocol — протокол управления передачей). SMTP-сессия состоит из команд, посылаемых SMTP-клиентом, и соответствующих ответов SMTP-сервера. Когда сессия открыта, сервер и клиент обмениваются её параметрами. Сессия может включать нуль и более SMTP-операций (транзакций).

Page 14: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. SMTP Сервер SMTP — это конечный автомат с

внутренним состоянием. Клиент передает на сервер строку

команда<пробел>параметры<перевод строки>. Сервер отвечает на каждую команду строкой,

содержащей код ответа и текстовое сообщение, отделенное пробелом.

Page 15: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. SMTP Код ответа — число от 100 до 999 Трактовка:

2ХХ — команда успешно выполнена 3XX — ожидаются дополнительные данные от

клиента 4ХХ — временная ошибка 5ХХ — неустранимая ошибка

Page 16: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. SMTP C: (Подключается к порту 25 сервера) S:220 mail.company.tld SMTP CommuniGate Pro 5.1.4i is glad to see you! C:HELO S:250 domain name should be qualified C:MAIL FROM: <[email protected]> S:250 [email protected] sender accepted C:RCPT TO:[email protected] S:250 [email protected] ok C:RCPT TO: <[email protected]> S:550 [email protected] unknown user account C:DATA S:354 Enter mail, end with "." on a line by itself C:from: [email protected] C:to: [email protected] C:subject: tema C: C:Hi! C:. S:250 769947 message accepted for delivery C:QUIT S:221 mail.company.tld CommuniGate Pro SMTP closing connection

Page 17: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. SMTP Расширения ESMTP RFC 1869 предписывает начинать сессию не

командой HELO, а командой EHLO. В случае, если сервер не поддерживает расширений, то он ответит на EHLO ошибкой, в этом случае клиент должен послать команду HELO и не использовать расширения протокола

Если же сервер поддерживает ESMTP, то кроме приветствия он сообщит список поддерживаемых расширений протокола SMTP

250-AUTH LOGIN PLAIN CRAM-MD5 DIGEST-MD5 GSSAPI MSN NTLM

Page 18: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. SMTP MIME (произн. «майм», англ. Multipurpose Internet Mail

Extensions — многоцелевые расширения интернет-почты) — стандарт, описывающий передачу различных типов данных по электронной почте, а также, шире, спецификация для кодирования информации и форматирования сообщений таким образом, чтобы их можно было пересылать по Интернету.

Поскольку этот протокол сначала был с текстовым (ASCII) интерфейсом, то он плохо работал с бинарными файлами и символами многих неанглийских языков. Такие стандарты, как Multipurpose Internet Mail Extensions (MIME), были разработаны для кодирования двоичных файлов для передачи через SMTP. Сегодня агенты пересылки, работающие с чистыми 8 битами, как правило, поддерживают расширение 8BITMIME, позволяющее передавать бинарные файлы почти так же легко, как обычный текст. Недавно было создано расширение SMTPUTF8 для поддержки текста в кодировке UTF-8, благодаря чему стало возможным включать международное содержимое и адреса с использованием таких алфавитов, как кириллица или китайский.

Page 19: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. POP3 POP3 (англ. Post Office Protocol Version 3 —

протокол почтового отделения, версия 3) — стандартный Интернет-протокол прикладного уровня, используемый клиентами электронной почты для извлечения электронного сообщения с удаленного сервера по TCP/IP-соединению.

POP и IMAP (Internet Message Access Protocol) — наиболее распространенные Интернет-протоколы для извлечения почты. Практически все современные клиенты и сервера электронной почты поддерживают оба стандарта. Протокол POP был разработан в нескольких версиях, нынешним стандартом является третья версия (POP3). Большинство поставщиков услуг электронной почты(такие как Hotmail, Gmail и Yahoo! Mail) также поддерживают IMAP и POP3. Предыдущие версии протокола (POP, POP2) устарели.

Page 20: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. POP3Имя Аргументы Ограничения Возможные ответы

APOP [имя] [digest] Её поддержка не является обязательной

* +OK maildrop has n message* -ERR password suplied for [имя] is incorrect

USER [имя] — * +OK name is a valid mailbox* -ERR never heard of mailbox name

PASS [пароль] Работает после успешной передачи имени почтового ящика

* +OK maildrop locked and ready* -ERR invalid password* -ERR unable to lock maildrop

DELE [сообщение] Доступна после успешной идентификации

* +OK message deleted* -ERR no such message

LIST [сообщение] Доступна после успешной идентификации

* +OK scan listing follows* -ERR no such message

NOOP — Доступна после успешной идентификации +OK

RETR [сообщение] Доступна после успешной идентификации

* +OK message follows* -ERR no such message

RSET — Доступна после успешной идентификации +OK

STAT — Доступна после успешной идентификации +OK a b

TOP[сообщение][количество строк]

Доступна после успешной идентификации

* +OK n octets* -ERR no such message

QUIT — — +OK

Page 21: КОМПЬЮТЕРНЫЕ СЕТИ

APOP [ИМЯ] [DIGEST]Команда служит для передачи

серверу имени пользователя и зашифрованного пароля(digest)

Аргументы [имя] - строка, указывающая имя

почтового ящика. [digest]- временная метка,

зашифрованная паролем пользователя по алгоритму MD5. В случае поддержки этой команды временная метка получается при соединении с сервером

Page 22: КОМПЬЮТЕРНЫЕ СЕТИ

DELE [СООБЩЕНИЕ] Сервер помечает указанное сообщение

для удаления. Сообщения, помеченные на удаление,

реально удаляются только после закрытия транзакции

Page 23: КОМПЬЮТЕРНЫЕ СЕТИ

LIST [СООБЩЕНИЕ] Если был передан аргумент, то сервер

выдаёт информацию об указанном сообщении.

Если аргумент не был передан, то сервер выдаёт информацию обо всех сообщениях, находящихся в почтовом ящике.

Сообщения, помеченные для удаления не перечисляются.

Page 24: КОМПЬЮТЕРНЫЕ СЕТИ

NOOP Сервер ничего не делает, всегда отвечает

положительно

Page 25: КОМПЬЮТЕРНЫЕ СЕТИ

PASS [ПАРОЛЬ] Передаёт серверу пароль почтового

ящика

Page 26: КОМПЬЮТЕРНЫЕ СЕТИ

RETR [СООБЩЕНИЕ]Сервер передаёт сообщение с указанным

номером

Page 27: КОМПЬЮТЕРНЫЕ СЕТИ

RSET Этой командой производится откат

транзакций внутри сессии. Например, если пользователь случайно

пометил на удаление какие-либо сообщения, он может убрать эти пометки, отправив эту команду

Page 28: КОМПЬЮТЕРНЫЕ СЕТИ

STAT Сервер возвращает количество

сообщений в почтовом ящике плюс размер, занимаемыми этими сообщениями на почтовом ящике

Page 29: КОМПЬЮТЕРНЫЕ СЕТИ

TOP [СООБЩЕНИЕ] [КОЛИЧЕСТВО СТРОК] Сервер возвращает заголовки указанного

сообщения, пустую строку и указанное количество первых строк тела сообщения.

Page 30: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. IMAP IMAP (англ. Internet Message Access

Protocol) — протокол прикладного уровня для доступа к электронной почте.

Базируется на транспортном протоколе TCP и использует порт 143.

IMAP предоставляет пользователю обширные возможности для работы с почтовыми ящиками, находящимися на центральном сервере. Почтовая программа, использующая этот протокол, получает доступ к хранилищу корреспонденции на сервере так, как будто эта корреспонденция расположена на компьютере получателя. Электронными письмами можно манипулировать с компьютера пользователя (клиента) без постоянной пересылки с сервера и обратно файлов с полным содержанием писем.

Page 31: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. IMAP Протокол IMAP представляет собой альтернативу POP3. POP3 имеет ряд недостатков, и наиболее серьёзный из

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

Для решения проблем, связанных с этой особенностью POP3, в Вашингтонском университете был разработан новый протокол, предполагающий возможность получения пользователями электронной почты из одного почтового ящика из различных мест, при этом сообщения не распределяются между точками получения. Пользователю предоставляется возможность управлять сообщениями в его почтовом ящике и дополнительными функциями по обслуживанию почтовых ящиков на сервере.

Page 32: КОМПЬЮТЕРНЫЕ СЕТИ

ЭЛЕКТРОННАЯ ПОЧТА. IMAP При использовании POP3 клиент подключается к серверу только на

промежуток времени, необходимый для загрузки новых сообщений. При использовании IMAP соединение не разрывается, пока пользовательский интерфейс активен, а сообщения загружаются только по требованию клиента. Это позволяет уменьшить время отклика для пользователей, в чьих ящиках имеется много сообщений большого объёма.

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

Благодаря системе флагов, определенной в IMAP4, клиент может отслеживать состояние сообщения (прочитано, отправлен ответ, удалено и т. д.); данные о флагах хранятся на сервере.

Клиенты IMAP4 могут создавать, переименовывать и удалять ящики и перемещать сообщения между ящиками. Кроме того, можно использовать расширение IMAP4 Access Control List (ACL) Extension (RFC 4314) для управления правами доступа к ящикам.

Поиск сообщений происходит на стороне сервера. IMAP4 имеет явный механизм расширения.

Page 33: КОМПЬЮТЕРНЫЕ СЕТИ

ПЕРЕДАЧА РЕЧИ ПОВЕРХ IP 1996 ITU H.323 «Видеотелефонные системы и

оборудование локальных вычислительных сетей, не предоставляющих гарантированное качество обслуживания»

Page 34: КОМПЬЮТЕРНЫЕ СЕТИ

ПЕРЕДАЧА РЕЧИ ПОВЕРХ IP

The H323 architectural model for Internet telephony.

Page 35: КОМПЬЮТЕРНЫЕ СЕТИ

ПЕРЕДАЧА РЕЧИ ПОВЕРХ IP

The H323 protocol stack.

Page 36: КОМПЬЮТЕРНЫЕ СЕТИ

ПЕРЕДАЧА РЕЧИ ПОВЕРХ IP Gateway между интернетом и телефонной

сетью Gatekeeper – машина, управляющая

конечными узлами в её зоне G.711 определяет PCM (кодирование

8-битными отсчётами с частой 8000 в секунду голосового канала)

Есть и другие протоколы кодирования речи G.723.1

Для «переговоров» об используемом протоколе сжатия используется протокол H.245

Page 37: КОМПЬЮТЕРНЫЕ СЕТИ

ПЕРЕДАЧА РЕЧИ ПОВЕРХ IP H.245 позволяет также согласовывать

битовую скорость RTP и RTCP Проколы для установления и разрыва

соединений, генерации тонального вызова, звуков звонков и т.д Q.931

Для общения с gatekeeper используется протокол H.225. RAS (Registration/Admission/Status)

Page 38: КОМПЬЮТЕРНЫЕ СЕТИ

ПЕРЕДАЧА РЕЧИ ПОВЕРХ IP1. Поиск Gatekeeper широковещательным

UDP2. Регистрация у Gatekeeper3. Запрос Gatekeeper о резервировании

пропускной способности4. Установка соединения с Gatekeeper5. Q.931 запрос SETUP с номером абонента6. Keeper отвечает CALL PROCEDING и

посылает SETUP шлюзу7. Шлюз возвращает ALERT и потом

CONNECT8. Далее gatekeeper не принимает участия

Page 39: КОМПЬЮТЕРНЫЕ СЕТИ

ПЕРЕДАЧА РЕЧИ ПОВЕРХ IP9. Для переговоров о параметрах

используется H.245. Обе стороны декларируют возможности

10. Выбираются параметры и кодеки, организуется 2 однонаправленных канала

11. Передача данных по RTC под контролем RTCP

12. После разрыва вызывающий ПК посылает RAS Gatekeeper-у c запросом

Page 40: КОМПЬЮТЕРНЫЕ СЕТИ

ПЕРЕДАЧА РЕЧИ ПОВЕРХ IP

Logical channels between the caller and callee during a call.

Page 41: КОМПЬЮТЕРНЫЕ СЕТИ

ПЕРЕДАЧА РЕЧИ ПОВЕРХ IP SIP (англ. Session Initiation Protocol — протокол установления

сеанса) — протокол передачи данных, который описывает способ установления и завершения пользовательского интернет-сеанса, включающего обмен мультимедийнымсодержимым (видео- и аудиоконференция, мгновенные сообщения, онлайн-игры).

В модели взаимодействия открытых систем SIP является сетевым протоколом прикладного уровня.

Протокол описывает, каким образом клиентское приложение (например, софтфон) может запросить начало соединения у другого, возможно, физически удалённого клиента, находящегося в той же сети, используя его уникальное имя. Протокол определяет способ согласования между клиентами об открытии каналов обмена на основе других протоколов, которые могут использоваться для непосредственной передачи информации (например, RTP). Допускается добавление или удаление таких каналов в течение установленного сеанса, а также подключение и отключение дополнительных клиентов (то есть допускается участие в обмене более двух сторон — конференц-связь). Протокол также определяет порядок завершения сеанса.

Page 42: КОМПЬЮТЕРНЫЕ СЕТИ

ПЕРЕДАЧА РЕЧИ ПОВЕРХ IP Для организации взаимодействия с существующими

приложениями IP-сетей и для обеспечения мобильности пользователей, SIP использует адрес, подобный адресу электронной почты. В качестве адресов рабочих станций используются универсальные указатели ресурсов URL, так называемые SIP URL:

имя@домен, имя@хост, имя@IP-адрес, №телефона@шлюз. В начале SIP-адреса (в тексте) ставится слово sip:, указывающее,

что это именно SIP-адрес, так как бывают и другие c таким же форматом (например, адреса электронной почты, обозначаемые mailto:).

Адрес состоит из двух частей. Первая часть — имя пользователя, зарегистрированного в домене или на рабочей станции. Если вторая часть идентифицирует какой-либо шлюз, то в первой указывается телефонный номер абонента. Во второй части адреса указывается имя домена сети, хоста или IP-адрес.

Page 43: КОМПЬЮТЕРНЫЕ СЕТИ

ПЕРЕДАЧА РЕЧИ ПОВЕРХ IP Имена пользователей представляют собой

обычные алфавитно-цифровые идентификаторы. В IP-телефонии, как правило, используют чисто цифровые идентификаторы («номера») для удобства расширения/замены классических телефонных сетей. Номера местной связи, как правило, 2-3-4-значные.

Номер телефона, передаваемый шлюзу — любой доступный через него, и может быть как номером местной связи, так и номером мобильного или обычного городского телефона. Адрес шлюза (IP-адрес или доменное имя) задаётся в настройках телефона или программы-клиента, а пользователю для совершения звонка достаточно только набора номера.

Page 44: КОМПЬЮТЕРНЫЕ СЕТИ

ПЕРЕДАЧА РЕЧИ ПОВЕРХ IP

Page 45: КОМПЬЮТЕРНЫЕ СЕТИ

ПЕРЕДАЧА РЕЧИ ПОВЕРХ IP

Page 46: КОМПЬЮТЕРНЫЕ СЕТИ

VIDEO