- •Типовые топологии сетей.
- •Адресация в lan. Протокол arp.
- •15. IPv4-адресация. Классы ip адресов. Специальные адреса. Маска подсети. Подсети (зачем, как строятся). IPv6-адресация.
- •Классы ip адресов и маски подсети по умолчанию
- •Классовая и бесклассовая адресация
- •Назначение маски подсети
- •Сравнение с iPv4
- •Формат ip-дейтаграммы. Структура пакета
- •20. (Протокол icmp (определение, работа, доставка, форматы основных сообщений)).
- •Протокол транспортного уровня udp (определение, порты, инкапсуляция, формат, мультиплексирование и демультиплексирование).
- •Сегменты tcp
- •Порты и установление tcp-соединений
- •Концепция квитирования
- •Реализация скользящего окна в протоколе tcp
- •Выбор тайм-аута
- •Реакция на перегрузку сети
- •Формат сообщений tcp
- •Дистанционно-векторный протокол rip
- •Комбинирование различных протоколов обмена. Протоколы egp и bgp сети Internet
- •Протокол состояния связей ospf
- •Протокол rip (функционирование, примеры работы, формат сообщения).
- •25. Протокол состояния соединений Open Shortest Path Firs или ospf
- •Механизмы передачи фреймов
- •[Править]Пример сети для демонстрации использования механизмов передачи фреймов
- •Протокол stp (терминология, механизм работы, состояния портов). Протокол vtp (определение, механизм работы). Транк ( на примере vtp – общие концепции).
- •Основные понятия
- •[Править]Скорость передачи и стоимость пути
- •[Править]Важные правила
- •[Править]Алгоритм действия stp (Spanning Tree Protocol)
- •[Править]Порты
- •Общие положения протокола vtp
- •Преимущества
- •[Править]Недостатки
- •[Править]Пример
- •[Править]Применение
- •Режимы и типы пакетов X.25:
- •Сравнение:
- •1. Пространство имен dns
- •Imap (англ. Internet Message Access Protocol) — протокол прикладного уровня для доступа к электронной почте.
- •Методы:
20. (Протокол icmp (определение, работа, доставка, форматы основных сообщений)).
Протокол транспортного уровня udp (определение, порты, инкапсуляция, формат, мультиплексирование и демультиплексирование).
UDP (англ. User Datagram Protocol — протокол пользовательских дейтаграмм) — это транспортный протокол для передачи данных в сетях IP без установления соединения. Он является одним из самых простых протоколов транспортного уровня модели OSI. Его IP-идентификатор — 0x11.
UDP не подтверждает доставку данных, не заботится о корректном порядке доставки и не делает повторов. Зато отсутствие соединения, дополнительного трафика и возможность широковещательных рассылок делают его удобным для применений, где малы потери, в массовых рассылках локальной подсети, в медиапротоколах и т.п.
Инкапсуляция:
Состав UDP-датаграммы.
Первые 64 бита (8 байт) датаграммы представляют собой UDP-заголовок, остальные биты — данные сообщения:
Биты |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
|
0-31 |
Порт отправителя (Source port) |
Порт получателя (Destination port) |
|||||||||||||||||||||||||||||||
32-63 |
Длина датаграммы (Length) |
Контрольная сумма (Checksum) |
|||||||||||||||||||||||||||||||
64-... |
Данные (Data) |
UDP-заголовок не содержит информации об адресе отправителя и получателя, поэтому даже при совпадении порта получателя нельзя с точностью сказать, что сообщение пришло в нужное место. Для проверки того, что UDP-сообщение достигло пункта своего назначения, используется дополнительный псевдозаголовок:
Биты |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
|
0-31 |
IP-адрес отправителя (Source address) |
||||||||||||||||||||||||||||||||
32-63 |
IP-адрес получателя (Destination address) |
||||||||||||||||||||||||||||||||
64-95 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Протокол (Protocol) |
Длина UDP-датаграммы (UDP length) |
Поле «протокол» содержит в себе значение 17 (00010001 в двоичном виде, 0x11 — в шестнадцатеричном) — идентификатор UDP-протокола. Поле «длина UDP-датаграммы» содержит в себе длину UDP-сообщения (UDP-заголовок + данные; длина псевдозаголовка не учитывается) в октетах, то есть совпадает с одноименным полем в UDP-заголовке.
Псевдозаголовок не включается в UDP-сообщение. Он используется для расчета контрольной суммы перед отправлением сообщения и при его получении (получатель составляет свой псевдозаголовок, используя адрес хоста, с которого пришло сообщение, и собственный адрес, а затем считает контрольную сумму).
В протоколах TCP и UDP (семейства TCP/IP) порт — идентифицируемый номером системный ресурс, выделяемый приложению, выполняемому на некотором сетевом хосте, для связи с приложениями, выполняемыми на других сетевых хостах (в том числе c другими приложениями на этом же хосте). По сути, порт — адресуемый участок оперативной памяти устройства, предназначенный для сетевого взаимодействия.
Для каждого из протоколов TCP и UDP стандарт определяет возможность одновременного выделения на хосте до 65536 уникальных портов, идентифицирующихся номерами от 0 до 65535. При передаче по сети номер порта в заголовке пакета используется (вместе с IP-адресом хоста) для адресации конкретного приложения (и конкретного, принадлежащего ему, сетевого соединения).
Порты TCP не пересекаются с портами UDP. То есть, порт 1234 протокола TCP не будет мешать обмену по UDP через порт 1234.
Теоретически мультиплексирование и демультиплексирование дейтаграмм между программами протокола UDP и прикладными программами должно выполняться исключительно на основе номеров портов. На практике же, прежде чем прикладная программа сможет посылать UDP-дейтаграммы, она должна обратиться к операционной системе и получить стандартный номер порта для данного протокола и ассоциированный с ним номер порта1. После назначения номера порта прикладная программа может отправлять через этот порт пользовательские дейтаграммы. При этом номер выделенного порта будет автоматически занесен в поле номера порта отправителя заголовка UDP-дейтаграммы.
Пример демультиплексирования. При выборе соответствующего номера порта для поступивших дейтаграмм в программе протокола UDP используется поле номера порта получателя заголовка UDP-дейтаграммы. Проще всего представить UDP-порт в виде очереди. В большинстве реализаций протокола при обращении прикладной программы к операционной системе за выделением порта последняя создает внутреннюю очередь, в которую помещаются прибывающие в порт сообщения. Часто прикладной программе разрешается указывать операционной системе размер очереди сообщений или изменять его в процессе работы. При поступлении дейтаграммы в модуль протокола UDP проверяется номер порта получателя. Программа проверяет, был ли выделен указанный в заголовке UDP-дейтаграммы номер порта одной из запущенных прикладных программ. Если указанный номер порта не найден, программа протокола UDP посылает отправителю дейтаграммы ICMP-сообщение о недоступности указанного порта (port unreachable), после чего аннулирует дейтаграмму. Если номер порта найден, прибывшая дейтаграмма помещается в ассоциированную с ним очередь, откуда ее сможет прочитать прикладная программа. В случае переполнения очереди сообщений отправляется соответствующее сообщение об ошибке, и дейтаграмма аннулируется.
Протокол транспортного уровня TCP (порты, установление соединения, сегменты и потоки, метод скользящего окна, выбор тайм-аута, управление размером окна и перегрузкой, формат сообщений, управление логическим соединением).
Протокол надежной доставки сообщений TCP
В стеке протоколов TCP/IP протокол TCP (Transmission Control Protocol) работает так же, как и протокол UDP, на транспортном уровне. Он обеспечивает надежную транспортировку данных между прикладными процессами путем установления логического соединения.