Опубликован: 13.05.2011 | Уровень: для всех | Доступ: свободно
Лекция 16:

Сетевое администрирование Linux. Протокол UDP

< Лекция 15 || Лекция 16 || Лекция 17 >
Аннотация: Структура полного адреса в протоколе UDP. Понятие UDP-портов. Структура UDP-пакета. Распространенные UDP-сервисы. DNS. Bind.

Ход занятия

1. UDP (User Datagram Protocol , протокол передачи блоков данных пользователя) – протокол транспортного уровня, не требующий подтверждения соединения, принадлежащий семейству протоколов интернет TCP/IP.


По сути, протокол UDP является прослойкой между IP и протоколами верхнего уровня, предоставляя возможность нескольким приложениям работать на одном компьютере с помощью системы портов.

Порты представляют собой программные интерфейсы, которые можно описать на примере работы почтового отделения.

Каждое почтовое отделение имеет индекс – в нашем примере IP-адрес , а каждый конкретный получатель – улицу, квартиру и дом – это порт. Если представить пересылку письма, то сначала письмо доставляется от отправителя в почтовое отделение (инкапсулируется, т.е. встраивается в пакет IP ). После этого письмо доставляется на почтовое отделение получателя по индексу (доставляется IP-пакет на хост-получатель ). Почтальон разносит письма в почтовые ящики и доставляет наше письмо получателю (подсистема UDP хоста-получателя декапсулирует UDP-пакет из IP и отправляет приложению-получателю).

2. UDP – транспортный протокол для нескольких известных служб, таких как:

NFS (Network FileSystem – сетевая файловая система) – протокол уровня приложений для передачи файлов по локальной IP-сети . Каталоги NFS , открытые для общего доступа могут быть смонтированы (как в UNIX системах, так и в системах на базе Windows NT/2000/XP/2003) как локальные каталоги, с которыми можно работать.

SMB (Server Message Block – блок сообщений сервера) – протокол уровня приложений для передачи файлов в сетях Windows.

SNMP (Simple Network Managment Protocol – простой протокол управления сетью) – протокол уровня приложений, использующийся для сбора информации о состоянии и управлении активными сетевыми устройствами, такими как маршрутизаторы, программируемые коммутаторы, серверы и др.

TFTP (Trivial File Transfer Protocol – простейший протокол передачи файлов) – протокол уровня приложений, использующийся, чаще всего, для приема/передачи конфигурационной и другой информации с активных сетевых устройств.

3. DNS (Domain Name Service – служба доменных имен) – протокол уровня приложений, позволяющий преобразовывать символьные имена интернет-хостов в IP-адреса .

Наиболее распространенным DNS-сервером на сегодняшний день признан BIND (Berkley Internet Name Daemon Демон интернет-имен университета Беркли). Демон предоставляет стандартный DNS-сервис на портах UDP-53 (обработка запросов клиентов), TCP-53 (пересылка информации о зонах между серверами имен).

Служба имен – это распределенная иерархическая (поделенная на уровни) база данных в интернет.

Имена DNS подразделяются на имена хостов и имена доменов разного уровня:

www.volnet.ru – здесь www – имя компьютера, volnet домен второго уровня, ru домен первого уровня.

Домен – обозначение условной группы компьютеров, объединенных по признакам принадлежности к организации, сети, географическому положению или сфере деятельности.

Существуют несколько международных доменов первого уровня:

  • com – коммерческие организации
  • edu – образовательные учреждения
  • org – некоммерческие организации
  • mil – военные организации
  • gov – государственные организации
  • biz – бизнес
  • int – международные организации и проекты.

Рассмотрим работу DNS на примере поиска доменного имени http://www.volnet.ru .

Клиент сервера Dialup.mtu.com отправляет запрос на поиск вышеуказанного сервера. Сервер DNS , принимает запрос и ищет соответствие имени и ip-адреса у себя в кэше. Если не находит, то отправляет запрос в головной сервер домена верхнего уровня (в данном случае – серверу домена com ). И в этом случае сервер пытается сначала найти соответствие у себя в кэше. Если не найдено, то сервер пересылает запрос головному вверх по иерархии, пока не дойдет до домена первого уровня. Там возможна пересылка между разными доменами первого уровня, между com и ru и потом происходит спуск вниз по иерархии вплоть до сервера запрашиваемого домена. На всех уровнях результат запроса запоминается в кэше, чтобы в следующий раз не перезапрашивать его заново.

За настройку DNS отвечают в системе несколько файлов.

/etc/hostsфайл, в котором прописываюся статические имена хостов. Эти имена не передаются по сети и действуют только в пределах данного хоста.

[root@ns root]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain   localhost
80.92.3.2       ns.edu.vologda.ru       ns
80.92.3.3       meson-vol-c0.volnet.ru
192.168.2.4     email.edu.vologda.ru
192.168.2.4     server.schoolm.edu.vologda.ru
192.168.2.130   server-2003
192.168.2.31    webmedia

/etc/resolv.conf файл конфигурации клиентов DNS . Именно в этом файле прописываются адреса серверов DNS , с которыми работают сетевые клиенты.

[root@ns root]# cat /etc/resolv.conf
search volnet.ru edu.vologda.ru
nameserver 80.92.3.2	
nameserver 192.168.2.2
nameserver 80.92.0.10

/etc/named.conf файл конфигурации сервера BIND . В нем описываются основные параметры сервера, такие как каталоги хранения файлов зон, каталоги журналирования, а также определяются сами зоны DNS и узлы, имеющие право на получение и изменение зон.

[root@ns root]# cat /etc/named.conf
options {
        directory "/var/named";
        allow-transfer{
                213.24.34.4;
                213.24.35.193;
                213.24.34.14;
                213.247.150.121;
                213.158.26.84;
                192.168.2.4;
        };
};
logging{
        channel a_main{
                file "/var/log/named/named.log";
                print-time yes;
                print-category yes;
                print-severity yes;
        };
        category default{
                a_main;
                default_debug;
        };
};
zone "." {
        type hint;
        file "named.ca";
};
zone "edu.vologda.ru"{
        type master;
        file "edu.vologda.ru";
        allow-transfer{
                213.24.34.4;
                213.24.34.14;
                80.92.0.10;
                213.158.26.84;
                213.247.150.119;
                192.168.2.4;
        };
};
zone "volnet.ru"{
        type master;
        file "volnet.ru";
        allow-transfer{
                213.24.35.193;
                213.158.26.84;
                80.92.0.10;
                192.168.2.4;
        };
        allow-update{
                213.24.35.193;
        };
};

Файлы зон выглядят следующим образом:

@      IN      SOA     ns.edu.vologda.ru.      hostmaster.edu.vologda.ru. (
                        2002031128 ; serial
                        14400 ; refresh
                        900 ; retry
                        1209600 ; expire
                        86400 ; default_ttl
                        )
@               IN      MX      5       ns.edu.vologda.ru.
@               IN      NS      ns.edu.vologda.ru.
@               IN      NS      ns.icb.vologda.ru.
mail            IN      CNAME   ns.edu.vologda.ru.
proxy           IN      CNAME   ns.edu.vologda.ru.
proxy2          IN      A       80.92.3.134
meson           IN      CNAME   ns.edu.vologda.ru.
www             IN      CNAME   ns.edu.vologda.ru.
meson-vol-c0    IN      A       80.92.3.131
< Лекция 15 || Лекция 16 || Лекция 17 >
Ярослав Горлов
Ярослав Горлов

Было бы хорошо если бы изучая Ленкцию можно было скачать файлы, используемые для тренировки в терминале. (lesson6_st.txt и т.п.)

Max Akt
Max Akt

Начиная с восьмого урока резко возросла сложность. Почему? Если первые семь уроком у нас было ознакомление с базовыми функциями, а с восьмого начались сценарии, переменные, функции. Как так? Неужели человек, который только начал изучать Linux, будет в курсе того, о чем говорится уже на восьмом уроке?
 

Сергей Пархоменко
Сергей Пархоменко
Россия, Ростов-на-Дону, ЮФУ (ДГТУ), 2008