Лекция 7_ TCP_IP_часть 1.ppt
- Количество слайдов: 28
Стек протоколов TCP/IP Cisco Solution Technology Integrator
® ® Все сети передают основную часть своего трафика с помощью протокола TCP/IP. Все современные операционные системы поддерживают стек TCP/IP. Это гибкая технология для соединения разнородных систем как на уровне транспортных подсистем, так и на уровне прикладных сервисов. Это устойчивая масштабируемая межплатформенная среда для приложений клиент-сервер. 2
® ® • • Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol ) — набор сетевых протоколов разных уровней модели сетевого взаимодействия. Протоколы работают друг с другом таком образом, что протокол, располагающийся на уровне выше, работает «поверх» нижнего, используя механизмы инкапсуляции. Протоколы этих уровней полностью реализуют функциональные возможности модели OSI. На стеке протоколов TCP/IP построено всё взаимодействие пользователей в IP-сетях. Стек является независимым от физической среды передачи данных. 3
Модель OSI и стек TCP/IP Модель OSI/ISO Модель TCP/IP C точностью до незначительных различий можно считать, что функциональность второго (канального), третьего (сетевого) и четверного (транспортного) уровней в моделях OSI/ISO и TCP/IP совпадают 4
Протоколы и уровни 5
протоколы ® ® ® ® BGP – Протокол граничного шлюза BGP FTP – Протокол передачи файлов FTP HTTP – Протокол передачи гипертекстовых файлов ICMP – Протокол управления сообщениями Internet ICMP IGMP – Протокол управления группами IP – Протокол Internet MIME – Многоцелевые расширения почты Internet OSPF – Первоочередное открытие кратчайших OSPF маршрутов RSVP – Протокол резервирования ресурсов SMTP – Простой протокол передачи почты SMTP TELNET – Протокол реализации текстового интерфейса TELNET по сети SNMP – Простой протокол сетевого управления SNMP TCP – Протокол управления передачей UDP – Протокол пользовательских дейтаграмм 6
Справка. Наиболее важные протоколы ® Изображение уточняет состав протоколов и показывает их взаимодействия приводится для справки 7
Задачи протоколов различных уровней 1. Физический уровень 2. Канальный уровень 3. обеспечивает передачу данных из конца в конец сети; делает сеть связной передает пакеты решает необходимую для передачи пакетов задачу маршрутизации Транспортный уровень 5. обеспечивает связность смежных узлов (передачу данных на однопролетном звене) передает фреймы (frame), мы говорим - кадры Сетевой уровень 4. обеспечивает стандартизацию сред передачи, (носителей, частой, контактов, типов модуляции, сигналов) обеспечивает взаимодействие приложений, определяет какому приложению доставить поток данных или сообщение передает сегменты данных (TCP) или дейтаграммы (UDP) Прикладной уровень решает специфические, утилитарные, необходимые скорее человеку, чем системе, задачи 8
Инкапсуляция протоколов ® поток данных T- сегмент данных L 3 (IP-) L 4 (T-) сегмент данных заголовок L 2 заголовок цифровой или аналоговый сигнал в канале При передаче данных от приложения в сеть транспортный, сетевой и канальный уровень последовательно упаковывают (инкапсулируют) данные «внутрь» своего пакета эта техника передачи одного протокола под заголовком ( «под видом» ) другого называется туннелированием Техника туннелирования трафика имеет фундаментальное значение в сетевой информационной безопасности. На ней построена архитектура IPsec и многие другие решения 9
Передача пакета через уровни стека TCP/IP • Процесс генерирует блок данных и передает его протоколу TCP, который с целью управления, может разбить этот блок на меньшие части. • К каждому такому фрагменту TCP присоединяет управляющую информацию (называемую заголовком TCP), формируя при этом сегмент TCP. • Далее протокол TCP передает каждый сегмент протоколу IP. • Протокол IP присоединяет к данным заголовок с управляющей информацией, формируя, таким образом, дейтаграмму IP. • На последнем этапе каждая дейтаграмма IP предоставляется уровню доступа к сети с целью передачи ее через первую сеть, находящуюся на ее пути к адресату. 10
® Архитектура TCP/IP 11
TCP/IP: независимость от среды передачи ® PPTP Ethernet 10 Base. T Ethernet 100 Base. T ® Wi. Fi Gigabit Ethernet FDDI L 2 TP ® В сущности, «носителями протоколов TCP/IP» являются не физические подсети, а стеки сетевых компьютеров (хостов) и шлюзов (маршрутизаторов) Физические подсети могут иметь различную природу и различные системы адресации канального уровня Стек TCP/IP устроен так, что от физической природы линии связи зависят только протоколы физического и канального уровней IP и вышележащие протоколы абстрактны и «обязаны» работать «поверх» всех физических сетей, независимо от их природы 12
IP-сеть ® Сеть – это совокупность подсетей, соединенных шлюзами (маршрутизаторами) подсеть – это целостное адресуемое пространство (в терминах IP-адресов) IP-адрес – уникальное число, приписываемое сетевому интерфейсу; по IP-адресу находится получатель пакета (детали позднее) шлюз – машина с 2 мя (или более) сетевыми интерфейсами, «смотрящими» в разные подсети ® App Trans IP NI HW App Trans IP NI HW Поток данных передается от приложения к приложению на оконечных устройствах, но на промежуточных устройствах (шлюзах) используются только три нижних уровня сетевого стека 13
Функциональная декомпозиция TCP/IP ® ® Канальный уровень – обеспечивает двухточечную связность IP (RFC 791, 950, 919, 922, 2474) – обеспечивает негарантированную дейтаграммную доставку пакетов по сети; 3 главных задачи IP и вспомогательных протоколов: адресация сетевых объектов (включая конфигурирование адресов) маршрутизация обмен служебной информацией, разрешение конфликтных ситуаций, диагностика ® 2 главных задачи транспортных протоколов: обеспечение заданного сервиса доставки данных мультиплексирование/демультиплексирование трафика приложений 14
® Протокол IP 15
IP пакет ® ® Структура IP-пакета Заголовок Данные ® ® Заголовок IP-пакета ® ® ® ® VERS, version – версия IP (4, 0010) HLENG, header length – длина заголовка TOTAL LENGTH – полная длина пакета ID, identification – номер (идентификатор) фрагмента FLG, flags - флаги FRAGMENTATION OFFSET – смещение фрагмента TTL, time to live – время жизни NEXT PROTOCOL – следующий протокол HEADER CHECKSUM – контрольная сумма заголовка SOURCE IP ADDRESS – адрес отправителя DESTINATION IP ADDRESS – адрес получателя IP OPTIONS – параметры (опции) PADDIND – заполнение (выравнивание) 16
Тип сервиса ® Поле SERVICE TYPE используется для управления приоритетом (качеством сервиса) PRED, predecence – приоритет: Структура поля SERVICE TYPE На обработке битов поля TOS строятся современные механизмы управления качеством сервиса (Quality of Service, Qo. S) для передачи голосового и видеотрафика • • 000: Routine 001: Priority 010: Immediate 011: Flash 100: Flash override 101: Critical 110: Internetwork control 111: Network control TOS, type of service – тип сервиса: • • • 1000: Minimize delay 0100: Maximize throughput 0010: Maximize reliability 0001: Minimize monetary cost 0000: Normal service MBZ – зарезервировано для последующего использования 17
Фрагментация ® MTU=1500 MTU=512 MTU=1500 Физические сети могут иметь различные размеры кадров (minimal transfer unit, MTU) если на пути пакета встречается сеть с MTU менее его размера, пакет фрагментируется фрагменты «собирает» в исходный пакет получатель ® Управляют фрагментацией поля ID, FLG, FRAG. OFFSET ID –уникальный идентификатор, единый для всех фрагментов серии поле FLG: Структура поля FLG: • 1 й бит – резерв, всегда 0 • 2 й бит – DF, Do not Fragment – запрещает фрагментацию • бит MF – More Fragments – 0 для нефрагментированного или последнего пакета в серии, 1 – в противном случае 18
фрагментация ® FRAG. OFFSET - указывает, на какой позиции в поле данных исходной дейтаграммы находится данный фрагмент 19
Время жизни IP пакета ® В силу ошибок маршрутизации или по другим причинам пакет может бесконечно циркулировать по некоторому пути в сети поскольку маршрутизатор обрабатывает IP в дейтаграммном режиме, т. е. «забывает» о всех переданных пакетах (не хранит предысторию) – такие пакеты могут «бродить по сети» вечно чтобы устранить перегрузку сети такими пакетами, введено поле TTL • хост-отправитель устанавливает TTL в некоторое заданной значение, отличное от нуля • при всякой переретрансляции промежуточные маршрутизаторы уменьшают значение TTL на единицу • когда поле TTL принимает значение 0 – пакет изымается из сети 20
Механизм IP-инкапсуляции ® IP может «нести» данные различных протоколов, номер «вложенного» протокола кодируется в поле NEXT PROTOCOL: Обратите внимание на множественность механизмов туннелирования трафика, заложенных в IP: IP может «нести» не только транспортные (TCP, UDP), служебные (ICMP, IGMP, GGP, EGP, OSPF), протоколы сетевой защиты (AH и ESP), но также нести «себя» (IP-IP инкапсуляция), IPv 6 0: Reserved 1: Internet Control Message Protocol (ICMP) 2: Internet Group Management Protocol (IGMP) 3: Gateway-to-Gateway Protocol (GGP) 4: IP (IP encapsulation) 5: Stream 6: Transmission Control Protocol (TCP) 8: Exterior Gateway Protocol (EGP) 9: Private Interior Routing Protocol 17: User Datagram Protocol (UDP) 41: IP Version 6 (IPv 6) 50: Encap Security Payload (ESP) 51: Authentication Header (AH) 89: Open Shortest Path First (OSPF) 21
Целостность IP-пакетов ® IP (если не применяются специальные протоколы защиты информации) вообще не следит за целостностью IPпакетов в этом есть резон, поскольку за целостностью данных «следят» протоколы канального и транспортного уровня, IP ни к чему дублировать их функциональность единственная проверка, которую обеспечивает IP – проверка целостности собственной служебной информации (контрольная сумма заголовка пакета) 22
Options и Padding ® ® ® Options опции, поле переменной длины. Опций может быть: одна, несколько или ни одной. Опции определяют дополнительные услуги модуля IP по обработке дейтаграммы, в заголовок которой они включены. Padding выравнивание заголовка по границе 32 битного слова, если список опций занимает не все поле. Поле “Padding” заполняется нулями. 23
Опции ® ® ® ® Опции определяют дополнительные услуги протокола IP по обработке дейтаграмм. Опция состоит, как минимум, из октета “Тип опции”, за которым могут следовать октет “Длина опции” и октеты с данными для опции. Структура октета “Тип опции”: Значения бита С: 1 - опция копируется во все фрагменты; 0 - опция копируется только в первый фрагмент. Определены два класса опций: “Управление” и “Измерение и отладка”. Внутри класса опция идентифицируется номером. Ниже приведены опции, описанные в стандарте протокола IP; знак “ ” в столбце “Октет длины” означает, что опция состоит только из октета “Тип опции”, число рядом с плюсом означает, что опция имеет фиксированную длину (длина указывается в октетах). 24
Опции 25
Опции ® ® Большинство опций в настоящее время не используются. Опции “Stream ID” и “Безопасность” применялись в ограниченном круге экспериментов, функции опций “Запись маршрута” и “Internet Timestamp” выполняет программа traceroute. Определенный интерес представляют только опции “Loose/Strict Source Routing”. Применение опций в дейтаграммах замедляет их обработку. Поскольку большинство дейтаграмм не содержат опций, то есть имеют фиксированную длину заголовка, их обработка максимально оптимизирована именно для этого случая. Появление опции прерывает этот скоростной процесс и вызывает стандартный универсальный модуль IP, способный обработать любые стандартные опции, но за счет существенной потери в быстродействии. 26
Опции “Loose/Strict Source Routing” (класс 0, номера 3 и 9 соответственно) предназначены для указания дейтаграмме предопределенного отправителем маршрута следования. ® Опции работают следующим образом. ® Предположим, дейтаграмма, посланная из A в B, должна проследовать через маршрутизаторы G 1 и G 2. На выходе из А поле “Destination Address” заголовка дейтаграммы содержит адрес G 1, а поле данных опции адреса G 2 и В. По прибытии дейтаграммы в G 1 из поля данных опции извлекается адрес следующего пункта (G 2) и помещается в поле “Destination Address”, а на место адреса G 2 в поле данных опции помещается адрес того интерфейса маршрутизатора G 1, через который дейтаграмма будет отправлена по новому месту назначения (то есть в G 2). По прибытии дейтаграммы в G 2 процедура повторяется и дейтаграмма отсылается в пункт В. При обработке дейтаграммы в В обнаруживается, что конечный пункт маршрута достигнут. 27
Опции “Loose/Strict Source Routing” ® ® ® Отличия опций “Loose Source Routing” и “Strict Source Routing” друг от друга заключаются в следующем: “Loose”: очередной пункт требуемого маршрута может быть достигнут за любое количество шагов (хопов); “Strict”: очередной пункт требуемого маршрута должен быть достигнут за 1 шаг, то есть непосредственно. Рассмотренные опции копируются во все фрагменты. В дейтаграмме может быть только одна такая опция. Опции “Loose/Strict Source Routing” могут быть использованы в целях несанкционированного проникновения через контролирующий (фильтрующий) узел (в поле “Destination Address” устанавливается разрешенный адрес, дейтаграмма пропускается контролирующим узлом, далее из поля данных опции подставляется запрещенный адрес и дейтаграмма перенаправляется по этому адресу уже за пределами досягаемости контролирующего узла), поэтому в целях безопасности рекомендуется вообще запретить пропуск контролирующим узлом дейтаграмм с рассматриваемыми опциями. 28