Главная » Просмотр файлов » Лекции 2010-го года

Лекции 2010-го года (1130544), страница 75

Файл №1130544 Лекции 2010-го года (Лекции 2010-го года) 75 страницаЛекции 2010-го года (1130544) страница 752019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 75)

Рассмотрим случай, когда транспортный сервервзаимодействует с клиентами. Предположим, сервер упал и старается восстановитьфункционирование. Прежде всего, ему надо узнать у клиента, какое TPDU былопоследним неподтвержденным, и попросить повторить его. В свою очередь, клиент можетнаходиться в одном из двух состояний: S1 – есть неподтвержденное TPDU, либо S0 – всеTPDU подтверждены.Казалось бы, все просто. Однако рассмотрим проблему внимательнее. Сервер, получивTPDU, либо сначала шлет подтверждение, а затем записывает полученное TPDU в буферприложения, либо сначала записывает, а потом шлет подтверждение. Если сервер упал,послав подтверждение, но до того, как он осуществил запись, то клиент будет находитьсяпосле восстановления сервера в состоянии S0, хотя подтвержденное TPDU потеряно.Пусть, наоборот, сервер сначала записал TPDU, а потом упал.

Тогда после сбоя сервернайдет клиента в состоянии S1 и решит, что надо повторить неподтвержденное TPDU. Врезультате получим повторное TPDU.Можно формально показать, что эта проблема только средствами транспортного уровняне решается. Надо, записав TPDU, информировать об этом приложение и только послеэтого слать подтверждение. При восстановлении надо опрашивать не только клиента натранспортном уровне, но и приложение.6.3. Транспортные протоколы в Internet: TCP и UDPВ Internet есть два основных транспортных протокола: TCP - ориентированный насоединение и UDP - не ориентированный на соединение. Поскольку сервис, реализуемыйпротоколом UDP - это практически сервис, реализуемый протоколом IP, с добавлениемнебольшого заголовка, то основное внимание здесь мы уделим протоколу TCP.TCP (Transmission Control Protocol) - специально созданный протокол для надежнойпередачи потока байтов по соединению «точка-точка» через ненадежную сеть.

ТСР былсознательно разработан так, чтобы он мог адаптироваться к условиям и особенностямразных сетей, устойчиво и эффективно функционировать в условиях internet (несколькихсетей). На каждой машине, поддерживающей ТСР, есть ТСР-агент, который располагаетсялибо в ядре ОС, либо в процессе пользователя, который управляет ТСР-потоками идоступом к сервису IP-протокола.ТСР получает поток данных от прикладного процесса, дробит их на сегменты не болеечем по 65 Кбайт (на практике не более 1,5 Кбайт) и отправляет их как отдельные IPпакеты.Поскольку IP-уровень не гарантирует доставку каждого пакета, то в задачу ТСР входитопределение потерь и организация повторной передачи потерянного. Поскольку насетевом уровне в Internet соединения не поддерживаются, то сегменты могут поступать кполучателю в неправильном порядке и задача ТСР - восстановить этот порядок.6.3.1. Модель сервиса TCPДоступ к ТСР-сервису происходит через сокет.

Сокет состоит из IP-адреса хоста и 16разрядного локального номера на хосте, называемого порт. Сокеты создаются какотправителем, так и получателем. Порт - это TSAP для ТСР. Каждое соединениеидентифицируется парой сокетов, между которыми оно установлено. Один и тот же сокетможет быть использован для разных соединений. Никаких дополнительных виртуальныхсоединений не создается.Порты с номерами до 256 зарезервированы для стандартного сервиса. Например, еслинадо обеспечить FTP-передачу файла, то надо соединяться через 21-й порт, где находитсяFTP-демон.

Для TELNET - через 23-й порт. Полный список таких портов можно найти вRFC 1700.Все ТСР-соединения - дуплексные, т.е. передача идет независимо в оба направления. ТСРсоединение поддерживает только соединение «точка-точка». Не существует ТСРсоединений от одного ко многим.ТСР обеспечивает поток байтов, а не поток сообщений.

Напомним, это значит, чтограницы сообщений не поддерживаются автоматически в потоке.После того, как приложение передало данные ТСР агенту, эти данные могут бытьотправлены сразу на сетевой уровень, а могут быть буферизованы, как поступить - решаетТСР-агент. Однако в ряде случаев надо, чтобы они были отправлены сразу, например,если эти данные представляют собой команду для удаленной машины. Для этого взаголовке ТСР-пакета есть флаг PUSH. Если он установлен, то это говорит о том, чтоданные должны быть переданы немедленно.Наконец, последняя возможность ТСР-сервиса, которую здесь стоит упомянуть - срочныеданные.

Если для данных установлен флаг URGENT в заголовке, то все данные послеэтого по данному соединению передаются сразу и не буферизуются. Когда срочныеданные поступают к месту назначения, то получателю передают их немедленно.6.3.2. Протокол TCPКаждый байт в ТСР соединении имеет 32-разрядный номер. В сети с пропускнойспособностью 10 Мбит/сек.

потребуется не менее часа, чтобы исчерпать все номера с 0 до2^32. Эти номера используются как для уведомления, так и в механизме управленияокнами.ТСР-агенты обмениваются сегментами данных. Каждый сегмент имеет заголовок от 20байтов и более (по выбору) и тело переменной длины. Один сегмент может включатьбайты от разных отправителей, а может включать часть данных одного. Какой длиныможет быть тело, решает ТСР-агент. Длину сегмента ограничивают два фактора. Вопервых, длина сегмента не должна превышать максимальную длину IP-пакета - 64 Кбайт.Во-вторых, каждая сеть имеет максимальную единицу передачи - MTU (maximum transferunit), и каждый сегмент должен помещаться в MTU. В противном случаемаршрутизаторам придется применять фрагментацию.

При этом возрастают накладныерасходы на передачу в сети, так как каждый фрагмент оформляется как самостоятельныйпакет (с 20-байтным заголовком).Основным протоколом, который используется ТСР-агентом, является протоколскользящего окна. Это значит, что каждый посланный сегмент должен быть подтвержден.Одновременно с отправлением сегмента взводится таймер. Подтверждение придет либо сочередными данными в обратном направлении, если они есть, либо без данных, но сподтверждением. Подтверждение будет иметь порядковый номер очередного ожидаемогополучателем сегмента. Если таймер исчерпается прежде, чем придет подтверждение, тосегмент посылается повторно.Несмотря на кажущуюся простоту, ТСР-протокол достаточно сложен и должен решатьследующие основные проблемы:• восстанавливать порядок сегментов• убирать дубликаты сегментов, в каком бы виде они не поступали• определять разумную задержку для time_out для подтверждений в получениисегмента• устанавливать и разрывать соединения надежно• управлять потоком• управлять перегрузками6.3.3.

Заголовок сегмента в TCPЗаголовок сегмента в ТСР показан на рисунке 6-24. Максимальная длина раздела данных –65 495 байтов.• Поля Source port и Destination port указывают сокеты на стороне отправителя иполучателя соответственно.• Sequence number и Acknowledgement number содержат порядковый номерожидаемого байта и следующего ожидаемого, а не последнего полученногобайта.Рисунок 6-16.

Заголовок TCP• 6-битное поле флагов.Бит Urg используется вместе с полем Urgent pointer, которое указывает наначало области срочных данных.oACK - 1, если поле Acknowledgement number используется, в противномслучае – 0.oPSH - 1, если отправитель просит транспортного агента на сторонеполучателя сразу передать эти данные приложению и не буферизовать их.oRST – используется, чтобы переустановить соединение, которое по какойлибо причине стало некорректным. Получение пакета с таким флагомозначает наличие проблемы, с которой надо разбираться.oSYN – 1, при запросе на соединение.

Флаг ACK указывает на наличие илиотсутствие подтверждения. SYN=1 ACK=0 – запрос на соединение, SYN=1ACK=1 – подтверждение соединения.oFIN - запрос на разрыв соединения. У отправителя нет больше данных.o• Поле Window size используется алгоритмом управления окном.• Поле Options используется для установления возможностей, не предусмотренныхстандартным заголовком. Например, здесь часто указывается максимальныйразмер поля данных, допустимый по данному соединению.6.3.4.

Управление соединениями в TCPКак уже было сказано, установление ТСР-соединения происходит по протоколутрехкратного рукопожатия. Флаги SYN и ASK в заголовке сегмента используются дляреализации примитивов CONNECTION REQUEST и CONNECTION ACCEPTED. ФлагRST используется для реализации примитива REJECT. Это означает, что указанные вышепримитивы вызывают посылку ТСР-пакета с установленным соответствующим флагом.На рисунке 6-17 (а) показаны состояния при установлении соединения.

Когда приходитзапрос на соединение по определенному порту, транспортный агент проверяет, есть липроцесс, который выполнил примитив LISTEN на этом порту. Если такой процесс есть, тоему передается управление. Если такого процесса нет, то в ответ идет отказ отустановления соединения.Рисунок 6-17. Установление TCP-соединенияСлучай (b) показывает ситуацию, когда два хоста одновременно пытаются установитьсоединение между двумя одинаковыми сокетами (коллизия). Поскольку каждоесоединение идентифицируется парой сокетов, то будет установлено только одно изсоединений.Таймер для последовательных номеров сегментов тактируется с частотой 4 мксек.,максимальное время жизни пакета - 120 сек. Напомним, что начальный номер сегментовникогда не равен нулю, по соображениям, приведенным ранее.

Характеристики

Тип файла
PDF-файл
Размер
9,78 Mb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6310
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее