Безопасность вычислительных сетей. Ч. I. Базовые протоколы стека TCP/IP
Покупка
Основная коллекция
Тематика:
Компьютерные сети. Интернет
Автор:
Жуков Вадим Геннадьевич
Год издания: 2012
Кол-во страниц: 124
Дополнительно
Детально рассматриваются принципы работы базовых протоколов стека TCP,ДР. Приведены подробные сведения об основных протоколах канального, сетевого и транспортного уровней модели ISO/OSI стека TCP/IP согласно спецификациям Internet Engineering Task Force, IETF. Особое внимание уделено описанию форматов заголовков рассматриваемых протоколов.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ АКАДЕМИКА М. Ф. РЕШЕТНЕВА В. Г. Жуков БЕЗОПАСНОСТЬ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ Часть I БАЗОВЫЕ ПРОТОКОЛЫ СТЕКА ТСРЛР К р а с н о я р с к 2 0 1 2
Министерство образования и науки Российской Федерации Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева В. Г. Жуков БЕЗОПАСНОСТЬ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ В 2 частях Часть I БАЗОВЫЕ ПРОТОКОЛЫ СТЕКА TCP/IP Утверждено редакционно-издательским советом университета в качестве учебного пособия для студентов, обучающихся по направлениям 090900.68, 230100.68 очной формы обучения Красноярск 2012
УДК 004.056 (075.8) ББК 32.97 я7 Ж86 Рецензенты: кандидат технических наук К. В. Богданов (ООО «ЯрМап»); кандидат технических наук В. X. Ханов (Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева) Ж уков, В. Г. Ж86 Безопасность вычислительных сетей : в 2 ч. Ч. I. Базовые протоколы стека TCP/IP : учеб. пособие / В. Г. Жуков ; Сиб. гос. аэро- космич. ун-т. - Красноярск, 2012. 124 с. Детально рассматриваются принципы работы базовых протоколов стека TCP,ДР. Приведены подробные сведения об основных протоколах канального, сетевого и транспортного уровней модели ISO/OSI стека TCP/IP согласно спецификациям Internet Engineering Task Force, IETF. О собое внимание уделено описанию форматов заголовков рассматриваемых протоколов. Предназначено для студентов старших курсов, обучающихся по направлениям 090900.68, 230100.68. Также будет полезно аспирантам, преподавателям, слушателям потоков повышения квалификации, специалистам-практикам, заинтересованным проблемами проектирования, развертывания, эксплуатации и обеспечения безопасности локальных вычислительных TCP/IP сетей. У ДК 004.056 (075.8) ББК 32.97 и7 © Сибирский государственный аэрокосмический университет имени академика М. Ф Решетнева 2012 © Жуков В. Г., 2012
О г л а в л е н и е Предисловие.................................................................................................................6 1. Протокол канального уровня E th ern et......................................................... 9 1.1. Кадр 802.3.....................................................................................................10 1.2. Кадр LLC......................................................................................................11 1.3. Кадр 802.3/LLC...........................................................................................13 1.4. Кадр Raw 802.3/Novell 802.3...................................................................14 1.5. Кадр Ethernet DIX/Ethemet I I ..................................................................14 1.6. Кадр Ethernet SNAP...................................................................................15 1.7. Алгоритм идентификации формата кадра Ethernet........................... 16 Контрольные вопросы и задания...................................................................17 2. Протокол канального уровня A R P............................................................... 18 Формат сообщения протокола ARP.............................................................. 19 Контрольные вопросы и задания.................................................................. 22 3. Протокол сетевого уровня IP .......................................................................... 23 3.1. Формат дейтаграммы протокола IP ......................................................24 3.2. Версия...........................................................................................................24 3.3. Длина Internet-заголовка.......................................................................... 26 3.4. Тип сервиса.................................................................................................26 3.5. Общая длина...............................................................................................28 3.6. Идентификатор.......................................................................................... 28 3.7. Флаги........................................................................ *..................................29 3.8. Поле смещения........................................................................................... 30 3.9. Время жизни................................................................................................33 3.10. Протокол................................................................................................... 33 3.11. Контрольная сумма заголовка..............................................................34 3.12. IP-адреса получателя и отправителя...................................................34 3.13. Параметры.................................................................................................35 3.13.1. Конец списка параметров и выравнивание.............................. 37 3.13.2. Безопасность......................................................................................38 3.13.3. Сохранение маршрута....................................................................40 3.13.4. Свободная и жесткая маршрутизация от источника.............. 42 3.13.5. Временная пометка Интернета.....................................................46 Контрольные вопросы и задания.................................................................. 48 4. Протокол сетевого уровня IC M P .................................................................. 49 4.1. Формат сообщений протокола ICMP.................................................49 4.1.1. Тип.........................................................................................................50 4.1.2. Код.........................................................................................................51 4.1.3. Контрольная сумма............................................................................51 3
4.2. Тип 3: ICMP-сообщения Destination Unreachable..............................52 4.3. Тип 11: ICMP-сообщения Time Exceeded............................................53 4.4. Тип 12: ICMP-сообщения Parameter Problem..................................... 54 4.5. Тип 4: ICMP-сообщения Source Quench..............................................55 4.6. Тип 5: ICMP-сообщения Redirect..........................................................56 4.7. Тип 8 и 0: ICMP-сообщения Echo Request и Echo Reply.................58 4.8. Тип 13 и 14: ICMP-сообщения Timestamp и Timestamp Reply 59 4.9. Тип 15 и 16: ICMP-сообщения Information Request и Information Reply............................................................................................60 4.10. Порядок тестирования и поиска неисправностей средствами протокола ICMP.......................................................................... 61 4.10.1. Тестирование возможности соединения с помощью утилиты PIN G ........................................................................61 4.10.2. Определение маршрута с помощью утилиты Traceroute 63 4.10.3. Трассировка маршрута с помощью утилиты Pathping 66 4.10.4. Определение максимальной единицы передачи маршрута с помощью протокола ICM P................................67 Контрольные вопросы и задания...................................................................70 5. Протокол транспортного уровня UDP.........................................................71 5.1. Формат заголовка протокола U D P........................................................72 5.2. Порт источника..........................................................................................72 5.3. Порт назначения........................................................................................ 72 5.4. Длина............................................................................................................74 5.5. Контрольная сумма...................................................................................74 Контрольные вопросы и задания...................................................................75 6. Протокол транспортного уровня T C P .........................................................76 6.1. Формат заголовка протокола TCP.........................................................76 6.2. Порт источника и порт назначения.......................................................76 6.3. Порядковый номер....................................................................................77 6.4. Номер подтверждения............................................................................. 77 6.5. Смещение данных..................................................................................... 78 6.6. Зарезервированное поле.......................................................................... 78 6.7. Биты управления....................................................................................... 78 6.8. Окно.............................................................................................................. 79 6.9. Контрольная сумма................................................................................... 79 6.10. Указатель срочности...............................................................................80 6.11. Параметры................................................................................................. 80 6.11.1. Конец списка параметров.............................................................. 81 6.11.2. Нет операции.................................................................................... 81 6.11.3. Максимальный размер сегмента................................................. 82 4
6.12. Заполнение.................................................................................................82 6.13. Функции протокола TCP .........................................................82 6.13.1. Процесс установления соединения TCP.................................... 82 6.13.2. Процесс поддержки соединения TCP.........................................88 6.13.3. Процесс завершения соединения TCP........................................89 6.13.4. Процесс упорядочивания и подтверждения приема TCP 91 6.13.5. Процесс обнаружения и устранения ошибок TC P..................93 6.13.6. Процесс контроля перегрузок TCP.............................................95 6.13.7. Процесс скользящего окна T C P.................................................100 Контрольные вопросы и задания................................................................102 Заклю чение...............................................................................................................103 Библиографические ссы л ки .............................................................................. 104 П рилож ения.............................................................................................................110 Приложение 1. Номера протоколов............................................................110 Приложение 2. TCP и UDP порты...............................................................111 Приложение 3. Протокол 1Р-версии 6 (IPv6).............................................119 Приложение 4. Протокол ICMP-версии 6 (IcmPv6).................................121
П р е д и с л о в и е Благодаря возникновению и развитию сетей передачи данных появился новый, высокоэффективный способ взаимодействия между людьми. Первоначально сети использовались главным образом для научных исследований, но затем они стали проникать буквально во все области человеческой деятельности. При этом большинство сетей существовало совершенно независимо друг от друга, решая конкретные задачи для конкретных групп пользователей. В соответствии с этими задачами выбирались те или иные сетевые технологии и аппаратное обеспечение. Построить универсальную физическую сеть мирового масштаба из однотипной аппаратуры просто невозможно, поскольку такая сеть не могла бы удовлетворять потребности всех ее потенциальных пользователей. Одним нужна высокоскоростная сеть для соединения машин в пределах здания, а другим - надежные коммуникации между компьютерами, разнесенными на сотни километров. Тогда возникла идея объединить множество физических сетей в единую глобальную сеть, в которой использовались бы как соединения на физическом уровне, так и новый набор протоколов. Данная глобальная сеть, получившая название Интернет, должна была позволить компьютерам «общаться» друг с другом независимо от того, к какой сети и каким образом они подсоединены. Осознав перспективы и важность идеи создания сети Интернет, несколько правительственных организаций в США стали работать над ее реализацией. И наибольшего успеха в этом достигло агентство DARPA (Defense Advanced Research Projects Agency), создавшее стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol). Возникший в конце 60-х гг. как проект объединения сетей нескольких крупных исследовательских организаций, в наше время стек протоколов TCP/IP можно считать самым успешным из всех когда-либо разрабатывавшихся стеков коммуникационных протоколов. Стек протоколов TCP/IP стал стандартом не только для Интернета, но и для локальных вычислительных сетей. В локальных вычислительных сетях стек протоколов TCP/IP когда-то был лишь одним из многих и существовал наряду с протоколами Novell IPX/SPX, Microsoft NetBIOS и NetBEUI, а также AppleTalk. Хотя в наши дни в сетях по- прежнему встречаются данные протоколы, основными коммуникационными протоколами стали протоколы стека TCP/IP. Первая часть пособия «Базовые протоколы стека TCP/IP», как неотъемлемая часть курсов «Компьютерные сети», «Протоколы составных компьютерных сетей», «Безопасность вычислительных сетей» является составной частью системы обучения магистрантов по направлениям 6
подготовки 090900.68 «Информационная безопасность», 230100.68 «Информатика и вычислительная техника» и соответствует Государственному образовательному стандарту. Также может быть рекомендовано студентам направления подготовки 090302.65 «Информационная безопасность телекоммуникационных систем», 090303.65 «Информационная безопасность автоматизированных систем». В учебном пособии представлено всестороннее рассмотрение важнейших сетевых протоколов, которые регламентируют применение TCP/IP и определяют его функционирование в современных локальных вычислительных сетях. Пособие содержит не только основные теоретические положения, описанные стандартами, но и описание актуальных вопросов конкретного практического применения различных технологий, которые реализованы в рамках рассматриваемых протоколов и используются при построении современных локальных вычислительных сетей. В учебном пособии рассматривается только часть протоколов стека ТСР/ТР, которые являются базовыми при построении и функционировании локатьных вычислительных сетей на базе технологий Ethernet, а именно протокол канального уровня ARP (Address Resolution Protocol), протоколы сетевого уровня IP и ICMP (Internet Control Message Protocol), протоколы транспортного уровня UDP (User Datagram Protocol) и TCP. Учебное пособие сформировано в соответствии с работами программами курсов и состоит из шести глав. В первой главе «Протокол канального уровня Ethernet» описывается основной протокол локальных вычислительных сетей Ethernet, действующий на канальном уровне эталонной модели ISO/OSI. Подробно рассматриваются существующие типы кадров Ethernet, их структура и функциональное назначение полей заголовка для каждого из форматов. Приведен обобщенный алгоритм автоматического определения типа кадров Ethernet. Во второй главе «Протокол канального уровня ARP» описывается протокол разрешения аппаратных адресов в локальных вычислительных сетях Ethernet, действующий на канальном уровне эталонной модели ISO/OSI. Подробно рассматриваются формат заголовка протокола, его структура и функциональное назначение каждого из полей заголовка. Приведен обобщенный алгоритм разрешения аппаратного адреса по известному значению сетевого адреса. В третьей главе «Протокол сетевого уровня 1Р» описывается основной протокол сети Интернет, действующий на сетевом уровне эталонной модели ISO/OSI. Подробно рассмотрен формат заголовка протокола IPv4, назначение и допустимые значения его полей, включая подробное описание возможных сценариев применения поля Параметры. Приведен обобщенный алгоритм фрагментации и сборки IP пакетов. 7
В четвертой главе «Протокол сетевого уровня 1СМР» описывается протокол управляющих сообщений сети Интернет, действующий на сетевом уровне эталонной модели ISO/OSI. Подробно рассмотрен формат заголовка протокола ICMP. Приведено подробное описание и назначение основных типов ICMP сообщений, возможных сценариев применения диагностических утилит, принцип работы которых основан на применении протокола ICMP. В пятой главе «Протокол транспортного уровня UDP» описывается протокол передачи дейтаграмм пользователя, действующий на транспортном уровне эталонной модели ISO/OSI. Подробно рассматриваются формат заголовка протокола UDP, его структура и функциональное назначение каждого из полей заголовка. В шестой главе «Протокол транспортного уровня ТСР» описывается протокол управления передачей, действующий на транспортном уровне эталонной модели ISO/OSI. Подробно рассмотрен формат заголовка протокола TCP, функциональное назначение и допустимые значения его полей, включая подробное описание возможных сценариев применения поля Параметры. Приведено описание основных функций протокола TCP. Учебное пособие предназначено для оказания помощи студентам при изучении принципов работы базовых протоколов стека TCP/IP локальных вычислительных сетей Ethernet. Материал, изложенный в данном учебном пособии, многократно проверен, но поскольку вероятность наличия ошибок все равно существует, автор просит направлять свои комментарии, отзывы, предложения и возникающие в процессе изучения материала вопросы на электронный адрес: pilgrim.krsk24@gmail.com. Материал, представленный в учебном пособии, рекомендуется изучать последовательно. Каждая глава основывается на предшествующем материале, и это помогает достичь твердого понимания понятий, протоколов и способов их применения. Автор настоятельно рекомендует знакомиться со всеми сетевыми и печатными источниками дополнительной информации, цитируемыми на протяжении учебного пособия.
1. ПРОТОКОЛ КАНАЛЬНОГО УРОВНЯ ETHERNET Стандарт технологии Ethernet, описанный в документе IEEE 802.3, дает описание единственного формата кадра протокола уровня MAC. Так как в кадр уровня MAC должен вкладываться кадр уровня LLC, описанный в документе IEEE 802.2, то по стандартам IEEE в сети Ethernet может использоваться только единственный вариант кадра канального уровня, заголовок которого является комбинацией заголовков MAC и LLC подуровней. Тем не менее, на практике в сетях Ethernet на канальном уровне могут использоваться кадры 4-х различных форматов (типов). Это связано с длительной историей развития технологии Ethernet, насчитывающей период существования до принятия стандартов IEEE 802, когда подуровень LLC не выделялся из общего протокола и, соответственно, заголовок LLC не применялся. Консорциум грех фирм Digital, Intel и Xerox в 1980 году представил на рассмотрение комитету 802.3 свою фирменную версию стандарта Ethernet (в которой был, естественно, описан определенный формат кадра) в качестве проекта международного стандарта, но комитет 802.3 принял стандарт, отличающийся в некоторых деталях от предложения DIX. Отличия касались и формата кадра, что породило существование двух различных типов кадров в сетях Ethernet. Еще один формат кадра появился в результате усилий компании Novell по ускорению работы своего стека протоколов в сетях Ethernet. И, наконец, четвертый формат кадра стал результатом деятельности комитета 802.2 по приведению предыдущих форматов кадров к некоторому общему стандарту. Различия в форматах кадров могут приводить к несовместимости в работе аппаратуры и сетевого программного обеспечения, рассчитанного на работу только с одним стандартом кадра Ethernet. Однако сегодня практически все сетевые адаптеры, драйверы сетевых адаптеров, коммутаторы и маршрутизаторы умеют работать со всеми используемыми на практике форматами кадров Ethernet, причем распознавание типа кадра выполняется автоматически. Ниже приводится описание всех четырех типов кадров протокола Ethernet (здесь под кадром понимается весь набор полей, которые относятся к канальному уровню, то есть поля MAC и LLC уровней). Один и тот же тип кадра может иметь разные названия, поэтому для каждого типа кадра приведено по нескольку наиболее употребительных названий: кадр 802.3/LLC (кадр 802.3/802.2 или кадр Novell 802.2); - кадр Raw 802.3 (или кадр Novell 802.3); - кадр Ethernet DIX (или кадр Ethernet П); - кадр Ethernet SNAP. Рассмотрим структуру кадра каждого типа более подробно. 9