Рефетека.ру / Иностранный язык

Диплом: Дослідження протоколу TCP/IP /укр./

Міністерство освіти Украіни

Одеський Державний Університет ім. І.І.Мечникова

Інститут математики , єкономіки та механіки Факультет інформаційних технологій Випускна робота

Тема: Дослідження протоколу TCP/IP

ОДЕСА – 1999
Содержание

Введение………………………………………………………………………3

1. Персональные компьютеры в сетях TCP/IP…………………………9

1.1 Иерархия протоколов TCP/IP …………………………………………9

1.2 IP адресация и имена объектов в сети Internet ……………………….11

1.3 Подсети………………………………………………………………….14

1.4 Маршрутизация TCP/IP………………………………………………..17

2. Windows  и сети…………………………………………………………..26

2.1 Реализация TCP/IP для Windows ……………………………………..26

2.2 Атаки TCP/IP и защита от них ………………………………………..32

2.3 Активные атаки на уровне TCP……………………………………….34

2.4 Предсказания TCP  seguence number………………………………….35

2.5 Десинхронизация нулевыми данными………………………………..38

2.6 Детектирование и защита ……………………………………………...39

2.7 Пассивное сканирование……………………………………………….40

Заключение…………………………………………………………………..43

Литература……………………………………………………………………46

Введение

Сегодня изолированный компьютер имеет весьма ограниченную функциональность. Дело даже не в том, что пользователи лишены возможности доступа к обширным информационным ресурсам, расположенным на удаленных системах. Изолированная система не имеет требуемой в настоящее время гибкости и масштабируемости. Возможность обмена данными между рассредоточенными системами открыла новые горизонты для построения распределенных ресурсов, их администрирования и наполнения, начиная от распределенного хранения информации ( сетевые файловые системы, файловые архивы, информационные системы с удаленным доступом ), и заканчивая сетевой вычислительной средой . UNIX – одна из первых операционных систем, которая обеспечила возможность работы в сети. И в этом одна из причин ее успеха и долгожительства.

Протоколы TCP/IP  были разработаны, а затем прошли долгий путь усовершенствований для обеспечения требований феномена ХХ века – глобальной сети Internet. Протоколы TCP/IP используются практически в любой коммуникационной среде, от локальных сетей на базе технологии Internet, до сверхскоростных сетей АТМ, от телефонных каналов точка – точка до трансатлантических линий связи с пропускной способностью в сотни мегабит в секунду. В названии семейства присутствуют  имена  двух протоколов – TCP и  IP. В  1969 году Агентство Исследований DAPRA  Министерства Обороны США начало финансирование проекта по созданию экспериментальной сети коммутации пакетов .Эта сеть, названная APRANET, была построена для обеспечения надежной связи между компьютерным оборудованием различных  производителей. По мере развития сети были разработаны коммуникационные протоколы -  набор правил и форматов данных, необходимых для установления связи и передачи данных. Так появилось семейство протоколов TCP/IP. В 1983 году TCP/IP  был стандартизирован ( MIL STD ) , в том же время агентство DAPRA  начало финансирование проекта Калифорнийского университета в Беркли по поддержке TCP/IP в операционной системе UNIX.

TCP/IP   -   это   установка  протоколов,  используемых  для  связи компьютерных  сетей  и маршрутизации движения информации между большим количеством  различных  компьютеров. "TCP" означает "Протокол контроля передачи",  а  "IP"  означает  "Протокол  межсетевого взаимодействия". Протоколы стандартизированы   описанными   допустимыми   форматами, обработкой   ошибок,   передачей   сообщений   и   стандартами  связи. Компьютерные  системы, которые подчиняются протоколам связи, таким как TCP/IP,  могут  использовать  общий  язык. Это позволяет им передавать сообщения  безошибочно  к  нужным  получателям,  не  смотря на большие различия  в  аппаратере  и  программном  обеспечении различных машин. Многие  большие сети были выполнены с этими протоколами, включая DARPA сеть.  Разнообразные  университеты,  учреждения  и  компьютерные фирмы связаны  в  глобальную сеть, которая следует протоколам TCP/IP. Тысячи индивидуальных  машин  подсоединены  к  глобальной  сети. Любая машина глобальной   сети  может  взаимодействовать  с  любой  другой  (термин "глобальная   сеть"   обычно   используется   для   названия   дествия объединения  двух  или  более локальных сетей. В результате получается сеть  из  сетей  "internet").  Машины  в  глобальной  сети  называются "hosts"(главные  ЭВМ)  или  "nodes"(узловые  ЭВМ). TCP/IP обеспечивает базу  для многих полезных средств, включая электронную почту, передачу файлов  и  дистанционную  регистрацию. Электронная почта предназначена для  передачи  коротких  текстовых  файлов.  Прикладные  программы для передачи  файлов  могут  передавать  очень  большие  файлы, содержащие программы  и  данные.  Они  также могут выполнять контрольные проверки правильности  передачи  данных.  Дистанционная  регистрация  позволяет пользователям   одного   компьютера  зарегистрироваться  на  удаленной машине и продолжать интерактивный сеанс связи с этой машиной.

Протокол межсетевого взаимодействия (IP).  IP определяет   несвязанную   пакетную   доставку.  Эта  доставка связывает  одну  или более пакетно-управляемые сети в глобальную сеть. Термин  "несвязанную" означает, что получающая и посылающая машины не связаны  собой  непосредственным контуром. Здесь индивидуальные пакеты данных   (дейтаграммы)   маршрутизируются   через   различные   машины глобальной  сети  к  локальной  сети-получателю  и  получающей машине. Таким  образом  сообщения разбиваются на несколько дейтаграмм, которые посылаются  отдельно. Заметьте, что несвязанная пакетная доставка сама по  себе  ненадежна.  Отдельные дейтаграммы могут быть получены или не получены  и  с  большой  вероятностью  могут  быть  получены  не в том порядке, в котором они были посланы. TCP увеличивает надежность.    Дейтаграмма  состоит  из  заголовка,  информации  и области данных. Заголовок  используется  для  маршрутизации  и  процесса  дейтаграммы. Дейтаграмма  может  быть  разбита  на  малые  части  в  зависимости от физических  возможностей  локальной  сети,  по которой она передается.

Когда  шлюз  посылает  дейтаграмму к локальной сети, которая не можетразместить  дейтаграмму  как  единый пакет, она должна быть разбита на части,  которые  достаточно малы для передачи по этой сети. Заголовки фрагментов  дейтаграммы  содержат  информацию,  необходимую  для сбора фрагментов   в   законченную   дейтаграмму.   Фрагменты  необязательно прибывают  по порядку, в котором они были посланы; программный модуль, выполняющий   IP   протокол  на  получающей  машине,  должен  собирать фрагменты  в  исходную дейтаграмму. Если какие-либо фрагменты утеряны, полная дейтаграмма сбрасывается.

Протокол контроля передачи (TCP).

Протокол  контроля  передачи  данных  (TCP) работает совместно с IP для  обеспечения надежной доставки. Он предлагает средства обеспечения надежности  того,  что  различные дейтаграммы, составляющие сообщения, собираются  в правильном порядке на принимающей машине и что некоторые пропущенные  дейтаграммы  будут  посланы  снова,  пока  они  не  будут приняты  правильно.  Первая  цель  TCP  -это  обеспечение  надежности, безопасности   и  сервиса  виртуального  контура  связи  между  парами связанных  процессов  на  уровне ненадежных внутрисетевых пакетов, где могут   случиться  потери,  уничтожение,  дублирование,  задержка  или потеря    упорядоченности    пакетов.   Таким   образом,   обеспечение безопасности,  например  такой как ограничение доступа пользователей к соответствующим  машинам,  может  быть  выполнено посредством TCP. TCP касается   только  общей  надежности.  Имеется  несколько  соображений относительно  возможности получения надежного сервиса дейтаграмм. Если дейтаграмма  послана  через локальную сеть к улаленной главной машине, то  промежуточные сети не гарантируют доставку. Кроме того, посылающая машина  не  может  знать маршрут передачи дейтаграммы. Надежность пути "источник-приемник"  обеспечивается  TCP  на  фоне ненадежности среды.

Это   делает   TCP  хорошо  приспособленной  к  широкому  разнообразию приложений    много-машинных    связей.    Надежность   обеспечивается посредством    контрольной    суммы    (коды    обнаружения    ошибок) последовательных   чисел   в   заголовке  TCP,  прямого  подтверждения получения данных и повторной передачи неподтвержденных данных.


 

1. Персональные компьютеры в

cетях TCP/IP

1.1  Иерархия протоколов TCP/IP

Протоколы TCP/IP широко применяются во всем мире для объединения компьютеров в сеть  Internet. Архитектура протоколов TCP/IP предназначена для объединенной сети, состоящей из соединенных друг с другом шлюзами отдельных разнородных компьютерных подсетей. Иерархию управления в TCP/IP – сетях обычно представляют в виде пятиуровневой модели, приведенной на рисунке.

1. Этот нижний уровень hardware описывает ту или иную среду передачи данных.

2. На уровне network interface (сетевой интерфейс) лежит аппаратно–зависимое программное обеспечение, реализующее распространение информации на том или ином отрезке среды передачи данных. Отметим, что TCP/IP,изначально ориентированный на независимость от среды передачи, никаких ограничений от себя на программное обеспечение этих двух уровней не накладывает. Понятие “среда передачи данных” и “программное обеспечение  сетевого интерфейса” могут  на практике иметь различные по сложности и функциональности наполнения –это могут быть и просто модемное двухточечное звено, и представляющая сложную многоузловую коммуникационную структуру сеть Х.25 или Frame Relay.

3. Уровень internet (межсетевой) представлен протоколом IP. Его главная задача – маршрутизация (выбор пути через множество промежуточных узлов) при доставке информации от узла – отправителя до узла – адресата. Вторая важная задача протокола IP – сокрытие аппаратно –программных особенностей среды передачи данных и предоставление вышележащим уровням единого интерфейса для доставки информации. Достигаемая при этом канальная независимость и обеспечивает многоплатформненное применение приложений, работающих над TCP/IP.

4. Протокол IP не обеспечивает транспортную службу в том смысле, что не гарантирует доставку пакетов, сохранение порядка и целостности потока пакетов и не различает логические объекты  (процессы),порождающие поток информации. Это задачи других протоколов  - TCP/IP и UDP,относящихся к следующему transport(транспортному) уровню.TCP  и UDP  реализуют различные режимы доставки данных.TCP, как говорят ,- протокол с установлением соединения. Это означает ,что   два узла ,связывающиеся при  помощи этого протокола ,”договариваются” о том ,что будут обмениваться потоком данных, и принимают некоторые соглашения об управлении этим потоком. UDP (как и IP) является дейтаграммным протоколом, т.е. таким, что каждый блок  передаваемой информации обрабатывается и распространяется  от узла к узлу не как часть некоторого потока, а  как  независимая единица информации – дейтаграмма.

5. Выше – на уровне application (прикладном) - лежат прикладные задачи, такие как обмен файлами, сообщениями  электронной почты, терминальный доступ к удаленным серверам.

1.2 IP адресация и имена объектов в сети  Internet

Каждому компьютеру в сети  Internet присваивается IP – адрес, в соответствии с тем, к какой IP – сети он  подключен.

Cтаршие биты 4 – х байтного IP – адреса определяют номер  IP – сети. Оставшаяся часть IP – адреса  - номер узла. Существуют  5 классов  IP -  адресов, отличающиеся количеством бит в сетевом номере  и номере узла.

Адресное пространство сети  Internet  может быть разделено на непересекающиеся  подпространства – “ подсети “, с каждой   из которых можно  работать как с обычной сетью TCP/IP. Единая IP – сеть  организации можно  строиться как объединение подсетей. Стандарты TCP/IP  определяют структуру  IP – адресов. Для IP – адресов класса В первые два байта являются номером сети   Оставшаяся часть IP – адреса может  использоваться как угодно. Стандарты  TCP/IP  определяют  кол – во байт, задающих номер сети.

Удобнее обращаться к компьютерам не по их числовым адресам , а по именам (host  name).Список этих имен хранится в специальной базе данных  Domian Name System (DNS). Например, компьютеру по имени “ comsys.ntu – kpi.kiev.ua “  в  DNS  соответствует IP – адрес  194.44.197.195.

Когда вы хотите обратиться к ресурсам этого  компьютера, Вы  указываете либо его имя, либо IP – адрес.

Популярность  TCP/IP  и архитектуры на  шине PCI  подвигла  Apple  на создание продукта, который  имеет  отношение сразу к двум названным категориям. Новый  Power Macintosh 9500 оснащен процессором  и высокоскоростной  шиной PCI ,предоставляя пользователям, занимающимся издательским делом, созданием систем мультимедиа  и размещением информации в  Internet , более высокую производительность .

Power Mac 9500 поставляется вместе с новой версией MacOs, System 7.5.2 и   Open  Transport 1.0 , заменившим  AppleTalk  и MacTCP, благодаря чему , Macintosh  получает  дополнительные  сетевые и коммуникационные возможности и совместимость .

TCP/IP Internet продемонстрировала свою способность приспосабливаться практически к любому  средству связи.

Можно ожидать скорой реализации беспроволочного  TCP/IP – доступа. Уже через 1 –2 года переносная вычислительная техника по своим возможностям ни в чем не уступит стационарной. Основной  трудностью будет не столько возможность осуществления  IP – соединения ,сколько преодоление мобильными  пользователями проблем , связанных с динамической IP – конфигурацией.

На  гребне  лавинообразного роста  интереса к  Internet  TCP/IP  проник во многие  настольные ПК. Однако  в  отличии от  NetWare  и AppleTalk , для TCP/IP  каждый  отдельный  хост  необходимо дополнительно конфигурировать. Эта задача значительно упрощается  благодаря появлению большого числа  сетевых протоколов  и систем, которые  позволяют централизованно управлять TCP/IP .

Протоколы  TCP/IP  опираются не на широковещание  для  осуществления масштабируемости , необходимой для  распространения сети на весь земной шар . Компьютер , использующий  TCP/IP , для нормальной работы  должен знать некоторых ключевых компонентов – шлюзов и сервера имен . Для глобальной объединенной сети важны имена и адреса . В отличии от популярных протоколов для ПК ,TCP/IP снабжен схемами обеспечения уникальности  IP – адресов и сетевых имен . Процедура  распознавания сетевых при помощи  TCP/IP  традиционно осуществляется посредством громоздкого преобразования имен  NetBios  в IP – адреса в файле  LMHOSTS , который  обычно создается вручную в каждом узле.В общем виде IP – адрес представляет собой 4 разделенных точками десятичных числа , например 128.66.12.1. Этот формат адреса называется  точечная десятичная нотация .IP – адрес идентифицирует сеть и конкретный компьютер  в этой сети . Число байтов , определяющих сеть и компьютер , варьируются в зависимости от класса адреса .

1.3.Подсети

Адреса постов в сети также должны быть уникальными. Достичь этого можно 2 способами. Во – первых, регистрировать адреса всех хостов сети централизованно. Этот способ лучше всего использовать при работе в маленьких  сетях, где сетевой администратор может работать со всеми имеющимися адресами , не боясь разорваться на части . Если же вы работаете в большой сети , то рекомендуется воспользоваться вторым способом . В этом случае локальному сетевому администратору предоставляются блоки адресов , и он затем определяет индивидуальный адрес хоста , выбирая его из блока . Блок адресов может быть как набором адресов хоста , так и формально определенной подсетью .

Как говорилось выше, подсети используются по административным причинам , но не только . IP – сети , которые идентифицированы в таблице путей , как и любая другая настоящая сеть . Это значит , что они могут быть использованы маршрутизаторами для физического разделения сети , чтобы решать технические проблемы , такие как обход ограничения на длину кабеля или выделение нежелательного пути в отдельный сегмент . Так что область их применения достаточно широка..

Чтобы определить меньшую сеть внутри большей, необходимо задать адрес подсети и адрес хоста определяется маской подсети ( subnet mask ) . Маска подсети – это битовый шаблон, в котором битам , используемым для адреса подсети , присвоены значения 1 , а битам , используемым для адреса хоста , -  значения 0 .

Маски подсети определены только локально. Они специально установлены при конфигурировании каждого хоста и на удаленные хосты не передаются .  Следовательно , маска подсети применима только к адресам локальной сети и нормально работает только в том случае , если используется в каждой системе такой сети . Когда хост получает уникальный IP – адрес , он должен получить и уникальное имя . Выбор имени хоста – это на волнующий вопрос . Для обеспечения уникальности имен хостов используются те же способы , что и для IP – адресов . Если хост обращается лишь к хостам вашей локальной сети ,  то достаточно сделать его имя уникальным только в пределах данной сети . Но если он обменивается информацией со всем миром , то его имя должно быть неповторимым во всем мире .

 Гарантия  уникальности – это дело службы регистрации в InterNIC . Она присваивает глобально уникальное имя домена каждому, кто правильно его затребует . Этот процесс очень похож на присвоение номера сети . Как и IP – адреса , имена хостов также делятся на части , которые определяют и конкретный хост в нем. Имена записываются от частного к общему, в виде серии разделенных точками слов и аббревиатур . Они начинаются с имени компьютера , далее последовательно указываются имена локальных доменов вплоть до имени домена , определенного службой NIC ,и заканчивается именем домена высшего уровня . Чтобы пояснить эту структуру, рассмотрим пример .

    Допустим, в домене nuts.com* имеется компьютер с именем penaut . В домене nuts.com вы можете использовать короткое имя penaut ,но пользователи с другой стороны земного шара должны обращаться к нему только по имени penaut.nuts.com .Уникальность имениnuts.com гарантирует служба InterNIC ,а уникальность имени penaut внутри nuts.com  - администратор локального домена. В небольших сетях обычно используют одну базу данных имен , которая контролируется администратором . Домены больших сетей  подразделяются на поддомены , и  ответственность за определение имен внутри поддомена возлагается на администратора поддомена . Как только NIC назначит организации имя домена , эта организация получит право образовывать поддомены без ведома NIC .

Пример .

Внутри домена nuts.com  можно организовать под домен sales.nuts.com и возложить ответственность за этот под домен на Тайлера Мак – Кефферти из отдела сбыта. Он будет присваивать имена хостам в своем поддомене , одно из которых может быть peanut . Хост с таким именем не будет конфликтовать с описанным выше хостом peanut , поскольку его полное имя peanut.sales.nuts.com. 

    Служба имен.

Каждый домен и поддомен обслуживается сервером имен ( name server) . Сервер имен берет имя хоста  и превращает его в IP - адрес для использования программами TCP/IP . Если ваше сеть  соединена с Internet , вам придется воспользоваться DNS , и вас будет касаться все, о чем говорилось  выше. Пока ваша система работает в небольшой изолированной сети , IP  адреса именам хостов можно присваивать с помощью таблицы хостов . Таблица хостов  - это файл имен хостов и адресов , который считывается непосредственно в ПК . Системный администратор должен постоянно обновлять эту таблицу .

1.4.            Маршрутизация TCP/ IP

TCP/IP не может обойтись без маршрутизации . Чтобы достичь удаленного места назначения, ваш компьютер должен знать туда правильный путь. Эти  пути определяются маршрутами , указанными в таблице мест назначения , для достижения которых используются шлюзы . Для помещения маршрутов в эту таблицу обычно применяются 2 метода : статистическая  маршрутизация и динамическая . 1 – ая осуществляется сетевым администратором , а динамическая – самой системой через протоколы маршрутизации . В ПК чаще всего используют статистическую маршрутизацию,  единственный статистический маршрут по умолчанию ( default  route ) , который указывает на маршрутизатор , переправляющий все данные для ПК .

Настройка маршрутизации для DOS отличается от настройки маршрутизации для UNIX – систем , поскольку DOS не относится к числу многозадачных ОС . Из – за отсутствия многозадачности протокол маршрутизации не может быть запущен как фоновый процесс . Это одна из причин того , почему ПК чаще используют статистическую маршрутизацию . Кроме того , многие реализации TCP/IP для ПК позволяют ввести только один статистический маршрут . Системный администратор UNIX  может запустить протокол маршрутизации и позволить маршрутизатору создать таблицу  маршрутов на своей машине. Конфигурация ПК может быть различной . ПК позволяет ввести только один маршрут , даже если их на самом деле два . Если же данные необходимо передать через другой маршрутизатор, это будет выполнено с помощью протокола ICMP . В этом случае выберите  по умолчанию шлюз , который используется наиболее часто , и он будет сам исправлять маршрут, т.е. при необходимости пересылать данные по другому маршруту . В этом случае по умолчанию следует задавать тот шлюз , который используется наиболее часто , а не тот , через который проходит больше всего маршрутов.

Различные   сети,   которые  составляют  глобальную  сеть,  связаны посредством  машинных  шлюзов.  Шлюз  -  это машина, которая связана с двумя   или   более   сетями.  Это  позволяет  проложить  маршрут  для дейтаграммы  из одной сети в другую. Шлюзы маршрутизируют дейтаграммы, основываясь  на  сети-приемнике,  а не на индивидуальной машине данной сети.   Это   упрощает  схемы  маршрутов.  Шлюзы  распределяют,  какая следующая  сеть  будет  получателем  данной  дейтаграммы.  Если машина получатель  данной дейтаграммы находится в той   же сети, то дейтаграмма может  быть  послана  прямо  в  эту  машину.  В  противном  случае она передается от шлюза к шлюзу, пока не достигнет сети получателя.

Еще  один конфигурационный параметр TCP/IP – это широковещательный адрес . Им называют специальный, используемый системой для общения со всеми компьютерами локальной сети одновременно. Стандартный широковещательный адрес – это IP – адрес , в котором все биты номера хоста имеют значение 1.

Выбор программного пакета TCP/IP аналогичен выбору сетевой карты и основан на анализе соотношения эффективность/стоимость. Поддержка со стороны поставщика и легкость конфигурирования также имеет большое значение , но на выбор программ влияют некоторые дополнительные факторы . 1 – цена . Никто не разбрасывается бесплатными аппаратными средствами , но бесплатные пакеты программ существуют . Самая большая опасность бесплатных программ кроется в том  , что в нужный момент для них может не оказаться необходимой технической поддержки . Сетевое программное обеспечение должно отвечать вашим требованиям , т.е. иметь такие специфические особенности , которые отвечают требованиям сетевых служб и которые правильно понимают пользователи . В программном обеспечении  TCP/IP для DOS при работе с сетью используются те же команды , что и в программном обеспечении для UNIX , так что обширная документация TCP/IP,  написанная  для UNIX ,может быть полезна пользователям ПК.

   Приложения DOS ,TCP/IP   PRT TSR   SNMP
                               PCNFS.SYS.TSR
                   DOS Драйвер      сетевого        Устройства
                               Аппаратные средства