Маршрутизация с помощью ip-адресов
26. Маршрутизация с помощью IP-адресов.
Маршрутизаторы и конечные узлы принимают решение о том, кому передавать пакет на основании таблицы маршрутизации – txt файл в виде таблицы:
|адрес сети назн.|адрес след. маршр-ра|номер выходного порта|расстояние до сети назн.|.
В адрес сети назначения указывается адреса всех сетей, которым данный маршрутизатор может передавать пакет (к которым он непосредственно присоединен). В случае если в таблице маршрутов имеется более одной строки соответствующей одному и тому же адресу сети назначения то при принятии решения о передачи используется та строка в которой указано наименьшее расстояния до сети назначения. Под расстоянием понимается любая метрика. Для отправки в следующий маршрутизатор требуется знание его локального адреса, но в таблицах маршрутизации есть только IP. Для нахождения локального адреса необходимо воспользоваться протоколом ARP. ???
27. Алгоритмы маршрутизации. Фиксированная, простая, адаптивная.
3 типа построения таблиц одношаговой маршрутизации:
Ø Алгоритм фиксированной маршрутизации
В сетях с простой топологией. Основан на ручном составлении таблиц. Эффективен для магистралей перегруженных сетей, тк очевидны наилучшие маршруты.
Ø Алгоритм простой маршрутизации
o Случайная
Пакеты передаются в любом случайном направлении, кроме исходного
o Лавинная
Пакеты передаются во всех направлениях, кроме исходного (в мостах для пакетов неизвестным адресом доставки).
o По предыдущему опыту
Таблицы составляются на основе данных, содержащихся в проходящих пакетах (прозрачные мосты). Медленно адаптируется к изменениям топологии сети.
Ø Алгоритм адаптивной маршрутизации
В сетях со сложной топологией. Маршрутизаторы периодически обмениваются специальной топологической информацией о подсетях в интерсети и связях между маршрутизаторами. Учитывается не только топология связей, но и их пропускная способность и состояние. Распределённый характер протоколов.
28. Сегменты TCP. Порты и установление TCP-соединений.
TCP работает на транспортном уровне. Он обеспечивает надежную транспортировку между прикладными процессами путем установления логического соединения.
Информация, поступающая в TCP, рассматривается им как неструктурированный поток байтов, который буферизуется, вырезается некоторая непрерывная часть называемая сегментом, имеющий разный размер, но ограниченные размером поля данных IP. Если приложение обращается с запросом о срочной передачи (PSH=1) то TCP не дожидается заполнения буфера, а сразу передает.
В TCP (и в UDP) для связи с прикладными процессами используются порты. Номера портов используют стандартные зарезервированные, остальные приложения пользуют произвольно выбранные локальные номера.
Для организации надежной передачи организуется логическое соединение (полнодуплексное). В рамках соединения осуществляется обязательное подтверждение правильности приема для всех переданных сообщений и повторная передача по необходимости. Соединение идентифицируется парой полных адресов обоих процессов (IP адрес и номер порта). Одна оконечная точка может участвовать в нескольких соединениях. Установление соединения осуществляется в следующей последовательности: инициатор соединения посылает запрос к протоколу TCP для открытия порта, протокол TCP на стороне процесса инициатора посылает запрос процессу, с которым требуется установить соединение. Протокол TCP на примерной стороне открывает порт для приема и возвращает квитанцию, для дуплексной передачи так же открывается порт для приема передачи и так же передается запрос противоположной стороне, инициатор открывает порт для приема и возвращает квитанция.
29. Концепция квитирования
Квитирование – один из традиционных методов обеспечения надежной связи.
Сущность: для быстрой организации повторной передачи искаженных данных, отправитель нумерует кадры переданных данных. Для каждого кадра отправитель ожидает от получателя положительную квитанцию (кадр получен, данные исправны). Время ожидания ограничено временем жизни кадра. Если по истечении времени ожидания квитанция не получена, то кадр считается утерянным. В некоторых протоколах, при приеме искаженного кадра, получатель отправляет отрицательную квитанцию, и кадр передается снова.
2 метода подхода к обмену квитанциями:
Ø С простоями
Отправитель ожидает получения квитанции(+/-) от получателя и только после этого посылает следующий кадр/повторяет посылку искаженного.
Ø С организацией окна
Для повышения коэффициента использования линии отправитель посылает некоторое количество кадров в непрерывном режиме, без получения ответных квитанций. Количество кадров – размер окна. Нумерация кадров циклическая (1 – n). Отправляется 1й кадр и пока источник ждёт квитанцию на 1й кадр, он может отправить ещё (n-1) кадров. Если в это время квитанция на 1й кадр так и не пришла, то передача приостанавливается, источник ждет ещё какое-то время, по истечению которого кадр или квитанция на него считаются утерянными и передаются снова. Если поток квитанций равномерный, то достигается максимальная скорость для данного канала.
30. Реализация скользящего окна выбор таймаута реакция на перегрузку сети протокола TCP
Особенность алгоритма – окно определено на множестве нумерованный байт в неструктурированном потоке данных. Квитанция посылается либо положительная, либо учитывается её отсутствие. В качестве квитанции используется сообщение, которое содержит число на единицу превышающее максимальный номер байта, полученного в сегменте.
При выборе таймаута учитывается скорость, надежность, протяженность физических линий и т. п. В протоколе TCP таймаут определяется с помощью сложного адаптивного алгоритма, который при каждой передаче засекает время от отправки сегмента до квитанции. Получаемые значения усредняются с весовыми коэффициентами, возрастающими от предыдущего замера к последующему. Это делается, чтобы усилить влияние последних замеров. В качестве таймаута выбирается среднее время оборота, умноженное на коэффициент (обычно >2).
Изменяя величину окна можно влиять на нагрузку сети. При переполнении приемного буфера конечного узла перегруженный протокол отправляет квитанцию, помещая в нее уменьшенный размер окна. Если он совсем отказывается от приема, то в квитанции указывается 0 размер. Даже после этого приложение может послать сообщение на отказавшийся от приема порт (для этого оно помечается пометкой срочно). В таком случае порт обязан принять сегмент, даже если для этого придется вытеснить из буфера уже находившиеся там данные. После приема квитанции с нулевым значением, протокол отправитель время от времени делает контрольную попытку продолжить обмен. Если приемник готов принимать, то он отсылает квитанцию с ненулевым размером окна. Если переполняется буфер маршрутизатора, то они централизованно изменяют размер окна, посылая уведомления конечным узлам.
31. Формат сообщений TCP
Сообщения протокола TCP называются сегментами.
Сегмент состоит из:
Ø Блок данных
Ø Заголовок
o Порт источника SOURSE PORT (2 байта) идентифицирует процесс отправитель
o Порт назначения DESTINATION PORT (2 байта) идентифицирует процесс-получатель
o Последовательный номер SEQUENCE NUMBER (4 байта) указывает № байта, который определяет смещение сегмента относительно потока отправленных данных
o Подтвержденный номер ACKNOWLEDGMENT NUMBER (4 байта) содержит максимальный № байта, полученный в сегменте, увеличенный на 1. Это значение используется в качестве квитанции
o Длина заголовка HLEN (4 бита) указывает длину заголовка сегмента TCP, измеренная в 32ух битовых словах. Длина заголовка может меняться, в зависимости от значений в поле опции.
o Поле резерв RESERVED (6 бит) зарезервировано для последующего использования
o Кодовые биты CODE BITS (6 бит) содержит служебную информацию о типе данного сегмента, задаваемую установкой в единицу соответствующего бита этого поля.
§ URG – срочное сообщение
§ ASC – квитанция на прием сегмента
§ PSH – запрос на отправку сообщения без ожидания заполнения буфера.
§ RST — запрос на восстановление соединения
§ SYN – сообщения, используемые для синхросчетчиков передачи данных при установлении соединения
§ FIN – признак достижения передающей стороной последнего байта в потоке передачи данных.
o Поле окно WINDOWS (2 байта) содержит объявляемое значение размера окна в байтах.
o Контрольная сумма CHECK SUM (2 байта) рассчитывается по сегменту.
o Указатель срочности URGENT POINTER (2 байта) используется совместно с кодовым битом URG, указывает на конец данных, которые необходимо срочно принять, несмотря на переполнение буфера.
o Опции OPTIONS (от 0 до 3 байт) используется для решения вспомогательных задач, например при выборе максимального размера сегмента.
o Дополнительное поле PADDING (переменная длина) используется для доведения размера заголовка до целого числа 32-битовых слов
32. Типы адресов стека TCP/IP
Принятый в IP сетях способ адресации узлов позволяет однозначно идентифицировать миллионы сетевых интерфейсов.
В стеке TCP/IP используется 3 типа адресов:
Ø Локальный или аппаратные адреса (для адресации в пределах подсети, для локальных сетей это MAC адрес сетевого адаптера или порта маршрутизатора (6 байт, старшие 3 – фирма, младшие 3 – назначаются производителем), для глобальных сетей локальный адрес назначается администратором)