1 курс Сети Часть 4 М.М. Степанова, каф. вычислительной физики, 2012 Transport Layer На транспортном уровне стека TCP/IP реализовано два протокола UDP (User Datagram Protocol) TCP (Transmission Control Protocol) • ориентирован на передачу дейтаграмм; • ориентирован на передачу потока данных (stream); • простой; • достаточно сложный; • ненадежный: нет предварительной • надежный: основан на предварительной установке соединения, имеет механизм гарантированной доставки пакетов; установки соединения и гарантий доставки; • для unicast (point-to-point) и multicast (групповой) отправки; • используется высокоуровневыми сервисами: -службы имен (DNS); -сетевого менеджмента (SNMP); -сетевой файловой системы (NFS) и др. • позволяет как отправителю так и получателю регулировать скорость передачи в рамках соединения; • только unicast; • используется большинством прикладных сервисов: - web (HTTP); - почта (SMTP, IMAP, POP3); - терминальный доступ ( SSH, Telnet) и др. Port Numbers • UDP (and TCP) используют номера портов для уникальной идентификации прикладного процесса на узле. • На узле по 65,535 портов для TCP и UDP (0-1023) Well Known Ports - привиллегированные порты, зарезервированы для известных сервисов; (1024 - 49151) зарегистрированные номера портов, могут использоваться процессами обычных пользователей; (49152 – 65535) динамические выделяемые порты для прикладных программ. • Глобальным уникальным адресом транспортного уровня является сокет: пара <IP address, port number> Application Layer На уровне приложений в TPC/IP реализованы протоколы разных служб и сервисов. Их количество очень велико, перечень всех протоколов и зарегистрированных за ними портов - см. http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml или локальную копию в составе OS на любом узле – файл services. Примеры прикладных протоколов: • DNS (Domain Name System) – протокол службы доменных имен, служит для получения информации о доменах и адресах. • DHCP (Dynamic Host Configuration Protocol) — протокол динамической конфигурации узла, служит для автоматического получения узлами IP-адреса и других параметров, необходимых для работы в сети. • HTTP (Hyper Text Transfer Protocol) — протокол передачи гипертекста, используется при пересылке Web-страниц. • FTP (File Transfer Protocol) — это протокол передачи файлов. • SMTP (Simple Mail Transfer Protocol) — протокол передачи сообщений электронной почты. • POP (Post Office Protocol) — протокол доступа к почтовому ящику, используется почтовым клиентом для получения сообщений электронной почты с сервера. • IMAP (Internet Message Access Protocol) — протокол для работы с почтовыми ящиками, находящимися на сервере. DNS DNS(система доменных имен) – это распределенная база данных, поддерживающая иерархическую систему имен для идентификации узлов в сети Интернет. Служба DNS предназначена для поиска IP-адреса по символьному имени узла. База данных имеет структуру дерева, в которой каждый домен (узел дерева) имеет имя и может содержать поддомены. Корень БД управляется центром InterNIC, поддержка и администрирование доменов делегировано разным организациям. Распределённая БД поддерживается с помощью иерархии DNS-серверов, взаимодействующих по прикладному протоколу DNS. Службе назначен порт 53. Используется транспорт UDP для стандартных клиентских запросов (<512 байт) и TCP для передачи файлов зон между серверами. Application Layer E-MAIL Architecture of Electronic Mail Mail Server 3 smtp DNS Server Mail Server 2 :25 MTA dns smtp Mail Client :25/465 MTA smtp pop3 MDA 1 (smtp) Queue :110/995 Mail Client imaps :993 IMAPS POP3 MDA 2 (local) imap Mail Client MTA: Mail Transfer Agent :143/993 sendmail, postfix, qmail, exim… IMAP MDA: Mail Delivery Agent http Mail Client :80/443 WEB local, procmail,cyrus-imap… Mailboxes Mail Server 1 MUA: Mail User Agent Outlook, TheBat!, pine, elm… Comparison of mail servers: http://en.wikipedia.org/wiki/Comparison_of_mail_servers © M.Stepanova, 2006 E-mail: протокол SMTP Протокол SMTP (или его расширенная версия Extended SMTP) предназначен для отправки почты от пользователей к серверам и между серверами для дальнейшей пересылки к получателю. Для работы с почтовым ящиком (приёма почты получателем), почтовый клиент должен использовать протоколы POP3 или IMAP. Чтобы доставить сообщение до адресата, необходимо переслать его почтовому серверу домена, в котором находится адресат. Для выяснения адреса сервераполучателя делается запрос к DNS, откуда обычно извлекается запись типа MX (она содержит соответствие почтовый домен –> сервер). На основании этих данных устанавливается smtp-соединение с удаленным сервером и передается письмо. Службе SMTP назначен порт 25 (или 465 для шифрованных ssl-соединений). Используется транспорт tcp. Изначально протокол SMTP был разработан для передачи только текста в кодировке ASCII. Для снятия этого ограничения был разработан стандарт MIME (Multipurpose Internet Mail Extensions), который определяет дополнения в формате почтовых сообщений для: -пересылки 8-bit текстов и двоичных данных; -возможности использования 8-bit символов в заголовках сообщения; -поддержки сложных сообщений (с аттачментами). E-mail: протоколы POP3 и IMAP POP3 – Post Office Protocol, v.3 Концепция почтового хранилища – почта на сервере хранится временно и в ограниченном объеме. Пользователь периодически обращается к серверу и забирает письма на свой локальный компьютер, а оригиналы на сервере удаляются. В сессии POP3 клиент проходит авторизацию, получает информацию о состоянии почтового ящика, принимает и отмечает прочитанную почту, которая, как правило, будет удалена с сервера после завершения сеанса. IMAP - Internet Message Access Protocol Концепция почтового терминала - вся корреспонденция, связанная с почтовым ящиком (включая копии отправленных писем), хранится на сервере, а пользователь обращается к ящику для просмотра почты (как новой, так и архива) и создания новых писем. На этом же принципе построено и большинство веб-интерфейсов бесплатных почтовых служб. Различия POP3 и IMAP • IMAP предоставляет более гибкую систему для работы с ящиком. • IMAP имеет более надежные средства авторизации и защиты. • IMAP менее требователен к пропускной способности канала - POP3 передает тела всех писем целиком, тогда как IMAP - только заголовки писем, а остальное - по запросу. • Однако, IMAP более требователен к ресурсам и производительности сервера, т.к. вся нагрузка по обработке почты (например, поиск) ложится на сервер, а POP3 только передает почту клиенту. E-mail: Шифрование почты В настоящее время для шифрования широко применяются два стандарта: • S/MIME (использующий инфраструктуру открытых ключей) • Open PGP (использующий сертификаты) Стандарты S/MIME и Open PGP позволяют обеспечить три вида защиты: • защиту от изменения; • неотзываемую подпись; • конфиденциальность (шифрование). • Дополнительно, S/MIME v.3 позволяет использовать защищённое квитирование (при котором квитанция о получении письма может быть сгенерирована успешно только в том случае, когда письмо дошло до получателя в неизменном виде). Оба стандарта используют симметричные криптоалгоритмы для шифрования тела письма, а симметричный ключ шифруют с использованием открытого ключа получателя. Если письмо адресуется группе лиц, то симметричный ключ шифруется по очереди каждым из открытых ключей получателей (и иногда, для удобства, открытым ключом отправителя, чтобы он имел возможность прочитать отправленное им письмо).