Для восходящих каналов имеется больше радиочастотного шума, потому что система не была первоначально разработана для данных, и шум от многих пользователей направляется к распределителю, поэтому используется более консервативная схема. Она колеблется от QPSK до QAM-128, где некоторые из символов используются для защиты от ошибок с решетчатой кодированной модуляцией (Треллис-модуляцией). С меньшим количеством битов на символ для восходящих данных, асимметрия между скоростью восходящего и нисходящего каналов намного выше, чем показано рис. 2.46.
Чтобы совместно использовать полосу пропусканя для восходящих данных многих пользователей, используется уплотнение с разделением времени. Иначе их передачи столкнулись бы в распределителе. Время работы делится на мини-слоты (minislots), и разные пользователи отправляют данные в разные мини-слоты. Для этого модем определяет, на каком расстоянии от распределителя он находится. Для этого посылается специальный пакет и высчитывается время, через которое приходит ответ. Этот процесс называется измерением дальности (ranging). Модему необходимо знать эти данные, чтобы правильно синхронизироваться. Каждый исходящий пакет должен умещаться в один или несколько соседних мини-слотов. Распределитель анонсирует каждое начало цикла мини-слотов, однако этот «стартовый выстрел» модемы слышат не одновременно, поскольку они находятся на разных расстояниях. Зная свое удаление от распределителя, модем может вычислить, когда на самом деле был послан принятый им сигнал начала мини-слота. Длина мини-слота зависит от сети. Обычно объем полезной информации в нем равен 8 байт.
Во время инициализации распределитель также присваивает модему мини-слот для запроса полосы пропускания восходящего канала. Когда компьютер хочет отослать пакет данных, он передает его модему, который запрашивает необходимое количество мини-слотов для него. Если запрос принят, то распределитель посылает подтверждение по нисходящему каналу. После этого пакет отправляется, начиная с первого «своего» мини-слота. Используя специальное поле заголовка, можно сообщить о необходимости передать дополнительные пакеты.
Как правило, одному и тому же мини-слоту запроса соответствует несколько модемов, что приводит к конкуренции между ними. Для решения этой проблемы существует две возможности. Первая — использовать множественный доступ с кодовым разделением каналов (CDMA), чтобы пользователи совместно использовали мини-слот. Это решает проблему конкуренции, потому что все пользователи с помощью CDMA могут посылать данные одновременно, хотя и с меньшей скоростью. Вторая возможность — не использовать CDMA, в этом случае может не быть никакого подтверждения запроса, из-за столкновения. Тогда модем может повторить попытку только через случайный промежуток времени. Если при повторной попытке снова возникла коллизия, то случайный промежуток удваивается. (Для читателей, уже немного знакомых с сетевыми технологиями: это интервальный метод ALOHA с экспоненциальной двоичной отсрочкой передачи. Ethernet не может использоваться в качестве кабельного интерфейса, поскольку станции не могут прослушивать линию. Мы вернемся к этим вопросам в главе 4.)
Нисходящие каналы управляются не так, как восходящие. Во-первых, отправитель в этом случае только один — распределитель, поэтому не возникает никакой борьбы за линию и нет необходимости в мини-слотах, которые, на самом деле, являются разновидностью статистического временного уплотнения. Во-вторых, трафик нисходящего канала обычно гораздо выше, чем восходящего, поэтому используются пакеты фиксированного размера — 204 байта. Часть пакета — код коррекции ошибок Рида—Соломона, плюс еще некоторая служебная информация. Собственно данные занимают в пакете 184 байта. Эти числа были выбраны из соображений совместимости с цифровым телевидением, использующим MPEG-2, так что телевизионный и входящий информационный каналы имеют один и тот же формат. Логическая структура соединения показана на рис. 2.47.
Рис. 2.47. Типичная схема входящего и исходящего каналов, принятая в США
2.8.5. ADSL или кабель?
Что лучше, ADSL или кабельная сеть? С тем же успехом можно спорить о том, какая операционная система лучше. Или какой язык. Или какая религия. Ответ зависит от того, кого вы спрашиваете. Давайте сравним ADSL и кабельные сети по нескольким параметрам. И та и другая система в качестве магистрального носителя использует оптическое волокно, однако на его концах используются разные типы носителей. В кабельных сетях это коаксиал, в ADSL — витая пара. Теоретически пропускная способность коаксиального кабеля в сотни раз выше, чем у витой пары. Тем не менее полная пропускная способность все равно недоступна пользователям кабельных систем, потому что большая часть полосы пропускания занята совершенно бесполезными вещами — телевизионными программами.