- •Введение
- •Лабораторная работа № 1 основы интерфейса пользователя с posix-совместимой ос на уровне командной строки
- •Указания к работе
- •Информация, необходимая для начала работы
- •Основные команды ос unix
- •Последовательность выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 2 анализ файловой структуры posix-совместимой ос. Команды для работы с файлами и каталогами
- •Указания к работе
- •Физическая модель диска
- •Логическая модель диска
- •Общие черты файловых систем Unix / Posix-совместимых ос
- •Команды для работы с файлами и каталогами
- •Копирование файлов и каталогов
- •Перемещение и переименование файлов и каталогов
- •Права доступа
- •Изменение прав доступа
- •Контекстный поиск в файле
- •Проверка использования диска
- •Управление процессами
- •Получение информации о процессах
- •Последовательность выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 3 экранный интерфейс для posix-совместимых ос
- •Указания к работе
- •Окна mc
- •Выполнение команд ос Unix
- •Типы файлов
- •Работа с отмеченными файлами
- •Вызов меню
- •Настройка окон
- •Порядок сортировки
- •Прервать
- •Другие режимы отображения
- •Справка (f1)
- •Переименование-Перемещение (f6)
- •Создание Каталога (f7)
- •Удаление (f8)
- •Выход (f10, Shift-f10)
- •Быстрая смена каталога (Alt-c)
- •Различные команды
- •Меню Options
- •Пункт «Внешний вид»
- •Пункт «Биты символов…»
- •Отображение символов Полный 8-битный ввод 7-бит Дальше Прервать
- •Пункт «Подтверждение»
- •Пункт «Распознавание клавиш…»
- •Пользовательские меню
- •Выполнение файлов
- •Последовательность выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 4 экранный редактор VI/vim
- •Указания к работе Текстовые редакторы
- •Редактор VI (Visual display editor)
- •Основные группы команд редактора Команды управления курсором
- •Команды позиционирования
- •Команды редактирования
- •Команды редактирования в режиме командной строки
- •Последовательность выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 5 базовые средства для создания приложений в posix-совместимых ос
- •Указания к лабораторной работе
- •Система контроля версий
- •Компиляция исходного текста и построение исполняемого файла
- •Тестирование и отладка
- •Тестовый пример для лабораторной работы
- •Исходный текст программы abcd.C для лаботаторной работы № 5
- •Последовательность выполнения работы
- •Контрольные вопросы к работе
- •Лабораторная работа № 6 сетевые средства posix-совместимых ос. Использование сетевых команд
- •Указания к работе
- •Обзор сетевых команд для tcp/ip
- •Последовательность выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 7 анализ функционирования и диагностика ip-сетей
- •Указания к работе
- •Аппаратный уровень (уровень сетевого интерфейса)
- •Сетевой уровень
- •Адресация в ip-сетях
- •Internet-адреса
- •Команды диагностики сети
- •Последовательность выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 8
- •Чтение присланных сообщений
- •Как ответить на сообщения
- •Удаление сообщений
- •Прекращение работы с программой mail
- •Использование почтовых псевдонимов (alias)
- •Система обмена сообщениями netnews (usenet)
- •Разговор в сети с другим пользователем
- •Телеконференции в реальном времени
- •Замечания по основным командам irc
- •Последовательность выполнения работы
- •1. Программа mail
- •1.1. Отправление почты
- •1.2. Чтение присланных сообщений
- •3. Программа talk
- •4. Программа irc
- •Контрольные вопросы
- •Оглавление
- •Николай Лаврентьевич Долозов основы операционных систем и сетевых технологий Учебно-методическое пособие
- •630092, Г. Новосибирск, пр. К. Маркса, 20
Сетевой уровень
Создатели первых сетей, объединяющих несколько сред передачи данных, для идентификации абонента таких сетей пытались использовать те же аппаратные адреса. Это оказалось делом неблагодарным: если в Ethernet аппаратный адрес уникален всегда, то в других сетях аппаратные адреса могут быть уникальны только в рамках однойсреды (например, все устройства нумеруются, начиная с 0) или даже могут выдаваться динамически, да и форматы аппаратных адресов в разных средах различны. Возникла необходимость присвоить каждому сетевому интерфейсу некоторый единственный на всю глобальную сеть адрес, который бы не зависел от среды передачи данных и всегда имел один и тот же формат.
Адресация в ip-сетях
Адрес, определяемый протоколом IP (InternetworkProtocol), состоит из четырех байтов (IPv4), записываемых традиционно в десятичной системе счисления и разделяемых точкой. Адрес сетевого интерфейса eth0 из примера – 217.71.130.131. Второй сетевой интерфейс из примера lo – так называемаязаглушка(loopback), которая используется для организации сетевых взаимодействий компьютера с самим собой: любой посланный в заглушку пакет немедленно обрабатывается как принятый оттуда. Заглушка обычно имеет адрес 127.0.0.1. (один из важнейших инструментов отладки сетевых приложений).
Отдельная среда передачи данных (локальная сеть) также имеет собственный адрес. Если представить IP-адрес в виде линейки из 32 битов, она строго разделяется на две части: столько-то битов слева отводится под адрес сети, а оставшиеся – под адрес абонента в этой сети. Для того чтобы определить размер адреса сети, используется сетевая маска – линейка из 32 битов, в которой на месте адреса сети стоят единицы, а на месте адреса компьютера – нули. При наложении маски на IP-адрес все единицы в нем, которым соответствуют нули в маске, превращаются в нули. Таким образом вычисляется IP-адрес сети. В примере сетевая маска интерфейса eth0 равна 255.255.255.128, т. е. 25 единицы и 7 нулей. Тогда IP-адрес сети будет равен 217.71.130.128. Если сетевая маска выровнена по границе байта, производить двоичные операции вообще не надо.
Заметим, что адрес сети может содержать значащиенули: например, в адресе 10.0.0.1 при сетевой маске 255.255.0.0 адрес сети занимает два байта, из которых второй – полностью нулевой. Чтобы не гадать, какие нули – значащие, а какие – отрезаны маской, к адресу сети принято приписывать уточнение вида / количество_единиц_в_маске. В приведенном случае адрес сети выглядел бы так: 10.0.0.0/16, а в предыдущем – 217.71.130.131/25.
IP-адрес, составленный из адреса сети, за которым следуют все единицы(в примере – 217.71.130.255), называется широковещательный адрес: любой принадлежащий сети 217.71.130.128 компьютер, получивший IP-пакет с адресом получателя 217.71.130.255, должен обработать его, как если бы в поле «получатель» стоял его собственный IP-адрес.
Когда компьютер, с некоторым IP-адресом, решает отправить пакет другому компьютеру, он выясняет, принадлежит ли адресат той же локальной сети, что и отправитель (т. е. подключены ли они к одной среде передачи данных). Делается это так: на IP-адрес получателя накладывается сетевая маска, и таким образом вычисляется адрес сети, которой принадлежит получатель. Если этот адрес совпадает с адресом сети отправителя, значит, оба находятся в одной локальной сети. Это, в свою очередь, означает, что аппаратныйадрес (MAC) получателя должен быть отправителю известен.
MAC-адреса компьютеров локальной сети хранятся в специальной таблице ядра, называемой «таблица ARP». Просмотреть содержимое этой таблицы можно с помощью команды arp -a:
Пример. Просмотр таблицы ARP
-bash-3.2$ /sbin/arp -a
pc-208b-11.ami.nstu.ru (217.71.130.238) at 00:0F:EA:30:16:B0 [ether] on eth0
pc-203b-05.ami.nstu.ru (217.71.130.208) at 00:1D:92:06:B6:6A [ether] on eth0
pc-204-06.ami.nstu.ru (217.71.130.221) at 00:14:85:19:3C:7A [ether] on eth0
fpm3.ami.nstu.ru (217.71.130.133) at 00:1D:92:06:B6:8E [ether] on eth0
pc-203a-06.ami.nstu.ru (217.71.130.197) at 00:1D:92:00:BB:36 [ether] on eth0
pc-204-09.ami.nstu.ru (217.71.130.224) at 00:14:85:26:EE:F4 [ether] on eth0
pc-203a-03.ami.nstu.ru (217.71.130.194) at 00:1D:92:06:B0:6E [ether] on eth0
pc-208b-05.ami.nstu.ru (217.71.130.232) at 00:15:58:3F:FC:03 [ether] on eth0
pc-203b-03.ami.nstu.ru (217.71.130.206) at 00:1D:92:00:BE:22 [ether] on eth0
pc-203b-06.ami.nstu.ru (217.71.130.209) at 00:1D:92:01:E6:3D [ether] on eth0
pc-203a-04.ami.nstu.ru (217.71.130.195) at 00:1D:92:07:05:30 [ether] on eth0
pc-203b-12.ami.nstu.ru (217.71.130.215) at 00:1D:92:01:F4:68 [ether] on eth0
pc-203b-09.ami.nstu.ru (217.71.130.212) at 00:1D:92:00:BB:DB [ether] on eth0
pc-204-07.ami.nstu.ru (217.71.130.222) at 00:14:85:2C:88:FF [ether] on eth0
pc-203a-02.ami.nstu.ru (217.71.130.193) at 00:1D:92:00:BD:08 [ether] on eth0
pc-204-12.ami.nstu.ru (217.71.130.227) at 00:14:85:26:EE:A7 [ether] on eth0
screamer.ami.nstu.ru (217.71.130.135) at 00:E0:29:24:F1:59 [ether] on eth0
pc-203a-05.ami.nstu.ru (217.71.130.196) at 00:1D:92:01:E5:EF [ether] on eth0
Если говорить более точно, ARP-таблица отражает соответствие между IP- и MAC-адресами. Таблица эта динамическая: устаревшие соответствия из нее удаляются, так как компьютеру может быть назначен другой IP-адрес, интерфейс можно отключить от сети, заменить и т. д. Если вновь понадобится связаться с компьютером, чей MAC-адрес устарел, соответствие IP и MAC придется устанавливать по новой.
Устанавливать соответствие между адресами сетевого и интерфейсного уровня – дело протокола ARP (AddressResolutionProtocol, «протокол преобразования адресов»). В случае преобразования IP в MAC он работает так: отправляется широковещательный Ethernet-фрейм типа «ARP-запрос», внутри которого – IP-адрес, что означает «Эй! У кого такой IP?». Каждый работающий компьютер обрабатывает этот фрейм. И тот, чей IP-адрес совпадает с запрошенным, возвращает отправителю пустой фрейм типа «ARP-ответ», в поле «отправитель» которого указан искомый MAC-адрес. Это означает: «У меня. А что?". Тут ARP-таблица заполняется и первый компьютер готов к инкапсуляции IP-пакета.