Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
1.11 Методы контроля правильности передачи информации
При передаче информации по некачественным каналам связи возможно появление ошибок, то есть искажений передаваемой информа-
40
ции. Эти ошибки необходимо выявлять и исправлять. Контроль принимаемой информации может быть побайтным и пакетным.
Побайтный метод предполагает, что каждый передаваемый байт
дополняется битом четности (или нечетности), то есть в случае, когда
количество единиц в передаваемом информационном байте четное, то
бит равен 0, а если нечетное – то 1. Метод может применяться как при
байтовой, так и при пакетной передаче. Вероятность того, что ошибка
не будет обнаружена, довольно велика. К этому может привести наличие четного количества ошибок в информационных битах, а также одновременное искажение информационного и контрольного битов.
Пакетный метод сводится к тому, что в конце каждого передаваемого пакета добавляется контрольная сумма (длиной 8, 16 или 32 бита),
которая включает в себя информацию обо всех информационных битах
пакета. Метод подсчета контрольной суммы выбирается так, чтобы, с
одной стороны, ее просто было вычислить, а с другой стороны, чтобы
она достаточно надежно выявляла ошибки. Обычно используются контрольные суммы трех видов.
1. Сумма по модулю 2 всех байтов (или слов) пакета. Вычисление
идет по правилам: 0 + 0 = 0, 0 + 1 = 1, 1 + 1 = 0. При этом однократные
ошибки (то есть одна ошибка на пакет) обнаруживаются с вероятностью 100%, двукратные (две ошибки на пакет) – с вероятностью 7/8
(так как в случае, когда две ошибки попадают в один и тот же разряд,
они не могут быть обнаружены). Надо также учесть, что случаются искажения нескольких битов, которые данным методом выявляются довольно плохо. Этот вид контрольной суммы легко и быстро считается
программным путем, так как соответствующая команда вычисления
суммы по модулю 2 имеется практически у всех микропроцессоров.
2. Арифметическая сумма всех байтов (или слов) пакета. При
ее вычислении отбрасываются старшие разряды для сохранения заданной разрядности контрольной суммы (обычно 8 или 16). Однократные
41
ошибки обнаруживаются с вероятностью 100%. Вероятность необнаружения двукратных ошибок в наихудшем случае составляет
1/8 · 1/4 = 1/32. Такая наихудшая ситуация наблюдается, когда в каждом из 8 разрядов всех байт пакета или в каждом из 16 разрядов всех
слов пакета присутствует половина логических единиц и половина логических нулей. При этом двукратные ошибки не выявляются, когда в
одном разряде один из битов из 0 переходит вследствие ошибки в 1, а
другой бит в этом же разряде из 1 переходит в 0, что не изменяет общей
суммы.
3. Циклическая контрольная сумма (или циклический контроль по
избыточности, CRC – Cyclic Redundancy Check). Применение циклической контрольной суммы вызвано стремлением повысить качество контроля, то есть увеличить вероятность обнаружения ошибок. Циклическая контрольная сумма существенно сложнее в вычислении, однако
надежность данного метода контроля неизмеримо выше. При вычислении циклической контрольной суммы весь пакет рассматривается как
N-разрядное двоичное число, где N – количество бит в пакете. Для вычисления контрольной суммы это число делится по модулю 2 на некоторое постоянное простое число. Частное от этого деления отбрасывается, а остаток используется в качестве контрольной суммы. Данный
метод выявляет однократные ошибки с вероятностью 100%, а любое
другое количество ошибок с вероятностью p ≈ 1 − 2 − n , где n – количество разрядов контрольной суммы (формула верна при условии, что
N>>n). Разрядность полинома берется на единицу большая, чем требуемая разрядность контрольной суммы (остатка от деления).
42
2 АРХИТЕКТУРА TCP/IP
TCP/IP является одним из самых популярных стеков коммуникационных протоколов. Стек TCP/IP появился до появления модели взаимодействия открытых систем, и соответствие уровня стека TCP/IP уровням модели OSI достаточно условно.
Протоколы TCP/IP делятся на 4 уровня. Самый нижний (4 уровень)
называется уровнем межсетевых интерфейсов и соответствует физическому и канальному уровням модели OSI. Функции этого уровня включают в себя:
•
отображение IP-адресов в физические адреса сети;
• инкапсуляция IP-дейтаграмм в кадры для передачи по физическому каналу и извлечение дейтаграмм из кадров. Контроль безошибочности передачи не требуется;
•
определение метода доступа к среде передач;
•
определение представления данных в физической среде;
• прием и пересылка кадров.
Этот уровень не регламентируется в протоколах TCP/IP, но поддерживает все популярные стандарты физического и канального уровней.
Третий уровень, называемый уровнем межсетевого взаимодействия,
отвечает за передачу дейтаграмм с использованием различных локальных сетей, территориальных сетей и линий специальных связей. Этот
уровень соответствует третьему уровню модели OSI. В качестве основного протокола этого уровня используется протокол IP. Протокол IP
изначально создавался как протокол передачи пакетов в составных се43
тях, состоящих из большого количества локальных сетей, объединенных между собой. Поэтому протокол IP хорошо работает в сетях со
сложной структурой. К третьему уровню также относятся все протоколы, связанные с составлением ими модификации и таблиц с маршрутизацией, т.е. такие протоколы RIP (Routing Internet Protocol), OSPF(Оpen
Shortest Path First) – протоколы сбора маршрутной информации, ICMP
(Internet Control Message Protocol) – протокол межсетевых управляющих сообщений.
Протоколы ICMP служат для обеспечения обратной связи, т.е. сообщение об ошибках при передаче, например, между двумя компьютерами, шлюзом и маршрутизатором.
На втором уровне работают протоколы TCP и UDP. Этот уровень
называется основным. TCP – протокол управления передачи. UDP –
протокол пользовательских дейтаграмм. Протокол TCP обеспечивает
устойчивое виртуальное соединение между удаленными сетевыми процессами, а протокол UDP – передачу прикладных пакетов методом дейтаграмм, т.е. без установления соединений. Протокол UDP требует
меньше накладных расходов, чем протокол TCP.
Протоколы UDP практически не выполняют никаких особых функций дополнительно к функциям межсетевого уровня. Протокол UDP
используется в двух основных случаях:
•
при пересылке коротких сообщений, т.е. когда накладные рас-
ходы на установление соединения и проверку успешной доставки данных выше расходов на повторную передачу сообщений;
•
если сам процесс приложения обеспечивает установление со-
единения и проверку доставки пакетов (NFS, TFTP, DNS).
Верхний уровень называется прикладным и обеспечивает взаимодействие с пользователем. За время своего использования стек TCP/IP
накопил большое количество протоколов и сервисов прикладного
уровня: FTP, TFTP, HTTP, SMTP, POP3, Telnet и т.д.
44
2.1 Протокол IP. Адресация
Функции протокола IP определены в стандарте RFC-791 и заключаются в том, что протокол IP обеспечивает передачу блоков данных,
называемых дейтаграммами, от отправителя к получателю, где отправители и получатели являются компьютерами, идентифицируемыми
адресами фиксированной длины (IP-адресами). Протокол IP обеспечивает также при необходимости фрагментацию и сборку дейтаграмм для
передачи данных через сети с малым размером пакетов.
Протокол IP не подтверждает доставку данных, не контролирует
целостность данных и не производит операции обмена служебными
сообщениями, подтверждающими установление соединения с узлом
назначения и его готовность к приему данных. Протокол IP обрабатывает каждую дейтаграмму как не имеющую связи с другими дейтаграммами сети. После отправки дейтаграммы она никак не контролируется отправителем на уровне протокола IP. Если дейтаграмма не может
быть доставлена, то она уничтожается, а узел, уничтоживший дейтаграмму, может отправить отправителю специальное ICMP-сообщение,
содержащее информацию о причине сбоя. Гарантию правильной передачи данных предоставляют протоколы вышестоящего уровня. Протоколом IP осуществляется маршрутизация дейтаграмм, т.е. определение
пути следования дейтаграммы от одного узла сети к другому на основании адреса получателя.
IP-адрес является некоторым числом, выраженным в двоичной системе. Этот адрес содержит 4 байта или 32 двоичных разряда. Принято
каждый байт адресной последовательности записывать в виде десятичного числа.
Каждое из этих чисел содержит определённую адресную информацию: адрес сети и номер хоста.
Существует 5 классов IP-адресов, которые описываются количеством разрядов в сетевом номере и номере хост-ЭВМ. Класс адреса опре45
деляется значением его первого байта. В табл. 2.1 и 2.2 приведены существующие классы IP-адресов и их сравнение.
Т а б л и ц а 2.1. Классы IP-адресов
Разряд
адреса
A
B
1
1
2
3
4
5
6
7
8
15
номер сети (7 бит)
16
1
1
D
1
1
1
E
1
1
1
1
24
31
номер хоста (24 бита)
номер сети (7 бит)
C
23
номер хоста (16 бит)
номер
хоста
(8 бит)
номер сети (7 бит)
групповой адрес (28 бит)
зарезервировано
Т а б л и ц а 2.2. Сравнение классов IP-адресов
Класс
Диапазон
значений
первого
байта
адреса
Возможное
количество
сетей
Максимальное
количество
хостов в сети
A
1÷126
126
16 777 214
B
128÷191
16 382
65 534
C
192÷223
2 097 150
254
D
224÷239
-
-
Групповые
обращения
E
240÷247
-
-
Зарезервировано
Предназначение
Распределение
IP-адресов
в зависимости
от размеров сетей
Адреса класса A предназначены для использования в больших сетях,
содержащих более чем 216 хост-машин. Адреса класса B предназначены
для сетей среднего размера, содержащих от 28 до 216 хост-машин. Адреса класса C применяются в сетях с небольшим количеством ПЭВМ
46
(до 254), например, в ЛВС. Адреса класса D предназначены для обращения к группам хост-машин. Адреса класса E были зарезервированы
на будущее.
В настоящее время международные организации, занимающиеся
распределением адресного пространства, отказались от применения
классов адресов, так как в случае выделения адресного пространства
малым по объёму сетям (16, 32, 64 хоста) слишком много адресного
пространства расходуется впустую.
Рассмотрим некоторые особенности адресации в Internet.
Согласно принятому в Internet правилу хост-ЭВМ нельзя присваивать номер 0 (он описывает всю сеть в целом) и 255 — адрес широковещательной передачи. Кроме того, IP-адрес, первый байт которого равен 127, используется для тестирования программ и взаимодействия
процессов в рамках одной хост-ЭВМ, поэтому запрещается присваивать хостам номера, начинающиеся со 127.
Помимо этого существует ряд адресов, которые используются для
организации частных сетей, то есть локальных сетей, осуществляющих
обмен данными по протоколам TCP/IP. Применение таких адресов также позволяет легко интегрировать подобную локальную сеть в Internet
при помощи только одного «реального» IP-адреса, выделенного маршрутизатору сети. Все пакеты, проходящие через этот маршрутизатор,
автоматически получают в качестве адреса отправителя адрес маршрутизатора и, таким образом, могут быть корректно обработаны другими
маршрутизаторами сети. При этом маршрутизатор, занимающийся преобразованием адресов, ведёт специальную таблицу, в которой записывается с какого адреса «внутренней» сети на какой адрес «внешней»
сети был послан запрос (а также ряд других сведений). При получении
от «внешнего» сервера ответа (пакета с некоторыми данными), маршрутизатор сверяется с таблицей и если находит тот адрес, который
запросил пакет, то перенаправляет его получателю. В противном случае пакет уничтожается и противоположная сторона информируется об
47
этом по протоколу ICMP. Данный подход может быть также полезен
для защиты от несанкционированного доступа как «снаружи» сети, так
и «изнутри» (имеется в виду несанкционированная передача некой информации из сети «наружу»). В соответствии с RFC 1918 это диапазоны 10.0.0.0 ÷ 10.255.255.255, 172.16.0.0 ÷ 172.31.255.255 и 192.168.0.0 ÷
192.168.255.255.
2.2 Доменная система адресов
На начальном этапе создания сети Internet составлялся полный список, куда включались имена всех хостов, подключаемых к сети. Однако
вследствие развития Internet, а также частого изменения её топологии,
оказалось невозможным постоянно обновлять такой список. Это привело к созданию доменной системы адресов (имён): DNS (Domain Name
System). Эта система адресации разделяет все адреса по иерархическому принципу, объединяя их в домены (от английского domain – область). Каждый домен представляет определённую группу хостов, объединенных по географическому или тематическому признаку. Полный
доменный адрес обозначается как FQDN (Fully Qualified Domain Name)
и читается в обратном порядке относительно цифрового адреса: если
IP-адрес начинается с номера сети, то доменный адрес начинается с
имени хост-машины. Например, адрес вида
hostname.lab.university.ru
означает: хост hostname сети lab, входящей в домен university, который,
в свою очередь, входит в состав домена верхнего (первого) уровня ru.
Домен ru означает Российскую Федерацию. Существуют домены верхнего уровня, выделенные по географическим и тематическим признакам:
− аrра – обратный (reverse) DNS;
− com – коммерческие организации;
48
− edu – образовательные учреждения и университеты;
− gov – невоенные правительственные учреждения;
− info – информационные ресурсы;
− mil – военные правительственные учреждения;
− net – сети (крупные сети, входящие в сеть Интернет);
− org – некоммерческие организации;
− двухбуквенные обозначения стран (ru, uk, cn и т.д.).
Для обработки траектории поиска в отдельных доменах имеются
специальные серверы имен, которые обеспечивают преобразование адресов доменной системы имен в цифровую.
Возможны случаи, когда один IP-адрес соответствует двум доменным именам. Это характерно, например, для web-серверов, предоставляющих услуги хостинга. В некоторых случаях несколько IP-адресов
могут ассоциироваться с одним доменным именем. Однако наличие
доменного имени не является обязательным в отличие от цифрового IPадреса, без которого хост-машина не может подключиться к сети.
49