Реферат: Протокол надежной доставки сообщений TCP - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Протокол надежной доставки сообщений TCP

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 29 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Протокол надежной доставки сообщений TCP В стеке проток олов TCP/IP протокол TCP (Transmission Control Protocol) работает так же , как и протокол UDP, на транспортном уровне . Он обеспечивает надежную транспортировку данных между прикладным и процессами путем установления логического с оединения . Сегменты TCP Единицей данных протокола TCP является сегмент . Информация , п оступающая к протоколу TCP в рамках логического соединения от протоколов более высокого уровня , рассматривается протоколом TCP как неструкту рированный поток байт . Поступающие данные буф еризуются средствами TCP. Для передачи на сетевой уровень из буфера "вырезается " некоторая непрерывная часть данных , называемая сегментом . В протоколе TCP предусмотрен случай , когда приложение обращается с запросом о срочной передаче данных (бит PSH в запросе установле н в 1). В эт ом случае протокол TCP, не ожидая заполнения буфера до уровня размера сегмента , немедленно передает указанные данн ые в сеть . О таких данных говорят , что они передаются вне потока - out of band. Не все сегменты , посланные через соеди нение , будут одного и т ого же разм ера , однако оба участника соединения должны договориться о максимальном размере сегмента , который они будут использовать . Этот размер выбирается таким образом , чтобы при упако вке сегмента в IP-пакет он помещался туда целиком , то есть максимальн ы й р азмер сегмента не должен превосходить максима льного размера поля данных IP-пакета . В прот ивном случае пришлось бы выполнять фрагментац ию , то есть делить сегмент на несколько частей , для того , чтобы он вместился в IP-пакет . Аналогичные проблемы решаются и на сетевом уровне . Для того , чтобы избежать фрагментации , должен быть выбран соответству ющий максимальный размер IP-пакета . Однако при этом должны быть приняты во внимание максимальные размеры поля данных кадров (MTU) в сех протоколов канального уровня, испо льзуемых в сети . Максимальный размер сегмента не должен превышать минимальное значение на множестве всех MTU составной сети . Порты и уст ановление TCP-соединений В протоколе TCP т акже , как и в UDP, для связи с прикладными процессами используются порты . Номера п ортам присваиваются аналогичным образом : имеются стандартные , зарезервированные номера (например , номер 21 закреплен за сервисом FTP, 23 - за telnet), а менее известные приложения пользуются произвольн о выбранными локальными номерами . Однако в п ротоколе TCP порты использ уются несколько иным способом . Для организаци и надежной передачи данных предусматривается установление логического соединения между двумя прикладными процесс ами . В рамках соединения осуществляется обяза тельное подтверждение правил ьности приема для всех переданных сообщений , и при не обходимости выполняется повторная передача . Соеди нение в TCP позволяет вести передачу данных одновременно в обе стороны , то есть полнод уплексную передачу . Соединение в протоколе TCP идентифицируется пар ой полных адресов обоих взаимодействую щих процессов (оконечных точек ). Адрес каждой из оконечных точек включает IP-адрес (номер сети и номер компьютера ) и номер порта . Одна оконечная точка может участвовать в нескольких соединениях . Установление соединени я выполняется в следующей последовательности : · При установлении соединения одна из сторон является инициатором . Она посылает запрос к протоколу TCP на открытие порта для передачи (active open). · После открытия порта протокол TCP на стороне процесса-ини циатора посылает запрос процессу , с которым требу ется установить соединение . · Протокол TCP на приемно й стороне открывает порт для приема данны х (passive open) и возвращает квитанцию , подтверждающую п рием запроса . · Для того чтобы п ередача могла вестись в обе стороны , протокол на приемной стороне также открывает порт для передачи (active port) и также передает запрос к противоположной стороне . · Сторона-инициатор открыв ает порт для приема и возвращает квитанци ю . Соединение считается установленным . Далее происходит обмен данными в рамках дан ного соединения . Концепция квит ирования В рамках соеди нения правильность передачи каждого сегмента должна подтверждаться квитанцией получателя . Квитирование - это один из традиционных методов обеспечения надежной связи . Идея квитирования состоит в сл едующем . Для того , чтобы можно было организоват ь повторную передачу искаженных данных отправ итель нумерует отправляемые единицы передаваемых данных (далее для простоты называемые кад рами ). Для каждого кадра отправитель ожид ает от приемника так называемую полож ительную квитанцию - служебное сообщение , извещающе е о том , что исходный кадр был получен и данные в нем оказались корректными . Время этого ожидания ограничено - при отпра вке каждого кадра передатчик запускает таймер , и если по его истечению полож ительная квитанция на получена , то кадр сч итается утерянным . В некоторых протоколах при емник , в случае получения кадра с искаженн ыми данными должен отправить отрицательную кв итанцию - явное указание того , что данный к адр нужно п ередать повторно . Существуют два подхода к организации процесса обмена положительными и отрицательными квитанциями : с простоями и с организацией "окна ". Метод с простоями требует , чтобы источ ник , пославший кадр , ожидал получения квитанци и (положительной или отрицательной ) от пр иемника и только после этого посылал след ующий кадр (или повторял искаженный ). Из ри сунка 6.1 видно , что в этом случае производит ельность обмена данными существенно снижается - хотя передатчик и мог бы послать следу ющий кадр сразу ж е после отправ ки предыдущего , он обязан ждать прихода кв итанции . Снижение производительности для этого метода коррекции особенно заметно на низко скоростных каналах связи , то есть в террит ориальных сетях . Рис . 6.1. Метод подтверждения корректности пе редачи кадров с простоем источника Во втор ом методе для повышения коэффициента использо вания линии источнику разре шается передат ь некоторое количество кадров в непрерывном режиме , то есть в максимально возможном для источника темпе , без получения на эти кадры ответных квитанций . Количество ка дров , которые разрешается передавать таким об разом , называется размером окна. Рисунок 6.2 иллюстрирует данный метод для размера окна в W кадров . Обычно кадры при обмене ну меруются циклически , от 1 до W. При отправке кадра с номером 1 источнику разрешается переда ть еще W-1 кадров до получения квитанции на кадр 1. Если же за это вре м я квитанция на кадр 1 так и не пришла , то процесс передачи приостанавливается , и по истечению некоторого тайм-аута кадр 1 счи тается утерянным (или квитанция на него ут еряна ) и он передается снова . Рис . 6.2. Метод "окна " - непрерывная отправка пакетов Если же поток квитанций поступает более-менее регуля рно , в пределах допуска в W кадров , то с корость обмена достиг ает максимально возм ожной величины для данного канала и приня того протокола . Этот алгоритм называют алгоритмом скользя щего окна . Действительно , при каждом получении квитанции окно перемещается (скользит ), захват ывая новые данные , которые разрешается перед авать без подтверждения . Реализация ско льзящего окна в протоколе TCP В протоколе TCP р еализована разновидность алгоритма квитирования с использованием окна . Особенность этого алго ритма состоит в том , что , хотя единицей передаваемых данных является сегмент , окн о определено на множестве нумерованных байт неструктурированного потока данных , поступающих с верхнего уровня и буферизуемых протоко лом TCP. Квитанция посылается только в случае правильного приема данных , отрицательные квитанци и не посылаются . Таким образом , отсутстви е квитанции означает либо прием искаженного сегмента , либо потерю сегмента , либо поте рю квитанции . В качестве квитанции получатель сегмента отсылает ответное сообщение (сегмент ), в к оторое помещает число , на единицу превышающее максималь ный номер байта в полученно м сегменте . Если размер окна равен W, а последняя квитанция содержала значение N, то от правитель может посылать новые сегменты до тех пор , пока в очередной сегмент не попадет байт с номером N+W. Этот сегмент в ыходит за рамки окн а , и передачу в таком случае необходимо приостановить до прихода следующей квитанции . Выбор тайм-аута Выбор времени ожидания (тайм-аута ) очередной квитанции является важной задачей , результат решения которой влияет на производительность протокола TCP. Тай м-аут не должен быть слишком коротким , чтобы по возможности исключить из быточные повторные передачи , которые снижают полезную пропускную способность системы . Но о н не должен быть и слишком большим , чт обы избежать длительных простоев , связанных с ожиданием несуществующей или "заблуди вшейся " квитанции . При выборе величины тайм-аута должны у читываться скорость и надежность физических л иний связи , их протяженность и многие друг ие подобные факторы . В протоколе TCP тайм-аут определяется с помощью достаточно слож но го адаптивного алгоритма , идея которого состо ит в следующем . При каждой передаче засека ется время от момента отправки сегмента д о прихода квитанции о его приеме (время оборота ). Получаемые значения времен оборота усредняются с весовыми коэффициентами , в о зрастающими от предыдущего замера к последующему . Это делается с тем , чтоб ы усилить влияние последних замеров . В кач естве тайм-аута выбирается среднее время обор ота , умноженное на некоторый коэффициент . Прак тика показывает , что значение этого коэффицие нта должно превышать 2. В сетях с большим разбросом времени оборота при выбо ре тайм-аута учитывается и дисперсия этой величины . Реакция на перегрузку сети Варьируя величину окна , можно повлиять на загрузку сети . Чем больше окно , тем большую порцию неп одтвержд енных данных можно послать в сеть . Если сеть не справляется с нагрузкой , то возникают очереди в промежуточных узл ах-маршрутизаторах и в конечных узлах-компьютерах . При переполнении приемного буфера конечно го узла "перегруженный " протокол TCP, отправляя кв итанцию , помещает в нее новый , уменьше нный размер окна . Если он совсем отказывае тся от приема , то в квитанции указывается окно нулевого размера . Однако даже после этого приложение может послать сообщение на отказавшийся от приема порт . Для это го , сообщени е должно сопровождаться пометкой "срочно " (бит URG в запросе установлен в 1). В такой ситуации порт обязан принят ь сегмент , даже если для этого придется вытеснить из буфера уже находящиеся там данные . После приема квитанции с нулевым знач ением окна протоко л-отправитель время от времени делает контрольные попытки продолжит ь обмен данными . Если протокол-приемник уже готов принимать информацию , то в ответ на контрольный запрос он посылает квитанцию с указанием ненулевого размера окна . Другим проявлением перег рузки сети является переполнение буферов в маршрутизатора х . В таких случаях они могут централизован о изменить размер окна , посылая управляющие сообщения некоторым конечным узлам , что поз воляет им дифференцировано управлять интенсивнос тью потока данных в р а зных ча стях сети . Формат сообщен ий TCP Сообщения протокол а TCP называются сегментами и состоят из заг оловка и блока данных . Заголовок сегмента имеет следующие поля : · Порт источника (SOURS PORT) занимает 2 байта , и дентифицирует процесс-отправитель ; · По рт назначения (DESTINATION PORT) занимает 2 байта , идентифицирует процесс-получ атель ; · Последовательный номер (SEQUENCE NUMBER) занимает 4 байта , указывает номер байта , который определяет смещение сегмента относител ьно потока отправляемых данных ; · Подт вержденный н омер (ACKNOWLEDGEMENT NUMBER) занимает 4 байта , содержит максимальный номер байта в полученном сегменте , увелич енный на единицу ; именно это значение испо льзуется в качестве квитанции ; · Длина заголовка (HLEN) за нимает 4 бита , указывает длину з аголовка сегмента TCP, измеренную в 32-битовых словах . Дли на заголовка не фиксирована и может измен яться в зависимости от значений , устанавливае мых в поле Опции ; · Резерв (RESERVED) занимает 6 б итов , поле зарезервировано для последующего и спользования ; · Кодовые биты (CODE BITS) зани мают 6 битов , содержат служебную информацию о типе данного сегмента , задаваемую установкой в единицу соответствующих бит этого поля : · URG - срочное сообщение ; · ACK - квитанция на при нятый сегмент ; · PSH - запрос на отправ ку сообщения без ожидания заполнения буфера ; · RST - запрос на восста новление соединения ; · SYN - сообщение используем ое для синхронизации счетчиков переданных дан ных при установлении соединения ; · FIN - признак достижения передающей стороной последнего байта в потоке передаваемых данных . · Окно (WINDOW) занимает 2 бай та , содержит объявляемое значение размера окн а в байтах ; · Контрольная сумма (CHECKSUM) занимает 2 байта , рассчитывается по сегменту ; · Указатель срочности (URGENT POINTER) занимает 2 ба йта , используется совместно с кодовым битом URG, указывает на конец да нных , которые необходимо срочно принять , несмо тря на переполнение буфера ; · Опции (OPTIONS) - это поле имеет переменную длину и может вообще отсутствовать , максимальная величина поля 3 б айта ; используется для решения вспомогательных задач , например , при выборе максимального ра змера сегмента ; · Заполнитель (PADDING) может иметь переменную длину , представляет собой фи ктивное поле , используемое для доведения разм ера заголовка до целого чис ла 32-битовы х слов .
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Закончив школу, средний россиянин не знает ни одного иностранного языка. А теперь не будет знать двух.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Протокол надежной доставки сообщений TCP", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru