15.Механизм окна TCP. Управление потоком данных.
15. Механизм окна TCP. Управление потоком данных. При скольз. окне. для повышения скорости передачи данных источнику разрешается передать некоторое количество кадров в непрерывном режиме, то есть в максимально возможном для источника темпе еще до получения на эти кадры квитанций. Количество кадров, которые разрешается передавать таким образом, называется размером окна. Механизм окна позволяет: 1. Ускорить передачу, если окно больше длины 1 сообщения 2. Контролировать доставку пакетов 3. Управлять темпом передачи Хотя единицей передаваемых данных протокола TCP является сегмент (аналог кадра в данном контексте), окно определено на множестве нумерованных байтов неструктурированного потока данных, передаваемого приложением протоколу TCP, т. е. размер окна измеряется в байтах. В ходе переговорного процесса модули TCP обоих участвующих в обмене сторон договариваются между собой о параметрах процедуры обмена данными. Параметр начальный номер байта, с которого будет вестись отсчет в течение всего функционирования данного соединения, адаптивно меняется. У каждой стороны свой начальный номер. Когда отправитель посылает TCP-сегмент, он помещает в поле последовательного номера номер первого байта данного сегмента, который служит идентификатором сегмента. На основании этих номеров получатель TCP-сегмента не только отличает данный сегмент от других, но и позиционирует полученный фрагмент относительно общего потока байтов. Кроме того, он может сделать вывод, например, что полученный сегмент является дубликатом или что между двумя полученными сегментами пропущены данные и т. д. В качестве квитанции получатель сегмента отсылает ответное сообщение(сегмент), в поле подтвержденного номера которого он помещает число, на единицу превышающее максимальный номер байта в полученном сегменте.
Подтвержденный номер часто интерпретируют не только как оповещение о благополучной доставке, но и как номер следующего ожидаемого байта данных. Квитанция в протоколе TCP посылается только в случае правильного приема данных. Таким образом, отсутствие квитанции означает либо потерю сегмента, либо потерю квитанции, либо прием искаженного сегмента. В соответствии с определенным форматом один и тот же TCP-сегмент может нести в себе как пользовательские данные (в поле данных), так и квитанцию (в заголовке), которой подтверждается получение данных от другой стороны. Вполне возможны ситуации, когда сегменты приходят к получателю не в том порядке, в котором были посланы, то есть в приемном буфере может образоваться «прогалина». Пусть, к примеру, после указанных ранее трех сегментов вместо следующего по порядку сегмента (8401-10566) пришел сегмент (10567-12430). Очевидно, чтопослать в качестве номера квитанции значение 12431 нельзя, потому что это бы означало, что получены все байты вплоть до 12430. Поскольку в потоке байтов образовался разрыв, получатель может только еще раз повторить квитанцию 8401, говоря тем самым, что все еще ожидает поступления потока байтов, начиная с 8401, то есть подтверждает получение не отдельных блоков данных, а непрерывной последовательности байтов. Когда протокол TCP передает в сеть сегмент, он «на всякий случай» помещает его копию в буфер, называемый также очередью повторной передачи, и запускает таймер. Когда приходит квитанция на этот сегмент, соответствующая копия удаляется из очереди. Если же квитанция не приходит до истечения срока, то сегмент, вернее его копия, посылается повторно.
16. Заголовок и протокол UDP. Сокеты.
Транспортный протокол 4го уровня, обеспечивающий передачу дейтаграмм: -без установления соединения и без повторной передачи пакета, без подтверждений, без определения потерянных или идущих в неправильной послед-ти пакетов, пакеты идут именно в том виде, в котором пришли – того же размера, разбиения нет, быстродействие Пример – использование приложений по протоколу VoIP – голосовое общение, предполагается, что пользователи сами словами подтверждают сообщения Заголовок UDP: Source port – 2байта – порт отправителя Dest port – 2байта – порт получателя ChSum – 2байта – контрольная сумма. Если отправ-ль ставит 0 – значит не вычисляется и не проверяется. Для вычисления использ-ся псевдо-заголовок, в котором еще IP-адреса получателя и отправителя. В конце сообщ-я дописывается 8 нулей, если длина сообщения в байт не кратна 2 Протокол UDP: 1. На входной порт подается пакет от ПВУ или от прикладного процесса 2. Формируется заголовок, считается сумма, если надо 3. Логическая доставка пакета 4. Проверка контрольной суммы (либо 0/все правильно, либо неправильно) 5. Если все верно – передает пакет через соотв порт прикладному процессу 6. Если неверно – отбрасываем пакет Прикладные процессы взаимодействуют с модулем UDP через порты. Все сообщения для данного прикладного процесса проходят через спец выделенный конкретно для этого процесса порт. Общеизвестные номера портов (общеизвестны в Internet, как выделенные для конкр): SNMP – 161(сетевой монитор), boot PC – 68 (протокол загрузки клиента), users – 11 (активные пользователи), 20 – FTP (данные) При передаче инф-ции через Интернет самое важное – чтобы передатчик и приемник друг друга понимали. Для этого обеспечивают стандартизацию протоколов передачи и стандартизацию интерфейсов между протоколами. У нас м. б. много ПВУ, их надо согласовывать с TCP и UDP через системный интерфейс. Так родилась идея сокетов – устройство двунаправленной связи, используемое для взаимодействия между процессами, находящимися на разных машинах. Каждый сокет характеризуется протоколом сетевого взаимодействия, локальным и сетевым алресами, постоянно закрепленным или выделенным по запросу портом. При создании используем параметры: 1. стиль взаимодействия – сессия+установление, дейтаграммы или управляющие команды
2. протокол взаимодействия – TCP, UDP, SNMP 3. пространство имен и адресация Socket – орг-ция пакета (пассивная, активная) Closes – завершение сокета, Connect – установить, Bind – привязать к №порта, list – настройки для общения с ПВУ
Протоколы T C P и U D P ведут для кажого приложения две системные очереди: очередь данных, поступающих к приложению из сети, и очередь данных, отправляумых этим приложением в сеть. Такие системные очереди называются портами1, причем входная и выходная очереди одного приложения рассматриваются как один порт. Для идентификации портов им присваивают номера.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|