1 / 32

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

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

peri
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. TCP/IP • Стек протоколов TCP/IP (TransmissionControlProtocol/InternetProtocol ) — набор сетевых протоколов разных уровней модели сетевого взаимодействия. • Протоколы работают друг с другомтаком образом, что протокол, располагающийся на уровне выше, работает «поверх» нижнего, используя механизмы инкапсуляции. Например, протокол TCP работает поверх протокола IP. • Стек протоколов TCP/IP включает в себя протоколы четырёх уровней: • прикладного (application), • транспортного (transport), • сетевого (network), • канального (datalink). • Протоколы этих уровней полностью реализуют функциональные возможности модели OSI. • На стеке протоколов TCP/IP построено всё взаимодействие пользователей в IP-сетях. • Стек является независимым от физической среды передачи данных.

  3. Распределение протоколов по уровням модели OSI

  4. Распределение протоколов по уровням модели TCP/IP

  5. Канальный уровень • Описывает, каким образом передаются пакеты данных через физический уровень, включая кодирование . • Примеры протоколов канального уровня — Ethernet, IEEE 802.11WirelessEthernet, SLIP, TokenRing, ATM и MPLS. • PPP (Point-to-Point Protocol) — двухточечный протокол канального уровня (Data Link) сетевой модели OSI (используется xDSL-сервисами).  • PPP представляет собой целое семейство протоколов: • протокол управления линией связи (LCP), • протокол управления сетью (NCP), • протоколы аутентификации (PAP, CHAP), • многоканальный протокол PPP (MLPPP). • MPLS (MultiprotocolLabelSwitching — мультипротокольная коммутация по меткам) — механизм в высокопроизводительной телекоммуникационной сети, осуществляющий передачу данных от одного узла сети к другому с помощью меток. • Канальный уровень иногда разделяют на 2 подуровня: • LogicalLinkControl (LLC) — подуровень управления логической связью — по стандарту IEEE 802 ; • MAC-адрес (MediaAccessControl) — управление доступом к среде на уровне HardwareAddress). MAC — это уникальный идентификатор, присваиваемый каждой единице оборудования (управляется IEEE:MAC-48, EUI-48 и EUI-64).

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

  7. 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 и видит, что дальше пакет следует посылать уже без метки. 

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

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

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

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

  12. Версия 4 (IPv4)

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

  14. IPv6

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

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

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

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

  19. TCP-порты Существует набор служб (использующих для передачи данных TCP), за которыми закреплены определенные порты: 20/21  — FTP 22 — SSH 23 — Telnet 25 — SMTP 80 — HTTP 110 — POP3 194 — IRC (Internet Relay Chat) 443 — HTTPS (Secure HTTP) 1863 — MSN Messenger 2000 — Cisco SCCP (VoIP) 3389 — RDP 8080 — альтернативный порт HTTP

  20. UDP-заголовок UDP используется в следующих протоколах: DNS, RTPи RTCP, RTMFP, TFTP, SNTP, NTP, NFS, DHCP

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

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

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

  24. Таблица основных значений MTU

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

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

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

  28. Пример 3-этапного согласования TCP A TCP B 1. CLOSED LISTEN 2. SYN-SENT --> <SEQ=100><CTL=SYN> --> SYN-RECEIVED 3. ESTABLISHED <-- <SEQ=101><CTL=SYN,ACK> <-- SYN-RECEIVED 4. ESTABLISHED --> <SEQ=101><CTL=ACK> --> ESTABLISHED 5. ESTABLISHED --> <SEQ=101><CTL=ACK><DATA> --> ESTABLISHED

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

More Related