ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.06.2021
Просмотров: 890
Скачиваний: 1
26
транспортировку
данных
между
прикладными
процессами
путем
установления
логического
соединения
и
использования
алгоритма
скользящего
окна
.
Протокол
TCP:
1.
Обеспечивает
надежный
сервис
для
коммуникаций
между
процессами
в
многосетевой
системе
;
2.
Является
общим
протоколом
для
коммуникаций
между
хост
-
компьютерами
во
множестве
сетей
.
Формат
заголовка
TCP:
ADDRESS SOURS PORT (2
байта
)
ADDRESS DESTINATION PORT (2
байта
)
SEQUENCE NUMBER (4
байта
)
ACKNOWLEDGEMENT NUMBER (4
байта
)
HLEN
4
бит
)
RESERVED
(6
битов
)
CODE BITS
(6
битов
)
WINDOW
(2
байта
)
CHECKSUM (2
байта
)
URGENT POINTER (2
байта
)
OPTIONS (
до
3
байт
) PADDING
Кодовые
биты
(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.
Идеальная
передача
2.
Пропущен
целый
блок
данных
Квитирование
-
это
процесс
получения
квитанции
.
Квитанция
-
служебное
сообщение
,
извещающее
о
том
,
что
исходный
кадр
был
получен
и
данные
в
нем
оказались
корректными
.
В
протоколе
TCP
реализована
разновидность
алгоритма
квитирования
с
использованием
окна
.
В
качестве
квитанции
получатель
сегмента
отсылает
ответное
сообщение
(
сегмент
),
в
которое
помещает
число
,
на
единицу
превышающее
200
200
2800
2600
2200
2000
200
200
3000
100
2700
2600
2400
28
максимальный
номер
байта
в
полученном
сегменте
.
Если
размер
окна
равен
W,
а
последняя
квитанция
содержала
значение
N,
то
отправитель
может
посылать
новые
сегменты
до
тех
пор
,
пока
в
очередной
сегмент
не
попадет
байт
с
номером
N+W.
Этот
сегмент
выходит
за
рамки
окна
,
и
передачу
в
таком
случае
необходимо
приостановить
до
прихода
следующей
квитанции
.
Алгоритм
скользящего
окна
имеет
два
настраиваемых
параметра
-
размер
окна
и
время
тайм
-
аута
ожидания
прихода
квитанции
Выбор
времени
ожидания
(
тайм
-
аута
)
очередной
квитанции
является
важной
задачей
,
результат
решения
которой
влияет
на
производительность
протокола
TCP.
При
выборе
величины
тайм
-
аута
должны
учитываться
скорость
и
надежность
физических
линий
связи
,
их
протяженность
и
многие
другие
подобные
факторы
.
В
протоколе
TCP
тайм
-
аут
определяется
с
помощью
достаточно
сложного
адаптивного
алгоритма
,
идея
которого
состоит
в
следующем
.
При
каждой
передаче
засекается
время
от
момента
отправки
сегмента
до
прихода
квитанции
о
его
приеме
(
время
оборота
).
В
качестве
тайм
-
аута
выбирается
среднее
время
оборота
,
умноженное
на
некоторый
коэффициент
.
Практика
показывает
,
что
значение
этого
коэффициента
должно
превышать
2.
В
сетях
с
большим
разбросом
времени
оборота
при
выборе
тайм
-
аута
учитывается
и
дисперсия
этой
величины
.
Особенностью
протокола
TCP
является
также
адаптивное
изменение
величины
окна
.
В
подавляющем
большинстве
других
протоколов
размер
окна
устанавливается
администратором
и
самим
протоколом
в
процессе
его
работы
не
изменяется
.
Варьируя
величину
окна
,
можно
повлиять
на
загрузку
сети
.
Чем
больше
окно
,
тем
большую
порцию
неподтвержденных
данных
можно
послать
в
сеть
.
Если
сеть
не
справляется
с
нагрузкой
,
то
возникают
очереди
в
промежуточных
узлах
-
маршрутизаторах
и
в
конечных
узлах
-
компьютерах
.
После
приема
квитанции
с
нулевым
значением
окна
протокол
-
отправитель
время
от
времени
делает
контрольные
попытки
продолжить
обмен
данными
.
Если
протокол
-
приемник
уже
готов
принимать
информацию
,
то
в
ответ
на
контрольный
запрос
он
посылает
квитанцию
с
указанием
ненулевого
размера
окна
.
Особенности
TCP
•
передача
данных
;
•
проверка
достоверности
данных
при
передаче
;
•
управление
потоком
данных
и
контроль
за
перегрузками
в
сети
;
•
разделение
каналов
связи
;
•
обслуживание
сформированных
соединений
;
•
соблюдение
установленного
приоритета
пользователей
;
•
обеспечение
соответствующего
уровня
безопасности
Установление
соединения
TCP
Установление
TCP-
соединения
происходит
в
три
стадии
(3-way handshake):
•
Источник
устанавливает
соединение
с
получателем
,
посылая
ему
пакет
с
флагом
"
синхронизации
последовательности
номеров
" (Synchronize Sequence Numbers -
SYN).
Номер
в
последовательности
определяет
номер
пакета
в
сообщении
приложения
.
Это
не
обязательно
должен
быть
0
или
единица
.
Но
все
остальные
номера
будут
использовать
его
в
качестве
базы
,
что
позволит
собрать
пакеты
в
правильном
порядке
;
•
Получатель
отвечает
номером
в
поле
подтверждения
(
C-ACK
)
получения
SYN,
который
соответствует
установленному
источником
номеру
.
Кроме
этого
,
в
поле
"
номер
в
последовательности
"
может
также
сообщаться
номер
,
который
запрашивался
источником
;
•
Источник
подтверждает
,
что
принял
сегмент
получателя
(
S-ACK
).
и
отправляет
первую
порцию
данных
.
29
После
установки
соединения
источник
посылает
данные
получателю
и
ждет
от
него
подтверждений
о
их
получении
,
затем
снова
посылает
данные
и
т
.
д
.,
пока
сообщение
не
закончится
.
Заканчивается
сообщение
,
когда
в
поле
флагов
выставляется
бит
FIN,
что
означает
"
нет
больше
данных
".
SN
-
Поле
«
Номер
в
последовательности
» (Sequence Number, SN)
определяет
номер
первого
байта
в
очереди
(
или
последовательности
)
байтов
в
текущем
сегменте
.
SYN
сообщение
используемое
для
синхронизации
счетчиков
переданных
данных
при
установлении
соединения
;
AN
-
Поле
«
Номер
подтверждения
» (Acknowledgement Number)
содержит
номер
сегмента
с
подтверждением
успешного
приема
.
ACK
-
контрольный
бит
подтверждения
.
FIN
-
признак
достижения
передающей
стороной
последнего
байта
в
потоке
передаваемых
данных
.
Пример
.
Установление
соединения
:
ACK
ctrl
ACK
SN
X
ACK
SYN
ctrl
Y
ACK
SN
SYN
ctrl
SN
X
=
=
=
→
=
←
=
=
=
=
→
,
301
,
101
)
3
,
101
300
)
2
100
)
1
Передача
данных
:
ACK
ctrl
ACK
SN
X
Y
ACK
FYN
ctrl
ACK
SN
ACK
FYN
ctrl
ACK
SN
X
=
=
=
→
←
=
=
=
=
=
=
→
,
284
,
11750
)
3
,
,
11750
,
300
)
2
,
283
,
11749
)
1
5.
Организация
коммутируемых
сетей
Ethernet
Ethernet
является
:
1.
Доминирующей
технологией
локальных
сетей
2.
Универсальной
сетевой
технологий
,
так
как
наблюдается
тенденция
применения
технологии
Ethernet
в
кампусных
и
метрополитен
-
сетях
,
магистралях
(Ethernet over
DWDM).
Стандарты
:
Ethernet 10
Мбит
/
с
IEEE802.3 1991
г
FastEthernet 100
Мбит
/
с
IEEE802.3U 1995
г
1
Гбит
/
с
IEEE802.3z 1998
г
10
Гбит
/
с
IEEE802.3
ае
2002
г
5.1.
Обзор
технологий
Ethernet
Ethernet
Терминальное
устройство
:
Сетевая
карта
(NIC)
30
Множественный
доступ
в
разделенной
среде
Хотя
в
последнее
время
в
коммутируемой
сети
используются
линии
«
точка
–
точка
»,
методы
множественного
доступа
к
разделяемой
среде
используется
для
беспроводных
сетей
:
IEEE802.11 WiFi
IEEE802.15 Bluetooth
IEEE802.16 WIMAX
Формат
кадра
(
фрейма
)
Имеются
4
формата
кадра
;
тип
кадра
определяется
автоматически
.
Основным
для
IP – Ethernet
является
Ethernet II (DIX):
LLC – Logical Link Control –
логический
контроль
линии
.
Методы
доступа
к
среде
CSMA/CD
1.
Каждое
из
устройств
слушает
среду
2.
Устройство
начинает
передачу
фрейма
,
если
среда
свободна
3.
Каждое
устройство
получает
передаваемый
фрейм
,
но
обрабатывает
только
фреймы
,
адресованные
ему
4.
Если
два
или
более
устройства
начали
передачу
фрейма
одновременно
,
возникает
коллизия
5.
После
коллизии
устройство
начинает
повторную
передачу
фрейма
через
случайный
интервал
времени
Недостаток
: 1.
Значительное
снижение
пропускной
способности
при
увеличении
числа
(
процента
)
коллизий
.
Стек
протоколов
LLC
-
управление
процессами
передачи
Канальный
MAC
-
адресация
и
доставка
фрейма
Физический
-
коаксиальный
кабель
,
витая
пара
,
оптоволокно
LLC –
обеспечивает
передачу
данных
с
возможностью
установления
соединения
и
гарантированной
доставкой
:
LLC1 –
простая
доставка
фрейма
(
используется
для
TCP/IP
сетей
);
LLC2 –
доставка
с
установленного
соединения
,
скользящее
окно
;
LLC3 –
доставка
с
подтверждением
без
установленного
соединения
используется
в
системах
реального
времени
(QNX).
3-4
бита
DA SA T/L LLC Data FCS
46...1500
Общая
шина