19 August 2015

Лекция 3. Уровень приложений.
3.1 Приложения
Уровень приложений является интерфейсом между приложениями и коммуникационным ПО, так же определяет процесс аутентификации пользователя.
Функции уровня представления:
  - Преобразование данных в формат понятный получателю
  - Компрессия
  - Шифрование
Сеансовый уровень отвечает за установление и поддерживание сеансов связи между приложениями.
Приложения можно разделить на:
  - напрямую работающие  сетью (Network-Aware)
  - использующие для работы с сетью другие приложения (службы, демоны)
3.2 Приложения и службы
Клиент/серверная модель - в сети имеется выделенный сервер обслуживающий запросы, и клиент обращающийся к серверу.
Одноранговая (peer-to-peer) модель - компьютеры в сети выполняют как функции клиента так и функции сервера.
Peer-to-peer приложение - приложение работающее как клиент и как сервер одновременно в пределах соединения.
3.3 Примеры протоколов и служб
- Система доменных имен  (DNS) - TCP/UDP порт 53. Система распределенных серверов позволяющая определять IP-адрес по доменному имени и наоборот.
nslookup программа позволяющая отправлять запросы DNS серверу.
Все сообщения DNS имеют одинаковый формат.
 - Протокол передачи гипертекста (HTTP) - TCP порт 80. Протокол доступа к веб-сайтам.
Методы GET (запрос данных с сервера), POST и PUT (загрузка данных на сервер).
Главное различие методов PUT и POST в том, что при методе POST, предполагается, что по указанному URI, будет производиться обработка, передаваемых клиентом данных, а при методеPUT, клиент подразумевает, что загружаемые данные уже соответствуют ресурсу, расположенному по данному URI.
HTTPS TCP порт 443, защищенная версия протокола HTTP.
  - MUA почтовый агент запрашивающий почту с сервера по протоколу POP (TCP 110) или IMAP (TCP 143) и отправляющий почту на сервер по протоколу SMTP (TCP 25).
  - MTA сервис сервера почты отвечающий за пересылку почты между серверами по протоколу SMTP.
  - MDA сервис сервера почты отвечающий за фильтрацию почты и размещение писем  ящики пользователей
Команды SMTP: HELO, EHLO, MAIL FROM, RCPT TO, DATA.
Команды POP3: USER, PASS, LIST, RETR.
- Протокол передачи файлов (FTP) - TCP порт 21 управляющее соединение, TCP порт 20 соединение для передачи данных. Режимы работы:
  - активный, клиент открывает соединение к серверу, сервер обратное соединение к клиенту (nat и firewall мешают такому режиму работы)
  - пассивный, клиент открывает оба соединения к серверу самостоятельно.
- Протокол динамической настройки узлов (DHCP) UDP 67. Используется для автоматической выдачи узлам сетевых настроек. Получение настроек проходит в 4 этапа:
  - DHCP Discover (клиент опрашивает сеть в поисках сервера)
  - DHCP Offer (серверы отвечают клиенту)
  - DHCP Request (клиент выбирает сервер и всем об этом сообщает)
  - DHCP Acknowledge (сервер резервирует и передает клиенту адрес и настройки)
SMB TCP 445 протокол позволяющий передавать файлы по сети, предоставлять принтеры в доступ другим пользователям сети.
- P2P приложения позволяют обмениваться файлами по сети.
TELNET TCP 23, предоставляет доступ к командной строке удаленных сетевых устройств.
SSH TCP 22, предоставляет доступ к командной строке удаленных сетевых устройств. Так же может передавать файлы и запускать графические приложения. Использует шифрование.

18 August 2015

Лекция 2. Коммуникации с использованием сетей.


2.1 Платформа для коммуникаций.
Существует множество методов коммуникаций, но все они содержат три основных элемента:
- Источник (source/sender)
- Сообщение (message)
- Канал (channel)
2.1.2 Обмен сообщениями.
На практике большие блоки данных делят на маленькие, перед отправкой их в сеть, этот процесс называется сегментированием(segmentation). За счет этого устройства могут передавать несколько разных блоков данных «одновременно». Процесс используемый для чередования сегментов от разных источников в один поток называется мультиплексированием (multiplexing). Сегменты могут маркироваться номерами для правильной сборки исходного блока данных получателем.
2.1.3 Компоненты сети.
Устройства (devices)
- Конечные (end devices) — создают и принимают потоки данных
- Промежуточные (intermediary) — устройства обеспечивающие передачу потоков в сети
Среда передачи (media) — перед передачей данные необходимо кодировать (encoding) в виде электрического/оптического/радио сигнала
- Медный кабель (copper)
- Оптический кабель (fiber)
- Беспроводная среда (wireless)
Службы и процессы (Services and processes) — ПО установленное на устройствах подключенных к сети
2.2 Локальные, глобальные сети и Интернет.
Локальная сеть (LAN) — сеть под управлением одной организации и обычно расположенная в одной географической области.
Глобальная сеть (WAN) — сети провайдеров (TSP/ISP) которые те предоставляют клиентам для соединения удаленно расположенных локальных сетей. Контролируются провайдером.
Объединенная сеть (Internetwork) — сеть состоящая из соединенных между собой сетей разных организаций.
Интранет (Intranet) — сеть одного предприятия используемая сотрудниками.
2.3 Протоколы
Любая передача информации осуществляется по предопределенным правилам называемым протоколами (protocols). Группа взаимосвязанных протоколов необходимых для успешной передачи данных между двумя узлами в сети называетсястек протоколов (protocol suite/stack).
Для повсеместного использования в сетевой индустрии протокол должен быть стандартизирован такими организациями как IEEE или IETF.
Множество различных устройств могут обмениваться данными с использованием одного стека протоколов, т. к. протоколы описывают только функции сети, а не как эти функции должны выполняться.
2.4 Использование многоуровневых моделей.
Преимущества многоуровневой модели:
- Помогает в дизайне протоколов
- Улучшает конкуренцию между производителями оборудования
- Предотвращает влияние изменений одного уровня на другие
- Предоставляет общий язык для описания сетевых функций
Две основные модели протокольная (используется на практике) TCP/IP и эталонная (теоретическая) OSI.
OSI                        TCP/IP
7. Приложений
4. Приложений
Взаимодействует с пользователем
6. Представления
4. Приложений
Представление информации, шифрование, сжатие
5. Сессий
4. Приложений
Установление сессии между приложениями
4. Транспортный
3. Транспортный
Обеспечивает передачу между приложениями, сегментирование, надежность доставки
3. Сетевой
2. Интернет
Обеспечивает передачу между узлами сети, выбор маршрута
2. Канальный
1. Доступ к сети
Обеспечивает передачу в пределах сегмента сети, проверку на ошибки
1. Физичексий
1. Доступ к сети
Передает и принимает биты в виде электрических, оптических импульсов и радио волн
Протокольная Единица Данных (PDU) - блок данных с заголовками конкретного уровня.
Сегмент - PDU транспортного уровня, Пакет - PDU сетевого уровня, Кадр - PDU канального уровня.Инкапсуляция (encapsulation) - добавление к блоку данных заголовка соответствующего уровня, декапсуляция - снятие заголовков с блока данных.
К проходящему сверху вниз по стеку блоку данных на каждом уровне добавляются соответствующие заголовки. Затем получившийся кадр побитно передается в сеть. На стороне приемника блок данных проходит по стеку снизу вверх, заголовки снимаются.
2.5 Сетевая адресация.
На разных уровнях стека протоколов используются разные типы адресации для успешной передачи данных по сети.
На уровне 2 модели OSI используются физические адреса (MAC) для передачи данных в рамках одного сегмента сети.
На уровне 3 модели OSI используются логические адреса (IP) для передачи данных от одного до другого узла сети. Узлы могут находится в разных сегментах сети.

На уровне 4 модели OSI используются номера портов (ports), для передачи потока данных нужному приложению внутри устройства.