Организация сети TCP/IP
Организация сети TCP/IP
Прежде, чем организовывать сеть TCP/IP следует достаточно хорошо разбираться в принципах ее функционирования. В отличии от многих других сетей, в TCP/IP практически на каждой машине следует иметь массу информации необходимой для ее настройки, которая по сети не передается. В этом есть как свои преимущества, так и свои недостатки.
Недостатки сводятся к довольно большой ручной работе по настройке каждой машины, каждого сетевого интерфейса. При этом предварительно должна быть продумана топология сети, ее физическая и логическая схемы, определено оборудование. Обязательным условием для организации TCP/IP сети является получение блока адресов Internet для всего множества сетевых интерфейсов. Данную процедуру принято называть "получение сетки".
Блок адресов, обычно, выделяется провайдером, через которого локальная сеть подключается к Internet.
При организации локальной сети, которая не будет подключена к Internet можно официально никакой сетки не получать, а ее номер придумать, но если позже возникнет необходимость подключения к Internet, получить адреса все равно придется, но при этом придется также производить изменения во всех машинах локальной сети, меняя настройки сетевых интерфейсов.
После того как физическая сеть собрана, администратор должен собственноручно назначить на каждой машине адреса интерфейсам. Обычно это делается с консоли того компьютера, который настраивается для работы в сети. В последнее время появилась возможность динамической настройки с одного рабочего места всех машин сети. Однако, как и в любом деле, кроме явных преимуществ есть и срытые недостатки такого подхода. Главный из них - это учет статистики работы с каждой из машин системы. При динамическом назначении адресов машина может в разное время получать разные адреса, что не позволяет по адресу проидентифицировать машину. Многие же системы анализа трафика основываются на том, что соответствие между адресом и компьютером неизменно. Именно на этом принципе построены многие системы защиты от несанкционированного доступа.
Другой причиной, заставляющей жестко назначать адреса компьютерам сети, является необходимость организации информационных сервисов на серверах сети. TCP/IP не имеет механизма оповещения рабочих мест о месте нахождения сервиса. Широковещание вообще не очень распространено в сетях TCP/IP, в отличии от сетей Novell или Microsoft. Каждый хост знает о наличии того или иного сервиса либо из файла своей настройки (например, указываются шлюз в другие сети или сервер доменных имен), либо из файлов настроек прикладного программного обеспечения. Так, например, сервер World Wide Web не посылает никакого широковещательного сообщения о том, что он установлен на данном компьютере в данной сети.
Преимущество такого подхода заключается в низком трафике, порождаемом сетью TCP/IP. Этот трафик иногда очень значительно отличается от трафика Novell, например. Кроме этого практически любое оборудование позволяет фильтровать трафик TCP/IP, что сильно облегчает сегментацию сети и делает ее легко структурируемой.
Сеть TCP/IP обладает практически теми же базовыми сервисами, что и другие локальные сетевые технологии. Система позволяет работать в режиме удаленного терминала, организовывать распределенную файловую систему, сетевую печать и т.п.
Иногда приходится слышать, что обмен в рамках TCP/IP, например, при копировании файлов с локального диска на удаленный, смонтированный на данный локальный компьютер происходит медленнее, чем скажем в сети Microsoft или Netware. Во-первых, это сильно зависит от прикладного программного обеспечения, а во-вторых, в отличии от Netware или Microsoft для сети TCP/IP нет разницы между машинами, которые стоят в соседней комнате, или установлены на разных континентах. Для монтирования удаленной файловой системы нет необходимости в использовании межсетевого протокола для доставки протоколов локальной сети, т.к. стек TCP/IP сам по себе реализует этот межсетевой обмен.
В рамках организации сети TCP/IP в последнее время все больше внимание уделяется организации удаленных рабочих мест. Особенно это характерно для организаций, которые используют труд надомников. Здесь имеются в виду не старушки, которые вяжут носки, а потом продают их на вещевых рынках, и не телефонистки, которые принимают сообщения для мелких коммерческих организаций. Речь идет о программистах или других сотрудниках, которые используют модемную связь для оперативного обмена информацией, доступа к информационным ресурсам, или обмена электронной почтой.
Развитие средств коммуникации и наличие специального набора протоколов и программного обеспечения, их реализующего, позволяет организовать такие рабочие места в рамках сетей TCP/IP без особых проблем.
1.2. Подключениe локальной или корпоративной сети к Internet
Подключение локальной сети TCP/IP к Internet осуществляется через местного провайдера. Обычно это та же организация, у которой был получен блок адресов для локальной сети.
Администратор локальной сети должен определить, какая машина локальной сети будет выполнять функции шлюза, именно так называется устройство, которое используется для соединения двух сетей. В настоящее время, все шире и шире, вместо машин используются специальные устройства, маршрутизаторы. Маршрутизаторы - это спец. компьютеры, которые распознают массу различных протоколов и способны правильно направлять пакеты информации из одной сети в другую. Стоит маршрутизатор столько же, сколько стоит самый "накрученный" персональный компьютер. Если подключаемая сеть большая и требуется мощное устройство для обслуживания ее внешнего трафика, то приобретение маршрутизатора оправдано, если же сеть небольшая, то можно обойтись персональным компьютером, на который следует установить соответствующее программное обеспечение.
Задача подключения локальной сети довольно простая, если только это не сеть распределенная в пространстве, т.е. не Wide Area Network (WAN). Здесь проблема подключения к Internet приобретает как бы два направления:
- Собственно подключение различных сегментов к Internet;
- Организация сети компании средствами Internet.
Если говорить о подключении сегментов, то здесь для каждого из сегментов следует выполнить весь комплекс работ, который был описан в предыдущем разделе, т.е. получить блок адресов, сконфигурировать машины каждой из сетей, организовать сбор статистики и, если необходимо, систему динамической настройки машин.
При организации сети компании распределенной по большой площади средствами Internet, то здесь нужно позаботиться о надежной маршрутизации, своевременном обмене информацией и о защите этой информации от несанкционированного доступа. Кроме того следует организовать информационное обслуживание, единое для всех частей такой распределенной структуры.
Организация распределенной структуры может быть выполнена либо путем использования своих собственных возможностей (аренда физической сети передачи данных), либо за счет использования существующей сети российских Internet-провайдеров. При выборе того или иного решения, как правило, во внимание принимается множество факторов, главными из которых могут быть факторы, не связанные с техническими решениями.
Понимание способов обмена данными через Internet важно и в том случае, когда организуют виртуальные локальные сети на базе протоколов, отличных от TCP/IP, но когда протоколы TCP/IP используются в качестве средства транспорта исходных сообщений из одного сегмента сети в другой.
Приведенный в
разделе 4 перечень Internet-провайдеров
и предоставляемых ими услуг
призван упорядочить
1.3. Маршрутизация в сетях TCP/IP
До тех пор пока вся локальная сеть представляет из себя простой сегмент сети Ethernet, не возникает проблем с приемом и передачей сообщений в рамках этой сети. Однако, стоит сеть разбить на несколько сегментов и установить шлюзы между ними, как сразу возникает проблема маршрутизации сообщений в этой сети.
Здесь уместно остановиться на том факте, что сеть Internet - это сеть коммутации пакетов. Это значит, что прежде чем отправить сообщение по сети, это сообщение "нарезается" на более мелкие части, которые называются пакетами, и вот эти самые пакеты и отправляются по сети. Сеть Internet интересна тем, что информацию о месте назначения каждый пакет несет в себе самом. Решение о том, в какую сторону направлять пакет принимается шлюзом в момент прохождения пакета через этот шлюз. Если в один момент времени некоторый путь от места отправления к месту назначения существует, то шлюз отправит пакет, который в этот момент времени через него проходит по этому пути. Если в следующий момент времени путь по какой-либо причине исчезнет, то шлюз отправит пакет по другому пути. При этом оба пакета могут принадлежат одному и тому же сообщению. В месте назначения пакетов не имеет значения последовательность получения пакетов, т.к. пакеты в себе несут также и информацию о своем месте внутри сообщения.
Такое свойство Internet обеспечивает надежную доставку сообщений в любую точку сети даже при ее неустойчивой работе. Однако, все это достигается не просто так, а за счет специального механизма, который называется маршрутизация. Основа маршрутизации - это таблица маршрутов на каждом из компьютеров в сети и правила изменения этой таблицы в случае изменения состояния самой сети.
Маршрутизация - это средство не только прокладки маршрутов, но и средство блокирования маршрутов пересылки пакетов по сети. Если таблицы настроены неправильно, то в лучшем случае пакеты будут доставляться медленно, а в худшем случае они будут доставляться не туда куда следует, что может привести к нарушению безопасности сети передачи данных. Очень часто средства маршрутизации используют для атак на системы, включенные в Internet. Известны, так называемые, ICMP-штормы, когда пакеты определенного вида могут блокировать прием/передачу информации по сети.
Если администратор по тем или иным причинам должен закрыть часть своей сети от доступа с других машин Internet, то в этом случае также можно использовать таблицу маршрутов, удаляя из нее определенные пути, или блокируя их другими средствами контроля сетевого трафика.
В разделе посвященном проблемам маршрутизации мы специально подробно остановимся на понятиях внутренней сети и автономной системы, а также на различиях в дисциплине прокладки маршрутов, базирующихся на этих понятиях.
И последнее
замечание о проблемах
1.7. Проблемы безопасности сетей TCP/IP
При всех своих достоинствах сети TCP/IP имеют один врожденный недостаток - отсутствие встроенных способов защиты информации от несанкционированного доступа. Дело в том, что информация при таком способе доступа как удаленный терминал, передается по сети открыто. Это означает, что если некто найдет способ просмотреть передаваемые по сети пакеты, то он может получить коллекцию идентификаторов и паролей пользователей TCP/IP сети. Способов совершить такое действие огромное множество. Аналогичные проблемы возникают и при организации доступа к архивам FTP и серверам World Wide Web. Поэтому одним из основных принципов администрирования TCP/IP сетей является выработка общей политики безопасности, которая заключается в том, что администратор определяет правила типа "кто, куда и откуда имеет право использовать те или иные информационные ресурсы".
Управление безопасностью
начинается с управления таблицей маршрутов.
При статическом
Следующий этап - это управление системой доменных имен и определение разрешений на копирование описания домена и контроля запросов на получение IP-адресов. Нашумевшая история с сервером InfoArt - это типичная атака на этот вид информационного сервиса Internet.
Следующий барьер - это системы фильтрации TCP/IP трафика. Наиболее распространенным средством такой борьбы являются системы FireWall (межсетевые фильтры или, в просторечье, "стены"). Используя эти программы можно определить номер протокола и номер порта, по которым можно принимать пакеты с определенных адресов и отправлять пакеты на также определенные адреса. Одним из нетипичных способов использования этого типа систем являются компьютерные сетевые игры, например, F-19. "Стена" позволяет поражать противника, т.к. пропускает ваши пакеты, и быть одновременно неуязвимым для противника, т.к. его пакеты отфильтровываются системой.
И, наконец, последнее средство защиты - это шифрация трафика. Для этой цели также используется масса программного обеспечения, разработанного для организации защищенного обмена через общественные сети.
В рамках нашего курса мы будем рассматривать только такие способы, которые базируются на принципах организации обмена информацией в рамках технологии TCP/IP, например, фильтрация, и не будем рассматривать способы, общие для всех систем защиты информации, например, шифрация трафика.
Кроме того, в рамках анализа способов передачи информации по сети нами будут рассмотрены средства изучения трафика, которыми обычно и пользуются злоумышленники при поиске конфиденциальной информации.
2. Основы межсетевого обмена в сетях TCP/IP
Сеть Internet - это сеть сетей, объединяющая как локальные сети, так и глобальные сети типа NSFNET. Поэтому центральным местом при обсуждении принципов построения сети является семейство протоколов межсетевого обмена TCP/IP.
Под термином "TCP/IP" обычно понимают все, что связано с протоколами TCP и IP. Это не только собственно сами проколы с указанными именами, но и протоколы построенные на использовании TCP и IP, и прикладные программы.
Главной задачей стека TCP/IP является объединение в сеть пакетных подсетей через шлюзы. Каждая сеть работает по своим собственным законам, однако предполагается, что шлюз может принять пакет из другой сети и доставить его по указанному адресу. Реально, пакет из одной сети передается в другую подсеть через последовательность шлюзов, которые обеспечивают сквозную маршрутизацию пакетов по всей сети. В данном случае, под шлюзом понимается точка соединения сетей. При этом соединяться могут как локальные сети, так и глобальные сети. В качестве шлюза могут выступать как специальные устройства, маршрутизаторы, например, так и компьютеры, которые имеют программное обеспечение, выполняющее функции маршрутизации пакетов. Маршрутизация - это процедура определения пути следования пакета из одной сети в другую.
Такой механизм доставки становится возможным благодаря реализации во всех узлах сети протокола межсетевого обмена IP. Если обратиться к истории создания сети Internet, то с самого начала предполагалось разработать спецификации сети коммутации пакетов. Это значит, что любое сообщение, которое отправляется по сети, должно быть при отправке "нашинковано" на фрагменты. Каждый из фрагментов должен быть снабжен адресами отправителя и получателя, а также номером этого пакета в последовательности пакетов, составляющих все сообщение в целом. Такая система позволяет на каждом шлюзе выбирать маршрут, основываясь на текущей информации о состоянии сети, что повышает надежность системы в целом. При этом каждый пакет может пройти от отправителя к получателю по своему собственному маршруту. Порядок получения пакетов получателем не имеет большого значения, т.к. каждый пакет несет в себе информацию о своем месте в сообщении. При создании этой системы принципиальным было обеспечение ее живучести и надежной доставки сообщений, т.к. предполагалось, что система должна была обеспечивать управление Вооруженными Силами США в случае нанесения ядерного удара по территории страны.
2.1. Структура стека протоколов TCP/IP
При рассмотрении процедур межсетевого взаимодействия всегда опираются на стандарты, разработанные International Standard Organization (ISO). Эти стандарты получили название "Семиуровневой модели сетевого обмена" или в английском варианте "Open System Interconnection Reference Model" (OSI Ref.Model). В данной модели обмен информацией может быть представлен в виде стека, представленного на рисунке 2.1. Как видно из рисунка, в этой модели определяется все - от стандарта физического соединения сетей до протоколов обмена прикладного программного обеспечения. Дадим некоторые комментарии к этой модели.
Физический уровень данной модели определяет характеристики физической сети передачи данных, которая используется для межсетевого обмена. Это такие параметры, как: напряжение в сети, сила тока, число контактов на разъемах и т.п. Типичными стандартами этого уровня являются, например RS232C, V35, IEEE 802.3 и т.п.
Рис. 2.1. Семиуровневая модель протоколов межсетевого обмена OSI
К канальному уровню отнесены протоколы, определяющие соединение, например, SLIP (Strial Line Internet Protocol), PPP (Point to Point Protocol), NDIS, пакетный протокол, ODI и т.п. В данном случае речь идет о протоколе взаимодействия между драйверами устройств и устройствами, с одной стороны, а с другой стороны, между операционной системой и драйверами устройства. Такое определение основывается на том, что драйвер - это, фактически, конвертор данных из оного формата в другой, но при этом он может иметь и свой внутренний формат данных.
К сетевому (межсетевому) уровню относятся протоколы, которые отвечают за отправку и получение данных, или, другими словами, за соединение отправителя и получателя. Вообще говоря, эта терминология пошла от сетей коммутации каналов, когда отправитель и получатель действительно соединяются на время работы каналом связи. Применительно к сетям TCP/IP, такая терминология не очень приемлема. К этому уровню в TCP/IP относят протокол IP (Internet Protocol). Именно здесь определяется отправитель и получатель, именно здесь находится необходимая информация для доставки пакета по сети.
Транспортный уровень отвечает за надежность доставки данных, и здесь, проверяя контрольные суммы, принимается решение о сборке сообщения в одно целое. В Internet транспортный уровень представлен двумя протоколами TCP (Transport Control Protocol) и UDP (User Datagramm Protocol). Если предыдущий уровень (сетевой) определяет только правила доставки информации, то транспортный уровень отвечает за целостность доставляемых данных.
Уровень сессии определяет стандарты взаимодействия между собой прикладного программного обеспечения. Это может быть некоторый промежуточный стандарт данных или правила обработки информации. Условно к этому уровню можно отнеси механизм портов протоколов TCP и UDP и Berkeley Sockets. Однако обычно, рамках архитектуры TCP/IP такого подразделения не делают.
Уровень
обмена данными с
прикладными программами (
Уровень прикладных программ или приложений определяет протоколы обмена данными этих прикладных программ. В Internet к этому уровню могут быть отнесены такие протоколы, как: FTP, TELNET, HTTP, GOPHER и т.п.
Вообще говоря, стек протоколов TCP отличается от только что рассмотренного стека модели OSI. Обычно его можно представить в виде схемы, представленной на рисунке 2.2.
Рис. 2.2. Структура стека протоколов TCP/IP
В этой схеме
на уровне доступа к сети располагаются
все протоколы доступа к
Базируясь на классификации OSI (Open System Integration) всю архитектуру протоколов семейства TCP/IP попробуем сопоставить с эталонной моделью (рисунок 2.3).
Рис. 2.3. Схема модулей, реализующих протоколы семейства TCP/IP в узле сети
Прямоугольниками на схеме обозначены модули, обрабатывающие пакеты, линиями - пути передачи данных. Прежде чем обсуждать эту схему, введем необходимую для этого терминологию.
Драйвер - программа, непосредственно взаимодействующая с сетевым адаптером.
Модуль - это программа, взаимодействующая с драйвером, с сетевыми прикладными программами или с другими модулями.
Схема приведена для случая подключения узла сети через локальную сеть Ethernet, поэтому названия блоков данных будут отражать эту специфику.
Сетевой интерфейс - физическое устройство, подключающее компьютер к сети. В нашем случае - карта Ethernet.
Кадр - это блок данных, который принимает/отправляет сетевой интерфейс.
IP-пакет - это блок данных, которым обменивается модуль IP с сетевым интерфейсом.
UDP-датаграмма - блок данных, которым обменивается модуль IP с модулем UDP.
TCP-сегмент - блок данных, которым обменивается модуль IP с модулем TCP.
Прикладное сообщение - блок данных, которым обмениваются программы сетевых приложений с протоколами транспортного уровня.
Инкапсуляция - способ упаковки данных в формате одного протокола в формат другого протокола. Например, упаковка IP-пакета в кадр Ethernet или TCP-сегмента в IP-пакет. Согласно словарю иностранных слов термин "инкапсуляция" означает "образование капсулы вокруг чужих для организма веществ (инородных тел, паразитов и т.д.)". В рамках межсетевого обмена понятие инкапсуляции имеет несколько более расширенный смысл. Если в случае инкапсуляции IP в Ethernet речь идет действительно о помещении пакета IP в качестве данных Ethernet-фрейма, или, в случае инкапсуляции TCP в IP, помещение TCP-сегмента в качестве данных в IP-пакет, то при передаче данных по коммутируемым каналам происходит дальнейшая "нарезка" пакетов теперь уже на пакеты SLIP или фреймы PPP.
Рис. 2.4. Инкапсуляция протоколов верхнего уровня в протоколы TCP/IP
Вся схема (рисунок 2.4) называется стеком протоколов TCP/IP или просто стеком TCP/IP. Чтобы не возвращаться к названиям протоколов расшифруем аббревиатуры TCP, UDP, ARP, SLIP, PPP, FTP, TELNET, RPC, TFTP, DNS, RIP, NFS:
TCP - Transmission Control Protocol - базовый транспортный протокол, давший название всему семейству протоколов TCP/IP.
UDP - User Datagram Protocol - второй транспортный протокол семейства TCP/IP. Различия между TCP и UDP будут обсуждены позже.
ARP - Address Resolution Protocol - протокол используется для определения соответствия IP-адресов и Ethernet-адресов.
SLIP - Serial Line Internet Protocol (Протокол передачи данных по телефонным линиям).
PPP - Point to Point Protocol (Протокол обмена данными "точка-точка").
FTP - File Transfer Protocol (Протокол обмена файлами).
TELNET - протокол эмуляции виртуального терминала.
RPC - Remote Process Control (Протокол управления удаленными процессами).
TFTP - Trivial File Transfer Protocol (Тривиальный протокол передачи файлов).
DNS - Domain Name System (Система доменных имен).
RIP - Routing Information Protocol (Протокол маршрутизации).
NFS - Network File System (Распределенная файловая система и система сетевой печати).
При работе с такими программами прикладного уровня, как FTP или telnet, образуется стек протоколов с использованием модуля TCP, представленный на рисунке 2.5.
Рис. 2.5. Стек протоколов при использовании модуля TCP
При работе с прикладными программами, использующими транспортный протокол UDP, например, программные средства Network File System (NFS), используется другой стек, где вместо модуля TCP будет использоваться модуль UDP (рисунок 2.6).
Рис. 2.6. Стек протоколов при работе через транспортный протокол UDP
При обслуживании блочных потоков данных модули TCP, UDP и драйвер ENET работают как мультиплексоры, т.е. перенаправляют данные с одного входа на несколько выходов и наоборот, с многих входов на один выход. Так, драйвер ENET может направить кадр либо модулю IP, либо модулю ARP, в зависимости от значения поля "тип" в заголовке кадра. Модуль IP может направить IP-пакет либо модулю TCP, либо модулю UDP, что определяется полем "протокол" в заголовке пакета.
Получатель UDP-датаграммы или TCP-сообщения определяется на основании значения поля "порт" в заголовке датаграммы или сообщения.
Все указанные выше значения прописываются в заголовке сообщения модулями на отправляющем компьютере. Так как схема протоколов - это дерево, то к его корню ведет только один путь, при прохождении которого каждый модуль добавляет свои данные в заголовок блока. Машина, принявшая пакет, осуществляет демультиплексирование в соответствии с этими отметками.
Технология Internet поддерживает разные физические среды, из которых самой распространенной является Ethernet. В последнее время большой интерес вызывает подключение отдельных машин к сети через TCP-стек по коммутируемым (телефонным) каналам. С появлением новых магистральных технологий типа ATM или FrameRelay активно ведутся исследования по инкапсуляции TCP/IP в эти протоколы. На сегодняшний день многие проблемы решены и существует оборудование для организации TCP/IP сетей через эти системы.
2.2. Основные протоколы стека TCP/IP
При описании основных протоколов стека TCP/IP будем следовать модели стека описанной в предыдущем разделе. Первыми будут рассмотрены протоколы канального ровня SLIP и PPP. Это единственные протоколы этого уровня которые будут нами рассмотрены, так как были разработаны в рамках Internet и для Internet. Другие протоколы, например, NDIS или ODI, мы рассматривать не будем, т.к. они создавались под другие сети, хотя и могут использоваться в сетях TCP/IP также, как например, и пакетный протокол.

- Организация систем мониторинга в России
- Организация системы адаптации новых сотрудников
- Организация системы аттестации
- Организация системы безналичных расчётов в республике Казахстан
- Организация системы видеонаблюдения на объектах гражданской авиации
- Организация системы внебюджетных фондов в РФ
- Организация системы дистрибьюции
- Организация семейного досуга
- Организация сервиса
- Организация сервисного обслуживания на транспорте
- Организация сервисного обслуживания сложнотехнического оборудования
- Организация сертификации и технического контроля качества продукции на предприятии
- Организация сестринского процесса в хирургии
- Организация сетей оперативно - технологической связи (отс) отделения дороги