Наконец, некоторые тюнеры могут не поддерживаться вашим ядром. Чтобы получить список поддерживаемых плат:
1. установите из вашего дистрибутива пакет kernel-source, содержащий исходные тексты ядра и модулей;
2. загляните в появившийся каталог
/usr/src/linux-2.xx.хх/Documentation/video4linux/bttv
, где 2.xx.xx — версия ядра;3. читайте README и CARDLIST (в некоторых версиях ядра он называется CARDS).
После подключения TV-тюнер придется настраивать. Здесь вам поможет bttv mini-HOWTO на русском языке по адресу
http://linux.yaroslavl.ru/docs/howto/mini/BTTV-Mini-HOWTO-0.3
Облегчить вам работу по настройке тюнера сможет конфигурационная утилита с графическим интерфейсом GCbttv (
http://freshmeat.net/projects/gcbttv
).Наконец, TV-тюнер подключен и настроен, и пора смотреть передачи.
Лучше всего использовать программы, поддерживающие библиотеку libXaw. Во многие дистрибутивы включен XawTV (домашняя страница
http://linux.bytesex.org/xawtv
) — набор программ для управления видеоустройством video4linux
, захвата видеопотока в файл в различных форматах или вывода его на экран. Настройки главной программы xawtv, собственно просмотрщика TV, хранятся в файле .xawtv
. Создайте вручную файл примерно такого содержания:[global]
fullscreen = 800 x 600
freqtab = europe-east
pixsize = 128 x 96
pixcols = 1
jpeg-quality = 75
[defaults]
norm = SECAM
capture = over
source = Television
Если вы чувствуете, что ваш старенький компьютер не «вытянет» полноэкранного режима 800×600, установите разрешение экрана 640×480. В зависимости от поворотливости вашего компьютера установите уровень JPEG-компрессии. Чем выше качество, тем больше нагрузка на систему. Обычно для максимального качества хватает значения jpeg-quality=90. Но самым оптимальным значением будет все-таки 75.
Затем указываем программе, что мы будем принимать передачи в формате SECAM. Частотная таблица каналов — europe-east. Если вы живете в западной Европе, укажите europe-west.
Другие программы просмотра телепередач, которые вам могут пригодиться:
♦tvtime — программа, имитирующая телевизор на компьютере, выводя изображение на экран с частотой 50/60 Гц, снимая тем самым проблему с чересстрочным изображением;
♦GnomeTV — простая программа для просмотра телепередач в оконной среде GNOME, перестала развиваться в 2001 году;
♦KwinTV — интегрирована в среду KDE;
♦bttvgrab — мощная программа, позволяющая записывать телепередачи на диск.
5.5. Воспроизведение неподдерживаемых форматов
Во многих дистрибутивах Linux мы не можем воспроизвести, казалось бы, привычные форматы — DivX, Windows Media (WMV), QuickTime, DVD и в некоторых случаях даже MP3. Причина всему этому — всевозможные лицензионные соглашения, нарушения которых не допускается. Но выход из ситуации есть: распространять тот или иной кодек в составе дистрибутива запрещено, но никто не мешает вам загрузить его и использовать в свое удовольствие.
В большинстве случаев кодеки выполнены в виде динамических библиотек Windows (dll-файлов). Чтобы их использовать в Linux, вам понадобится mplayer — это кроссплатформенное приложение, позволяющее воспроизводить различные форматы мультимедиа. Найти программу mplayer в Интернете не проблема. А вот кодеки найти намного сложнее. Я рекомендую загрузить пакет
essential
, который доступен по адресу: http://www.mplayerhq.hu/homepage/dload.html
.Установим этот пакет:
$ tar -jxvf essential-20050216.tar.bz2
$ cp essential-20050216/* /usr/lib/win32/
Чтобы кодеки стали доступны, вам нужно перезапустить mplayer.
С воспроизведением DVD ситуация тоже неоднозначна. Некоторые дистрибутивы, особенно новые (но не все), воспроизводят DVD без проблем. А проигрыватели других дистрибутивов вообще отказываются работать с DVD. Дело в том, что в состав проигрывателей не включена поддержка DVD. Для ее включения нужно перекомпилировать проигрыватели из исходных кодов. Прочитать обо всем этом можно по адресу
http://www.geniusweb.com/LDP/HOWTO/html_single/EVD-Playback-HOWTO
И еще: если у вас не воспроизводятся DVD, то, возможно, с вашим дистрибутивом все нормально, просто у вас слишком слабый компьютер. Для воспроизведения DVD нужен компьютер не слабее Pentium III 500 Mhz и 256 Мб оперативной памяти. Также убедитесь, что включен DMA (прямой доступ к памяти) для вашего DVD-привода.
Глава 6Сеть и интернет
6.1. Основные сетевые понятия
6.1.1. Протокол и интерфейс
В основе сети Интернет лежит протокол TCP/IP, поэтому знакомство с понятием протокола необходимо любому пользователю.
Протокол — это совокупность правил, определяющая взаимодействие абонентов вычислительной системы (в нашем случае — сети) и описывающая способ выполнения определенного класса функций. Еще один термин, который мы будем часто употреблять, интерфейс. Интерфейс — это средства и правила взаимодействия компонент системы между собой. Чтобы лучше понять значения этих терминов, обратите внимание на рис. 6.1. На этом рисунке изображены две системы (компьютера) — А и В.
Рис. 6.1. Протоколы и интерфейсы
Таким образом, средства, которые обеспечивают взаимодействие модулей разных уровней в рамках одной системы, называются интерфейсом, а средства, обеспечивающие взаимодействие компонент одного уровня разных систем, — протоколом.
Прежде чем перейти к протоколу TCP/IP, рассмотрим семиуровневую модель взаимодействия открытых систем (сокращенное название — модель OSI), разработанную в начале 80-х годов международной организацией по стандартизации ISO.
Средства взаимодействия (см. рис. 6.2) в модели OSI делятся на семь уровней:
1. Физический.
2. Канальный.
3. Сетевой.
4. Транспортный.
5. Сеансовый.
6. Представительный.
7. Прикладной.
Рис. 6.2. Модель OSI
Благодаря этому задача сетевого взаимодействия разбивается на несколько более мелких задач. Это позволяет при разработке новых способов и инструментов сетевого взаимодействия не создавать их с нуля, а использовать уже готовые решения. Непосредственно друг с другом взаимодействуют только физические уровни. Все остальные уровни напрямую взаимодействуют только с выше- и нижележащими уровнями: пользуются услугами нижележащего и предоставляют услуги вышележащему. Друг с другом такие уровни контактируют косвенным образом, через посредство нижележащих уровней.
ПримечаниеВ некоторых случаях сетевого взаимодействия физический уровень как таковой отсутствует, при этом его функции выполняет самый низкий из присутствующих уровень.
Из рис. 6.2 видно, что по мере прохождения сообщения через уровни модели OSI к пересылаемым данным добавляется служебная информация, свидетельствующая о прохождении данных через определенный уровень.
Рассмотрим взаимодействие двух компьютеров более подробно на примере файловой службы. Допустим, нам (компьютер 1) нужно записать какую-нибудь информацию в файл на удаленном компьютере 2. Обычное сообщение состоит из заголовка и поля данных. В заголовке содержится различная служебная информация: например, адреса нашего компьютера и компьютера-получателя, имя и расположение файла. В поле данных в нашем случае находится содержимое файла.
Приложение (процесс 1) формирует стандартное сообщение, которое передается прикладному уровню. Точнее, процесс 1 работает на прикладном уровне.
После формирования сообщения прикладной уровень передает его представительному уровню. На этом уровне в заголовок добавляются указания для представительного уровня компьютера-адресата. Потом сообщение передается сеансовому уровню, который добавляет свою информацию и т.д. Процесс вложения одного протокола в другой называется инкапсуляцией.
Когда сообщение поступает на компьютер-адресат, оно принимается физическим уровнем и передается вверх с уровня на уровень. Каждый уровень анализирует содержимое заголовка своего уровня, выполняет содержащиеся в нем указания, затем удаляет относящуюся к себе информацию из заголовка и передает сообщение далее вышележащему уровню. Этот процесс называется декапсуляцией. Далее мы рассмотрим каждый из уровней взаимодействия отдельно.
6.1.2. Уровни взаимодействия OSI
Физический уровень (Physical Layer)Физический уровень передает биты по физическим каналам связи, например, коаксиальному кабелю или витой паре. На этом уровне определяются характеристики электрических сигналов, которые передают дискретную информацию, например: тип кодирования, скорость передачи сигналов. К этому уровню также относятся характеристики физических сред передачи данных: полоса пропускания, волновое сопротивление, помехозащищенность.
Функции физического уровня реализуются сетевым адаптером или последовательным портом. Примером протокола физического уровня может послужить спецификация 100Base-TX (технология Ethernet).
Канальный уровень (Data link Layer)Канальный уровень отвечает за передачу данных между узлами в рамках одной локальной сети. Узлом будем считать любое устройство, подключенное к сети.
Этот уровень выполняет адресацию по физическим адресам (MAC-адресам), «вшитым» в сетевые адаптеры предприятием-изготовителем. Каждый сетевой адаптер имеет свой уникальный MAC-адрес.
Канальный уровень переводит поступившую с верхнего уровня информацию в биты, которые потом будут переданы физическим уровнем по сети. Он разбивает пересылаемую информацию на фрагменты данных — кадры (frames).
На этом уровне открытые системы обмениваются именно кадрами. Процесс пересылки выглядит примерно так: канальный уровень отправляет кадр физическому уровню, который отправляет кадр в сеть. Этот кадр получает каждый узел сети и проверяет, соответствует ли адрес пункта назначения адресу данного узла. Если адреса совпадают, канальный уровень принимает кадр и передает наверх вышележащим уровням. Если же адреса не совпадают, то он просто игнорирует кадр.
В используемых в локальных сетях протоколах канального уровня заложена определенная топология, то есть способ организации и адресации физических связей. Канальный уровень обеспечивает доставку данных между узлами в сети с определенной топологией, а именно той, для которой он разработан. Основные топологии показаны на рисунке 6.3.
Рис. 6.3. Основные топологии локальных компьютерных сетей
Сетевой уровень (Network Layer)Канальный уровень обеспечивает связь только между компьютерами, соединенными индивидуальной линией связи, то есть в рамках локальной сети. Межсетевое взаимодействие обеспечивает сетевой уровень.
Локальные сети соединяются специальными устройствами — маршрутизаторами. Маршрутизатор собирает информацию о топологии межсетевых соединений и на основании этой информации пересылает сообщения сетевого уровня в сеть назначения. Сообщения на сетевом уровне называются пакетами. Чтобы передать пакет от компьютера-отправителя компьютеру-адресату, который находится в другой локальной сети, нужно совершить некоторое количество транзитных передан между сетями. Иногда их еще называют хопами (от англ. hop — прыжок). При этом каждый раз выбирается подходящий маршрут.
На сетевом уровне работают несколько видов протоколов: сетевые протоколы, которые обеспечивают передвижение пакетов по сети; протоколы маршрутизация RIP и OSPF; протоколы разрешения адреса ARP (Address Resolution Protocol).
Классические примеры протоколов сетевого уровня: IP (стек TCP/IP), IPX (стек Novell).
Транспортный уровень (Transport Layer)На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Некоторые приложения самостоятельно выполняют обработку ошибок при передаче данных, но большинство все же предпочитают иметь дело с надежным соединением, которое как раз и призван обеспечить транспортный уровень. Этот уровень обеспечивает требуемую приложению или верхнему уровню (сеансовому или прикладному) надежность доставки пакетов. На транспортном уровне определены пять классов сервиса:
1. Срочность.
2. Восстановление прерванной связи.
3. Наличие средств мультиплексирования нескольких соединений.
4. Обнаружение ошибок.
5. Исправление ошибок.
Обычно уровни модели OSI, начиная с транспортного уровня и выше, реализуются на программном уровне соответствующими компонентами операционных систем.
Примеры протоколов транспортного уровня: TCP и UDP (стек TCP/IP), SPX (стек Novell).
Сеансовый уровень (Session Layer)Сеансовый уровень устанавливает и разрывает соединения между компьютерами, управляет диалогом между ними, а также предоставляет средства синхронизации. Средства синхронизации позволяют вставлять определенную контрольную информацию в длинные передачи (точки), чтобы в случае обрыва связи можно было вернуться назад (к последней точке) и продолжить передачу.
Сеанс — это логическое соединение между компьютерами. Каждый сеанс имеет три фазы:
1. Установление соединения. Здесь узлы «договариваются» между собой о протоколах и параметрах связи.
2. Передача информации.
3. Разрыв связи.
Не нужно путать сеанс сетевого уровня с сеансом связи. Пользователь может установить соединение с Интернетом, но не устанавливать ни с кем логического соединения, то есть не принимать и не передавать данные.
Представительный уровень (Presentation Layer)Представительный уровень изменяет форму передаваемой информации, но не изменяет ее содержания. Например, средствами этого уровня может быть выполнено преобразование информации из одной кодировки в другую, шифрование и дешифрование данных.
Пример протокола представительного уровня: SSL (Secure Socket Layer), обеспечивающий секретный обмен данными.
Прикладной уровень (Application Layer)Это набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к совместно используемым ресурсам. Единица данных называется сообщением.
Примеры протоколов: HTTP, FTP, TFTP, SMTP, POP, SMB, NFS.
Интернет и модель OSIПри взаимодействии открытой системы и Интернета модель OSI упрощается, так как некоторые протоколы Интернета включают в себя функции нескольких уровней. Если к сети Интернет подключается один пользователь, а не вся сеть, то автоматически исчезают канальный и физический уровни, потому что нет сетевых адаптеров, а значит, нет и физических адресов. В данном случае конечным протоколом будет протокол типа «точка-точка», например, PPP. В этот протокол будут вложены все остальные.
Основные протоколыСреди сетевых протоколов выделяются следующие основные:
♦TCP/IP (Transmission Control Protocol / Internet Protocol) — святыня всех святынь. Это базовый транспортный сетевой протокол. На этом протоколе основана вся сеть Интернет.
♦RIP (Routing Information Protocol) используется для маршрутизации пакетов в компьютерных сетях.
♦ICMP (Internet Control Message Protocol) — протокол межсетевых управляющих сообщений. Он применяется для проверки доступности узла, установления соединения и т.п.
♦FTP (File Transfer Protocol) — протокол передачи файлов. Служит для обмена файлами между системами. Например, вам нужно передать файл на сервер или, наоборот, скачать файл с сервера. Для этого вам нужно подключиться к файловому серверу (он же FTP-сервер) и выполнить необходимую вам операцию. Подключение осуществляется с помощью FTP-клиента. Простейший FTP-клиент входит в состав практически любой операционной системы. Обычно для запуска FTP-клиента нужно ввести команду ftp.
♦HTTP (Hyper Text Transfer Protocol) — протокол обмена гипертекстовой информацией, то есть документами HTML. Протокол HTTP используется веб-серверами. HTTP-клиенты называются браузерами.
♦POP (Post Office Protocol) — протокол почтового отделения. Этот протокол используется для получения электронной почты с почтовых серверов. А для передачи почтовых сообщений на сервер служит протокол SMTP (Simple Mail Transfer Protocol).
♦SLIP (Serial Line Internet Protocol) — протокол подключения к сети Интернет по последовательной линии. Используется для установления связи с удаленными узлами через низкоскоростные последовательные интерфейсы. В настоящее время вытеснен протоколом PPP и практически не используется.
♦PPP (Point-to-Point Protocol) обеспечивает управление конфигурацией, обнаружение ошибок и повышенную безопасность при передаче данных на более высоком уровне, чем протокол SLIP.
6.1.3. Протокол TCP/IP и IP-адресация
Любому компьютеру в IP-сети (TCP/IP-сети) назначен уникальный адрес, который называется IP-адресом. IP-адрес — это 32-разрядное двоичное число, которое принято записывать в виде четырех десятичных чисел, разделенных точками, например, 111.111.213.232 или 127.0.0.1.
Уникальность IP-адреса достигается достаточно просто: IP-адреса назначаются централизованно Сетевым Информационным Центром (NIC, Network Information Center). Если ваша локальная (или даже региональная) сеть не соединена с Интернет, то внутри сети вы можете использовать любые IP-адреса без согласования с NIC. Если же ваша сеть подключена к Интернету, протокол TCP/IP обеспечивает работу вашей сетевой программы с любым компьютером в мире, как будто тот находится в локальной сети.
Любая сеть, в том числе локальная, может быть разделена на подсети. О причинах и целях такого разбиения вы можете прочитать в руководстве IP Sub-networking-HOWTO, которое вы найдете на сайте
http://dkws.narod.ru
или на http://www.dhsilabs.com.ua
. Подсети связывает маршрутизатор, в роли которого может выступать любой компьютер с двумя или более сетевыми интерфейсами, например, двумя сетевыми платами.Каждая сеть (подсеть) также имеет свой уникальный адрес. Под сетью можно понимать «пачку» IP-адресов, идущих подряд, то есть 192.168.1.0–192.168.1.255. Самый младший и самый старший адреса резервируются. Младший (192.168.1.0) служит адресом сети и используется, когда нужно указать всю сеть (подсеть), например, при задании маршрутизации для нее. Старший служит широковещательным (broadcast) адресом: в этот адрес направляются сообщения, которые нужно передать сразу всем компьютерам сети. Широковещательные запросы очень часто используются, например, для построения ARP-таблиц.
Для каждой сети (подсети) определена ее маска. Фактически, маска — это размер сети, то есть число адресов в сети. Маску принято записывать в десятично-побайтном виде:
♦ 255.255.255.0 — маска на 256 адресов (0–255)
♦ 255.255.255.192 — маска на 64 адреса (192–255)
♦ 255.255.0.0 — маска на 65536 адресов (256*256)
IP-сети делятся по размеру на классы, каждому из которых соответствует свой диапазон адресов. Запишите первое число адреса в виде восьмизначного двоичного числа, и количество идущих подряд единиц укажет на класс сети. В таблице 6.1 приведены характеристики классов сетей.
Классы IP-сетей Таблица 6.1
Класс Первые биты Диапазон адресов Количество узлов Маска А 0 1.0.0.0–126.0.0.0 16777216(224) 255.0.0.0 В 10 128.0.0.0–191.255.0.0 65536(216) 255.255.0.0 C 110 192.0.1.0–223.255.255.0 256 (28) 255.255.255.0 D 1110 224.0.0.0–239.255.255.255 Multicast E 11110 240.0.0.0–247.255.255.255 Зарезервирован
Адреса узлов (компьютеров) в сети класса А выглядят как 125.*.*.*, класса В — как 136.12.*.*, класса С — как 195.136.12.*,
Если адрес начинается с последовательности 1110, то сеть является сетью класса D, а сам адрес является особым — групповым (multicast). Если в пакете указан адрес сети класса D, то этот пакет должны получить все хосты, которым присвоен данный адрес.
Адреса класса E зарезервированы для будущего применения.
За некоторыми адресами закреплены особые значения, приведенные в таблице 6.2.
Специальные IP-адреса Таблица 6.2
Адрес Назначение 0.0.0.0 Адрес узла, сгенерировавшего этот пакет 255.255.255.255 Широковещательный адрес (ограниченное широковещание). Пакет с таким адресом будет рассылаться всем узлам, которые находятся в той же сети, что и источник пакета 127.0.0.1 Loopback — адрес локального компьютера. Используется дли тестирования сетевых программ и взаимодействия сетевых процессов. При попытка отправить пакет по этому адресу данные не передаются по сети, а возвращаются протоколам верхних уровней как только что принятые. Любой адрес подсети 127.0.0.0 относится к локальному компьютеру 10.0.0.0 Изолированная сеть класса А, которая использует протокол IP, но не подключена к Интернету. Маска сети 255.0.0.0 172.16.0.0–172.31.0.0 16 изолированных IP-сетей класса В. Маска каждой сети 255.255.0.0 192.168.0.0–192.168.255.0 256 сетей класса С, маска каждой сети 255.255.255.0
6.1.4. DNS — система доменных имен
Человеку обычно легче запомнить символьное имя (www.dhsilabs.com.ua), чем последовательность чисел (217.20.163.34). Компьютеру же, наоборот, проще обрабатывать числа, а не символьную информацию. Для преобразования IP-адреса в символьное имя и обратно используется служба доменных имен — DNS (Domain Name System).
Домены объединены в иерархическую структуру. Корневой домен управляется центром InterNIC, который назначает домены верхнего (первого) уровня для каждой страны и регистрирует национальных координаторов. Национальные координаторы (в России это — RU-CENTER,
http://www.nic.ru
) повторяют эту процедуру в своем домене и так далее, в результате типичное доменное имя подразделения компании выглядит как на рисунке 6.4.Рис. 6.4. Иерархическая структура системы доменных имен
DNS можно назвать гигантской распределенной базой данных. Ее поддерживают серверы имен (name server, DNS-сервер), которые снабжают всех информацией о данном домене или нескольких доменах сразу. Для каждой зоны (группы узлов, приписанных к этому домену, но не к его поддоменам) есть по крайней мере два сервера имен, которые содержат всю информацию относительно хостов (узлов) в этой зоне.
Что происходит, когда пользователь вводит в окне браузера адрес department.firma.isp.ru? Запрос на разрешение (преобразование) имени в IP-адрес сначала отправляется серверу имен, принадлежащему провайдеру пользователя. Если этот сервер знает такое имя, он возвращает IP-адрес, и браузер устанавливает соединение с нужным компьютером. Если же нет, то сервер имен провайдера обращается к корневому серверу, обслуживающему домен наивысшего уровня, тот перенаправляет запрос DNS-серверу домена ru, тот обращается к DNS-серверу домена isp, тот — к DNS-серверу домена firma, а этот последний возвращает IP-адрес зарегистрированного в нем хоста department. Если эта цепочка запросов оборвется на каком-либо звене, то пользователю будет сообщено о невозможности разрешения имени компьютера в IP-адрес.
6.1.5. Порты
На одном компьютере могут одновременно работать несколько приложений, обменивающихся данными через сеть. Если в качестве адресата сообщения указывать только IP-адрес получателя, то приложения не смогут разобраться, которому из них предназначены присланные данные. Для решения этой проблемы используется механизм портов. Номер порта — это просто номер программы, которая будет обрабатывать переданные данные.
Этот номер может быть любым, но за наиболее популярными службами закреплены стандартные номера, чтобы клиенты были твердо уверены, что обращаются к нужному серверу. Так, стандартный номер порта электронной почты 25, пересылки файлов — 21, веб-сервера — 80, службы telnet — 23, сервера имен — 53. Стандартные номера выбираются из промежутка от 0 до 1023. Числа начиная с 1024 и до 65 535 можно использовать для своих собственных номеров портов.
6.1.6. Динамическое выделение адреса
Как я уже сказал, IP-адрес любого устройства, подключенного к Интернету, должен быть уникальным. Это означает, что статически назначенный вам адрес не сможет использовать никто другой, даже тогда, когда вы отключитесь от сети. Избавиться от такого расточительного расходования адресов помогает механизм DHCP (Dynamic Host Configuration Protocol), позволяющий множеству временно подключающихся к сети клиентов совместно использовать один и тот же небольшой набор адресов.
Если в сети присутствует DHCP-сервер, то клиент, подключаясь к сети, может получить у него временный IP-адрес, по которому и будет доступен всем пользователям Интернет на протяжении всего сеанса подключения. По завершении сеанса адрес освобождается и может быть выделен кому-то другому.
6.2. Подключение к локальной сети