Санкт-Петербургский государственный университет информационных технологий, механики и оптики Кафедра проектирования компьютерных систем В. А. Козак Вычислительные сети Лекция 6 Транспортный и прикладной уровни Санкт-Петербург, 2009 Транспортный уровень • Сердцевина всей иерархии протоколов, посредник между приложениями и транспортной инфраструктурой сети; • Работает на пользовательских машинах; • Обеспечивает передачу данных между приложениями (прикладными процессами) вне зависимости от физических характеристик использующейся сети или сетей с требуемой степенью надежности; • Может управлять соединением, обнаруживать потерянные пакеты и искаженные данные; • Протоколы предназначены для взаимодействия типа «точка— точка». • Примеры протоколов: TCP, UDP, SPX. Сокеты • Сокет - абстрактный объект, представляющий конечную точку соединения. • Сокет - комбинация IP-адреса и номера порта, например 10.10.10.10:80. • Интерфейс сокетов впервые появился в BSD Unix. UDP (User Datagram Protocol) • UDP (пользовательский дейтаграммный протокол). UDP позволяет приложениям отправлять инкапсулированные IPдейтаграммы без установления соединений. • Смысл использования UDP вместо обычного IP заключается в указании портов источника и приемника. • UDP не занимается контролем потока, контролем ошибок, повторной передачей после приема испорченного сегмента. TCP (Transmission Control Protocol) • TCP (протокол управления передачей) протокол для обеспечения надежного сквозного байтового потока по ненадежной интерсети. • Размер сегментов (дейтаграмм) ограничивается размером полезной нагрузки IP-пакета (65 515 байт) и максимальной единицой передачи (MTU, Maximum Transfer Unit) сети. • На практике размер максимальной единицы передачи составляет обычно 1500 байт (что соответствует размеру поля полезной нагрузки Ethernet). • При передаче используется механизм скользящего окна. • Используется для передачи трафика, чувствительного к потерям. Заголовок TCP сегмента Прикладной уровень (Application layer) • Является набором разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, организуют совместную работу. • Обеспечивает взаимодействие сети и пользователя. • Разрешает приложениям пользователя иметь доступ к сетевым службам, таким как обработчик запросов к базам данных, доступ к файлам, пересылке электронной почты. • Отвечает за передачу служебной информации. • Предоставляет приложениям информацию об ошибках. • Формирует запросы к уровню представления. • Пример: HTTP, POP3, SMTP. Наиболее популярные протоколы • Telnet - протокол удаленного доступа, позволяет входить в систему и выполнять действия над ней. • SSH - протокол, позволяющий производить удалённое безопасное управление операционной системой и туннелирование TCP-соединений, шифрует весь трафик. • HTTP – передача данных (обычно гипертекстовые страницы). • FTP - пересылка файлов и удаленный доступ к ним. • SFTP – протокол для операций с файлами поверх надёжного и безопасного соединения. Наиболее популярные протоколы • • • • SMTP – отправка почтовых сообщений. POP3 – прием (закачка) эл. почты. IMAP - доступ к хранилищу эл. почты. XMPP (Jabber) - протокол для мгновенного обмена сообщениями и информацией о присутствии. • RTP – транспортный протокол реального времени. Используется в IP-телефонии для передачи речевого трафика. • SIP – сигнальный протокол IP-телефонии, управляет процессами создания, завершения, управления и конфигурирования телефонных соединений. RTP (Real-Time Transport Protocol ) • RTP - транспортный протокол реального масштаба времени, реализованный на прикладном уровне. • Основная функция RTP - уплотнение нескольких потоков реального масштаба времени в единый поток пакетов UDP. • Нет никаких гарантий касательно доставки, дрожания (неустойчивой синхронизации) и т. д. • Каждый пакет, посылаемый с потоком RTP, имеет номер, на единицу превышающий номер своего предшественника. При потере пакета необходимо путем интерполяции аппроксимировать (приблизить, предположить) пропущенное значение. Заголовок RTP Всемирная паутина (World Wide Web) • Всемирная паутина (World Wide Web) - распределенная система, предоставляющая доступ к связанным между собой документам, расположенным на различных компьютерах, подключенных к Интернету • Web-страница -> Web-сайт -> Web-сервер -> WWW • С 1994 года развитием Всемирной паутины руководит Консорциум Всемирной паутины (World Wide Web Consortium, W3C) Ключевые технологии WWW • HTTP (HyperText Transfer Protocol - протокол передачи гипертекста) • URI (Uniform Resource Identifier - единообразный идентификатор ресурса) • URL (Uniform Resource Locator - единообразный локатор ресурса) • Ключевые технологии формирования Web-страниц: HTML, CSS, XML, DOM, Java-апплеты, скрипты (JavaScript, VBScript), Flash и т.д. HTTP (HyperText Transfer Protocol) • Протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов). Работает поверх ТСР, порт 80 и 8080. • Модель клиент-сервер. • Достоинства: простота, расширяемость, распространённость. • Основные заголовки: Content-Length, Content-Type, ContentEncoding, Content-Language, Connection. • Особенности: – Установление и закрытие соединения непосредственно с сервером производится по ТСР. Контроль за пользовательскими данными возложен на ТСР; – Использует принцип запрос/ответ; – Сервер не сохраняет параметры предыдущих сессий и не сохраняет своего текущего состояния; – Возможность кэширования (proxy и в браузере). Алгоритм работы HTTP • Анализ URL (адреса документа). Для определения IP-адреса сервера по имени хоста (host name) используется DNS. • Установление ТСР-соединения с сервером. • Отсылка запроса на сервер. Возможны методы GET, POST, HEAD и др. • Анализ ссылок без имени хоста (после первого одиночного слэша): URL: http://www.sut.ru/news Анализируется: /news • Формирование и пересылка ответа. Коды ответов: 1xx: Informational (Информационные) 2xx: Success (Успешно) 3xx: Redirection (Перенаправление) 4xx: Client Error (Ошибка клиента) 5xx: Server Error (Ошибка сервера) Электронная почта (email, e-mail) Электронная почта - технология и предоставляемые ею услуги по пересылке и получению электронных сообщений по распределённой компьютерной сети. Формат адреса: [email protected] — пользователь user на машине example.com (с появлением почтовых серверов example.com – адрес сервера, на котором зарегестрирован user). Почтовые протоколы: SMTP / POP3 (IMAP, MAPI), веб-интерфейсы, X.400 и др. Структура письма: • Заголовок SMTP-протокола • Письмо (в терминологии протокола SMTP — 'DATA') а) Заголовок письма б) Тело письма. Электронная почта (email, e-mail) Компоненты: • MTA (Mail Transfer Agent - агент пересылки почты) • MDA (Mail Delivery Agent -агент доставка почты) • MUA (Mail user agent — почтовый агент пользователя) • MRA (Mail retrive agent — почтовый сервер, забирающий почту с другого сервера)