Рассмотрение стандартов технологий магистральных сетей и их протоколов. Изучение особенностей взаимодействия протоколов различных уровней, инкапсуляции информации, маршрутизации, конвергенции, а также принципов коммутации пакетов и коммутации каналов.
Аннотация к работе
Министерство транспорта и связи Украины Государственный департамент по вопросам связи и информатизации Одесская национальная академия связи им. Одобрено на заседании кафедры «Сети связи» Протокол № 9 от 05.06.2007 г. Изложены основы современных сетевых технологий, в особенности, технологий уровней от канального до представления информации эталонной модели взаимодействия открытых систем. Внимание сфокусировано на стандартах технологий магистральных сетей и их протоколов, особенностях взаимодействия протоколов различных уровней, инкапсуляции информации, маршрутизации, конвергенции принципов коммутации пакетов и коммутации каналов.Затем протокол реализуется в виде программного обеспечения, либо специализированного сетевого устройства, такого как сетевой адаптер, модем, коммутатор, маршрутизатор, конвертор интерфейсов, из которых строятся сети. Изучение маршрутизации в сетях с коммутацией пакетов начато с рассмотрения особенностей построения коммутируемых Ethernet сетей, управления потоком, протокола построения покрывающего дерева, организации виртуальных сетей. Сетевая технология - технология, обеспечивающая обмен информации между терминальными устройствами в сети: DTE network DTE Концентрация - передача информации в специальное выделенное устройство, которое затем организует передачу адресату (маршрутизатор по умолчанию). 3 IP-Address - IP-адрес - используется для назначения IP-адреса.
2. Передача IP-трафика в сетях Ethernet (IP-Ethernet) ………………………………………… 2.1. Формат Ethernet кадра ……………………………………………………………………………. 2.2. Протокол IP ……………………………………………………………………………………….. 2.3. Фрагментация …………………………………………………………………………………….. 2.4. Протоколы, обеспечивающие работу протокола IP ……………………………………………. 2.5. Протоколы, обеспечивающие инкапсуляцию IP-Ethernet ………………………………………
3. Передача IP-трафика по выделенным линиям (IP-PPP) ……………………………………. 3.1. Общая характеристика протокола PPP ………………………………………………………….. 3.2. Протокол LCP управления связью ………………………………………………………………. 3.3. Протоколы аутентификации ……………………………………………………………………... 3.4. Протоколы конфигурирования сети ……………………………………………………………..
4. Взаимодействие протоколов сетевого и транспортного уровней …………………………. 4.1. Организация взаимодействия с прикладным уровнем ………………………………………… 4.2. Протокол UDP ……………………………………………………………………………………. 4.3. Протокол TCP ……………………………………………………………………………………..
5. Организация коммутируемых сетей Ethernet ……………………………………………….. 5.1. Обзор технологий Ethernet ……………………………………………………………………….. 5.2. Построение коммутируемых Ethernet …………………………………………………………… 5.3. Ведение динамических таблиц коммутации ……………………………………………………. 5.4. Алгоритм покрывающего дерева ………………………………………………………………… 5.5. Дополнительные возможности коммутаторов Ethernet ………………………………………...
6. Маршрутизация в IP-сетях …………………………………………………………………… 6.1. Схема доставки пакетов при IP маршрутизации ……………………………………………….. 6.2. Статическая маршрутизация …………………………………………………………………….. 6.3. Протоколы динамической маршрутизации ……………………………………………………..
Курс «Сетевые технологии» посвящен углубленному изучению стандартов современных технологий магистральных сетей. Основой конкретной сетевой технологии является протокол, либо семейство протоколов, представленное стандартными спецификациями. Затем протокол реализуется в виде программного обеспечения, либо специализированного сетевого устройства, такого как сетевой адаптер, модем, коммутатор, маршрутизатор, конвертор интерфейсов, из которых строятся сети. Именно поэтому основное внимание уделяется изучению стандартных спецификаций протоколов. Как правило, реализацию технологии обеспечивает семейство взаимодействующих протоколов. Вопросам взаимодействия протоколов различных уровней в процессе инкапсуляции информации посвящена значительная часть материала.
Курс «Сетевые технологии» является, по существу, продолжением курса «Телекоммуникационные информационные сети». Но, в то время как предметом курса «Телекоммуникационные информационные сети» являются основы построения и проектирования сетей, предметом курса «Сетевые технологии» являются сетевые протоколы.
В качестве основных современных протоколов сетевого, транспортного и сеансового уровней изучены протоколы IP, ICMP, UDP, TCP. В качестве примера использования разделяемых сред канального уровня изучены особенности инкапсуляции IP-Ethernet и вспомогательные протоколы ARP/RARP, DHCP. В качестве примера использования канальных технологий линий «точка-точка» изучены особенности инкапсуляции IP-PPP и вспомогательные протоколы LCP, PAP, IPCP. Именно эти два отмеченных подхода являются перспективными при реализации DWDM магистралей.
Изучение маршрутизации в сетях с коммутацией пакетов начато с рассмотрения особенностей построения коммутируемых Ethernet сетей, управления потоком, протокола построения покрывающего дерева, организации виртуальных сетей. Затем изучена классическая IP-маршрутизация и протоколы динамической маршрутизации RIP, OSPF, BGP.
Курс завершается изучением технологии коммутации меток MPLS и протокола динамического распределения меток LDP. Таким образом, акцентируется внимание на конвергенции принципов коммутации пакетов и коммутации каналов в современных сетях.
Сетевая технология - технология, обеспечивающая обмен информации между терминальными устройствами в сети:
DTE network DTE
Принципы организации обмена информацией: 1. Простая передача адресату.
Передаваемая информация дополняется адресом отправителя и адресом получателя; доставка информации в сети выполняется на основе адреса получателя. В простейшем случае подтверждение получения не выполняется.
5
Адрес отправителя
DTE1
Адрес получателя
Сеть
Информация
DTE2
2. Взаимодействие клиент-сервер.
Последовательность запросов и ответов. Клиент формирует запрос, передает его серверу; сервер выполняет запрос и передает результаты клиенту. В простейшем случае ответ - подтверждение получения запроса. запрос клиент сервер обслуживание ответ
Более сложный порядок, описывающий специальные последовательности запросов и ответов, используется в реальных технологиях.
3. Широковещание - передача информации всем терминальным устройствам, которая гарантирует также доставку получателю.
4. Концентрация - передача информации в специальное выделенное устройство, которое затем организует передачу адресату (маршрутизатор по умолчанию).
Протокол - это набор правил, определяющий порядок взаимодействия систем и информацию, необходимую для обеспечения взаимодействия.
Сообщение (пакет) имеет следующий формат:
H Content T
H, T (заголовок и хвостовик) - информация, необходимая для обеспечения взаимодействия: адреса, номер протокола для демультиплексирования, информация управления сеансом, информация о качестве обслуживания, контрольная сумма.
2) Соответствие 7-уровневой модели взаимодействия открытых систем OSI-ISO. Множество современных и перспективных технологий можно классифицировать следующим образом:
На сеансовом-транспортном уровне доминирует семейство протоколов TCP/IP; основной канальной технологий локальных сетей является Ethernet; в сетях доступа используется технология XDSL; магистрали строят с помощью технологии MPLS с применением технологии DWDM на физическом уровне.
В настоящем курсе изучаются технологии уровней от канального до представления информации. Таким образом, рассматривается передача потока битов (байтов) между терминальными и сетевыми устройствами. Вопросы, связанные с кодированием последовательностей битов определенными сигналами и передачи их в физических средах не изучаются. Они достаточно хорошо изучены в таких курсах как «Теория электросвязи» и других. Кроме того, не рассматривается работа сетевых приложений, ранее изученных в курсе «Телекоммуникационные информационные сети».
3) Плоскости (слои).
Плоскости позволяют устранить противоречия классификации технологий с помощью уровней OSI-ISO. Так, например, протоколы динамической маршрутизации обеспечивают работу сетевого уровня, но используют протоколы TCP, UDP, что позволяет отнести их к прикладному уровню. Расположение их в разных плоскостях позволяет избежать противоречий.
8
Сигнализация (SIP)
Менеджмент
Управление (SNMP)
Маршрутизация (BGP)
Пользовательская (HTTP)
4) Территориальная протяженность сети: Различают локальные сети LAN и глобальные сети WAN; долгое время такая классификация доминировала; сейчас актуальная классификация: LAN - Campus - Metro - WAN
5) Классификация по отношению к оператору связи: - магистральная сеть (находиться в собственности оператора связи) - сеть доступа (подключена к сетям доступа оператора связи)
Магистральная сеть
Сеть доступа
Сеть доступа
POP
Сеть доступа
POP - Point of Presence - точка присутствия (размещения оборудования) оператора связи.
6) Вид собственности: - частные (принадлежат конкретно компании)
9
- публичные (Internet)
Площадка 1
Оператор связи
Площадка 2
Арендованные каналы
Площадка 3
В настоящее время доминируют частные сети стандарта VPN (виртуальные частные сети), т.е. прямые каналы связи между площадками отсутствуют. VPN строиться за счет виртуальных туннелей в сетях публичного доступа.
7) Тип линии связи: - точка-точка (в большинстве современных проводных технологий) - многоточечные линии: Ethernet, радиодоступ
Точка-точка - в большинстве современных технологий использует протокол РРР. Многоточечное - это более сложное соединение, т.к. требует процедур управления доступом к разделяемой среде.
8) Топология: - полносвязная; - ячеистая;
- кольцо;
- общая шина;
- звезда (частный случай общей шины).
9) Функциональные характеристики: - пропускная способность (бит/с, пакет/с);
- качество обслуживания: время доставки (с) (среднее и максимальное), время отклика сети.
10) Дополнительные требования: надежность, безопасность, маскируемость (например, Bluetooth - маскируемость системы под шум).
2. Передача IP-трафика в сетях Ethernet (IP-Ethernet)
Инкапсуляция IP-Ethernet является классическим примером инкапсуляции протоколов семейства TCP/IP в разделяемых средах. И, хотя в настоящее время, проводные сети Ethernet в большинстве случаев микросегментированы (полностью образованы линиями точка-точка), беспроводные сети по-прежнему используют разделяемую среду.
10
Рассмотрим фрагмент стека протоколов указанной инкапсуляции: Сетевой IP IPH content
Канальный Ethernet EH content ET Пакет (дейтаграмма) протокола IP состоит из заголовка IPH и передаваемой информации (content). При инкапсуляции в кадр Ethernet добавляется заголовок кадра EH и хвостовик ET.
2.1. Формат Ethernet кадра
Взаимодействие терминальных устройств Ethernet может быть представлено следующей схемой:
MAC
DTE 1 Ethernet DTE2
Сетевая карта
Логически интерфейс терминального устройство полностью представлен его уникальным MAC-адресов, который позволяет выбирать кадры, адресованные соответствующему устройству, из разделяемой среды.
MAC - Media Access Control - уникальный адрес устройства (6 байт):
Кадр Ethernet II (DIX) наиболее часто используется в инкапсуляции IP-дейтаграмм: MAC-адрес получателя MAC-адрес отправителя Тип кадра Данные Контрольная сумма
DA SA TYPE
6б 6б 2б
DATA FCS
2б
Type - задает номер протокола сетевого уровня (IP имеет номер 0x800). Заметим, что в других форматах данное поле задает длину кадра; допустимые длины поля данных
11
46...1500 позволяют различать форматы, так как номера протоколов выбраны больше, чем 0x600.
2.2. Протокол IP (RFC 791)
Хост Сеть IP Хост
IP-адрес 1 IP-адрес 2
Функции: -
адресация фрагментация
Формат заголовка IP Основные поля заголовка: ? 4 бита: Version - Версия (=4);
? 4 бита: Header Length - длина заголовка (в 4-х байтовых словах) (=5) ? 8 бит: Type of Service - тип (качество) обслуживания: 0 1 2 3 4 5 6 7
----- ----- ----- ----- ----- ----- ----- ----- | PRECEDENCE | D | T | R | 0 | 0 | ----- ----- ----- ----- ----- ----- ----- -----
? 16 бит: Total Length - общая длина дейтаграммы (в байтах);
? 16 бит: Identification - уникальный идентификатор дейтаграммы, используется при фрагментации, все фрагменты имеют одинаковый идентификатор;
Длина IP-заголовка равна 5 (4-х байтовых слов = 20 байтов) по-умолчанию, но если указаны опции, то длина заголовка увеличивается.
12
Пример построения кадров Ethernet с инкапсуляцией IP-дейтаграмм
Ethernet
HOST 1
MAC: 00000CA5B6C7 IP: 192.168.0.20
HOST 2
MAC: 00000CA7B8C9 IP: 192.168.0.145
Данные: “When too Sundays come together” Транспортный протокол - TCP (заголовок 20 байтов).
20байтов data
EH IPH TCPH
\
IP over TCP header Ethernet
When too Sundays come FCS together
30б
Все представим в 16-ричной с/с по байтам: EH IPH
EH: DA
0 0 0 0 0 C A 5 B 6 C 7 SA
0 0 0 0 0 C A 7 B 8 C 9 Type - IP
0 8 0 0
IPH: TOS TL V IHL
4 5 0 0 0 0 4 6
Id Flags FO
A B C D 0 0 0 0
TTL Protocol=TCP HCS
0 F 0 6 7 D E 7
SA
C O A 8 0 0 1 0
DA
13
C 0 A 8 0 0 9 1
Значения полей TOS, Id и TTL выбраны произвольно; TL=70=0x0046.
Header checksum: HCS - 16 битов в 16-ричной системе счисления. HCS:=0x0000;
For I=0 to 9 If i? 6 then
HCS:=HCS IPA (i);
16 бит c суммированием переноса HCS= ? HCS; побитовое отрицание;
4500 0019 8186 0046 1 - един. Переноса 1
4546 001A 8187 ABCD C0A8 0091 F113 C0C2 8218
0000 001C
F123 CODE ? 8218 0F06 C0A8
1? 0019 1 8196 перенос единицы
8: 1 0 0 0
? 8: =7 0 1 1 1
2: 0 0 1 0
?2: =D 1 1 0 1
1: 0 0 0 1
?1: =E 1 1 1 0
7DE7 - Header Check Sum.
Отрицание: то число, которое надо добавить, чтобы получить 15.
2.3. Фрагментация Алгоритм обработки флагов фрагментации: Флаг: DT=1, фрагментация запрещена; DT=0, проверяется следующий флаг;
MF=1, не последний фрагмент; MF=0, последний фрагмент.
Id - используется для распознавания фрагментов, которые является частями некоторой дейтаграммы.
14
F0 - смешение фрагмента от начала дейтаграммы (в 8 байтовых словах).
Определенную сложность представляет собой то, что флаги размещены внутри 16-ричной цифры, а также, что смещение фрагмента измеряется в 8 байтовых словах.
Пример: X ->Y: передается 108 байтов данных с помощью протокола TCP; MRU=60 байтов; IPH=20 байтов; TCPH=20 байтов.
(максимальный размер принимаемого фрагмента / пакета - Maximal Receive Unit). Ethernet адаптивно понижает MRU при возникновении ошибок.
13б FO: в 8 байтовых словах.
Исходная IP-дейтаграмма: 20 б 20 б 128 б / /
IPH TCPH DATA
40 80 120
Фрагменты IP-дейтаграммы: 20 20 20 IPH1 TCPH D TL=60
MF=1 FO=0
20 40 IPH2 D TL=60 MF=1 FO=0x05
40 IPH3 D TL=60 MF=1 FO=0x0a 8 IPH4 D TL=28 MF=0 FO=0x0f
2.4. Протоколы, обеспечивающие работу протокола IP
15
1) ICMP (RFC 792) - протокол управляющих сообщений - предназначен для обеспечения обратной связи при доставке IP-дейтаграмм.
X R1 R1 ………. Rk Y
ICMP-сообщения
ICMP сообщение доставляться в дейтаграмме IP (IPH: Protocol = 0x00 - ICMP): Protocol=0 ICMP
IPH
Номер ICMP сообщения параметры
Виды ICMP сообщений: - хост назначения недостижим; - переадресации(Y);
Рассмотрим алгоритм динамического отображения: Если МАС-адрес известен, то отправляется кадр по адресу назначения, если не известен - то отправляется ARP-запрос и ожидается ARP-ответ. ARP-запрос отправляется с помощью широковещания Ethernet.
16 бит: Type (0x1800 - ARP) - тип 16 бит: тип сети 0?0001
16 бит: тип протокола 0?0800
8 байт: размер МАС-адреса (6 для Ethernet) 8 байт: размер IP-адреса (4 для IP)
16 бит: код операции (1 - запрос, 2 - ответ, 3 - RARP запрос, 4 - RARP ответ) RARP- Reversed (по МАС-адресу определение IP-адреса)
48 бит: МАС - адрес Х 32 бит: IP - адрес Х
48 бит: MAC-адрес Y (00-00-00-00-00-00 для запроса) 32 бит: IP - адрес Y
ARP - запрос:
Примечание: возможно заполнение ARP-таблицы в результате прослушивания. В больших сетях могут использоваться ARP-посредники (прокси-ARP): 18
3. Передача IP-трафика по выделенным линиям (IP-PPP)
Соединение «точка-точка» является в настоящее время основным типом для проводных (оптических) сетей. Протокол PPP (RFC 1548), обеспечивающий инкапсуляцию IP-трафика в двухточечечных линиях, переживает свое второе рождение. Первоначально он использовался в выделенных и коммутируемых линиях связи, физический уровень которых обеспечивался модемами (в настоящее время протоколы V.90). Распространение DWDM-магистралей приводит к аннулированию промежуточных стандартов PDH/SDH и непосредственной передаче IP-трафика в волнах определенной длины. Для упаковки в конкретную длину волны применяют 10G Ethernet, однако адресная часть кадра в этом случае является избыточной, кроме того, требуются специальные процедуры управления линией, отсутствующие в стандартах Ethernet. Перспективным направлением является применение протокола PPP в качестве доминирующего протокола канального уровня в DWDM-сетях.
3.1. Общая характеристика протокола PPP
Применение - IP поверх PPP: Сетевой - IP IP IPX … NETBEUI Канальный - PPP PPP
PPP обеспечивает одновременную передачу пакетов нескольких сетевых протоколов.
Функции PPP: • инкапсуляция и мультиплексирование протоколов (лишь 2 дополнительных байта номера протокола);
• управление линией (нет в Ethernet): LCP (Link Control Protocol);
• конфигурирование интерфейсов сетевого уровня NCP (Network Control Protocol); для IP - IPCP (RFC 1332, 1837).
Классификация операций переговоров сторон: Принципиально важными для обмена информацией являются коды: Protocol-Reject - издается на кадр с неизвестным протоколом; Code-Reject - издается на LCP-пакет с неизвестным кодом.
Остальные коды можно классифицировать на запросы и варианты ответов для: ? конфигурирования линии (Configure);
? кавершения связи (Terminate);
? тестирования связи - эхо (Echo).
При этом на запрос (обозначен словом Request) возможны 3 варианта ответа: ? подтверждение - полное согласие (Ack);
? неподтверждение - несогласие со значениями опций (NAK); ? отвержение - несогласие с опциями (Reject).
Идентификатор (Identifier) в виде целого числа имеет одно и то же значение для запроса и ответа на него; он позволяет сопоставить запросы и ответы в последовательностях переговоров.
Процедура переговоров протокола LCP
Переговоры организованы в соответствии с интуитивной процедурой «подписание документа у начальника». Сторона X формирует список опций и издает запрос Request. Если сторона Y согласна со всеми опциями, она издает подтверждение Ack, в котором повторяет все принятые опции. Если некоторая опция не устраивает сторону Y, она издает отвержение Reject, в котором перечисляет отвергнутые опции. Если значения некоторых опций не устраивают сторону Y, она издает неподтверждение NAK, в котором перечисляет приемлемые значения опций.
Переговоры повторяются и продолжаются до тех пор, пока конфигурация не будет принята и подтверждена Ack обеими сторонами. В противном случае связь завершается.
Варианты переговоров: I. Establish - установления соединения: а.) положительный: Conf.- Reg
id У них один идентификатор Conf.- Ack
б.) отрицательный: Conf.- Reg
id Все опции Conf.- Rej
21
в) адаптация одной стороны к значениям опций другой стороны: Conf.- Req
Изменяет значение необходимых опций
Скопировать требуемые значения опций
Conf.- Nak
Conf.- Req
новый id
Conf.- Ack
г.) адаптация одной стороны к опциям другой стороны: Conf.- Reg
Изменяет указанные опции
Скопировать требуемые опции
Conf.- Rej
Conf.- Reg
новый id
Conf.- Ack
Опции протокола LCP
Каждый из запросов/ответов конфигурации может содержать следующие опции: 1 Maximum-Receive-Unit - максимальная длина принимаемого пакета;
Протокол PAP - простейший протокол аутентификации с передачей идентификатора и пароля в открытом (нешифрованном) виде. Для более надежной аутентификации применяют протокол CHAP и другие.
3.4. Протоколы конфигурирования сети (NCP)
Для конфигурирования сетевого уровня IP используется протокол IPCP - IP Control Protocol (RFC 1332, 1877). Основная функция этого протокола - назначение IP-адресов взаимодействующим хостам (RFC 1332), а также назначение серверов имен систем DNS и WINS (RFC 1877).
Предусмотрено как указание конкретных IP-адресов, так и запрос на выделение адресов противоположной стороной с помощью указания нулевого IP-адреса 0.0.0.0 в запросе.
Протокол IPCP (0x821) предусматривает операции с кодами, аналогичными LCP: 1 Configure-Request - запрос конфигурации;
Выбирает адрес для противоположной стороны, например, 194.168.20.145
24
Подставляет указанный адрес в запрос
Conf.- Nak (IP-Addr=194.168.20.145)
Conf.- Req (IP-Addr=19trial.20.145)
новый id
Conf.- Ack (IP-Addr=194.168.20.145)
Дополнением (RFC 1877) к стандарту IPCP предусмотрены опции конфигурирования адресов серверов имен: ? Primary DNS Server Address (0x81) - адрес первичного DNS сервера;
? Primary NBNS (WINS) Server Address (0x82) - адрес первичного WINS сервера; ? Secondary DNS Server Address (0x83) - адрес вторичного DNS сервера;
? Secondary NBNS (WINS) Server Address (0x84) - адрес вторичного WINS сервера.
Точно так же, как и для адресов хоста, указание нулевого адреса 0.0.0.0 означает запрос на выделение адреса противоположной стороной.
4. Взаимодействие протоколов сетевого и транспортного уровней
Сетевые протоколы обеспечивают доставку пакетов хостам, подключенным к сети. Транспортные протоколы обеспечивают взаимодействие сетевых (прикладных) процессов. Процесс внутри хоста идентифицируется номером порта.
Протоколы транспортного уровня: I. II. Транспортный UDP TCP Сетевой IP IP
I. Без установления соединения (сеанса связи), без подтверждение, без управления потоком - небольшие сообщения: DNS (port=53).
II. С установлением соединения и управлением потоком - большие объемы информации: FTP (port=21), HTTP (port=80), SMTP (port=25).
4.1. Организация взаимодействия с прикладным уровнем Каждое сетевое приложение идентифицируется своим сокетом: сокет - это пара (IPADDR,np), где IPADDR- IP-адрес хоста, np - номер порта. Назначение номера порта: • статическое 0-1023 - порты серверов (DNS-сервер, FTP, HTTP, SMTP, VOIP); • динамическое 1024-65535 - порты клиентов; номер выделяется на время работы процесса. Данные можно получить в RFC 1700, 3250.
Схема взаимодействия приложений в сети: 25
Процесс(X,1) Сокет (IPX,px1)
Выбор cettrial приложения (процесса) по номеру порта
Процесс(Y,1) Сокет (IPY,py1)
Процесс(X,2)
Сокет (IPX,px2)
Хост X
IPX
Сеть
Процесс(Y,2) Сокет (IPY,py2)
Хост Y IPY
Процесс(X,k) Сокет (IPX,pxk)
Процесс(Y,l) Сокет (IPY,pyl)
Таким образом, пара взаимодействующих в сети приложений (процессов некоторой сетевой операционной системы) полностью идентифицируется парой их сокетов: ((IPX,px), (IPY,py)).
Заголовок UDP-пакета имеет простой формат и состоит из четырех двухбайтовых полей: • UDP source port - номер порта процесса-отправителя, • UDP destination port - номер порта процесса-получателя, • UDP message length - длина UDP-пакета в байтах, • UDP checksum - контрольная сумма UDP-пакета.
Передача дейтаграммы UDP:
UDP
Заголовок
IP
Дейтаграмма UDP всегда передает отдельное сообщение.
4.3. Протокол TCP (RFC 793)
В стеке протоколов TCP/IP протокол TCP (Transmission Control Protocol) работает так же, как и протокол UDP, на транспортном уровне. Он обеспечивает надежную транспортировку данных между прикладными процессами путем логического соединения и использования алгоритма скользящего окна.
26 установления
Протокол TCP: 1. Обеспечивает надежный сервис для коммуникаций между процессами в многосетевой системе;
2. Является общим протоколом для коммуникаций между хост-компьютерами во множестве сетей.
Формат заголовка TCP: ADDRESS SOURS PORT (2 байта) ADDRESS DESTINATION PORT (2 байта) SEQUENCE NUMBER (4 байта)
Кодовые биты (CODE BITS): • URG - указывает срочное сообщение; • ACK - квитанция на принятый сегмент;
• PSH - запрос на отправку сообщения без ожидания заполнения буфера; • RST - запрос на восстановление соединения;
• SYN - флаг синхронизации счетчиков переданных данных при установлении соединения;
• FIN - признак достижения передающей стороной последнего байта в потоке передаваемых данных.
Заполнитель (PADDING) может иметь переменную длину, представляет собой фиктивное поле, используемое для доведения размера заголовка до целого числа 32-битовых слов.
Основные задачи: 1. Проверять получение сообщений в том порядке, в каком они были отправлены. 2. Следить за тем, чтобы передача данных не была дублирована.
3. Необходимо, чтобы переданная информация не была потеряна.
При установлении логического соединения два компьютера договариваются с какими параметрами они будут работать: 1. Максимальный размер сегмента, который готова принимать сторона;
2. Максимальный объем данных, который разрешается передавать второй стороне, если не получена квитанция или подтверждение на предыдущий объем данных;
3. Начальный (порядковый) номер байта, с которого начинается передача. Для логического соединения выделяются таймеры, счетчики, буферы.
Алгоритм скользящего окна
При передаче данных в поле последовательного номера отправитель помещает номер первого байта, например, 2000. Если размер сегмента 200, который передается, то номер второго байта будет 2200. На основании этого номера TCP-получатель четко может определить является ли этот сегмент дубликатом. В качестве квитанции отправляется номер или число на единицу больше максимального номера в байте сегмента. Именно эта процедура позволяет определить, какое сообщение потеряно, а какое принято.
27
W - размер окна;
N - номер последнего подтвержденного байта.
В окно входят две части: • сегменты, которые отправлены, но квитанции не получены; • сегменты, которые могут быть отправлены.
Окно может сдвинуться на величину N W количество байт, на которое пришло подтверждение. Получение квитанции - процесс, в котором передаются подтверждающие данные, называется квитирование.
Процесс квитирования
Рассмотрим получение сегментов в данной последовательности: 1. Идеальная передача
2800 2600 2200 2000 200 20000
2
3000
2. Пропущен целый блок данных
2700 2600 2400
100
Квитирование - это процесс получения квитанции. Квитанция - служебное сообщение, извещающее о том, что исходный кадр был получен и данные в нем оказались корректными.
В протоколе TCP реализована разновидность алгоритма квитирования с использованием окна. В качестве квитанции получатель сегмента отсылает ответное сообщение (сегмент), в которое помещает число, на единицу превышающее
28 максимальный номер байта в полученном сегменте. Если размер окна равен W, а последняя квитанция содержала значение N, то отправитель может посылать новые сегменты до тех пор, пока в очередной сегмент не попадет байт с номером N W. Этот сегмент выходит за рамки окна, и передачу в таком случае необходимо приостановить до прихода следующей квитанции.
Алгоритм скользящего окна имеет два настраиваемых параметра - размер окна и время таймаута ожидания прихода квитанции
Выбор времени ожидания (таймаута) очередной квитанции является важной задачей, результат решения которой влияет на производительность протокола TCP. При выборе величины таймаута должны учитываться скорость и надежность физических линий связи, их протяженность и многие другие подобные факторы. В протоколе TCP таймаут определяется с помощью достаточно сложного адаптивного алгоритма, идея которого состоит в следующем. При каждой передаче засекается время от момента отправки сегмента до прихода квитанции о его приеме (время оборота). В качестве таймаута выбирается среднее время оборота, умноженное на некоторый коэффициент. Практика показывает, что значение этого коэффициента должно превышать 2. В сетях с большим разбросом времени оборота при выборе таймаута учитывается и дисперсия этой величины.
Особенностью протокола TCP является также адаптивное изменение величины окна. В подавляющем большинстве других протоколов размер окна устанавливается администратором и самим протоколом в процессе его работы не изменяется. Варьируя величину окна, можно повлиять на загрузку сети. Чем больше окно, тем большую порцию неподтвержденных данных можно послать в сеть. Если сеть не справляется с нагрузкой, то возникают очереди в промежуточных узлах-маршрутизаторах и в конечных узлах-компьютерах. После приема квитанции с нулевым значением окна протокол-отправитель время от времени делает контрольные попытки продолжить обмен данными. Если протокол-приемник уже готов принимать информацию, то в ответ на контрольный запрос он посылает квитанцию с указанием ненулевого размера окна.
Особенности TCP • передача данных;
• проверка достоверности данных при передаче;
• управление потоком данных и контроль за перегрузками в сети; • разделение каналов связи;
• обслуживание сформированных соединений;
• соблюдение установленного приоритета пользователей; • обеспечение соответствующего уровня безопасности
Установление соединения TCP Установление TCP-соединения происходит в три стадии (3-way handshake): • Источник устанавливает соединение с получателем, посылая ему пакет с флагом "синхронизации последовательности номеров" (Synchronize Sequence Numbers -SYN). Номер в последовательности определяет номер пакета в сообщении приложения. Это не обязательно должен быть 0 или единица. Но все остальные номера будут использовать его в качестве базы, что позволит собрать пакеты в правильном порядке;
• Получатель отвечает номером в поле подтверждения(С-ACK) получения SYN, который соответствует установленному источником номеру. Кроме этого, в поле "номер в последовательности" может также сообщаться номер, который запрашивался источником;
• Источник подтверждает, что принял сегмент получателя (S-ACK). и отправляет первую порцию данных.
29
После установки соединения источник посылает данные получателю и ждет от него подтверждений о их получении, затем снова посылает данные и т.д., пока сообщение не закончится. Заканчивается сообщение, когда в поле флагов выставляется бит FIN, что означает "нет больше данных".
SN - Поле «Номер в последовательности» (Sequence Number, SN) определяет номер первого байта в очереди (или последовательности) байтов в текущем сегменте.
SYN сообщение используемое для синхронизации счетчиков переданных данных при установлении соединения;
AN - Поле «Номер подтверждения» (Acknowledgement Number) содержит номер сегмента с подтверждением успешного приема.
ACK - контрольный бит подтверждения.
FIN - признак достижения передающей стороной последнего байта в потоке передаваемых данных.
2. Универсальной сетевой технологий, так как наблюдается тенденция применения технологии Ethernet в кампусных и метрополитен-сетях, магистралях (Ethernet over DWDM).
Хотя в последнее время в коммутируемой сети используются линии «точка - точка», методы множественного доступа к разделяемой среде используется для беспроводных сетей: IEEE802.11 WIFI IEEE802.15 Bluetooth IEEE802.16 WIMAX
Формат кадра (фрейма)
Имеются 4 формата кадра; тип кадра определяется автоматически. Основным для IP - Ethernet является Ethernet II (DIX):
3-4 бита
DA SA T/L LLC Data FCS 46...1500
LLC - Logical Link Control - логический контроль линии.
Media Access Control - контроль доступа к среде (адрес)
Multi Protocol Label Switching - многопротокольная коммутация меток Maximal Receive Unit - максимальная единица приема информации Network Interface Card - сетевая интерфейсная карта
Network Control Protocol - протокол управления сети
Open System Interconnection - взаимодействие открытых систем Open Short Path First - кратчайший открытый путь первым (маршрутизация)
RFC References for Comments - Справочники пояснений
RIP Routing Information Protocol - протокол маршрутизации информации PPP Point to Point Protocol - протокол точка-точка
QOS Quality of Service - качество обслуживания
SNMP Simple Network Management Protocol - простой протокол менеджмента сети
STP Spanning Tree Protocol - протокол покравающего дерева
TCP Transmission Control Protocol - протокол управления передачей UDP User Datagram Protocol - протокол пользовательских датаграмм VLAN Virtual LAN - виртуальная локальная сеть
VPN Virtual Private Network - виртуальная частная сеть WAN Wide Area Network - глобальная сеть