Сети ЭВМ и телекоммуникации. TCP/IP Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol ) набор сетевых протоколов разных уровней.

Презентация:



Advertisements
Похожие презентации
Сети ЭВМ и телекоммуникации. TCP/IP Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol ) набор сетевых протоколов разных уровней.
Advertisements

Тема 11 Транспортный уровень сети Internet Презентацию лекций разработал доцент кафедры оптимизации систем управления Томского политехнического университета.
Процессы и протоколы в сети. Модель сетевых коммуникаций OSI Прикладной Представления Сеансовый Транспортный Сетевой Канальный Физический 7 уровней.
Работа протоколов стека TCP/IP Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС Красноармейск 2011 г.
Стек протоколов TCP/IP IPv4, IPv6, ICMP, ARP, RARP,TCP, UDP.
Стандартизация сетевого взаимодействия СТАНДАРТИЗАЦИЯ ПРОЦЕДУР: - выделения и освобождения ресурсов компьютеров, линий связи и коммуникационного оборудования;
Сети и Интернет. Интернет, ЛВС История развития сетей Мейнфреймы: Один многозадачный компьютер Множество рабочих терминалов.
Ethernet Протокол физического и канального уровня Алгоритм доступа к разделяемой среде Узел передает данные, когда считает, что среда свободна Простой.
Итоги Сети и системы телекоммуникаций Созыкин А.В.
Транспортный уровень стека протоколов TCP/IP. К передающей среде Протоколы межсетевых интерфейсов RARP Протоколы инкапсуляции в кадры Ethernet, FR, TR,
Протоколы Интернет Выполнила Трайт Анастасия ПИМО I курс.
Сетевой Канальный Физический Прикладной Представит. Сеансовый Транспортный Сетевой Канальный Физический Прикладной Представит. Сеансовый Транспортный Сетевой.
ICMP межсетевой протокол управляющих сообщений Выполнил: студент группы СУ-61 Французов Виталий.
каф. Вычислительной техники, Тихоокеанский государственный университет, г. Хабаровск, вед.преп. Шоберг А.Г. 1 Стек протоколов TCP/IP Описание.
Учебная дисциплина «Компьютерные коммуникации и сети» для студентов специальности «Профессиональное обучение» Лекция 19 НАЗНАЧЕНИЕ И ОСОБЕННОСТИ ПРИМЕНЕНИЯ.
МОДЕЛЬ OSI 2 OSI-ISO Сетевая модель OSI Open Systems Interconnection модель взаимодействие открытых систем ISO International Standards Organization Модель.
1 Передача голоса в сетях связи VoiceIP Диапазон воспринимаемых человеком звуковых частот находится в интервале между десятками герц и десятками килогерц,
Сетевой уровень Сети и системы телекоммуникаций Созыкин А.В.
МОДЕЛЬ OSI 2 OSI-ISO Сетевая модель OSI Open Systems Interconnection модель взаимодействие открытых систем ISO International Standards Organization Модель.
Работа протоколов стека TCP/IP Борисов В.А. Красноармейский филиал ГОУ ВПО «Академия народного хозяйства при Правительстве РФ» Красноармейск 2010 г.
Транксрипт:

Сети ЭВМ и телекоммуникации

TCP/IP Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol ) набор сетевых протоколов разных уровней модели сетевого взаимодействия. Протоколы работают друг с другом таком образом, что протокол, располагающийся на уровне выше, работает «поверх» нижнего, используя механизмы инкапсуляции. Например, протокол TCP работает поверх протокола IP. Стек протоколов TCP/IP включает в себя протоколы четырёх уровней: – прикладного (application), – транспортного (transport), – сетевого (network), – канального (data link). Протоколы этих уровней полностью реализуют функциональные возможности модели OSI. На стеке протоколов TCP/IP построено всё взаимодействие пользователей в IP-сетях. Стек является независимым от физической среды передачи данных.

Распределение протоколов по уровням модели OSI 7Прикладной HTTPHTTP, SMTP, SNMP, FTP, Telnet, SSH, SCP, SMB, NFS, RTSPSMTPSNMPFTPTelnetSSHSCP SMBNFSRTSP 6ПредставленияXDRXDR, AFP, TLS, SSLAFPTLSSSL 5Сеансовый ISO 8327 / CCITT X.225, RPC, NetBIOS, ASPRPCNetBIOSASP 4Транспортный TCP, UDP, SCTP, SPX, RTP, ATP, DCCP, GRETCPUDPSCTPSPXRTPATPDCCPGRE 3Сетевой IP, PPP, ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP, ARP, RARP, BGPIPPPPICMPIGMPCLNPOSPFRIPIPXARPRARPBGP 2Канальный EthernetEthernet, Token ring, HDLC, X.25, Frame relay, ISDN, ATM, MPLSToken ringHDLCX.25Frame relayISDNATMMPLS 1Физический электрические проводаэлектрические провода, радиосвязь, волоконно- оптические провода, Wi-Fiрадиосвязьволоконно- оптические проводаWi-Fi

Распределение протоколов по уровням модели TCP/IP 5 Прикладной «7 уровень» HTTPHTTP, RTP, FTP, DNS, RIPRTPFTPDNSRIP 4ТранспортныйTCPTCP, UDP, SCTP, DCCP, OSPFUDPSCTPDCCPOSPF 3Сетевой IP (IP), ICMP и IGMP, ARP IPICMPIGMPARP 2Канальный EthernetEthernet, IEEE Wireless Ethernet, SLIP, Token Ring, ATM и MPLSIEEE Wireless EthernetSLIPToken RingATMMPLS 1Физический физическая среда и принципы кодирования информации

Канальный уровень Описывает, каким образом передаются пакеты данных через физический уровень, включая кодирование. Примеры протоколов канального уровня Ethernet, IEEE Wireless Ethernet, SLIP, Token Ring, ATM и MPLS.EthernetIEEE Wireless EthernetSLIPToken RingATMMPLS PPP (Point-to-Point Protocol) двухточечный протокол канального уровня (Data Link) сетевой модели OSI (используется xDSL-сервисами). xDSL PPP представляет собой целое семейство протоколов: – протокол управления линией связи (LCP),LCP – протокол управления сетью (NCP),NCP – протоколы аутентификации (PAP, CHAP),PAPCHAP – многоканальный протокол PPP (MLPPP). MPLS (Multiprotocol Label Switching мультипротокольная коммутация по меткам) механизм в высокопроизводительной телекоммуникационной сети, осуществляющий передачу данных от одного узла сети к другому с помощью меток. Канальный уровень иногда разделяют на 2 подуровня: – Logical Link Control (LLC) подуровень управления логической связью по стандарту IEEE 802 ;IEEE 802 – MAC-адрес (Media Access Control) управление доступом к среде на уровне Hardware Address). MAC это уникальный идентификатор, присваиваемый каждой единице оборудования (управляется IEEE:MAC-48, EUI-48 и EUI-64).IEEEMAC-48EUI-48EUI-64

Работа PPPoE Существует Ethernet-среда – несколько соединённых сетевых карт, которые адресуются MAC-адресами. Заголовки Ethernet-кадров содержат адрес отправителя кадра, адрес получателя кадра и тип кадра.Ethernet Одну из карт слушает PPPoE-сервер. Клиент посылает широковещательный Ethernet-кадр, на который должен ответить PPPoE- сервер (адрес отправителя кадра свой MAC-адрес, адрес получателя кадра FF:FF:FF:FF:FF:FF и тип кадра PPPoE Active Discovery Initiation).сервер PPPoE сервер посылает клиенту ответ (адрес отправителя кадра свой MAC-адрес, адрес получателя кадра МАС-адрес клиента и тип кадра PPPoE Active Discovery Offer). Если в сети несколько PPPoE серверов, то все они посылают ответ. Клиент выбирает подходящий сервер и посылает ему запрос на соединение. Сервер посылает клиенту подтверждение с уникальным идентификатором сессии, все последующие кадры в сессии будут иметь этот идентификатор. Таким образом, между сервером и клиентом создается виртуальный канал, который идентифицируется идентификатором сессии и MAC- адресами клиента и сервера. Затем в этом канале устанавливается PPP соединение, а уже в PPP пакеты упаковывается IP-трафик.IP

MPLS Каждый маршрутизатор в сети MPLS просматривает свою таблицу маршрутизации и назначает каждому префиксу (маршруту) метку, которую заносит в базу LIB (Label Information Base). По протоколу LDP (Label Distribution Protocol) маршрутизатор сообщает всем соседям, какие метки каким префиксам он назначил, и соседи заносят эту информацию в таблицу под названием LFIB (Label Forwarding Information Base), вместе с меткой, которую они назначили каждому префиксу. Процесс повторяется на каждом следующем устройстве. Пусть в сеть MPLS входит IP пакет. Первый LSR (Label Switched Router маршрутизатор с включенным MPLS) анализирует IP-заголовок и находит у себя в таблице LFIB нужный маршрут. Отпределяет метку которую ожидает увидеть сосед. Получив пакет с меткой, соседний маршрутизатор изучает только метку. Он не смотрит ни на mac-адреса, ни на IP- адреса. Он просматривает свою LFIB и находит пункт, в котором в поле Local Label (т.е. «назначенная им же метка») определена сеть. В соседних графах будет сказано, по какому интерфейсу следует отправить пакет и какую метку ожидает увидеть сосед на пакете до этой подсети. Метка в пакете заменяется и пакет следует дальше. Процесс продолжается, пока пакет не дойдет до последнего в цепочке LSR. Тот опять смотрит на принятую метку, открывает LFIB и видит, что дальше пакет следует посылать уже без метки.

Сетевой уровень Разработан для передачи данных из одной сети в любую другую сеть, независимо от протоколов нижнего уровня. Существует необходимость запрашивать данные от удалённой стороны, например, в протоколе ICMP (используется для передачи диагностической информации IP-соединения) и IGMP (используется для управления multicast-потоками). ICMP и IGMP расположены над IP и должны попасть на следующий уровень транспортный, но функционально являются протоколами сетевого уровня. Пакеты сетевого протокола IP могут содержать код, указывающий, какой именно протокол следующего уровня нужно использовать, чтобы извлечь данные из пакета. Это число уникальный IP- номер протокола. ICMP и IGMP имеют номера, соответственно, 1 и 2.

Транспортный уровень Протоколы решают проблему доставки сообщений («дошло ли сообщение до адресата?»), а также решают возможность гарантии правильной последовательности прихода данных. В стеке TCP/IP транспортные протоколы определяют, для какого именно приложения предназначены эти данные. Transmission Control Protocol (TCP) (протокол управления передачей) один из основных сетевых протоколов Интернета, предназначенный для управления передачей данных в сетях и подсетях TCP/IP. TCP позволяет регулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности. User Datagram Protocol (UDP) (протокол пользовательских дейтаграмм) это транспортный протокол для передачи данных в сетях IP без установления соединения. Он является одним из самых простых протоколов транспортного уровня модели OSI. Его IP-идентификатор 0x11. UDP обычно используется в таких приложениях, как потоковое видео и компьютерные игры, где допускается потеря пакетов, а повторный запрос затруднён или не оправдан, либо в приложениях вида запрос-ответ (например, запросы к DNS), где создание соединения занимает больше ресурсов, чем повторная отправка. TCP и UDP используют для определения протокола верхнего уровня число, называемое портом.

IP Internet Protocol межсетевой протокол. Относится к маршрутизируемым протоколам сетевого уровня семейства TCP/IP. Протокол IP используется для негарантированной доставки данных, разделяемых на пакеты от одного узла сети к другому. На уровне этого протокола не даётся гарантий надёжной доставки пакета до адресата. Пакеты могут прийти не в том порядке, в котором были отправлены, дублироваться, оказаться повреждёнными или не прибыть вовсе. Гарантию безошибочной доставки пакетов дают протоколы транспортного уровня сетевой модели OSI, например, TCP которые используют IP в качестве транспорта.

IP-пакет IP-пакет это форматированный блок информации, передаваемый по вычислительной сети на уроне IP.

Версия 4 (IPv4) ВерсияIHLТип обслуживанияДлина пакета ИдентификаторФлагиСмещение фрагмента Время жизни (TTL)ПротоколКонтрольная сумма заголовка IP-адрес отправителя (32 бита) IP-адрес получателя (32 бита) Параметры (от 0 до 10-ти 32-х битных слов) Данные (до байт минус заголовок)

IHL длина заголовка IP-пакета в 32-битных словах (dword). Это поле указывает на начало блока данных в пакете. Минимальное корректное значение для этого поля равно 5. Идентификатор значение, назначаемое отправителем пакета и предназначенное для определения корректной последовательности фрагментов при сборке дейтаграммы. Для фрагментированного пакета все фрагменты имеют одинаковый идентификатор. Флаги: – Первый бит должен быть всегда равен нулю, – Второй бит DF (dont fragment) определяет возможность фрагментации пакета, – Третий бит MF (more fragments) показывает, не является ли этот пакет последним в цепочке пакетов. Смещение фрагмента значение, определяющее позицию фрагмента в потоке данных. Время жизни (TTL) число маршрутизаторов, которые должен пройти этот пакет. При прохождении маршрутизатора это число уменьшатся на единицу. Если значения этого поля равно нулю то, пакет должен быть отброшен и отправителю пакета может быть послано сообщение Time Exceeded (ICMP код 11 тип 0). Протокол идентификатор протокола следующего уровня (номер протокола следующего уровня). Контрольная сумма заголовка вычисляется с использованием операций поразрядного сложения 16-разрядных слов заголовка по модулю 2.

IPv6 Байт0123 Бит ВерсияКласс трафикаМетка потока 432Длина полезной нагрузкиСлед. заголовокЧисло переходов 864 IP-адрес отправителя IP-адрес получателя

Версия для IPv6 значение поля должно быть равно 6. Класс трафика определяет приоритет трафика (QoS – качество обслуживания).QoS Метка потока уникальное число, одинаковое для однородного потока пакетов. Длина полезной нагрузки длина данных (заголовок IP- пакета не учитывается). Следующий заголовок задаёт тип расширенного заголовка (IPv6 extension), который идёт следующим. В последнем расширенном заголовке поле Next header задаёт тип транспортного протокола (TCP, UDP и т.д.) и определяет следующий инкапсулированный уровень. Число переходов максимальное число маршрутизаторов, которые может пройти пакет. При прохождении маршрутизатора это значение уменьшается на единицу и по достижении нуля пакет отбрасывается.

Заголовок сегмента TCP Бит Порт источникаПорт назначения 32Номер последовательности 64Номер подтверждения 96 Смещен ие данных Зарезерв ировано ФлагиРазмер Окна 128Контрольная сумма Указатель важности 160 Опции (необязательное, но используется практически всегда) 160/ 192+ Данные Указатель важности – 16-битовое значение положительного смещения от порядкового номера в данном сегменте. Поле указывает порядковый номер байта, которым заканчиваются важные данные. Поле принимается во внимание только для пакетов с установленным флагом URG. Флаги (управляющие биты): URG «Указатель важности»; ACK «Номер подтверждения» ; PSH (Push function) инструктирует получателя протолкнуть данные, накопившиеся в приемном буфере, в приложение пользователя; RST (Reset the connection) оборвать соединения; SYN (Synchronize sequence numbers) синхронизация номеров последовательности; FIN (FIN bit) флаг указывает на завершение соединения.

Номер последовательности Выполняет две задачи: – Если установлен флаг SYN, то это начальное значение номера последовательности ISN (Initial Sequence Number), и первый байт данных, которые будут переданы в следующем пакете, будет иметь номер последовательности, равный ISN + 1. – В противном случае, если SYN не установлен, первый байт данных, передаваемый в данном пакете, имеет этот номер последовательности. Поскольку поток TCP в общем случае может быть длиннее, чем число различных состояний этого поля, то все операции с номером последовательности должны выполняться по модулю Это накладывает практическое ограничение на использование TCP. Если скорость передачи коммуникационной системы такова, чтобы в течение MSL (максимального времени жизни сегмента) произошло переполнение номера последовательности, то в сети может появиться два сегмента с одинаковым номером, относящихся к разным частям потока, и приёмник получит некорректные данные.

Номер подтверждения – Если установлен флаг ACK, то это поле содержит номер последовательности, ожидаемый получателем в следующий раз. Помечает этот сегмент как подтверждение получения. Смещение данных – Это поле определяет размер заголовка пакета TCP в 4-байтных словах. Минимальный размер составляет 5 слов, а максимальный 15, что составляет 20 и 60 байт соответственно. Смещение считается от начала заголовка TCP.

TCP-порты Существует набор служб (использующих для передачи данных TCP), за которыми закреплены определенные порты: 20/21 FTPFTP 22 SSHSSH 23 TelnetTelnet 25 SMTPSMTP 80 HTTPHTTP 110 POP3POP3 194 IRC (Internet Relay Chat)IRC (Internet Relay Chat) 443 HTTPS (Secure HTTP)HTTPS (Secure HTTP) 1863 MSN MessengerMSN Messenger 2000 Cisco SCCP (VoIP)Cisco SCCP (VoIP) 3389 RDPRDP 8080 альтернативный порт HTTPHTTP

UDP-заголовок Биты Порт отправителя (Source port)Порт получателя (Destination port) 32-63Длина датаграммы (Length)Контрольная сумма (Checksum) Данные (Data) UDP используется в следующих протоколах: DNSDNS, RTP и RTCP, RTMFP, TFTP, SNTP, NTP, NFS, DHCPRTPRTCPRTMFPTFTPSNTPNTPNFSDHCP

Максимальная длина данных пакета На практике нерационально использовать максимальную величину IP пакета, так как такой размер превышает MTU основных протоколов канального уровня, и следовательно требует фрагментации IP пакета, поэтому обычно используется размер, соотнесенный с MTU используемого канального протокола. Maximum Transmission Unit (MTU) используется для определения максимального размера блока данных в одном пакете, который может быть передан на канальном уровне сетевой модели OSI. Значения MTU зависят от коммуникационного интерфейса (сетевая плата, последовательный порт, и т. д.). Значение MTU может быть определено стандартом (например, для Ethernet 1500 байт), либо MTU может выбираться в момент установки соединения (обычно в случае прямых подключений точка- точка).Ethernet

Ограничение на максимальный размер кадра – Для уменьшения времени на повторную передачу в случае потери или неисправимого искажения пакета. – Чтобы при полудуплексном режиме работы хост не занимал долгое время канал. – Чем больше отправляемый пакет, тем больше ожидание отправления других пакетов, особенно в последовательных интерфейсах. – Малый размер и быстродействие сетевых буферов входящих и исходящих пакетов. Значение MTU определяется стандартом соответствующего протокола, но может быть переопределено автоматически для определённого потока или вручную для нужного интерфейса. На некоторых интерфейсах MTU по умолчанию может быть установлено ниже максимально возможного. Значение MTU ограничено снизу как правило минимально допустимой длиной кадра.

Зависимость скорости от MTU

Таблица основных значений MTU ИнтерфейсЗначение MTU InternetInternet Path MTU (RFC 879)RFC EthernetEthernet (RFC 1191)RFC (RFC 1191)RFC [1] Token ringToken ring4464 FDDIFDDI (RFC 1191)RFC

MRU MRU (Maximum Receive Unit) максимальный размер данных, передаваемых в пакете протокола PPP, не включая заголовок пакета. Значение MRU определяется протоколом LCP, входящим в семейство PPP и принимается по умолчанию равным 1500 октетов. В случае, если запрашивается меньшее значение, система обязана быть готовой к приёму полноразмерного пакета при потери синхронизации.LCP Используется в протоколе PPPoE. Поскольку максимальный размер данных в кадре Ethernet равен 1500 байт, из которых 6 байт занимает заголовок PPPoE и 2 байта идентификатор протокола, величина MRU не должна превышать 1492 байта.PPPoEEthernet

Механизм действия протокола TCP Протокол TCP устанавливает соединения, которые должны быть созданы перед передачей данных. TCP соединение можно разделить на 3 стадии: Установка соединения; Передача данных; Завершение соединения.

Состояния сеанса TCP CLOSED Начальное состояние узла LISTEN Сервер ожидает запросов установления соединения от клиента SYN-SENT Клиент отправил запрос серверу на установление соединения и ожидает ответа SYN-RECEIVED Сервер получил запрос на соединение, отправил ответный запрос и ожидает подтверждения ESTABLISHED Соединение установлено, идёт передача данных FIN-WAIT-1 Одна из сторон (назовём её узел-1) завершает соединение, отправив сегмент с флагом FIN CLOSE-WAIT Другая сторона (узел-2) переходит в это состояние, отправив, в свою очередь сегмент ACK и продолжает одностороннюю передачу FIN-WAIT-2 Узел-1 получает ACK, продолжает чтение и ждёт получения сегмента с флагом FIN LAST-ACK Узел-2 заканчивает передачу и отправляет сегмент с флагом FIN TIME-WAIT Узел-1 получил сегмент с флагом FIN, отправил сегмент с флагом ACK и ждёт 2*MSL секунд, перед окончательным закрытием соединения CLOSING Обе стороны инициировали закрытие соединения одновременно: после отправки сегмента с флагом FIN узел-1 также получает сегмент FIN, отправляет ACK и находится в ожидании сегмента ACK (подтверждения на свой запрос о разъединении)

Установка соединения Процесс начала сеанса TCP называется «тройным рукопожатием»: 1. Клиент, который намеревается установить соединение, посылает серверу сегмент с номером последовательности и флагом SYN. – Сервер получает сегмент, запоминает номер последовательности и пытается создать сокет (буферы и управляющие структуры памяти) для обслуживания нового клиента. В случае успеха сервер посылает клиенту сегмент с номером последовательности и флагами SYN и ACK, и переходит в состояние SYN-RECEIVED. В случае неудачи сервер посылает клиенту сегмент с флагом RST. 2. Если клиент получает сегмент с флагом SYN, то он запоминает номер последовательности и посылает сегмент с флагом ACK. – Если он одновременно получает и флаг ACK (что обычно и происходит), то он переходит в состояние ESTABLISHED. – Если клиент получает сегмент с флагом RST, то он прекращает попытки соединиться. – Если клиент не получает ответа в течение 10 секунд, то он повторяет процесс соединения заново. 3. Если сервер в состоянии SYN-RECEIVED получает сегмент с флагом ACK, то он переходит в состояние ESTABLISHED. – В противном случае после таймаута он закрывает сокет и переходит в состояние CLOSED.

Пример 3-этапного согласования TCP A TCP B 1. CLOSED LISTEN 2. SYN-SENT --> --> SYN-RECEIVED 3. ESTABLISHED --> ESTABLISHED 5. ESTABLISHED --> --> ESTABLISHED

Завершение соединения Посылка серверу от клиента флагов FIN и ACK на завершение соединения. Сервер посылает клиенту флаги ответа ACK, FIN, что соединение закрыто. После получения этих флагов клиент закрывает соединение и в подтверждение отправляет серверу ACK, что соединение закрыто.