Затем папа сказал, что в математике числа «0» и «1» называются битами и что любую информацию можно представить при помощи битов. После этого мы наконец перешли к разработке системы кодирования.
Папа составил таблицу из трёх столбцов. В первый он выписал все буквы русского алфавита, пропустив букву Ё. Во втором записал их номера (от 0 до 31). А в третий столбец он записал те же номера в двоичном представлении, но каждый номер состоял из пяти битов — от 00000 до 11111. Получилось вот что:
— Теперь договоримся, как передавать биты 0 и 1. Тут можно использовать и метод Морзе. Пусть «0» будет коротким сигналом, а «1» — длинным, раза в три длиннее. При этом между каждым сигналом надо делать небольшую паузу, а между буквами, то есть между каждыми пятью сигналами — паузу подлиннее.
Отец взял мой передатчик и попросил записывать за ним. Мы взяли карандаши, а папа стал выбивать последовательность сигналов: длинный, короткий, короткий, длинный, короткий… Я записывал за ним: 10010 00101 01011 00101 00011 10000 00000 10100. Получилось слово «ТЕЛЕГРАФ».
Мы ещё немного потренировались — я выстукивал слова, Катя записывала, потом наоборот. Вроде бы всё понятно и довольно просто. Потом папа сказал:
— Ну вот, я хотел начать с протокола, а потом перейти к кодированию, а получилось наоборот. Давайте же изучим, что такое протокол. Скажи, Екатерина, как ты поймёшь, что надо начинать записывать передачу Кирилла?
— Я услышу звонок и увижу мигающую лампочку.
— Но ведь ты наверняка в этот момент будешь что-то делать, а карандаша и бумаги рядом не окажется. А может быть, и самой тебя поблизости не будет. Как быть?
Мы задумались. А ведь действительно. Чтобы успешно передать сообщение, нам обоим надо быть около своих устройств, но как это сделать, если мы друг друга не видим? Но отец продолжил:
— Нам на помощь придёт протокол. Протокол — это договорённость о том, как вести передачу информации. Метод кодирования — только часть протокола. Также протокол устанавливает правила начала и окончания передачи. Ещё он может устанавливать правила смены передающей стороны и даже методы восстановления информации, если передача происходит с потерями и ошибками. Но мы пока изучим только самые простые вещи.
Мы с Катей переглянулись, а отец тем временем говорил:
— Мы введём несколько служебных символов: «Запрос на начало передачи», «Ответ о готовности приёма» и «Окончание передачи». Подумайте и ответьте мне, для чего нужны эти символы.
Я сказал:
— С их помощью мы сможем подзывать друг друга к устройству и сообщать, что готовы принять телеграмму. И в конце передачи сообщать, что телеграмма закончена.
Отец согласился, а потом обратился к Кате:
— Екатерина, ты можешь придумать, как будут выглядеть эти три служебных символа?
— Думаю, что они должны состоять из последовательности сигналов, которые непохожи на наши биты «0» и «1».
— Почему?
— Так будет проще понять, что это служебная информация, а не текст телеграммы.
— Здорово, молодец! Это, в общем, необязательно: в компьютерных системах используются только биты и ничего другого. Но мы действительно можем позволить себе применить другие символы, чтобы проще отличать. Поэтому предлагаю такую схему…