Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 9
Текст из файла (страница 9)
Некоторые приложения самостоятельно выполняют обработку ошибок при передаче данных, но большинство все же предпочитают иметь делос надежным соединением, которое как раз и призван обеспечить транспортный уровень. Этот уровень обеспечивает требуемую приложению или верхнему уровню (сеансовому или прикладному) надежность доставки пакетов.На транспортном уровне определены пять классов сервиса:1. Срочность.2. Восстановление прерванной связи.3.
Наличие средств мультиплексирования нескольких соединений.4. Обнаружение ошибок.5. Исправление ошибок.Обычно уровни модели OSI, начиная с транспортного уровня и выше,реализуются на программном уровне соответствующими компонентами операционных систем.Примеры протоколов транспортного уровня: TCP и UDP (стек TCP/IP),SPX (стек Novell).31Введение в LinuxСеансовый уровень (Session Layer)Сеансовый уровень устанавливает и разрывает соединения между компьютерами, управляет диалогом между ними, а также предоставляет средствасинхронизации. Средства синхронизации позволяют вставлять определенную контрольную информацию в длинные передачи (точки), чтобы в случаеобрыва связи можно было вернуться назад (к последней точке) и продолжить передачу.Сеанс - - это логическое соединение между компьютерами. Каждыйсеанс имеет три фазы:1.
Установление соединения. Здесь узлы «договариваются» между собой о протоколах и параметрах связи.2. Передача информации.3. Разрыв связи.Не нужно путать сеанс сетевого уровня с сеансом связи. Пользовательможет установить соединение с Интернет, но не устанавливать ни с кемлогического соединения, то есть не принимать и не передавать данные.Представительный уровень (Presentation Layer)Представительный уровень изменяет форму передаваемой информации,но не изменяет ее содержания. Например, средствами этого уровня можетбыть выполнено преобразование информации из одной кодировки в другую.Также на этом уровне выполняется шифрование и дешифрование данных.Пример протокола представительного уровня: SSL (Secure Socket Layer).Данный протокол обеспечивает секретный обмен данными.Прикладной уровень (Application Layer)Данный уровень представляет собой набор разнообразных протоколов, спомощью которых пользователи сети получают доступ к совместно используемым ресурсам.
Единица данных называется сообщением.Примеры протоколов: HTTP, FTP, TFTP, SMTP, POP, SMB, NFS.Интернет и модель OS/При взаимодействии открытой системы и Интернет модель OSI упрощается, так как некоторые протоколы Интернет включают в себя функциинескольких уровней. Если к сети Интернет подключается один пользователь, а не вся сеть, то автоматически исчезают канальный и физическийуровни, потому что нет сетевых адаптеров, а значит, нет и физическихадресов. В данном случае конечным протоколом будет протокол типа «точка-точка», например, РРР. В этот протокол будут вложены все остальные.7.7.3. Протокол TCP/IPВ этом разделе давайте рассмотрим, как передается информация вTCP/IP-сети.
Любая информация передается небольшими порциями, которые называются пакетами. Если нужный объем информации нельзя передатьодним пакетом, он разбивается на части. В заголовке каждого пакета указывается IP-адрес отправителя и IP-адрес получателя, а также номер порта.32Введение в LinuxЛюбому компьютеру в IP-сети (TCP/IP-сети) назначен уникальный адрес, который называется IP-адресом. IP-адрес — это 32-разрядное число,которое принято записывать в десятеричном или шестнадцатеричном формате в виде четырех чисел, разделенных точками, например:1. 111.111.213.2322.
127.0.0.13. 192.168.9.2При условии, что ваша сеть подключена к Интернет, протокол TCP/IPобеспечивает работу вашей сетевой программы с любым компьютером вмире, как будто тот находится в локальной сети. Уникальность IP-адресадостигается достаточно просто — IP-адреса назначаются централизованноСетевым Информационным Центром (NIC, Network Information Center).Для понимания остальной информации нужно отметить, что существуютлокальные (LAN, Local Area Networks) и региональные (Wide Area Networks)сети. Сеть Интернет сначала была региональной (Arpanet), а потом сталаглобальной, объединив все региональные сети мира. Если ваша локальная (илидаже региональная) сеть не соединена с Интернет, то внутри сети вы можетеиспользовать любые IP-адреса без согласования с NIC.
Обычно в локальныхсетях используются особые IP-адреса, о которых мы поговорим немного позже.Любую сеть, независимо от типа — LAN или WAN, можно разделить наподсети. Причины разбиения сети на подсети кроются в ранних версияхпротокола IP. Тогда существовало несколько сетей класса А, содержащихнесколько миллионов узлов (о классах читайте далее). Помимо всего прочего, в таких сетях очень велика вероятность коллизий, то есть одновременного доступа двух или более узлов к среде передачи данных.
Управлять такойсетью крайне неудобно, да и сеть будет перегружена собственным трафиком.Поэтому основной принцип разделения — «разделяй и властвуй».К другим причинам разделения относят создание маленьких подсетей сиспользованием разных технологий — Ethernet, Token Ring, FDDI, ATM. Выне можете смешивать эти технологии в одной сети, однако они могут бытьвзаимосвязаны с помощью разделения на подсети.Разделение на подсети может быть также произведено из соображенийбезопасности.
Более подробно об этой и других причинах разделения сетина подсети вы можете прочитать в руководстве IP Sub-networking-HOWTO,которое вы найдете на прилагаемом компакт-диске.Как я уже писал, каждый компьютер в сети имеет свой уникальныйадрес. Но оказывается, что и сеть (подсеть) также имеет свой уникальныйадрес. Под сетью можно понимать «пачку» IP-адресов, идущих подряд, тоесть 192.168.1.0...192.168.1.255. Самый младший и самый старший адресарезервируются. Младший (192.168.1.0) является адресом сети, а старшийявляется широковещательным (broadcast) адресом сети. Адрес сети можетпотребоваться, когда нужно указать всю сеть (подсеть), например, призадании маршрутизации для этой сети.Представьте, что у вас есть две отдельных сети и вам нужно объединитьих в одну.
Тогда эта одна «большая» сеть станет называться сетью, а две2 Зис. 85133Введение в Linux«маленькие» — подсетями. Устройство, которое будет обеспечивать связьэтих сетей (маршрутизацию), называется, как уже было отмечено выше,маршрутизатором. Маршрутизатор может быть как аппаратным (отдельноеустройство), так и программным.В роли программного маршрутизатора может выступать любой компьютер с двумя (или более) сетевыми интерфейсами, например, двумя сетевымиплатами. В качестве операционной системы может быть установлена любаясетевая операционная система, поддерживающая перенаправление пакетовIPv4-Forwarding. Такой операционной системой может быть Linux, FreeBSD,любая UNIX-система, Windows NT/2000.
Маршутизатор можно настроить ина базе Windows 98, но делать это я не рекомендую, поскольку вряд ли онбудет работать надежно. Традиционно в роли маршрутизатора используютсяUNIX-системы, к которым относится и Linux.Широковещательный адрес используется для передачи сообщений«всем — всем — всем» в рамках сети, то есть когда нужно передать сообщение (пакет) сразу всем компьютерам сети. Широковещательные запросыочень часто используются, например, для построения ARP-таблиц.Для каждой подсети определена ее маска.
Фактически, маска — эторазмер сети, • то есть число адресов в сети. Маску принято записывать вдесятично-побайтном виде:255.255.255.0маска на 256 адресов (0...255);255.255.255.192маска на 64 адреса (192...255);255.255.0.0маска на 65536 адресов (256*256).В общем случае IP-сети делятся на пять классов: А, В, С, D и Е.Сети класса А — это огромные сети. Маска сети класса А: 255.0.0.0.
В каждойсети такого класса может находиться 16777216 адресов. Адреса таких сетейлежат в промежутке 1.0.0.0...126.0.0.0, а адреса хостов (компьютеров) имеютвид 125.*.*.*Сети класса В — это средние сети. Маска такой сети — 255.255.0.0. Эта сетьсодержит 65536 адресов. Диапазон адресов таких сетей 128.0.0.0...191.255.0.0.Адреса хостов имеют вид 136.12.*.*Сеть класса С — маленькие сети. Содержат 256 адресов (на самом деле всего254 хоста, так как номера 0 и 255 зарезервированы). Маска сети класса С 255.255.255.0. Интервал адресов: 192.0.1.0...223.255.255.0. Адреса хостов имеют вид: 195.136.12.*Класс сети определить очень легко. Для этого нужно перевести десятичное представление адреса сети в двоичное.
Например, адрес сети 128.11.1.0 вдвоичном представлении будет выглядеть так:10000000 00001011 00000001 00000000а сети 192.168.1.0:11000000 10101000 00000001 00000000Если адрес начинается с последовательности битов 10, то данная сетьотносится к классу В, а если с последовательности ПО, то — к классу С.34Введение в LinuxЕсли адрес начинается с последовательности 1110, то сеть являетсясетью класса D, а сам адрес является особым — групповым (multicast).
Еслив пакете указан адрес сети класса D, то этот пакет должны получить всехосты, которым присвоен данный адрес.Адреса класса Е зарезервированы для будущего применения. В табл. 1.2приведены сравнительные характеристики сетей классов А, В, С, D и Е.Характеристики сетей различных классовКлассПервые битыА0Вс10110D111011110ЕТаблица 1.2Диапазон адресов1.0.0.0. ..126.0.0.0128.0.0.0..
.191.255.0.0192.0.1.0.. .223.255.255.0224.0.0.0.. .239.255. 255.255240.0.0.0.. .247.255.255.255Количество узлов16777216(224)65536 (216)256 (28)MulticastЗарезервированТеперь самое время немного сказать о специальных адресах, о которых яупомянул немного выше. Если весь IP-адрес состоит из нулей (0.0.0.0), тозначит, что он обозначает адрес того узла, который сгенерировал этот пакет.Адрес 255.255.255.255 — это широковещательный адрес. Пакет с такимадресом будет рассылаться всем узлам, которые находятся в той же сети, чтои источник пакета. Это явление называется ограниченным широковещанием.
Существует также другая рассылка, которая называется широковещательным сообщением. В этом случае вместо номера узла стоят все единицыв двоичном представлении (255). Например, 192.168.2.255. Это означает, чтоданный пакет будет рассылаться всем узлам сети 192.168.2.0.Особое значение имеет IP-адрес 127.0.0.1 — это адрес локального компьютера.