Новые книги

Конспект лекций соответствует требованиям Государственного образовательного стандарта высшего профессионального образования РФ и предназначен для освоения студентами вузов специальной дисциплины «Базы данных».

Лаконичное и четкое изложение материала, продуманный отбор необходимых тем позволяют быстро и качественно подготовиться к семинарам, зачетам и экзаменам по данному предмету.
В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.

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

The Internet Control Message Protocol

Internet Control Message Protocol

IP имеет вспомогательный протокол, о котором мы еще не говорили. Это Internet Control Message Protocol (ICMP), используемый кодом работы с сетями ядра Linux, чтобы передавать сообщения об ошибках на другие компьютеры. Например, допустим, что вы с системы erdos пытаетесь связаться по telnet с портом 12345 на quark, но на той машине нет никаких процессов на этом порте. Когда первый пакет TCP попадет на этот порт quark, уровень работы с сетями распознает это поступление и немедленно возвратит ICMP-сообщение на erdos с диагностикой "Port Unreachable".

ICMP-протокол обеспечивает несколько различных сообщений, многие из которых имеют дело с условиями ошибки. Однако, имеется очень интересное сообщение, названное Redirect. Оно генерируется модулем маршрутизации, когда он обнаруживает, что другой компьютер использует его как шлюз, несмотря на наличие намного более короткого маршрута. Например, после загрузки таблица маршрутизации sophus не была завершена. Она могла бы содержать маршруты к сети Mathematics network, к каналу FDDI и заданному по умолчанию маршруту, указывающему на Groucho Computing Center (gcc1). Таким образом, пакеты для quark были бы посланы gcc1, а не niels, шлюзу кафедры физики. При получении такого пакета gcc1 обратит внимание, что это неправильная маршрутизация и передаст пакет на niels , одновременно возвращая сообщение ICMP Redirect на sophus.

Это, кажется, очень умный способ избежать настройки маршрутов, кроме базисных, вручную. Однако помните, что доверять сообщениям Redirect протоколов RIP и ICMP можно не всегда! ICMP Redirect и RIP не дают возможности проверить подлинность информации. Эта ситуация позволяет злонамеренному человеку сделать очень многое. Код работы с сетями Linux обрабатывает сообщения Network Redirect, как будто они были сообщениями Host Redirects. Это минимизирует повреждение при нападении, ограничивая их одной машиной, а не целой сетью.