Слайд 1
Прикладной уровень и протоколы
Слайд 2Приложения – это интерфейс между сетями
Слайд 3Прикладной уровень: Модели OSI и TCP/IP
Прикладной уровень (7-ой уровень) является наивысшим
уровнем в моделях OSI иTCP/IP
Данный уровень обеспечивает взаимодействие между приложениями, которые используют пользователи для коммуникаций, и сетевыми службами.
Взаимодействие человека и сетей данных
Прикладной уровень обеспечивает интерфейс к сети
Сеть ЭВМ
Слайд 4Протоколы прикладного уровня используются для обмена данными между программами, работающими на
узлах-источниках (source hosts) и узлах-назначения (destination hosts).
В настоящее время разработано и разрабатывается большое количество протоколов прикладного уровня.
Email
HTTP (www)
HTTP
HTTP
Слайд 5Функции протоколов прикладного уровня в модели TCP/IP соответствуют, не строго говоря,
трем верхним уровням модели ISO:
Прикладной уровень, Представительный уровень и уровень Сессии.
Большая часть ранних протоколов прикладного уровня TCP/IP были разработаны до появления персональных компьютеров, графических пользовательских интерфейсов и мультимедийных объектов.
В этих протоколах реализована лишь незначительная часть спецификаций, описанных в модели ISO для уровней представления и сессии
Прикладной уровень: Модели OSI и TCP/IP
Прикладные уровни
Уровни потоков данных
Модель ISO
Модель TCP/IP
Служба доменных имен (DNS)
Система доменных имен (DNS)
Протокол передачи гипертекстовых файлов HTTP
Простой протокол передачи электронной почты SMTP
Почтовый протокол РОР
Протокол динамической конфигурации узла DHCP
Слайд 6Уровень представления
На уровне представления реализуются три основные функции:
Кодирование и преобразование данных
прикладного уровня, чтобы гарантировать, что данные, полученные от узла-источника, будут правильно интерпретированы узлом-назначения.
Сжатие данных.
Шифрование данных в узлах-источниках и дешифрование данных в узлах-назначения.
Форматы сжатия и кодирования:
Graphics Interchange Format (GIF)
Joint Photographic Experts Group (JPEG)
Tagged Image File Format (TIFF).
Слайд 7Уровень сессии
Создание и поддержка диалога между приложениями источников и назначения.
Управляет
обменом информацией в процессах:
- инициализации диалогов
- обеспечения их активности
- восстановления сессий, которые были прерваны или приостановлены на продолжительный промежуток времени.
Во многих приложениях, таких как web-browser или клиентах электронной почты, включаются функции уровней 5, 6 и 7 модели ISO.
Слайд 8Прикладной уровень: Модели OSI и TCP/IP
Примечание: Обычно на одном сервере выполняются
несколько приложений.
Протоколы прикладного уровня стека TCP/IP:
Служба доменных имен (Domain Name Service Protocol - DNS) используется для преобразования доменных имен открытых сетевых узлов в IP-адреса.
Протокол передачи гипертекстов (Hypertext Transfer Protocol - HTTP) используется для передачи Web-страниц в сети Интернет.
Простой протокол передачи электронной почты (Simple Mail Transfer Protocol - SMTP) используется для передачи сообщений электронной почты и прикрепленных файлов.
Протокол виртуального терминала (Telnet) используется для удаленного доступа к серверам и сетевым устройствам.
Протокол передачи файлов (File Transfer Protocol - FTP) используется для интерактивной передачи файлов между удаленными системами.
Слайд 9Программное обеспечение прикладного уровня
Сетевые приложения
Эти приложения являются системными программами, используемыми для
коммуникаций в сети.
Они включают протоколы прикладного уровня и могут непосредственно взаимодействовать с нижними уровнями стека протоколов.
Email Clients , Web Browsers
Приложение пользователя
Службы
Системные операции
В контексте прикладного уровня имеются два типа системных программ или процессов, обеспечивающих доступ к сети:
Сетевые приложения
службы
Слайд 10Программное обеспечение прикладного уровня
Службы прикладного уровня
Некоторым программам необходима «помощь» со стороны
служб прикладного уровня, чтобы использовать сетевые ресурсы, такие, как:
- Передача файлов
- Сетевая печать
Эти службы реализованы в виде программ, которые взаимодействуют с сетью и подготавливают данные для передачи.
Приложение пользователя
Службы
Системные операции
В пределах прикладного уровня имеются два типа системных программ или процессов, обеспечивающих доступ к сети:
Сетевые приложения
службы
Слайд 11Программное обеспечение прикладного уровня
Прикладной уровень использует протоколы, которые реализуются в внутри
приложений и служб.
Приложения предоставляют пользователям способ создания сообщений.
Службы прикладного уровня устанавливают интерфейс с сетью.
Протоколы определяют правила и форматы, которые управляют процессами обработки данных.
Слайд 12Функции протоколов прикладного уровня
Протоколы прикладного уровня используются как узлами-источниками,так и узлами-назначения
в процессе сессии связи.
Протоколы прикладного уровня на узле-источнике должны совпадать с протоколами узла-назначения.
Протоколы:
- устанавливают «жесткие» правила для обмена данными.
- определяют структуры и типы передаваемых сообщений.
Типы сообщений: Запрос (Request), ответ (Response), подтверждение (Acknowledgement), сообщения об ошибках и т.п.
- определяют диалоги, гарантирующие передачу данных и правильное использование служб.
Протоколы
Протоколы прикладного уровня обеспечивают взаимодействие между приложениями.
Слайд 13Приложения и службы могут использовать несколько протоколов.
- Приложения и службы
могут инкапсулировать (вкладывать) протокол или протокол инкапсулирует приложение или службу.
- Приложения и службы могут использовать другие протоколы.
При использовании web-browser (HTTP):
- Могут вызываться протоколы DNS, ARP, ICMP
- Могут использоваться протоколы TCP, UDP, Ethernet, PPP
- Использует протокол IP
Функции протоколов прикладного уровня
Слайд 14Модель Клиент-Сервер
Клиент: Устройство, запрашивающее информацию.
Сервер: Устройство, отвечающее на запрос,
называется сервером.
Клиент начинает операцию обмена данными с помощью запроса, направляемого серверу.
Сервер отвечает на запрос, посылая один или несколько потоков данных клиенту.
Кроме передачи фактических данных может потребоваться управляющая информация, например:
- аутентификация пользователя
- идентификация передаваемого файла данных
Файлы с сервера загружаются в компьютер клиента
Файлы от клиента загружаются в сервер
Ресурсы хранятся на сервере
Клиент – комбинация технических/программных средств, которыми пользуются.
Слайд 15Серверы
Сервер обычно является компьютером, который хранит общую для нескольких клиентских систем
информацию.
Web-сервер
Почтовый сервер (Email)
Файловый сервер или сервер баз данных
Сервер приложений
Некоторые серверы могут запрашивать аутентификацию пользователя или приложения и проверять права доступа к серверу.
Например, если пользователь делает запрос на передачу файла FTP-серверу, то он должен иметь разрешение на запись этого файла.
Клиент
Клиент
Клиент
Сеть
Клиент
Программные процессы
Диски
Сервер
Серверы являются хранилищами информации.
Процессы управляют передачей файлов клиентам.
Слайд 17HTTP (WWW)
FTP
SMTP (email)
Telnet
(file transfer)
(remote login)
DHCP
(IP address resolution)
DNS
(domain name resolution)
Слайд 18
Data
HTTP Header
TCP Header
IP Header
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data
Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
Data
HTTP Header
TCP Header
IP Header
Data Link Header
Data Link Trailer
Инкапсуляция/деинкапсуляция
Слайд 19Заголовок прикладного уровня и данные
HTTP
HTTP
Слайд 20HTTP (HyperText Transfer Protocol)
HTTP – Базовый протокол для работы Web-служб.
Описан
в документах RFC 1945 и RFC 2616
Реализован в:
Программе CLIENT
Программе Server
Текущая версия: HTTP/1.1
Инкапсулирован в TCP
HTTP Server
HTTP Client
HTTP
HTTP
Слайд 21Web Browser - Клиент
Browser – пользовательский агент для Web.
Отображает Web-страницы и
обеспечивает навигационные и конфигурационные возможности.
HTTP не выполняет никаких функций, связанных с тем, как страница интерпретируется (отображается) клиентом (browser).
HTTP Client
Слайд 22Web Server
Web Server – Хранит web-объекты, адресуемые с помощью URL.
Реализуется в
серверной стороне протокола HTTP.
Примеры:
Apache
Microsoft Internet Information Server (IIS)
HTTP Server
Слайд 23HTTPS
HTTPS (Hypertext Transfer Protocol over Secure Socket Layer) – это расширение
протокола HTTP (Hypertext Transfer Protocol over Secure Socket Layer) – это расширение протокола HTTP, поддерживающее шифрование (Hypertext Transfer Protocol over Secure Socket Layer) – это расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTP, «упаковываются» в криптографический протокол SSL (Hypertext Transfer Protocol over Secure Socket Layer) – это расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTP, «упаковываются» в криптографический протокол SSL или TLS (Hypertext Transfer Protocol over Secure Socket Layer) – это расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTP, «упаковываются» в криптографический протокол SSL или TLS, тем самым обеспечивается защита этих данных. Эта система была разработана компанией Netscape Communications Corporation (Hypertext Transfer Protocol over Secure Socket Layer) – это расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTP, «упаковываются» в криптографический протокол SSL или TLS, тем самым обеспечивается защита этих данных. Эта система была разработана компанией Netscape Communications Corporation, чтобы обеспечить аутентификацию и защищенное соединение. HTTPS широко используется в мире Web для приложений, в которых важна безопасность соединения, например, в платежных системах.
Слайд 24FTP (File Transfer Protocol)
FTP был разработан для передачи файлов между клиентом
и сервером.
FTP позволяет подключаться к серверамFTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер; кроме того, возможен режим передачи файлов между серверами.
Описан в документе RFC 959
FTP Client
FTP Server
Слайд 25Клиент инициирует соединение с FTP-севером, используя порт 21.
Это соединение остается открытым
до тех пор, пока пользователь не выйдет из FTP-приложения.
ТСР порт 21 используется для передачи служебной информации, обеспечивающей соединение между сервером и клиентом, например, Username (имя пользователя) и password (пароль).
Для каждого переданного файла протокол ТСР открывает и закрывает соединение для передачи данных, используя порт 20.
ТСР порт 20 – управление данными
ТСР порт 21 – управление соединением
Username и password
Изменить каталог на сервере
Копирование файла от клиента на сервер – Соединение закрыто
Выход из FTP-приложения – Соединение закрыто
FTP (File Transfer Protocol)
ТСР порт 20 – управление данными
Копирование файла с сервера – Соединение закрыто
ТСР порт 21 – управление соединением
Слайд 26SMTP – Simple Mail Transfer Protocol
простой протокол передачи электронной почты
Email –
Одно из самых популярных приложений Интернет.
Слайд 27Почта интернет включает:
User agent (пользовательские агенты)
Позволяют пользователям считывать, отвечать, перенаправлять, сохранять
и т.п. электронные сообщения.
Агенты, имеющие графические пользовательские интерфейсы: Outlook, Eudora, Messenger
Текстовые агенты: mail, pine, elm
Почтовые сервера (Mail Server)
Хранят почтовые ящики, взаимодействуют с локальными пользовательскими агентами и другими почтовыми серверами.
SMTP – базовый протокол прикладного уровня для электронной почты, в качестве транспорта используется протокол TCP
Протоколы доступа к почтовой службе: POP3, IMAP, HTTP
SMTP
SMTP
POP3 IMAP
User agent
User agent
Mail server
Mail server
SMTP – Simple Mail Transfer Protocol
Слайд 28SMTP
- Описан в документе RFC 2821
- Передает сообщения от сервера-отправителя к
серверу-назначения.
- Протокол загрузки (Push protocol):
Push (от клиента на сервер или от сервера к серверу)
Pull (от сервера клиенту)
Выгрузка почтового сообщения
Пользователи проходят регистрацию на сервере, чтобы считать почту, при этом используются протоколы POP3, IMAP и HTTP
SMTP
SMTP
POP3 IMAP
User agent
User agent
Mail server
Mail server
SMTP – Simple Mail Transfer Protocol
Слайд 29SMTP – Simple Mail Transfer Protocol
Протокол доступа POP3 (Post Office
Protocol):
-
Описан в документе RFC 1939
- Функционально ограничен
- Использует ТСР порт 110
Режим «загрузить-и-удалить» (Download-and-delete):
Ищет сообщения на сервере и сохраняет на локальном компьютере
Удаляет сообщения на сервере
Режим «загрузить-и-сохранить» (Download-and-keep):
Не удаляет сообщения на сервере после считывания.
Проблемы
Трудно подключаться к серверу email с нескольких компьютеров – например, с рабочего или домашнего.
Некоторые сообщения могут быть уже загружены на другой компьютер (рабочий) – download-and-delete
Чтобы считать почту с другого компьютера, необходимо на сервере установить режим «download-and-keep».
Слайд 30IMAP (Internet Message Access Protocol)
- Описан в документе RFC 2060
- Сообщение
не выгружается, остается на сервере.
- Получаемые сообщения связаны с пользовательской папкой INBOX (входящие)
- Пользователь может создавать и управлять удаленными папками
- Пользователи могут загружать часть сообщения:
Заголовок, Тему и Отправителя
SMTP
IMAP HTTP
User agent
User agent
Mail server
Mail server
SMTP – Simple Mail Transfer Protocol
SMTP
Слайд 31SMTP
Почтовые процессы: MTA и MDA
MUA (Mail User Agent) – программа-клиент электронной
почты
MTA (Mail Transfer Agent) – Программа, управляющая пересылкой сообщений между серверами.
MDA (Mail Delivery Agent) – Программа, управляющая доставкой сообщений от сервера к клиенту.
MTA
Получает сообщения от клиента MUA
Передает сообщение MDA , которое завершает поставку сообщения
использует SMTP для определения маршрута между серверами
SMTP - пересылает сообщение
POP - доставляет сообщение
Слайд 32Telnet
Telnet (протокол эмуляции текстового терминала) предоставляет стандартный метод доступа к удаленному
компьютеру и выполнения команд операционной системы.
Server
Telnet
Telnet
Слайд 33Telnet
Позволяет пользователю обращаться к удаленным сетевым устройствам (узлам, маршрутизаторам и коммутаторам).
Соединение,
использующее протокол Telnet, называется сессией виртуального терминала (VTY).
Telnet использует программные средства для создания виртуального устройства, которое обеспечивает доступ к серверу на уровне командной строки (CLI).
Клиентами Telnet являются программы:
Putty
Teraterm
Hyperterm
Server
Telnet
Telnet
Слайд 34Telnet
Telnet поддерживает аутентификацию пользователей, при этом данные аутентификации не шифруются.
Все
данные, которыми обмениваются в течение Telnet-сессий, передаются открытым текстом.
Протокол Secure Shell (SSH) предлагает альтернативный и безопасный метод доступа к серверу, характеризующийся:
Безопасной аутентификацией
Шифрованием данных
Слайд 35DHCP – Dynamic Host Configuration Protocol
Протокол динамического конфигурирования узла
IP-адреса и другая
информация могут быть получены:
Статически
Динамически (DHCP)
Слайд 36DHCP
DHCP-информация может включать:
IP-адрес
Маску подсети
Стандартный шлюз
Имя домена
Имя сервера DNS
DHCP-серверами могут быть:
Сервер в
LAN
Маршрутизатор (Router)
Сервер провайдера интернет-услуг ISP
Слайд 37DNS – Domain Name System
Служба доменных имен
Служба DNS позволяет пользователям (программным
продуктам) использовать имена доменов вместо IP-адресов.
Слайд 38Преобразование имен
Необходим IP-адрес
Распознаватель (Resolver)
Программы DNS-клиента, используемые для просмотра информации об именах
DNS
Разрешение имен (Name Resolution)
Два типа запросов, которые может сделать DNS-распознаватель (или DNS-клиент или другой DNS-сервер) DNS-серверу являются:
Рекурсивные запросы (Recursive queries), поступающие от хоста к локальному DNS-серверу
Итеративные запросы (Iterative queries), поступающие от локального DNS-сервера к другим серверам
Слайд 39Преобразование имен
Пользователь вводит строку --- http://www.example.com
Шаг 1.
Распознаватель DNS-клиента посылает рекурсивный запрос
к своему локальному серверу DNS.
DNS-клиент запрашивает IP-адрес для "www.example.com".
DNS-сервер этого клиента выполняет преобразование имени
DNS-клиент не может обращаться к другому DNS-серверу.
1
Слайд 40Шаг 2.
Локальный DNS-сервер перенаправляет запрос к серверу корневого домена ( Root
DNS).
Шаг 3.
Сервер корневого домена
Отмечает суффикс .com
Возвращает список IP-адресов серверов, ответственных за домен .com.
1
2
2
3
Преобразование имен
Слайд 41Шаг 4.
Локальный DNS-сервер посылает запрос для www.example.com одному из серверов, обслуживающих
домен .com.
Шаг 5.
Сервер, обслуживающий домен .com
Помечает example.com
Возвращает IP-адрес официального сервера, обслуживающего домен example.com (такой, как сервер dns.example.com)
4
4
5
Преобразование имен
Слайд 42Шаг 6.
Локальный DNS-сервер посылает запрос для www.example.com непосредственно DNS-серверу для
example.com
Шаг 7.
DNS-сервер домена example.com посылает IP-адрес для www.example.com
6
6
Преобразование имен
7
Слайд 43Шаг 8.
Локальный DNS-сервер посылает IP-адрес, соответствующий www.example.com, DNS-клиенту.
Кэширование информации DNS
Когда DNS-сервер
получает ответ (преобразование имени узла в IP-адрес), он может сохранять эту информацию в своей локальной памяти.
DNS-сервер удаляет кэшированную информацию, как правило, через два дня.
Локальный DNS-сервер может сохранять адреса серверов верхнего уровня, чтобы не обращаться к корневому серверу.
8
7
Преобразование имен
Слайд 44Команда nslookup
nslookup
Отображает стандартные DNS-сервера для узлов сети
Может использоваться для запроса
имени домена и получения IP-адреса
Слайд 45Команда ipconfig /displaydns
Просмотр записей DNS, записи удаляются автоматически после истечения значения
поля «времени жизни» (TTL).
ipconfig /flushdns – Позволяет ручное удаление записей DNS
Преобразование имен
Слайд 47Передача битов: спецификации среды передачи, уровни напряжений, разъемы, физическая скорость передачи
Слайд 48Логическое управление каналом, доступ к среде передачи:
Надежность передачи данных по
физическому каналу
Физическая адресация, анализ сетевой топологии, обработка ошибок, доступ к сети, доставка кадров и управление потоком
Слайд 49Сетевая адресация и выбор пути:
Логическая адресация
Соединение узлов
Слайд 50
Надежность связи между конечными узлами:
транспортировка данных
Установка , поддержка и отключение
виртуальных каналов
Обнаружение и устранение ошибок и управление потоками данных
Слайд 51Сеанс связи между узлами:
Устанавливает, управляет и разрывает сеансы связи между приложениями
Слайд 52Представление данных:
Совместимость форматов
Структуры данных
Согласование синтаксиса передачи данных прикладного уровня
Слайд 53Сетевые службы процессам приложений: e-mail, передача файлов, эмуляция терминала и т.п.
Слайд 54Данные
Данные
Данные
Сегменты
Пакеты
Кадры
Биты
Слайд 55Модель протокола TCP/IP
Уровень приложений
Транспортный уровень
Межсетевой уровень
Уровень доступа к сети
Слайд 59Инкапсуляция (вложение) данных
ENCAPSULATION
Слайд 61Обзор транспортного уровня модели ISO
Слайд 62Транспортный уровень
Транспортный уровень (уровень 4) определяет логическое соединение между конечными узлами
сети и предоставляет транспортную службу от узла-источника до узла-назначения.
Эту службу называют службой сквозного соединения (end-to-end service).
На транспортном уровне определяются два протокола:
TCP – Transmission Control Protocol – Протокол управления передачей
UDP – User Datagram Protocol – Протокол передачи дейтаграмм пользователя
Протоколы TCP и UDP
Слайд 63Application Header + data
TCP-Заголовок
UDP-Заголовок
или
Слайд 65
Data
HTTP Header
TCP Header
IP Header
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data
Link Trailer
IP
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
Data
HTTP Header
TCP Header
IP Header
Data Link Header
Data Link Trailer
Инкапсуляция/Деинкапсуляция
Слайд 66Инкапсуляция/деинкапсуляция и транспортный уровень
TCP
TCP
Слайд 67Транспортный
уровень
Транспортный уровень обеспечивает сегментирование данных на узле-источнике и управляет сборкой
сегментов на узле-назначения.
Основные функции:
- Отслеживание индивидуальных коммуникаций между приложениями на узлах-источниках и узлах-назначения.
- Сегментирование данных
- Управление сегментами
- Сборка сегментов в на узлах-назначения
- Идентификация различных приложений
Транспортный уровень обеспечивает передачу данных между приложениями, работающими на сетевых устройствах
Слайд 68Транспортный уровень
Протоколы:
TCP
UDP
Транспортный уровень оперирует с сегментами
Протокол IP считается ненадежным протоколом
без установления соединения и не предоставляет никаких служб, гарантирующих доставку пакетов узлу-назначения.
Протоколы TCP/UDP обеспечивают необходимый уровень качества обслуживания для процессов ненадежного протокола IP.
сегмент
сегмент
Слайд 69Сравнение TCP и UDP
TCP обеспечивает:
Надежную доставку
Контроль ошибок
Управление потоками
Управление переполнением
Последовательность доставки
(Установка предварительного
соединения)
Приложения:
HTTP, FTP, SMTP
Telnet MSN messenger
UDP обеспечивает:
Ненадежная доставка
Нет контроля ошибок
Нет управления данными
Нет управления переполнением
Не контролируется последовательность доставки
(Нет предварительного соединения
Приложения:
DNS (обычно), SNTP
TFTP, DHCP
Последовательность доставки означает, что сегменты доставляются в той же последовательности, в которой они были переданы.
Установка соединения
гарантирует, что приложения готовы к получению данных
Надежность доставки означает, что потерянные сегменты восстанавливаются, так что доставляются полностью
Управление потоками означает процесс регулирования данных между двумя сетевыми устройствами,
Слайд 70Один клиент может иметь несколько транспортных соединений с несколькими серверами.
Примечание:
TCP – служба, ориентированная на предварительное соединение (двусторонние стрелки) между узлами, но UDP – служба без установления соединения (односторонние стрелки).
TCP
TCP
TCP
TCP
TCP
TCP
HTTP
HTTP
FTP
UDP
SMTP
UDP
Web Сервер
Email и FTP Сервер
провайдера ISP
Слайд 72TCP и UDP используют номера портов (или сокетов) для передачи информации
протоколам верхнего уровня.
TCP-заголовок
HTTP - порт 80
UDP-заголовок
Номера портов:
Номера портов
Слайд 73Заголовок приложения + Данные
Заголовок приложения + Данные
Номера портов используются для выбора
соответствующего приложения конечной станции (узла-источника) и поддержки одновременных сеансов
Номера портов используются для выбора соответствующего приложения конечной станции (узла-назначения) и поддержки одновременных сеансов
Слайд 74
Различные:
Приложения
-Протоколы
- Номера портов
Транспорт
Для поддержки различных одновременных сеансов используются номера портов. Порты
позволяют разграничивать транспортные потоки сегментов.
Слайд 75http://www.iana.org/assignments/port-numbers
Порты назначаются организацией IANA (Internet Assigned Numbers Authority).
Слайд 76Зарезервированные порты (Well Known Ports) от 0 до 1023
Резервируются для
общих служб и приложений:
- HTTP (web-сервер) POP3/SMTP (сервер e-почты) и Telnet.
Клиент использует номер порта назначения в TCP.
- Клиентские приложения могут запрашивать соединение с конкретным портом на сервере и связанной с ним службой.
Слайд 77
Области номеров портов
Категории портов
От 0 до 1023
Зарезервированные порты
Зарегистрированные порты
Частные порты или
динамические
1024 до 49151
49152 до 65535
Зарегистрированные порты (от 1024 до 49151)
Назначаются пользовательским процессам и приложениям.
Для соединения клиента со службой сервера должны быть указаны порты отправителя и получателя. Порты получателей или порты, предназначенные для служб, обычно назначаются из числа зарезервированных портов. Порты-отправители, устанавливаемые клиентом, определяются динамически из области зарегистрированных портов.
Слайд 78Частные или динамические порты (от 49152 до 65535)
Обычно динамически назначаются
клиентским приложениям при инициализации соединения.
Клиент устанавливает номер порта (случайное число) отправителя в сегментах протокола TCP.
Слайд 80Клиент посылает сегмент TCP с:
Порт получателя: 23 (зарезервированный порт)
Порт отправителя:
1028 (Динамический порт, назначаемый клиентом)
Заголовок клиента TCP
23
1028
Data for Telnet
Клиент
Сервер
Данные для Telnet
Слайд 81Сервер отвечает сегментом TCP, содержащим:
Порт получателя: 1028 (Динамический порт, назначенный
клиентом)
Порт отправителя: 23 (зарезервированный порт)
Заголовок cервера ТСР
1028
23
Data for Telnet
Клиент
Сервер
Слайд 82Рассмотрим, как порты отправителя и получателя используются клиентами и серверами:
Клиент (инициализирующий
службу Telnet):
Порт получателя = 23 (telnet)
Порт отправителя = 1028 (динамически назначаемый)
Сервер (ответ на запрос службы Telnet):
Порт получателя = 1028 (порт отправителя клиента)
Порт отправителя = 23 (telnet)
Клиент
Сервер
Слайд 83
Один клиент – один сервер: Две разные сессии HTTP
Клиент: Одинаковые
порты получателя
Клиент: Разные порты отправителя, чтобы идентифицировать уникальные сессии.
49890
49888
Слайд 84C:\Users\rigrazia>netstat -n
Active Connections
Proto Local Address Foreign
Address State
TCP 192.168.1.101:49888 198.133.219.25:80 TIME_WAIT
TCP 192.168.1.101:49890 198.133.219.25:80 TIME_WAIT
C:\Users\rigrazia>
TCP илиUDP
Порт отправителя
IP получателя
Порт получателя
Состояние
IP отправителя
49890
49888
Слайд 85Что делает каждое соединение уникальным?
Соединение, определяемое парой чисел:
IP –адрес отправителя, Порт
отправителя
IP –адрес получателя , Порт получателя
Разные соединения могут использовать один и тот же порт отправителя сколь угодно долго до тех пор, пока отличаются порты отправителя или IP-адреса отправителя.
192.168.1.101
172.16.5.5
Порт получателя
80
80
80
Порт отправителя
49890
49888
Порт отправителя
198.133.219.25
49888
www.cisco.com
Слайд 86Транспортный протокол без установки соединения: UDP
Слайд 87UDP
Протокол UDP обеспечивает негарантированную передачу данных на транспортном уровне без установления
соединения. Заголовок протокола UDP содержит только:
Порты отправителя (необязательно) и получателя
Длину сегмента протокола и контрольную сумму
RFC 768
Транспортировка данных без установки соединения:
Ненадежная доставка
Нет контроля ошибок
Нет управления данными
Нет управления переполнением
Не контролируется последовательность доставки
Слайд 88UDP
Порт отправителя – номер вызывающего порта
Порт получателя – номер вызываемого порта
Длина
UDP -- длина заголовка UDP
Контрольная сумма – контрольная сумма заголовка и данных
Данные– данные протокола верхнего уровня
Слайд 89UDP
Соединение не устанавливается
TCP использует трехэтапное квитирование для установки соединения
UDP не устанавливает
соединение
Не тратится время на установку соединения.
Время
UDP сегмент
UDP сегмент
UDP сегмент
UDP сегмент
Клиент
Сервер
Слайд 90UDP
Не поддерживает состояние соединения
Состояние соединения используется в протоколах для управления надежностью
соединения и потоками данных.
Незначительная длина заголовка
Длина заголовка TCP составляет 20 байт.
Длина заголовка UDP составляет 8 байт
Время
UDP сегмент
UDP сегмент
UDP сегмент
UDP сегмент
Клиент
Сервер
Слайд 91Транспортный протокол с установкой соединения: TCP
Слайд 92TCP
TCP обеспечивает надежную доставку данных, вложенных в пакет протокола IP, который
не имеет средств контроля доставки данных.
TCP обеспечивает:
- Надежную доставку
- Контроль ошибок
- Управление потоками данных
- Контроль переполнения буфера
- Порядок доставки сегментов
- Установку соединения
Слайд 93TCP: Установка соединения
Для установки соединения между двумя узлами они должны синхронизировать
начальные номера последовательности (ISN).
Номера последовательности
Отслеживают порядок передачи пакетов
Гарантируют, что пакеты не будут потеряны при передаче.
Начальный номер последовательности (ISN) – это начальный номер, используемый при установке соединения ТСР.
Обмен начальными номерами в процессе передачи данных гарантирует, что потерянные данные могут быть восстановлены.
Слайд 94TCP: Завершение соединения
1. В последнем сегменте с данными клиент посылает запрос
на завершение сессии между клиентом и сервером, установив бит FIN в «1».
2. Сервер посылает ACK, чтобы подтвердить получение запроса на завершение сессии между клиентом и сервером.
3. Сервер посылает клиенту запрос (FIN) на завершение сессии между сервером и клиентом.
4. Клиент отвечает посылкой ACK, чтобы подтвердить получение запроса на завершение сессии между сервером и клиентом.
Клиент
Сервер
Слайд 95Сборка сегментов TCP
Когда службы пересылают данные, используя протокол TCP, сегменты могут
прибывать на узел-назначения в не той последовательности, в которой они были отправлены.
Чтобы на узле-назначения собрать сегменты в исходной последовательности, в заголовке сегмента указывается номер , назначаемый каждому сегменту..
В процессе установления соединения указывается начальный номер последовательности (ISN).
Это значение ISN представляет собой номер байта, передаваемого приложением узла-источника.
По мере передачи данных номер последовательности будет увеличиваться на количество переданных байтов.
Это позволяет идентифицировать каждый сегмент и подтверждать его получение.
Пропущенные сегменты могут быть обнаружены.
Полученные данные извлекаются из сегмента и помещаются в приемный буфер.
Любые сегменты, полученные вне последовательности, откладываются для дальнейшей обработки.
После получения всех сегментов осуществляется их сборка.
Слайд 96TCP подтверждение и механизм окна
Одной из функций TCP является гарантированная доставка
сегментов к узлу-назначения.
Службы TCP на узле-назначения подтверждают факт получения данных путем отправки сообщения на узел-источник.
Номер последовательности сегмента и номер подтверждения используются для согласования процесса получения данных..
Номер последовательности – это относительный номер байтов, которые передаются в этой сессии, плюс 1.
Ожидается, что отправляющий узел передаст сегмент, номер последовательности которого будет равен номеру подтверждения.
Слайд 97TCP подтверждение и механизм окна
Пример,
Левый узел посылает данные, содержащие 10
байт, и номер последовательности, указанный в заголовке, равный 1.
Правый узел получает сегмент и определяет, что номер последовательности равен 1 и в сегменте находятся данные длиной в 10 байт.
Правый узел посылает левому сегмент, чтобы подтвердить получение данных.
Правый узел устанавливает номер подтверждения равным 11, чтобы указать, что следующий получаемый байт будет иметь номер 11.
Когда левый узел получит это подтверждение, он может передать следующую порцию данных, начинающуюся с одиннадцатого байта.
Слайд 98TCP подтверждение: Скользящее окно
Если отправляющий узел должен ожидать подтверждения каждые 10
байт, то в этом случае сеть будет нести издержки за счет простоя данного узла.
Чтобы уменьшить эти издержки, можно организовать передачу нескольких сегментов, прежде чем будет получено одно подтверждение от узла-получателя.
Это подтверждение содержит номер подтверждения, равный общему количеству полученных байт.
Например, если начиная с номера последовательности, равного 2000, были получены 10 сегментов по 1000 байт каждый, то номер подтверждения, переданный узлу-отправителю, будет равен 12001.
Количество данных, которое может передать узел-отправитель до получения подтверждения, называется размером окна (или ОКНОМ).
Слайд 99TCP – Повторная передача
Ошибки в проектировании сети могут приводить к потерям
данных.
TCP предлагает методы управления потерянными сегментами.
Эти методы позволяют повторно передать (retransmit ) неподтвержденные сегменты..
Узел-назначения получает только байты, номера которых составляют непрерывную последовательность номеров.
Если один или несколько сегментов пропущены, то будут подтверждены только реально полученные байты данных.
Например, если были получены сегменты с номерами 1500 - 3000 и 3400 – 3500, номер подтверждения будет равен 3001..
Поскольку сегменты 3001 - 3399 не были получены.
Когда узел-отправитель не получает в течение заданного периода времени подтверждения, то он будет повторно передавать сегменты, начиная с последнего подтверждения.
Слайд 100TCP управление потоком (flow control)
TCP предлагает методы управления потоками данных.
Управление
потоком – это согласование эффективной скорости потока данных между двумя службами.
Когда источник информируется о том, что заданное количество данных сегмента получены, то источник может продолжать передавать новые сегменты.
Поле Window Size в заголовке протокола TCP указывает количество данных, которое может быть отправлено, не дожидаясь подтверждения от узла-получателя.
Начальное размер окна определяется в процессе установки соединения.
Например,
Начальный размер окна - 3000 байт.
Когда отправитель передаст 3000 байт, он ожидает подтверждения.
После получения подтверждения отправитель передает следующие 3000 байт.
Слайд 102UDP – Скорость против надежности
UDP – простой протокол, предоставляющий основные транспортные
службы.
Не требует предварительного соединения
Не выполняет повторной передачи, нумерации сегментов и не управляет потоками данных.
Однако это не означает, что приложения, использующие UDP, всегда ненадежны.
Это означает, что в приложениях вопросы надежности реализуются внутри этих приложений.
Протокол UDP применяется следующими основными прикладными протоколами:
Domain Name System (DNS)
Simple Network Management Protocol (SNMP)
Dynamic Host Configuration Protocol (DHCP)
Routing Information Protocol (RIP)
Trivial File Transfer Protocol (TFTP)
Online games
Слайд 103Глава 5
Сетевой уровень (Network Layer)
Слайд 106Application Header + data
IP Заголовок
Слайд 109Сетевой уровень
Сетевой уровень (Уровень 3) предоставляет службы для обмена информацией между
указанными конечными устройствами (узлами).
На Уровне 3 используются четыре основные процесса:
Адресация
Инкапсуляция
Маршрутизация (Routing)
Декапсуляция
Слайд 110Адресация
172.16.3.10
192.168.100.99
Source (источник) IP = 192.168.100.99
Destination (назначение) IP = 172.16.3.10
Destination IP =
192.168.100.99
Source IP = 172.16.3.10
Какие адреса необходимо указывать в пакете, направляемого от клиента к серверу?
Какие адреса необходимо указывать в пакете, направляемого от сервера к клиенту?
Слайд 111
Data
HTTP Header
TCP Header
IP Header
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data
Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
Data
HTTP Header
TCP Header
IP Header
Data Link Header
Data Link Trailer
Инкапсуляция и декапсуляция
Слайд 112Декапсуляция
Назначение
Поступающий пакет обрабатывается на Уровне 3.
Проверяется адрес узла-назначения..
Если адрес правильный,
то сегмент передается соответствующей службе транспортного уровня.
IP-адрес узла-назначения, указанный в этом пакете, мой IP-адрес?
Слайд 113Маршрутизация
Маршрутизаторы анализируют IP-адрес назначения, чтобы направлять пакеты к соответствующим сетям.
Поиск
сетей в таблицах маршрутизации.
Пересылка пакета к следующему маршрутизатору или к узлу, если он принадлежит сети, непосредственно подключенной к маршрутизатору.
172.16.3.10
192.168.100.99
Source IP = 192.168.100.99
Destination IP = 172.16.3.10
Слайд 114Протоколы сетевого уровня
Протокол Internet (IPv4 и IPv6) является наиболее известным протоколом
сетевого уровня. В этом курсе будет рассматриваться только протокол IP.
Слайд 115Основные свойства IPv4 …
ТСР сегменты, инкапсулированные в IPпакеты
IP пакеты передаются по
сетям
Слайд 116Без установки соединения (Connectionless)
Протокол IP не уведомляет узел-назначения об установлении соединения.
Какой протокол Уровня 4 на узле-источника устанавливает соединение?
TCP: Протокол, ориентированный на установление соединения
Какой протокол Уровня 4 на узле-источника не устанавливает соединение?
UDP: Протокол, не ориентированный на установление соединения
Слайд 117«Лучшее из возможного» (Best Effort Service) (негарантированная доставка)
Уровень 3 (IP)
Предпочтение
отдается Скорости, но не надежности
Ненадежность: нет средств для управления и восстановления искаженных или потерянных пакетов.
Кто выполняет эти функции?
Протокол TCP - установление сквозного соединения между узлами
Слайд 118Канальный уровень модели OSI ответственен за прием пакета и его подготовку
к передаче по физической среде.
Транспортировка IP пакетов не ограничивается какой-либо физической средой передачи данных.
При переходе от одной среды к другой иногда может потребоваться фрагментация пакета (причина – большой размер пакета).
Независимость от среды
Слайд 119IP Заголовок
IP-адрес назначения (Destination Address)
32-разрядное двоичное значение, которое определяет адрес назначения
на сетевом уровне.
IP Source Address
32-разрядное двоичное значение, которое определяет адрес источника на сетевом уровне..
Куда
Откуда
Слайд 120Источник записывает значение в поле TTL.
Различные операционные системы применяют следующие значения
:
UNIX: 255
Linux: 64 или 255 в зависимости от версии
Microsoft Windows 95: 32
Microsoft Vista, W7: 128
IP TTL – Поле «Время жизни» (Time To Live)
Слайд 121
IP TTL – Поле «Время жизни» (Time To Live)
Значение уменьшается на
1 каждым маршрутизатором.
Если маршрутизатор уменьшает TTL до 0, то он отбрасывает пакет.
Для чего необходим этот механизм TTL?
Чтобы избежать зацикливание пакета между маршрутизаторами.
Уменьшается на1, если 0, пакет отбрасывается.
Слайд 122Поле «Протокол»
Поле Protocol позволяет службам сетевого уровня передавать данные соответствующему протоколу
верхнего уровня.
Примеры значений:
01 - ICMP
06 - TCP
17 - UDP
Протокол = 06 TCP
Слайд 123Поле «Тип обслуживания»
Поле Type-of-Service используется для определения приоритета каждого пакета.
Позволяет
использовать механизм Качества обслуживания (Quality-of-Service - QoS) для высокоприоритетного трафика.
Каким типам трафика администратор должен назначать выокий приоритет ? Трафику, который критичен к задержкам.
VoIP (голос)
Streaming video (потоковое видео)
Слайд 125IP–адреса === Первое знакомство
Адреса хостов – это IP-адреса, назначаемые конечным устройствам,
таким, как:
Клиентским компьютерам
Серверам
Сетевым принтерам
Интерфейсам маршрутизаторов
Примечание: /16 - означает маску подсети
Авиакомпания Kiwi – Адрес сети 172.16.0.0/16
172.16.10.100/16
172.16.10.55/16
172.16.10.3/16
172.16.20.77/16
172.16.20.96/16
172.16.20.103/16
172.16.30.39/16
172.16.30.10/16
172.16.30.111/16
172.16.40.123/16
172.16.40.51/16
172.16.40.29/16
172.16.1.1/16
Слайд 126IP–адреса === Первое знакомство
IP-адреса хостов составляют множество адресов, называемое Адресом сети.
Организация
IANA (Internet Assigned Numbers Authority) распределяет адреса сетей.
Компания или физическое лицо получает адрес сети у провайдера ISP.
Авиакомпания Kiwi – Адрес сети 172.16.0.0/16
172.16.10.100/16
172.16.10.55/16
172.16.10.3/16
172.16.20.77/16
172.16.20.96/16
172.16.20.103/16
172.16.30.39/16
172.16.30.10/16
172.16.30.111/16
172.16.40.123/16
172.16.40.51/16
172.16.40.29/16
172.16.1.1/16
Слайд 127IP–адреса === Первое знакомство
IP –адрес хоста
Уникальный IP-адрес
Стандартный шлюз (Default Gateway)
Маршрутизатор, который
используется для передачи пакетов в удаленные сети.
Это IP-адрес интерфейса маршрутизатора, принадлежащий той же сети, в которой находится хост.
В конфигурации TCP/IP для хоста должны быть указаны IP-адрес хоста, маска подсети и IP-адрес стандартного шлюза, чтобы обеспечить связь с сетевыми устройства, находящимися вне текущей сети.
Адрес сети 172.16.0.0
172.16.10.100/16
172.16.10.55/16
172.16.10.3/16
172.16.1.1/16
ISP
Internet
Network Address 192.168.1.0/30
192.168.1.2/30
192.168.1.1/30
Слайд 128IP Addresses – First look
Все хосты одной сети должны иметь одинаковый
адрес стандартного шлюза.
Network Address 172.16.0.0
172.16.10.100/16
172.16.10.55/16
172.16.10.3/16
172.16.1.1/16
ISP
Internet
Network Address 192.168.1.0/30
Gateway: 172.16.1.1
Gateway: 172.16.1.1
Gateway: 172.16.1.1
192.168.1.2/30
192.168.1.1/30
Слайд 129Проверка IP адресов и стандартного шлюза
C:\> ipconfig
Windows IP Configuration
Ethernet adapter Local
Area Connection:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 172.16.10.100
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . : 172.16.1.1
Root# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0F:20:CF:8B:42
inet addr:172.16.1.100 Bcast:172.16.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2472694671 errors:1 dropped:0 overruns:0 frame:0
TX packets:44641779 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1761467179 (1679.8 Mb) TX bytes:2870928587 (2737.9 Mb)
Interrupt:28
Linux: netstat –rn информация по стандартному шлюзу.
Слайд 130Подсети
Сети могут разделяться на подсети.
Это позволяет получить определенные выгоды
(детали позже) .
Сети группируются с учетом следующих факторов:
Географическое местоположение, Назначение, Владение
Авиакомпания Kiwi – Адрес сети 172.16.0.0/16
172.16.10.100/24
172.16.10.55/24
172.16.10.3/24
172.16.20.77/24
172.16.20.96/24
172.16.20.103/24
172.16.30.39/24
172.16.30.10/24
172.16.30.111/24
172.16.40.123/24
172.16.40.51/24
172.16.40.29/24
172.16.1.1/24
172.16.10.1/24
172.16.20.1/24
172.16.30.1/24
172.16.40.1/24
172.16.10.0/24
172.16.20.0/24
172.16.30.0/24
172.16.40.0/24
Слайд 132Маршрутизация (Routing) – первое знакомство
Маршрутизатору знают о:
Непосредственно подключенных сетях (Directly
connected networks) (C):
Адресах своих интерфейсов
Удаленных сетях (Remote networks)
192.168.1.254/24
C 192.168.2.0/24 is direction connected, FastEthernet0/1
Network 192.168.2.0/24
Network 192.168.1.0/24
Слайд 133Маршрутизаторы узнают об удаленных сетях, используя:
Статические маршруты (Static routes)
Протоколы динамической маршрутизации
(Dynamic Routing Protocol ) (R = RIP)
В таблицах маршрутизации хранятся три основные элементы:
Сеть назначения (Destination network)
Следующий транзитный маршрутизатор (Next-hop)
Метрика
192.168.1.254/24
C 192.168.2.0/24 is direction connected, FastEthernet0/1
Network 192.168.2.0/24
Network 192.168.1.0/24
Маршрутизация (Routing) – первое знакомство
Слайд 134Статические маршруты
Определяются вручную администраторомr
Протоколы динамической маршрутизации
Маршрутизаторы автоматически получают информацию об удаленных
сетях
Примеры протоколов: RIP, EIGRP, OSPF, IS-IS, BGP
192.168.1.254/24
C 192.168.2.0/24 is direction connected, FastEthernet0/1
Network 192.168.2.0/24
Network 192.168.1.0/24
Маршрутизация (Routing) – первое знакомство
Слайд 135Таблицы маршрутизации маршрутизатора
Записи таблицы маршрутизации удалённой сети
D 10.1.1.0/24
[90/2170112] via 209.165.200.226, 00:00:05, Serial0/0/0
192.168.10.0/24
R2
192.168.11.0/24
10.1.1.0/24
10.1.2.0/24
209.165.200.224 /30
.226
.10
.10
.10
.10
.1
.1
64.100.0.1
.1
G0/1
.225
S0/0/0
G0/0
.1
R1
ПК1
ПК2
Слайд 136Глава 5
Сетевой уровень (Network Layer)