- •Дискретные и непрерывные величины
- •Аналоговые и цифровые величины
- •Системы счисления: позиционные и непозиционные
- •Двоичная система счисления Логические операции
- •Двоично-кодированные системы счисления Преобразование «аналог - цифра» поразрядным уравновешиванием
- •Типы данных
- •Кодирование Кодовые таблицы Представление текстовых данных
- •Адресация в протоколе tcp/ip
- •Доменные имена
Типы данных
Тип данных — фундаментальное понятие теории программирования. Тип данных определяет множество значений, набор операций[1], которые можно применять к таким значениям, и, возможно, способ реализации хранения значений и выполнения операций. Любые данные, которыми оперируют программы, относятся к определённым типам.
Полиморфный тип — представление набора типов как единственного типа.
Математически тип может быть определён двумя способами:
-
Множеством всех значений, принадлежащим типу.
-
Предикатной функцией, определяющей принадлежность объекта к данному типу
Кодирование Кодовые таблицы Представление текстовых данных
Код UTF
UTF-8 (от англ. Unicode Transformation Format — формат преобразования Юникода) — в настоящее время распространённаякодировка, реализующая представление Юникода, совместимое с 8-битным кодированием текста. Нашла широкое применение в операционных системах и веб-пространстве[1].
В отличие от UTF-16, UTF-8 является самосинхронизирующейся кодировкой (англ.): при потере одного байта последующие байты будут раскодированы корректно.
Текст, состоящий только из символов Юникода с номерами меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. И наоборот, в тексте UTF-8 любой байт со значением меньше 128 изображает символ ASCII с тем же кодом. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байт (реально только до 4 байт, поскольку использование кодов больше 221 не планируется), в которых первый байт всегда имеет вид 11xxxxxx, а остальные — 10xxxxxx.
Проще говоря, в формате UTF-8 символы латинского алфавита, знаки препинания и управляющие символы ASCII записываются кодами US-ASCII, a все остальные символы кодируются при помощи нескольких октетов со старшим битом 1. Это приводит к двум эффектам.
Контрольные коды
Контроль чётности/нечётности
Контрольная сумма
Представление чисел
Целые числа
Числа с фиксированной точкой
Числа с плавающей точкой
Понятие потока
Структура компьютера. Машина Неймана
Процессор
Оперативная память
Интерфейсы
Параллельный интерфейс
Последовательный интерфейс
Интерфейс USB
Периферийное оборудование
Видеосистема
Монитор
Видеокарта
Жесткие диски
Flash-память
Мышь
Клавиатура
Принтеры (матричные, струйные, лазерные)
Сканеры
Графические планшеты
Телекоммуникационные системы
Семиуровневая модель сетевого взаимодействия ISO
Понятие протокола
Понятие инкапсуляции (туннелирование)
Инкапсуляция (encapsulation) или туннелирование (tunneling) - это еще один метод решения задачи согласования сетей, который однако применим только для согласования транспортных протоколов и только при определенных ограничениях. Инкапсуляция может быть использована, когда две сети с одной транспортной технологией необходимо соединить через сеть, использующую другую транспортную технологию. В приведенном на рисунке 1.3 примере две сети с протоколом NetBIOS нужно соединить через сеть TCP/IP. Необходимо обеспечить только взаимодействие узлов двух сетей NetBIOS, а взаимодействие между узлами NetBIOS и узлами сети TCP/IP не предусматривается. То есть, при инкапсуляции промежуточная сеть используется только как транзитная транспортная система.
Рис. 1.3. Инкапсуляция протоколов сетевого уровня (вложение друг в друга)
Метод инкапсуляции заключается в том, что пограничные маршрутизаторы, которые подключают объединяемые сети к транзитной, упаковывают пакеты транспортного протокола объединяемых сетей в пакеты транспортного протокола транзитной сети. В данном случае пакеты NetBIOS упаковываются в пакеты TCP, как если бы пакеты NetBIOS представляли собой сообщения протокола прикладного уровня. Затем пакеты NetBIOS переносятся по сети TCP/IP до другого пограничного маршрутизатора. Второй пограничный маршрутизатор выполняет обратную операцию - он извлекает пакеты NetBIOS из пакетов TCP и отправляет их по сети назначения адресату.
Для реализации метода инкапсуляции пограничные маршрутизаторы должны быть соответствующим образом сконфигурированы. Они должны знать, во-первых, IP-адреса друг друга, во-вторых - NetBIOS-имена узлов объединяемых сетей. Имея такую информацию, они могут принять решение о том, какие NetBIOS-пакеты нужно переправить через транзитную сеть, какой IP-адрес указать в пакете, передаваемом через транзитную сеть и каким образом доставить NetBIOS-пакет узлу назначения в конечной сети.
2 типа связи с установлением соединения и без установления соединения
Протоколы физического уровня
Протоколы канального уровня
Протоколы сетевого уровня
Протокол IP
IP (Internet Protocol - межсетевой протокол) - обеспечивает транспортировку пакетов данных с одного компьютера на другой;
Протоколы транспортного уровня
Протокол TCP
Протоколы прикладного уровня (для TCP/IP)
Стек протоколов TCP/IP (англ. Transmission Control Protocol/Internet Protocol — протокол управления передачей) — набор сетевых протоколов разных уровней модели сетевого взаимодействия DOD, используемых в сетях. Протоколы работают друг с другом встеке (англ. stack, стопка) — это означает, что протокол, располагающийся на уровне выше, работает «поверх» нижнего, используя механизмы инкапсуляции. Например, протокол TCP работает поверх протокола IP.
Стек протоколов TCP/IP основан на модели сетевого взаимодействия DOD и включает в себя протоколы четырёх уровней:
-
прикладного (application),
-
транспортного (transport),
-
сетевого (network),
-
канального (data link).
Распределение протоколов по уровням модели OSI |
||
7 |
Прикладной |
напр., HTTP, SMTP, SNMP, FTP, Telnet, SSH, SCP, SMB, NFS, RTSP, BGP |