Реферат по предмету "Английский язык"


Дослідження протоколу 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


Драйвер      сетевого
       Устройства




                               Аппаратные средства












Рис. 1. Программный модуль PC/NFS

На  рис.1  показано , как выглядит TCP/IP , инсталлированный в системе DOS .Модули , отображенные на
рисунке , характерны для пакета PC/NFS разработанного фирмой SunSoft . Однако структура драйверов и резидентных программ одинакова для всех реализаций TCP/IP
для DOS.Имена и функции модулей в каждой из реализаций будут свои, но основные средства ,с
помощью которых реализуется работа TCP/IP, остаются неизменными . Это – прерывания  драйверы устройств и резидентные программы .Резидентные программы (TSR) –
это такие программы , которые остаются в памяти после того , как управление перелается системе DOS. Резидентные программы TCP/IP
обычно запускаются во время загрузки системы из файла AUTOEXEC.BAT.Такая программа сначала запускает маленькую программу , которая устанавливает вектор
прерываний , резервирует необходимую память и возвращает управление DOS, используя специальную функцию 31h стандартного прерывания DOS 21h.
Эта специальная функция существует , поскольку резидентные программы -  стандартная часть DOS ,
предназначенная для реализации фоновых процессов в ограниченной форме . Большое преимущество реализации программы TCP/IP  как резидентной программы – это скорость .
Программа все время находится в памяти и может обрабатывать запросы в реальном режиме времени . Недостаток такой реализации в том , что резидентная программа
уменьшает объем доступной пользователю памяти . По этой причине очень важно при установке резидентного пакета TCP/IP в
системе DOS пользоваться менеджером памяти .

 TCP/IP работает в самых разных сетях потому , что он не зависит от физических
особенностей конкретной сети . Однако , хотя он и не требует конкретной сети , ему все равно нужна
хоть какая – то физическая сеть , чтобы передавать информацию из  одного пункта в другой. Чтобы запустить TCP/IP в DOS
,мы должны инсталлировать драйвер для карты сетевого интерфейса . Физическое устройство общается с DOS и приложениями с помощью
драйвера . Физическое аппаратное обеспечение сети и его драйвер на самом деле не являются частью стека   протокола TCP/IP ,
но это необходимый компонент для работы TCP/IP.Наличие драйверов устройств – сильная черта DOS. Благодаря этому к системе
очень легко добавлять новые устройства, не изменяя ядра операционной системы . Стандарт , определенный компанией Microsoft , называется Network Device Interface Specification (NDIS),
а стандарт от Novell – Open Datalink Interface (ODI).Это несовместимые стандарты. Большинство реализаций TCP/IP
поддерживает как драйверы NDIS , так и драйверы ODI , и большинство карт сетевого интерфейса поставляется с драйверами обоих
типов.  Данные стандарты позволяют поддерживать на одном компьютере мультипротокольные стеки .



Приложения
TCP/IP


Служба
NetWare




Протоколы
TCP/IP


Оболочка рабочей
Станции




Конвертер
ODI


Протоколы Novell
IPX




Уровень поддержки




Мультипротокольный драйвер




Сетевая карта   



     Рис.2. Мультипротокольные стеки

Это означает, что если используется драйвер NDIS или ODI, то TCP/IP может пользоваться одним и тем же интерфейсом вместе с другими сетевыми
протоколами, например протоколами для NetWare. 

На рис. 2 показан стек протоколов TCP/IP , использующий одну и ту же  карту сетевого интерфейса вместе с протоколом IPX ,
использующим драйвер ODI .Возможность организовать несколько стеков протоколов на одном сетевом интерфейсе является очень важной
особенностью , так как TCP/IP часто приходится сосуществовать с NetWare и другими протоколами для ПК.

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

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

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

Команда имеет вид:

C: ping almond.nuts.com

almond.nuts.com is alive

Система DOS имеет множество команд для вывода данных о конфигурации TCP/IP.   

2 . Windows и сети

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

Windows – это еще одна причина популярности DOS . Windows – это не операционная система  - это  графический пользовательский интерфейс (GUI )
, который работает в DOS как приложение . Чтобы использовать Windows, нужно сначала инсталлировать DOS. Windows
продлила жизнь DOS, преодолев два ее больших недостатка – отсутствие многозадачности и поддержку ограниченного объема памяти. В Windous
используется система под названием кооперативная многозадачность, которая при распределении ресурсов полагается на хорошее поведение приложений. Все пакеты,
реализующие TCP/IP для DOS , основаны на резидентных программах , но методы конфигурирования и синтаксис
команд у каждого пакета свои . Существуют 3 способа реализации TCP/IP для Windows : резидентные программы (TSR) –
они могут обслуживать любое окно Windows , а  одна и та же резидентная программа может быть использована и в системе DOS, если Windows не
запущена. Динамически связываемая библиотека (DLL) – это библиотека , которая может быть вызвана программой , даже если она не была
подключена  к программе при компилляции. DLL  требует очень мало памяти, и память, которую
они используют - это имеющаяся в изобилии доступная для Windows память. Они вообще не используют область памяти DOS.
Приложения TCP/IP , основанные на DLL, нуждаются в обслуживании Windows.  Виртуальный драйвер (VxD –Virtual Device Driver) –
это новейший подход к разработке TCP/IP для Windows .VxD  представляет собой драйвер устройства , созданный
внутри виртуальной машины Windows. Как и драйвер DOS , VxD может быть создан , чтобы обрабатывать прерывания в реальном режиме времени. VxD не
использует область памяти DOS.

Системы на основе TSR работают и в DOS , и в Windows. Они рекомендуются в том случае, если требуется программа реализации TCP/IP,
которая работает в обеих средах . Реализация TCP/IP с использованием DLL и в виде VxD- родные для Windows
программы. Возможности VxD выше, чем DLL, поскольку они могут управляться прерываниями. Поэтому технология VxD  - перспективное направление и для
программного обеспечения TCP/IP. Вне зависимости от метода реализации системы, наиболее важным фактором при
выборе пакета TCP/IP для Windows  является количество приложений , которые он поддерживает , и качество этих приложений . Существует несколько пакетов TCP/IP
для Windows, из которых можно выбрать наиболее приемлемый . Например, пакет фирмы Microsoft –
это стек протоколов TCP/IP, но в нем отсутствуют многие приложения, а пакет фирмы SPRY  - это полный набор приложений, но без стека протоколов. Winsock –
это стандарт API, определенный для TCP/IP в системе Windows. Winsock представляет собой реализацию интерфейса в стиле Berkeley TCP/IP socket Microsoft Windows.

Безотказная работа серверов возможна только в том случае , если на них установлена надежная ОС. Большинство
администраторов локальных сетей обратились  к ОС NetWare, а администраторы сетей ,работающих на основе протокола TYCP/IP, –
k UNIX . Microsoft хотела бы изменить эту ситуацию. Самой последней ее попыткой решить эту задачу
было создание OC Windows NT – многозадачная , многопользовательская и многофункциональная ОС . Ее
однопользовательская версия предназначена для мощных рабочих станций, а для серверов была выпущена многопользовательская версия Windows NT Server. OC NT с
самого начала предназначалась для работы в сетях . Уже первые версии включали в себя программное обеспечение, предназначенное для поддержки протоколов TCP/IP, и
предполагали построение корпоративных сетей, работающих на основе этих протоколов . BIOS ,или базовая система ввода/вывода – стандартная часть DOS,
реализующая процедуры, используемые приложениями при запросе сервиса ввода /вывода у системы DOS. Протокол NetBios расширил ее, дополнив
функциями ввода /вывода через сеть. Протокол не  обеспечивает передачу пакетов через маршрутизаторы . Пакеты
передаются только в пределах одной физической сети. Работа NetBios зависит от особенностей функционирования нижележащего, физического уровня сети,
на котором обеспечивается широковещательная передача информации. Преимущества и недостатки NetBios
делают его очень удобным для использования в маленькой изолированной локальной сети и совершенно непригодным для большой производственной сети. Протокол  NetBios можно запустить
поверх множества других сетевых протоколов, включая TCP/IP. Протокол NetBios over TCP/IP  - 
это когда сообщения NetBios встраиваются в дейтаграммы TCP/IP. Он относится к числу стандартных .Приложения , использующие NBT,
могут работать только вместе с теми приложениями, которые также используют NBT. Они не могут взаимодействовать с приложениями, работающими поверх NBT.
Каждая система, которая ожидает связи через глобальную сеть TCP/IP, должна запустить у себя NBT. Приложения NetBios не
могут взаимодействовать со стандартными приложениями TCP/IP. Самое большое разочарование, ожидающие пользователей при работе в сети TCP/IP-
это Mail,
система электронной почты . Проблема для пользователей сети TCP/IP состоит в том , что с помощью Mail невозможно послать письмо
никому, кроме         других пользователей Microsoft Mail . Windows NT –это операционная система со встроенной поддержкой сети. Для того чтобы
работать в глобальных сетях Microsoft предложила протокол NBT . При функционировании сети под управлением этого протокола используется файл LMHOSTS  ( чтобы уменьшить зависимость от
широковещательных передач ) и параметр Scope ID ( для фильтрации нежелательной информации при работе в больших глобальных  сетях ). Помимо этих двух специальных
параметров , при конфигурировании TCP/IP для NT требуется установка тех же опций , что и для других реализаций TCP/IP.
Система Windows NT поставляется с несколькими приложениями , работа которых зависит от интерфейса
приложений NetBios . Эти приложения обеспечивают выполнение большинства функций, предлагаемых
стандартными приложениями TCP/IP. При конфигурировании TCP/IP потребуется информация об аппаратном обеспечении, адресах и маршрутизации  . Так как этот протокол создавался в расчете
на независимость от любого конкретного аппаратного обеспечения , информация , которая в некоторых других сетевых средствах встроена в аппаратные компоненты,
не может быть встроена в TCP/IP. Эту информацию должен ввести тот, кто ответственен за конфигурацию . Изначально
протокол TCP/IP создавался для того , чтобы обеспечить надежную работу сети, состоящей из мэйнфреймов и мини – компьютеров и находящейся под управлением профессиональных
администраторов . Компьютеры в сетях TCP/IP рассматриваются как равноправные системы ( peers).
В протоколе TCP/IP не делается различий между ПК и мэйнфреймами. Для TCP/IP все они хосты , а ко всем хостам предъявляются одинаковые требования по
конфигурации. Конечно TCP/IP   тоже совершенствуется  по мере развития ПК и программного обеспечения локальных сетей . В протоколе TCP/IP
также появились средства , облегчающие задачу конфигурирования ПК – RARP , BOOTP.

Протокол обратного перевода адресов RARP – это протокол, который преобразует физический сетевой адрес в IP –
адрес . Чтобы создать сервер RARP , который может помочь с начальной инсталляцией программного пакета 
TCP/IP,
вам нужен не зависящий от TCP/IP способ узнать адрес Ethernet. Иногда этот адрес обозначен на самой
плате Ethernet   или приведен в документации к ней . Протокол RARP – полезное средство , но он обеспечивает получение только IP-
адреса . Чтобы работа сервера была более эффективной , требуется предварительное   конфигурирование
программного обеспечения TCP/IP для пользователей ПК. Не каждая реализация TCP/IP может быть заранее сконфигурирована.

Протокол cамозагрузки BOOTP определяется в RFC 951. Этот документ представляет BOOTP в
качестве альтернативы RARP, т.е. когда используется BOOTP, надобность RARP отпадает. BOOTP обеспечивает намного
больше конфигурационной информации и постоянно совершенствуется. Исходная спецификация протокола позволяла поставщикам без проблем расширять его возможности , что
весьма способствовало его дальнейшему развитию. Можно отконфигурировать сервер BOOTP так , чтобы он имел дело сразу со многими клиентами. Сервер легко
конфигурируется при помощи всего лишь двух диалоговых окон, но за эту легкость приходится платить.Динамический протокол конфигурации хостов DHCP
является представителем последнего на сегодняшний  день поколения BOOTP. Он обеспечивает клиента
полным набором значений конфигурационных параметров TCP/IP . Также позволяет выполнять  автоматическое распределение IP- адресов. Сервер DHCP
обеспечивает поддержку клиента BOOTP .
2.2. Атаки TSP/IP и
защита от них

Атаки на TCP/IP можно разделить на два вида: пассивные и активные. При данном типе атак крэкеры
никаким образом не обнаруживают себя и не вступают напрямую во взаимодействие с другими системами. Фактически все сводиться к наблюдению за доступными данными
или сессиями связи.

Атака типа подслушивание заключаются в перехвате сетевого потока и его анализе.
Англоязычные термин - "sniffing"

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

Второй вариант - крэкер получает доступ к машине, которая расположена в одном сегменте сети с системой, которой имеет
доступ к сетевому потоку. Например, в сети "тонкий ethernet" сетевая карта может быть переведена в режим, в котором она будет получать все
пакеты, циркулирующие по сети, а не только адресованной ей конкретно. В данном случае крэкеру не требуется доступ к UNIX - достаточно иметь PC с DOS
или Windows (частая ситуация в университетских сетях) .

Поскольку TCP/IP-трафик, как правило, не шифруется (мы рассмотрим исключения ниже), крэкер, используя
соответствующий инструментарий, может перехватывать TCP/IP-пакеты, например, telnet-сессий
и извлекать из них имена пользователей и их пароли.

Следует заметить, что данный тип атаки невозможно отследить, не обладая доступом к системе крэкера, поскольку сетевой
поток не изменяется. Единственная надежная защита от подслушивания -- шифрование TCP/IP-потока
(например, secure shell) или использование одноразовых паролей (например, S/KEY).

Другое вариант решения - использование интеллектуальных свитчей и UTP, в результате чего каждая
машина получает только тот трафик, что адресован ей.

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

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

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

Активные атаки можно разделить на две части. В первом случае крэкер предпринимает определенные шаги для перехвата и
модификации сетевого потока или попыток "притвориться" другой системой. Во втором случае протокол TCP/IP
используется для того, чтобы привести систему-жертву в нерабочее состоянии.

Обладая достаточными привилегиями в Unix (или попросту используя DOS или Windows,
не имеющие системы ограничений пользователей), крэкер может вручную формировать IP-пакеты и передавать их по сети. Естественно, поля заголовка пакета могут быть
сформированы произвольным образом. Получив такой пакет, невозможно выяснить откуда реально он был получен, поскольку пакеты не содержат пути их
прохождения. Конечно, при установке обратного адреса не совпадающим с текущим IP-адресом, крэкер никогда не

получит ответ на отосланный пакет. Однако, как мы увидим, часто это и не требуется.

Возможность формирования произвольных IP-пакетов является ключевым пунктом для осуществления активных атак.

2.4.Предсказание TCP sequence number

Данная атака была описана еще Робертом Моррисом (Robert T. Morris) в A Weakness in the 4.2BSD Unix TCP/IP Software Англоязычный
термин -- IP spoofing. В данном случае цель крэкера - притвориться другой системой, которой, например, "доверяет" система-жертва (в случае использования
протокола rlogin/rsh для беспарольного входа). Метод также используется для других целей --
например, для использовании SMTP жертвы для посылки поддельных писем.

Вспомним, что установка TCP-соединения происходит в три стадии (3-way handshake):
клиент выбирает и передает серверу sequence number (назовем его C-SYN), в ответ на это сервер высылает клиенту пакет данных, содержащий подтверждение (C-ACK) и
собственный sequence number сервера (S-SYN). Теперь уже клиент должен выслать подтверждение (S-ACK).
Схематично это можно представить так:

После этого соединение считается установленным и начинается обмен данными. При этом каждый пакет имеет в
заголовке поле для sequence number и acknowledge number. Данные числа увеличиваются при обмене данными и позволяют контролировать
корректность передачи. 

Предположим, что крэкер может предсказать, какой sequence number (S-SYN по схеме) будет выслан сервером. Это возможно сделать на основе знаний о
конкретной реализации TCP/IP. Например, в 4.3BSD значение sequence number, которое будет использовано при установке следующего значения, каждую секунду
увеличивается на 125000. Таким образом, послав один пакет серверу, крэкер получит ответ и сможет (возможно, с нескольких попыткок и с поправкой на
скорость соединения)предсказать sequence number для  следующего соединения.

Если реализация TCP/IP использует специальный алгоритм для определения sequence number,
то он может быть выяснен с помощью посылки нескольких десятков пакетов серверу и анализа его ответов.

Итак, предположим, что система A доверяет системе B, так, что пользователь системы B может сделать
"rlogin A"_ и оказаться на A, не вводя пароля. Предположим, что крэкер расположен на системе C. Система A выступает в роли сервера, системы B и
C - в роли клиентов.

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

После этого крэкер может попробовать притвориться системой B, для того, что бы получить
доступ к системе A (хотя бы кратковременный).

Крэкер высылает несколько IP-пакетов, инициирующих соединение, системе A, для выяснения текущего
состояния sequence number сервера. Крэкер высылает IP-пакет, в котором в качестве обратного адреса указан уже адрес системы B.  Система A
отвечает пакетом с sequence number, который направляется системе B. Однако система B никогда не получит его (она выведена из строя), как, впрочем, и крэкер. Но он
на основе предыдущего анализа догадывается, какой sequence number был выслан системе B  Крэкер
подтверждает "получение" пакета от A, выслав от имени B пакет с предполагаемым S-ACK
(заметим, что если системы располагаются в одном сегменте, крэкеру для выяснения sequence number
достаточно перехватить пакет, посланный системой A). После этого, если крэкеру повезло и sequence number
сервера был угадан верно, соединение считается установленным.

Теперь крэкер может выслать очередной фальшивый IP-пакет, который будет уже содержать данные. Например, если атака была направлена на rsh,
он может содержать команды создания файла .rhosts или отправки /etc/passwd крэкеру по электронной почте.

Представим это в виде схемы 1:


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.