Выбрать книгу по жанру
Фантастика и фэнтези
- Боевая фантастика
- Героическая фантастика
- Городское фэнтези
- Готический роман
- Детективная фантастика
- Ироническая фантастика
- Ироническое фэнтези
- Историческое фэнтези
- Киберпанк
- Космическая фантастика
- Космоопера
- ЛитРПГ
- Мистика
- Научная фантастика
- Ненаучная фантастика
- Попаданцы
- Постапокалипсис
- Сказочная фантастика
- Социально-философская фантастика
- Стимпанк
- Технофэнтези
- Ужасы и мистика
- Фантастика: прочее
- Фэнтези
- Эпическая фантастика
- Юмористическая фантастика
- Юмористическое фэнтези
- Альтернативная история
Детективы и триллеры
- Боевики
- Дамский детективный роман
- Иронические детективы
- Исторические детективы
- Классические детективы
- Криминальные детективы
- Крутой детектив
- Маньяки
- Медицинский триллер
- Политические детективы
- Полицейские детективы
- Прочие Детективы
- Триллеры
- Шпионские детективы
Проза
- Афоризмы
- Военная проза
- Историческая проза
- Классическая проза
- Контркультура
- Магический реализм
- Новелла
- Повесть
- Проза прочее
- Рассказ
- Роман
- Русская классическая проза
- Семейный роман/Семейная сага
- Сентиментальная проза
- Советская классическая проза
- Современная проза
- Эпистолярная проза
- Эссе, очерк, этюд, набросок
- Феерия
Любовные романы
- Исторические любовные романы
- Короткие любовные романы
- Любовно-фантастические романы
- Остросюжетные любовные романы
- Порно
- Прочие любовные романы
- Слеш
- Современные любовные романы
- Эротика
- Фемслеш
Приключения
- Вестерны
- Исторические приключения
- Морские приключения
- Приключения про индейцев
- Природа и животные
- Прочие приключения
- Путешествия и география
Детские
- Детская образовательная литература
- Детская проза
- Детская фантастика
- Детские остросюжетные
- Детские приключения
- Детские стихи
- Детский фольклор
- Книга-игра
- Прочая детская литература
- Сказки
Поэзия и драматургия
- Басни
- Верлибры
- Визуальная поэзия
- В стихах
- Драматургия
- Лирика
- Палиндромы
- Песенная поэзия
- Поэзия
- Экспериментальная поэзия
- Эпическая поэзия
Старинная литература
- Античная литература
- Древневосточная литература
- Древнерусская литература
- Европейская старинная литература
- Мифы. Легенды. Эпос
- Прочая старинная литература
Научно-образовательная
- Альтернативная медицина
- Астрономия и космос
- Биология
- Биофизика
- Биохимия
- Ботаника
- Ветеринария
- Военная история
- Геология и география
- Государство и право
- Детская психология
- Зоология
- Иностранные языки
- История
- Культурология
- Литературоведение
- Математика
- Медицина
- Обществознание
- Органическая химия
- Педагогика
- Политика
- Прочая научная литература
- Психология
- Психотерапия и консультирование
- Религиоведение
- Рефераты
- Секс и семейная психология
- Технические науки
- Учебники
- Физика
- Физическая химия
- Философия
- Химия
- Шпаргалки
- Экология
- Юриспруденция
- Языкознание
- Аналитическая химия
Компьютеры и интернет
- Базы данных
- Интернет
- Компьютерное «железо»
- ОС и сети
- Программирование
- Программное обеспечение
- Прочая компьютерная литература
Справочная литература
Документальная литература
- Биографии и мемуары
- Военная документалистика
- Искусство и Дизайн
- Критика
- Научпоп
- Прочая документальная литература
- Публицистика
Религия и духовность
- Астрология
- Индуизм
- Православие
- Протестантизм
- Прочая религиозная литература
- Религия
- Самосовершенствование
- Христианство
- Эзотерика
- Язычество
- Хиромантия
Юмор
Дом и семья
- Домашние животные
- Здоровье и красота
- Кулинария
- Прочее домоводство
- Развлечения
- Сад и огород
- Сделай сам
- Спорт
- Хобби и ремесла
- Эротика и секс
Деловая литература
- Банковское дело
- Внешнеэкономическая деятельность
- Деловая литература
- Делопроизводство
- Корпоративная культура
- Личные финансы
- Малый бизнес
- Маркетинг, PR, реклама
- О бизнесе популярно
- Поиск работы, карьера
- Торговля
- Управление, подбор персонала
- Ценные бумаги, инвестиции
- Экономика
Жанр не определен
Техника
Прочее
Драматургия
Фольклор
Военное дело
Внутреннее устройство Linux - Уорд Брайан - Страница 64
В большинстве случаев вам не придется заботиться о переводе пакетов в данные, которые используют ваши приложения, поскольку в операционной системе есть необходимые для этого средства. Однако полезно узнать о роли пакетов в сетевых уровнях, к чему мы и приступаем.
9.2. Сетевые уровни
Полностью функционирующая сеть содержит полный набор сетевых уровней, называемый сетевым стеком. В любой действующей сети есть стек. Типичный интернет-стек выглядит следующим образом, от верхнего уровня к нижнему.
? Прикладной уровень. Содержит «язык», с помощью которого общаются приложения и серверы. Как правило, это какой-либо протокол верхнего уровня. Самыми распространенными протоколами прикладного уровня являются: HTTP (Hypertext Transfer Protocol, протокол передачи гипертекстовых файлов; используется во Всемирной паутине), SSL (Secure Socket Layer, протокол защищенных сокетов) и FTP (File Transfer Protocol, протокол передачи файлов). Протоколы прикладного уровня часто могут сочетаться. Так, например, протокол SSL обычно используется в соединении с протоколом HTTP.
• Транспортный уровень. Определяет характеристики передачи данных для прикладного уровня. Этот уровень содержит проверку целостности данных, порты источника и назначения, а также спецификации по разбиению данных приложения на пакеты (если прикладной уровень еще не выполнил это). Самыми распространенными протоколами транспортного уровня являются TCP (Transmission Control Protocol, протокол управления передачей) и UDP (User Datagram Protocol, протокол дейтаграмм пользователя). Транспортный уровень иногда также называют уровнем протоколов.
• Сетевой или интернет-уровень. Определяет, как перемещать пакеты от хоста-источника к хосту-назначению. Частные правила передачи пакетов через Интернет известны как протокол IP (Internet Protocol, интернет-протокол). Поскольку в этой книге речь пойдет только о сети Интернет, мы на самом деле будем говорить лишь об интернет-уровне. Тем не менее, так как сетевые уровни задуманы как не зависящие от аппаратных средств, можно одновременно настроить несколько независимых сетевых уровней (таких как IP, IPv6, IPX и AppleTalk) на одном хосте.
• Физический уровень. Определяет, как необработанные данные передаются через физический посредник, например сеть Ethernet или модем. Иногда этот уровень называют связывающим уровнем или уровнем «хост-сеть».
Важно понимать структуру сетевого стека, поскольку данные должны пройти через эти уровни минимум дважды, прежде чем достигнут программу на месте назначения. Если, например, вы отправляете данные от хоста A к хосту B, как показано на рис. 9.1, байты покидают прикладной уровень хоста A и перемещаются через транспортный и сетевой уровни хоста A. Затем они попадают вниз, в физический посредник, передаются по нему, после чего поднимаются вверх через различные уровни до прикладного уровня хоста B очень сходным образом. Если что-либо отправляется на интернет-хост через маршрутизатор, то данные пройдут через некоторые (но, как правило, не все) уровни маршрутизатора и всего, что находится между ними.
Иногда уровни странным образом вклиниваются друг в друга, поскольку было бы неэффективно продвигаться по всем уровням последовательно. Например, устройства, которые исторически имели дело только с физическим уровнем, теперь иногда заглядывают в данные транспортного и интернет-уровней, чтобы быстро отфильтровать и проложить маршрут для данных. Не беспокойтесь об этом, пока вы изучаете основы.
Мы начнем с рассмотрения того, как компьютер с Linux подключается к сети, чтобы ответить на вопрос «куда?», поставленный в начале этой главы. Это самая нижняя часть стека — физический и сетевой уровни. Далее мы рассмотрим два верхних уровня, чтобы ответить на вопрос «что?».
примечание
Вы, наверное, слышали о другом наборе уровней, известном как модель OSI (Open Systems Interconnection Reference Model). Это модель сети, которая содержит семь уровней и часто используется при обучении и в разработке сетей, однако мы не будем рассматривать ее, поскольку вы будете напрямую работать с четырьмя уровнями, описанными здесь. Чтобы узнать об уровнях больше (и о сетях вообще), обратитесь к книге Эндрю С. Таненбаума (Andrew S. Tanenbaum) и Дэвида Дж. Уэзерола (David J. Wetherall) Computer Networks («Компьютерные сети»), 5-е издание (Prentice Hall, 2010).
9.3. Интернет-уровень
Вместо того чтобы начать с самого низа сетевого стека, физического уровня, мы начнем с сетевого уровня, поскольку его проще понять. Интернет, как мы уже знаем, основан на интернет-протоколе, начиная с версии 4 (IPv4) и заканчивая набирающей силу версией 6 (IPv6). Одним из самых важных аспектов интернет-уровня является то, что он призван быть сетью программного обеспечения, которое не предъявляет специальных требований к аппаратным средствам или операционным системам. Суть в том, что вы можете отправлять и получать интернет-пакеты с помощью любого аппаратного обеспечения, используя любую операционную систему.
Топология Интернета децентрализована; эта сеть составлена из более мелких сетей, называемых подсетями. Идея заключается в том, что все подсети каким-либо образом соединены между собой. Например, на рис. 9.1 локальная сеть обычно является единственной подсетью.
Хост может быть подключен к более чем одной подсети. Как вы видели в разделе 9.1, такой тип хоста называется маршрутизатором, если он может передавать данные из одной подсети в другую (еще один термин для маршрутизатора — шлюз). Рисунок 9.2 уточняет рис. 9.1 за счет идентификации локальной сети в качестве подсети, а также за счет добавления интернет-адресов для каждого хоста и для маршрутизатора. Маршрутизатор на этом рисунке обладает двумя адресами: 10.23.2.1 в локальной подсети, а также интернет-ссылкой (сейчас нам неважен адрес интернет-ссылки, поэтому она отмечена как «Адрес ссылки верхнего уровня»). Сначала мы рассмотрим адреса, а затем обозначение подсети.
Каждый интернет-хост обладает по крайней мере одним численным IP-адресом в виде a.b.c.d, например 10.23.2.37. Адрес в подобной записи называется четверкой чисел, разделенных точками. Если хост подключен к нескольким подсетям, у него есть хотя бы один IP-адрес для каждой подсети. Каждый IP-адрес хоста должен быть уникальным для сети Интернет в целом, однако, как вы увидите позже, частные сети и преобразование сетевых адресов (NAT) могут вызвать небольшую путаницу.
примечание
С технической точки зрения IP-адрес состоит из 4 байт (или 32 бит), abcd. Байты a и d являются числами от 1 до 254, а байты b и c — числами от 0 до 255. Компьютер обрабатывает IP-адреса в виде «сырых» байтов. Тем не менее человеку намного проще читать и записывать адрес в виде четверки чисел, разделенных точками, вроде 10.23.2.37, а не в виде неприглядного шестнадцатеричного числа 0x0A170225.
Рис. 9.2. Сеть с IP-адресами
IP-адреса напоминают почтовые адреса. Чтобы взаимодействовать с другим хостом, ваш компьютер должен знать IP-адрес этого хоста. Посмотрим на адреса в вашем компьютере.
9.3.1. Просмотр IP-адресов компьютера
У одного хоста может быть несколько IP-адресов. Чтобы увидеть адреса, которые активны на вашем компьютере с Linux, запустите такую команду:
$ ifconfig
Результат вывода окажется, вероятно, довольно обширным, но он должен содержать нечто подобное:
eth0 Link encap:Ethernet HWaddr 10:78:d2:eb:76:97
inet addr:10.23.2.4 Bcast:10.23.2.255 Mask:255.255.255.0
inet6 addr: fe80::1278:d2ff:feeb:7697/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
- Предыдущая
- 64/114
- Следующая