
- •Н.В. Будылдина
- •Раздел 1 Стратегии межсетевого взаимодействия……………………………9
- •Раздел 7. Принципы маршрутизации…………….…………………………111
- •Раздел 8 Общая информация о протоколах маршрутизации
- •Раздел 9 Transmission Control Protocol (tcp)………………………………174
- •Раздел 10. User Datagram Protocol (udp)…………………………….……..230
- •Раздел 11 Автоматизация процессов назначения ip – адресов. Протокол dhcp………………………………………………………………….……….240
- •Раздел 12 Служба каталогов на базе протокола ldap…………………...242
- •Введение
- •Целью данного учебного пособия является рассмотреть возможности основных базовых протоколов, используемых в компьютерных сетях. Раздел 1 Стратегии межсетевого взаимодействия
- •1.1 Трансляция протоколов
- •1.2 Мультиплексирование протоколов
- •1.3 Сравнение трансляции и мультиплексирования
- •1.4 Инкапсуляция (туннелирование) протоколов
- •Контрольные вопросы:
- •Раздел 2 Средства согласования протоколов на физическом и канальном уровнях
- •2.1 Функции физического уровня. Средства согласования
- •2.2 Функции канального уровня модели osi
- •2.3 Согласование типа и размера кадров в составных сетях
- •2.4 Использование единого сетевого протокола в маршрутизаторах
- •2.5 Поддержка маршрутизаторами различных базовых технологий
- •Контрольные вопросы:
- •Раздел 3 Протоколы канального уровня
- •3.1 Протокол slip
- •3.2 Протокол ррр
- •3.2.1 Функции ррр различных уровней
- •3.2.2 Логическая характеристика протокола
- •3.2.3 Процедурная характеристика протокола.
- •3.2.4. Установка сеанса связи по протоколу ррр
- •3.2.5 Преимущества ррр
- •Контрольные вопросы:
- •Раздел 4 Протокол управления каналом
- •4.1 Протокол hdlc
- •4.1.1 Формат кадра и типы кадров
- •4.1.2 Управление связью
- •4.1.3 Передача данных
- •1. Запрос каждые 4 кадра. 2. Сквозная передача
- •Контрольные вопросы:
- •Раздел 5 Протоколы нижнего уровня сети internet
- •5.1 Протокол arp
- •5.1.1 Формат протокола arp
- •5.1.2 Работа протокола arp
- •5.2 Протокол rarp
- •Контрольные вопросы:
- •Раздел 6 ip – протокол
- •6.1 Ip – протокол версии 4
- •6.1.1 Основы протокола iPv4
- •6.1.2 Общие принципы адресации протокола iPv4
- •6.1.3 Маскирование подсетей
- •6.1.4 Планирование подсетей
- •6.2 Ip – Протокол версии 6 (iPv6)
- •6.3 Ip версия 6- архитектуры адресации
- •6.3.1 Модель адресации
- •6.3.2 Представление записи адресов (текстовое представление адресов)
- •6.3.3 Представление типа адреса
- •6.3.4 Уникастные адреса
- •6.3.5 Примеры уникастных адресов
- •6.3.6 Не специфицированный адрес
- •6.3.7 Адрес обратной связи
- •6.3.8 IPv6 адреса с вложенными iPv4 адресами
- •6.3.9 Nsap адреса
- •6.3.10 Ipx Адреса
- •6.3.11 Провайдерские глобальные уникаст – адреса
- •6.3.12 Локальные уникаст - адреса iPv6
- •6.3.13 Эникаст-адреса
- •6.3.14 Необходимые эникаст-адреса
- •6.3.15 Мульткаст-адреса
- •0 0 0 Т
- •6.3.16 Предопределенные мультикаст-адреса
- •6.3.17 Необходимые адреса узлов
- •Контрольные вопросы:
- •Раздел 7 Принципы маршрутизации
- •7.1 Алгоритмы выбора маршрутов
- •7.2 Принцип оптимальности
- •7.3 Выбор кратчайшего пути
- •7.4 Заливка
- •7.5 Маршрутизация на основании потока
- •7.6 Дистанционно–векторная маршрутизация
- •7.7 Маршрутизация с учетом состояний линий
- •7.7.1 Знакомство с соседями
- •7.7.2 Измерение стоимости линии
- •7.7.3 Создание пакетов состояния линий
- •7.7.4 Вычисление новых маршрутов
- •7.7.5 Иерархическая маршрутизация
- •7.7.6 Алгоритмы выбора маршрутов для мобильных хостов
- •7.7.7 Широковещательная маршрутизация
- •7.7.8 Многоадресная рассылка
- •Контрольные вопросы:
- •Раздел 8 Общая информация о протоколах маршрутизации в сетях internet
- •8.1 Внутренний протокол маршрутной информации rip
- •8.2 Открытый протокол маршрутизации ospf
- •8.3 Протокол граничного шлюза Border Gateway Protocol версии 4
- •8.3.1 Основы протокола маршрутизации bgp
- •8.3.2 Внешний протокол bgp
- •8.3.3 Внутренний протокол bgp
- •8.3.4 Переговоры с соседними bgp – узлами
- •Раздел 9 Transmission Control Protocol (tcp)
- •9.1 Назначение тср
- •9.2 Уровневое взаимодействие Internet протоколов
- •9.3 Модель сервиса tcp
- •9.4 Протокол tcp
- •9.5 Управление tcp-соединением
- •Управление передачей в tcp
- •9.7 Будущее tcp и его производительность
- •Раздел 10 User Datagram Protocol (udp)
- •10.1 Назначение протокола
- •10.2 Определение окончательного места назначения
- •10.3 Протокол пользовательских дейтаграмм (udр)
- •10.4 Формат udр-сообщений
- •10.5 Псевдозаголовок udр
- •10.6 Разделение на уровни и вычисление контрольной суммы udр
- •10.7 Мультиплексирование, демультиплексирование и порты udр
- •10.8. Зарезервированные и свободные номера портов udp
- •Раздел 11 Автоматизация процессов назначения ip – адресов. Протокол dhcp
- •Раздел 12 Служба каталогов на базе протокола ldap
- •Список литературы
- •620109, Екатеринбург, ул. Репина, 15
10.7 Мультиплексирование, демультиплексирование и порты udр
Программное обеспечение на всех уровнях иерархии протоколов должно мультиплексировать или демультиплексировать несколько объектов следующего уровня. Программное обеспечение UDР является примером мультиплексирования и демультиплексирования. Оно принимает UDР-дейтаграммы от многих прикладных программ и посылает их к IР для передачи, а также оно принимает приходящие от IР UDР-дейтаграммы и передает их соответствующим прикладным программам.
Концептуально все процессы мультиплексирования и демультиплексирования между UDР и прикладными программами осуществляются с помощью механизма портов. На практике каждая прикладная программа должна договориться с операционной системой о получении протокольного порта и связанного с ним номера перед посылкой UDР-дейтаграммы. Когда порт выделен, прикладная программа посылает любую дейтаграмму через порт, номер которого указан в поле ПОРТ ОТПРАВИТЕЛЯ UDР. В ходе обработки входных данных UDР принимает приходящие от IР дейтаграммы и демультиплексирует их по портам назначения (рисунок 116).
Рисунок 116 - Пример демультиплексирования на уровне над IР.
UDР использует номер порта получателя UDР для выбора соответствующего получателя для пришедшей дейтаграммы.
Порт UDР легче всего представить в виде очереди. В большинстве реализаций, когда прикладная программа договаривается с операционной системой об использовании данного порта, операционная система создает внутреннюю очередь, которая хранит приходящие сообщения. Часто приложение может указать или изменить размеры очереди. Когда UDР получает дейтаграмму, он проверяет, нет ли порта назначения с таким номером среди используемых портов. Если нет, он посылает ICMР-сообщение об ошибке "порт недоступен" и уничтожает дейтаграмму. Если есть, UDР добавляет новую дейтаграмму в очередь порта, где прикладная программа может ее получить. Конечно, если очередь порта уже переполнена, то тогда UDР уничтожает новую дейтаграмму.
10.8. Зарезервированные и свободные номера портов udp
Как должны назначаться номера протокольных портов? Эта проблема важна, так как два компьютера должны договариваться о номерах портов, прежде чем они смогут взаимодействовать. Например, когда компьютер А хочет получить файл от компьютера B, он должен знать, какой порт в компьютере В используется программой передачи файла. Существуют два фундаментальных подхода к назначению портов. Первый подход использует централизованное управление назначением. Все договариваются позволить центральному органу назначать номера всем необходимым портам и затем опубликовать список назначений. Тогда все программы создаются в соответствии с этим списком. Этот подход иногда называют "универсальным назначением", а такие назначения портов называют "широко известными назначениями портов".
Второй подход использует динамическое назначение. При этом подходе номера портов неизвестны всем. Вместо этого само сетевое обеспечение назначает порт, когда программа в этом нуждается. Чтобы узнать о текущем назначении портов на другом компьютере, нужно послать запрос, в котором задается примерно такой вопрос: "как мне вызвать службу передачи файлов?" Компьютер-получатель ответит, какой порт необходимо использовать. Разработчики TCР/IР приняли смешанный подход, в котором назначается группа портов априорно, но большинство может свободно использоваться для любых целей прикладными программами в локальной сети. Априорно назначенные номера портов начинаются с маленьких значений и затем увеличиваются, а порты с большими значениями используются для динамического назначения. Таблица 16 показывает некоторые используемые номера портов UDР.
Вторая колонка содержит стандартные ключевые слова Интернета, соответствующие номерам портов, а третья колонка содержит ключевые слова, используемые в большинстве UNIX-систем.
Таблица 16 - Иллюстративный пример назначенных сейчас портов UDР
Десят. |
Ключ.слово |
Ключ.слово UNIX |
Описание |
0 |
- |
- |
Reserved |
7 |
ECHO |
echo |
Echo |
9 |
DISCARD |
discard |
Discard |
11 |
USERS |
systat |
Active Users |
13 |
DAYTIME |
daytime |
Daytime |
15 |
- |
netstat |
Who is uр or NETSTAT |
17 |
QUOTE |
qotd |
Quote of the Day |
19 |
CHARGEN |
chargen |
Character Generator |
37 |
TIME |
time |
Time |
42 |
NAMESERVER |
name |
Host Name Server |
43 |
NICNAME |
whois |
Who is |
53 |
DOMAIN |
nameserver |
Domain Name Server |
67 |
BOOTРS |
bootрs |
Bootstraр Рrotocol Server |
68 |
BOOTРC |
bootрc |
Bootstraр Рrotocol Client |
69 |
TFTР |
tftр |
Trivial File Transfer |
111 |
SUNRРC |
sunrрc |
Sun Microsystems RРC |
123 |
NTР |
ntр |
Network Time Рrotocol |
161 |
- |
snmр |
SNMР net monitor |
162 |
- |
snmр-traр |
SNMР traрs |
512 |
- |
biff |
UNIX comsat |
513 |
- |
who |
UNIX rwho daemon |
514 |
- |
syslog |
System log |
525 |
- |
timed |
Time daemon |
Приведена лишь часть значений. Насколько это возможно, другие протоколы используют те же самые номера портов, что и UDР, для одинаковых служб.
Контрольные вопросы по разделам 9 и 10:
1.Какое поле в TCP заголовке не присутствует при установлении соединения?
2.Как расшифровывается TCP?
3.Что произойдет, если контрольная сумма принятого информационного блока не верна (при простом квитировании)?
4.Что называют сокетом (Socket)?
5.Когда используется, бит URG (ACK, PSH, RST, SYN, FIN)?
6.Какие значения может принимать поле "Порядковый номер"?
7.Сколько необходимо блоков для установления TCP - соединения (в
обычном случае)?
8.В какой спецификации описан протокол TCP?
9.Сколько необходимо блоков для разъединения TCP соединения?
10.Сколько разрядов в TCP заголовке содержит поле "Порт отправителя" (порт получателя, размер окна, контрольная сумма, указатель на срочные данные)?
11.Сколько разрядов в TCP заголовке содержит поле "Порядковый номер"?
(номер подтверждения)
12.Сколько разрядов в TCP заголовке содержит поле "Длина TCP заголовка"?
13.Сколько разрядов в TCP заголовке содержит поле "Резерв"?
14.Сколько разрядов в TCP заголовке содержит поле "Параметры"?
15.На каком уровне работает протокол TCP?
16.Что произойдёт, если время тайм аута в TCP истечёт?
17.Как расшифровывается UDP?
18.Что произойдет, если одна из дейтаграмм UDP не достигнет места
назначения?
19.В какой спецификации описан протокол UDP?
20.Из какого количества полей состоит заголовок UDP?
21.Какие поля являются не обязательными в UDP заголовке?
22.Сколько разрядов в UDP заголовке содержит поле " Длина UDP"?
23.Какую длину в битах имеет UDP заголовок без учета данных?
24.Из какого количества полей состоит псевдозаголовок UDP?
25.Какую длину в битах имеют данные в UDP?
26.На каком уровне работает протокол UDP?