Передача информации в компьютерных сетях
Последовательный и параллельный способы передачи информации
Информация в компьютерах представлена в форме последовательностей двоичных чисел. Обмен данными как внутри вычислительного устройства между его узлами, так и между автономными машинами, может производиться двумя способами:
- последовательная передача: имеется только одна линия, состояние на ее передающей стороне отправляется только тогда, когда предыдущее обработано принимающей, т.е. данные передаются побитно;
- параллельная передача; при таком способе организуются сразу несколько линий, состояние на концах которых меняется одновременно; таким образом, можно передать за один раз столько бит, сколько имеется линий между передатчиком и приемником.
Рисунок 1. Последовательная и параллельная передача данных. Автор24 — интернет-биржа студенческих работ
При параллельной передаче технологически трудно избежать взаимовлияния токов, протекающих по близко расположенным проводникам. Поэтому такой способ используется там, где расстояния невелики: между узлами компьютера (т.н. шина данных), между компьютером и монитором (VGA-порт), между компьютером и принтером (параллельный порт).
Последовательная передача, хотя и уступает параллельной по скорости, обеспечивает более эффективную обработку ошибок и менее затратна в случае отправки данных на большие расстояния: двужильный кабель дешевле и надежнее многожильного.
Американские фермеры в начале XX в. использовали огораживавшую пастбища колючую проволоку и заземление для организации телефонной связи. Таким образом, для передачи информации они обходились всего одним проводом.
Для передачи информации в компьютерных сетях в подавляющем большинстве случаев используется последовательная передача данных. Хотя с развитием технологий стало возможным одновременно передавать несколько потоков (разнесение по частотам в wifi, передача по оптоволокну лучей с разным углом наклона), такие способы нельзя назвать параллельной передачей, т.к. данные в каждой такой линии обрабатываются независимо друг от друга.
Пакетный принцип организации данных и маршрутизация
При последовательной передаче данные в сетях принято передавать не непрерывным потоком, а пакетами (порциями, сериями). Такой подход обладает следующими преимуществами:
- по одной и той же линии можно передавать данные для нескольких получателей, указывая их адреса в заголовочной части пакетов;
- получив определенный объем информации, можно убедиться, что содержащиеся в них данные точно соответствуют тому, что было отправлено; для этого в последовательность пакетов добавляются так называемые контрольные суммы — особым образом подсчитанные числа, на которые влияет каждый бит переданной информации; если хотя бы один бит на стороне приемника будет отличаться (например, из-за помех на линии), то контрольные суммы приемника и передатчика не совпадут и станет понятно, что информация принята с искажениями, следует повторить ее отправку/прием.
Пакетный принцип положен в основу протоколов (правил обмена информацией), используемых в современных компьютерных сетях. В большинстве из них используется семейство TCP/IP — набор протоколов для обмена данными в глобальной сети Интернет, представляющей собой объединение локальных сетей.
Ключевым методом, позволяющим компьютерам, подключенным к разным сетям обмениваться информацией, является маршрутизация. Пакеты, отправляемые внутри локальной сети, принимаются всеми компьютерами, но каждый обрабатывает лишь те, в которых находит свой адрес. Частью адреса является еще и номер сети, который тоже анализируется каждым получателем. Этот номер должен совпадать с заранее настроенным номером, хранящимся в памяти компьютера. Однако среди компьютеров есть такие, которые подключены одновременно к более чем одной сети. Они называются маршрутизаторами (в англоязычной традиции роутерами, а также шлюзами). Если роутер обнаруживает, что пакет предназначен компьютеру чужой по отношению к отправителю сети, он отправляет его во внешнюю сеть. Соседняя сеть также может передать пакет дальше, пока через цепочку шлюзов он не достигает адресата или не вернется с пометкой, что доставка невозможна.
Рисунок 2. Структура заголовка IP-пакета. Автор24 — интернет-биржа студенческих работ
Маршруты, по которым идут пакеты от отправителя к получателю, могут меняться. Интернет — децентрализованная система, в которой нет единого центра управления. Поэтому при повреждении части глобальной сети информация по ней все равно будет передаваться по альтернативным маршрутам, хотя, возможно, и с более низкой скоростью.
Служба доменных имен (DNS)
Структура пакетов протокола TCP/IP, а также правила адресации и маршрутизации в Интернете достаточно сложны для обычного пользователя. Для удобства обращения к ресурсам глобальной сети разработана система доменных имен.
Домен — совокупность сетевых сервисов, принадлежащих организации или частному лицу.
Домен характеризуется особыми именем, регистрируемым в международной организации ICANN, например, yandex.ru. Последние две буквы имени домена обозначают национальную принадлежность (ru — Россия, by — Беларусь, kz — Казахстан, us — Соединенные Штаты и т.п.) или назначение домена (biz — для бизнеса, org — некоммерческие организации, academy — образование и т.п.).
Для преобразования удобных для человеческого запоминания доменных имен в IP-адреса, обрабатываемые компьютерами, предназначена служба доменных имен (DNS, Domain Name Service).
Рисунок 3. Принцип работы DNS. Автор24 — интернет-биржа студенческих работ
Сервисы, принадлежащие домену, могут размешаться на разных компьютерах и даже в разных сетях. Поэтому фраза «компьютер принадлежит домену» не совсем корректна. На одном компьютере могут быть запущены сервисы, принадлежащие разным доменам.
Обмен информацией между компьютерами — Введение в интернет
Представьте, что нам нужно отправить письмо по почте. В этот процесс вовлечено много людей, и у каждого свои обязанности: сортировка почты, регистрация письма, его отправка и доставка. У каждого звена в этой цепи свои правила работы.
В интернете тоже есть свои правила или соглашения — протоколы. Например, для выдачи адреса используется протокол IP. Он определяет, как именно даются адреса и какой у них вид. Для работы интернета используется много разных протоколов и они образуют стек TCP/IP.
В этом уроке рассмотрим, что такое стек TCP/IP и сколько в нем уровней. Также подробнее разберем транспортный уровень, который отвечает за передачу информации в сети, и познакомимся с протоколами TCP и UDP.
Стек протоколов TCP/IP
Чтобы интернет мог работать, используется сетевая модель или стек TCP/IP — набор правил, которые описывают, как компьютеры соединяются и передают информацию друг другу. Наименование модели состоит из названий двух главных протоколов:
- TCP — протокол, который описывает, как передается информация внутри сети
- IP — протокол, который описывает связь компьютеров друг с другом
Сетевая модель делится на 4 уровня, в каждом из которых применяются протоколы для работы той или иной функции:
- Канальный уровень или Link Layer — самый низкий уровень. На этом уровне описываются протоколы, которые обеспечивают связь компьютеров в сети, обработка данных устройствами. Проводное, спутниковое, беспроводное соединения, сетевые карты и свитчи — все это относится к канальному уровню
- Сетевой уровень или Network Layer — протоколы для взаимодействия сетей между собой. В модели TCP/IP на этом уровне используется протокол IP
- Транспортный уровень или Transport Layer — протоколы для передачи информации. В интернете на этом уровне используются протоколы TCP и UDP, которые мы рассмотрим в этом уроке
- Прикладной уровень или Application Layer — протоколы для связи сетевых приложений. Эти протоколы позволяют открывать сайты, смотреть онлайн-фильмы. Подробнее прикладной уровень разберем в следующих уроках
Передача информации в сети
Адресация устройств в сети
Физическое подключение устройств
Все протоколы зависят друг от друга. Нельзя использовать сетевой уровень, если отсутствует канальный. Например, между компьютерами нет подключения, но мы хотим дать им адреса. Поэтому модель называется стеком — все уровни наслаиваются друг на друга без возможности пропустить какой-то из уровней.
В этом курсе мы уже встречались с канальным и сетевым уровнями. На первом была построена связь компьютеров друг с другом с помощью проводного и беспроводного соединения. На сетевом уровне выдаются IP-адреса и обеспечивается связь нескольких локальных сетей друг с другом.
Для передачи информации используются протоколы UDP и TCP, которые находятся на третьем уровне модели TCP/IP — транспортном.
Транспортный уровень
Транспортный протокол отвечает за транспортировку информации между компьютерами. Когда между устройствами передается большое количество информации, она разбивается на небольшие части — пакеты, которые посылаются поочередно. Компьютер собирает все пакеты вместе и проверяет их целостность по соглашениям, если это определено в протоколе.
Представьте коробки с вещами при переезде. Если вещей много, то их не поместить внутрь одной коробки, поэтому нужно больше коробок. Пакеты в интернете работают по такому же принципу. Например, видео невозможно передать в один прием из-за ограничений на канальном уровне. Поэтому информацию разбивают на несколько пакетов и передают их последовательно.
Размер информации, который можно передать в пакете, зависит от разных обстоятельств, ограничений, соглашений. Например, от способа подключения, ограничений провайдера и особенностей оборудования. В среднем это значение составляет 1500-2000 байт или 1.5-1.9 килобайта. Например, если нам нужно передать музыкальную композицию весом 5120 килобайт, то понадобится