рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Протокол управления передачей TCP и протокол пользовательских дейтаграмм UDP

Протокол управления передачей TCP и протокол пользовательских дейтаграмм UDP - раздел Компьютеры, Интернет Протокол Управления Передачей Tcp И Протокол Пользовательских Дейтаграмм Udp....

Протокол управления передачей TCP и протокол пользовательских дейтаграмм UDP. Transmission Control Protocol - это протокол, тесно связанный с IP, который используется в аналогичных целях, но на более высоком уровне - транспортном уровне эталонной модели ISO OSI. Часто эти протоколы, по причине их тесной связи, именуют вместе, как TCP IP. Термин TCP IP обычно означает все, что связано с протоколами TCP и IP. Он охватывает целое семейство протоколов, прикладные программы и даже саму сеть. В состав семейства входят протоколы TCP, UDP, ICMP, telnet, FTP и многие другие. TCP IP - это технология межсетевого взаимодействия, технология internet.

Сеть, которая использует технологию internet, называется internet. Сам протокол TCP занимается проблемой пересылки больших объемов информации, основываясь на возможностях протокола IP. Как это делается? Вполне здраво можно рассмотреть следующую ситуацию.

Как можно переслать книгу по почте, если та принимает только письма и ничего более? Очень просто разодрать ее на страницы и отправить страницы отдельными конвертами. Получатель, руководствуясь номерами страниц, легко сможет книгу восстановить. Этим же простым и естественным методом и пользуется TCP. TCP делит информацию, которую надо переслать, на несколько частей.

Нумерует каждую часть, чтобы позже восстановить порядок. Чтобы пересылать эту нумерацию вместе с данными, он обкладывает каждый кусочек информации своей обложкой - конвертом, который содержит соответствующую информацию. Это и есть TCP-конверт. Получившийся TCP-пакет помещается в отдельный IP-конверт и получается IP-пакет, с которым сеть уже умеет обращаться. Получатель TCP-модуль процесс по получении распаковывает IP-конверты и видит TCP-конверты, распаковывает и их и помещает данные в последовательность частей в соответствующее место.

Если чего-то не достает, он требует переслать этот кусочек снова. В конце концов информация собирается в нужном порядке и полностью восстанавливается. Вот теперь этот массив пересылается выше к пользователю на диск, на экран, на печать. В действительности, это слегка утрированный взгляд на TCP. В реальности пакеты не только теряются, но и могут искажаться при передаче из-за наличия помех на линиях связи. TCP решает и эту проблему.

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

Для ясности и полноты картины, необходимо сделать здесь важное замечание Модуль TCP разбивает поток байтов на пакеты, не сохраняя при этом границ между записями. Т.е если один прикладной процесс делает 3 записи в -порт, то совсем не обязательно, что другой прикладной процесс на другом конце виртуального канала получит из своего -порта именно 3 записи, причем именно таких по разбиению, что были переданы с другого конца. Вся информация будет получена исправно и с сохранением порядка передачи, но она может уже быть разбита по другому и на иное количество частей.

Не существует зависимости между числом и размером записываемых сообщений с одной стороны и числом и размером считываемых сообщений с другой стороны. TCP требует, чтобы все отправленные данные были подтверждены принявшей их стороной. Он использует ожидания таймауты и повторные передачи для обеспечения надежной доставки. Отправителю разрешается передавать некоторое количество данных, не дожидаясь подтверждения приема ранее отправленных данных.

Таким образом, между отправленными и подтвержденными данными существует окно уже отправленных, но еще не подтвержденных данных. Количество байт, которое можно передавать без подтверждения, называется размером окна. Как правило, размер окна устанавливается в стартовых файлах сетевого программного обеспечения. Так как TCP-канал является, т.е. данные могут одновременно передаваться в обоих направлениях, то подтверждения для данных, идущих в одном направлении, могут передаваться вместе с данными, идущими в противоположном направлении.

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

Наиболее типичными прикладными процессами, использующими TCP, являются ftp и telnet. Кроме того, TCP использует система X-Windows стандартный многооконный графический интерфейс с пользователем, r-команды. Большие возможности TCP даются не бесплатно, реализация TCP требует большой производительности процессора и большой пропускной способности сети. Когда прикладной процесс начинает использовать TCP, то начинают общаться модуль TCP на машине пользователя и модуль на машине сервера.

Эти два оконечных модуля TCP поддерживают информацию о состоянии соединения - виртуального канала. Этот виртуальный канал потребляет ресурсы обоих оконечных модулей TCP. Канал этот, как уже указывалось, является дуплексным. Один прикладной процесс пишет данные в TCP-порт, откуда они модулями соответствующих уровней по цепочке передаются по сети и выдаются в TCP-порт на другом конце канала, и другой прикладной процесс читает их отсюда - из своего TCP-порта. эмулирует создает видимость выделенную линию связи двух пользователей.

Гарантирует неизменность передаваемой информации. Что входит на одном конце, выйдет с другого. Хотя в действительности никакая прямая линия отправителю и получателю в безраздельное владение не выделяется другие пользователи могут пользовать те же узлы и каналы связи в сети в промежутках между пакетами этих, но извне это, практически, именно так и выглядит. Как бы хорошо это не звучало, но это не панацея.

Как уже отмечалось, установка TCP-виртуального канала связи требует больших расходов на инициирование и поддержание соединения и приводит к задержкам передачи. Если вся эта суета - излишество, лучше обойтись без нее. Если все данные, предназначенные для пересылки, умещаются в одном пакете, и если вас не особенно заботит надежность доставки читайте дальше поймете, то можно обойтись без TCP. Имеется другой стандартный протокол транспортного уровня, который не отягощен такими накладными расходами.

Этот протокол называется UDP - User Datagram Protocol - протокол пользовательских дейтаграмм. Он используется вместо TCP. Здесь данные помещаются не в TCP, а в UDP-конверт, который также помещается в IP-конверт. Этот протокол реализует дейтаграммный способ передачи данных. Дейтаграмма - это пакет, передаваемый через сеть независимо от других пакетов без установления логического соединения и подтверждения приема. Дейтаграмма - совершенно самостоятельный пакет, поскольку сама содержит всю необходимую для ее передачи информацию.

Ее передача происходит безо всякого предварения и подготовки. Дейтаграммы, сами по себе, не содержат средств обнаружения и исправления ошибок передачи, поэтому при передаче данных с их помощью следует принимать меры по обеспечению надежности пересылки информации. Методы организации надежности могут быть самыми разными, обычно же используется метод подтверждения приема посылкой эхоотклика при получении каждого пакета с дейтаграммой. UDP проще TCP, поскольку он не заботится о возможной пропаже данных, пакетов, о сохранении правильного порядка данных и т.д. UDP используется для клиентов, которые посылают только короткие сообщения и могут просто заново послать сообщение, если отклик подтверждения не придет достаточно быстро.

Предположим, что вы пишите программу, которая просматривает базу данных с телефонными номерами где-нибудь в другом месте сети. Совершенно незачем устанавливать TCP связь, чтобы передать 33 или около того символов в каждом направлении.

Вы можете просто уложить имя в UDP-пакет, запаковать это в IP-пакет и послать. На другом конце прикладная программа получит пакет, прочитает имя, посмотрит телефонный номер, положит его в другой UDP-пакет и отправит обратно. Что произойдет, если пакет по пути потеряется? Ваша программа тогда должна действовать так если она ждет ответа слишком долго и становится ясно, что пакет затерялся, она просто повторяет запрос, т.е. посылает еще раз то же послание. Так обеспечивается надежность передачи при использовании протокола UDP. В отличие от TCP, данные, отправляемые прикладным процессом через модуль UDP, достигают места назначения как единое целое.

Например, если процесс-отправитель производит 3 записи в UDP-порт, то процесс-получатель должен будет сделать 3 чтения. Размер каждого записанного сообщения будет совпадать с размером соответствующего прочитанного. Протокол UDP сохраняет границы сообщений, определяемые прикладным процессом. Он никогда не объединяет несколько сообщений в одно целое и не делит одно сообщение на части.

Альтернатива TCP-UDP позволяет программисту гибко и рационально использовать предоставленные ресурсы, исходя из своих возможностей и потребностей. Если нужна надежная доставка, то лучше может быть TCP. Если нужна доставка дейтаграмм, то - UDP. Если нужна эффективная доставка по длинному и ненадежному каналу передачи данных, то лучше использовать TCP. Если нужна эффективность на быстрых сетях с короткими соединениями, лучше всего будет UDP. Если потребности не попадают ни в одну из этих категорий, то выбор транспортного протокола не ясен. Прикладные программы, конечно, могут устранять некоторые недостатки выбранного протокола.

Например, если вы выбрали UDP, а вам необходима надежность, то прикладная программа должна обеспечить надежность сама, как описано выше требовать подтверждения, пересылки утерянных или увечных пакетов и т.д. Если вы выбрали TCP, а вам нужно передавать записи, то прикладная программа должна вставлять метки в поток Создание сети с человеческим лицом.

Прикладное обеспечение И вот мы имеем возможность передавать информацию между различными точками в сети. Вот теперь мы можем начать работать над созданием дружественного интерфейса Internet, позаботиться об удобстве для пользователя. Для этого мы напишем программное обеспечение, которое будет понимать язык команд, выдавать сообщения об ошибках, подсказки, использовать для адресации сетевых компьютеров при общении с пользователем имена, а не числа и т.д. В модели ISO OSI на это работают уровни выше транспортного, т.е. сеансовый, представления данных и прикладной.

Вся эта деятельность направлена на повышение уровня удобства работы в сети, на создание систем, позволяющих пользоваться предоставляемыми возможностями обычному пользователю сети. Ведь большинство пользователей совсем не волнует ни наличие надежного потока битов между машинами, ни пропускная способность этих линий или тонкости и особенности используемой технологии, ни даже экзотичность этой технологии.

Они хотят использовать этот битовый поток для дела, как то переслать файл, добраться до каких-то данных или просто поиграть в игру. Приложения - это части программного обеспечения. Их создают на основе сервиса TCP или UDP. Приложения позволяют пользователю достаточно просто справиться с возникшей задачей, не погружаясь в пучину технической информации о конкретной сети, о протоколах и т.д. Прикладное обеспечение разнится очень сильно.

Приложения могут быть от самодельной программы до патентованных продуктов, поставляемых различными фирмами DEC, Microsoft и т.п Существует три стандартных Internet -приложения удаленный доступ, передача файлов, электронная почта e-mail наряду с ними используются другие широко распространенные нестандартные приложения. Предоставление услуг Internet построено по схеме клиент - сервер. Предоставление услуг осуществляется совместной работой двух процессов на компьютере пользователя и на компьютере-сервере.

Процесс на компьютере пользователя называется клиентом, а на компьютере-сервере - сервером. Клиент и сервер являются, по сути, частями одной программы, взаимодействующие по виртуальной связи в сети. Сервер по указаниям клиента выполняет соответствующие действия, например, пересылает клиенту файл. Для предоставления услуги совершенно необходимо наличие двух этих модулей - клиента и сервера, и их одновременная согласованная работа. Взаимодействие клиента и сервера описывается соответствующими стандартными протоколами, поэтому клиент и сервер могут быть выпущены совершенно разными производителями и работать на разнородных компьютерах.

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

Так как прикладным обеспечением снабжают по большей части через локальные сети, в разговоре о приложениях возникает вышеупомянутая проблема команды, сообщения, справки, подсказки и т.п. в разных локальных сетях могут в той или иной степени отличаться. Об этом не следует забывать при чтении руководств пользователя сообщения могут отличаться, но смысл их будет такой же, то же касается и команд. Даже если они слегка отличаются, не стоит волноваться, большинство приложений имеет разумную систему подсказок и описание набора команд, где вы детально и конкретно сможете разузнать все, что вам понадобится.

– Конец работы –

Эта тема принадлежит разделу:

Интернет

Это требование дает ключ к пониманию принципов построения и структуры Internet. В модели ARPAnet всегда была связь между компьютером-источником и… На связывающиеся компьютеры - не только на саму сеть - также возложена ответственность обеспечивать налаживание и…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Протокол управления передачей TCP и протокол пользовательских дейтаграмм UDP

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Структура функционирования сети
Структура функционирования сети. Современные сети построены по многоуровневому принципу. Чтобы организовать связь двух компьютеров, требуется сначала создать свод правил их взаимодействия, о

Уровни работы сети
Уровни работы сети. Пересылка битов Пересылка битов происходит на физическом уровне схемы ISO OSI. Увы, здесь всякая попытка краткого и доступного описания обречена на провал. Требуется введ

Сети коммутации пакетов
Сети коммутации пакетов. Настала пора поговорить об Internet именно как о сети, а не паутине линий связи и множестве приемопередатчиков. Казалось бы, Internet вполне аналогична телефонной сети, и м

Системы сетевых адресов
Системы сетевых адресов. Региональная Система Имен Числовые адреса хороши для связи машин, люди же предпочитают имена. Очень непросто разговаривать, используя машинную адресацию как бы это звучало

Структура региональной системы имен
Структура региональной системы имен. Доменная система имен - это метод назначения имен путем передачи сетевым группам ответственности за их подмножество имен. Каждый уровень этой системы называется

Поиск адреса по доменному имени
Поиск адреса по доменному имени. Теперь вы знаете, как соотносятся домены и создаются имена. Возможно, вы теперь озадачены а как использовать эту замечательную систему? Автоматически. Вам надо лишь

Система адресов X
Система адресов X. X.400 - общий стандарт, разработанный ISO и CCITT, для управления сообщениями. Этот стандарт планируют принять многие сети. Некоторые уже используют его. Дополнительно к обычному

Замечания по региональной системе имен
Замечания по региональной системе имен. Распространено несколько заблуждений, с которыми вы можете столкнуться, имея дело с именами. Приведем несколько верных утверждений в качестве опорных, чтобы

Легальное использование
Легальное использование. На законы Internet влияют три основных положения Государство субсидирует большие части Internet. Эти субсидии исключают коммерческое использование Internet - не только наци

Государственные дотации
Государственные дотации. Многие сети Internet материально поддерживаются государством. По закону учреждение может тратить деньги из своего бюджета только по его прямому назначению. Если Академия На

Internet и политика
Internet и политика. Политические процессы многим сетевым пользователям видятся одновременно и как благо, и как бедствие. Благо состоит в деньгах. Субсидии предоставляют многим людям возможности, к

Сетевая этика
Сетевая этика. У свежеиспеченного пользователя сети кажущееся отсутствие этики вызывает беспокойство. В действительности сеть есть общество очень этичное см. по этике RFC 1087 , просто этика его сл

Удаленный доступ telnet
Удаленный доступ telnet. Remote Login - удаленный доступ - работа на удаленном компьютере в режиме, когда ваш компьютер эмулирует терминал удаленного компьютера, т.е. вы можете делать все то же или

Передача файлов ftp
Передача файлов ftp. ftp - File Transfer Protocol - протокол передачи файлов - протокол, определяющий правила передачи файлов с одного компьютера на другой. ftp - также название программы из прикла

Использование анонимного ftp по e-mail
Использование анонимного ftp по e-mail. Остановимся на этой возможности подробнее. Использование этой услуги весьма актуально в наших условиях. Существует три вида служб, предоставляющих возможност

Доски объявлений USENET news
Доски объявлений USENET news. Это так называемые сетевые новости или дискуссионные клубы. Они дают вам возможность читать и посылать сообщения в общественные открытые дискуссионные группы. Н

Поиск данных и программ Archie
Поиск данных и программ Archie. Archie - система поиска и выдачи информации о расположении общедоступных файлов по анонимному ftp. Система, поддерживающая этот вид услуг, регулярно собирает со свои

Поиск людей Кто есть Who
Поиск людей Кто есть Who. Люди переезжают с места на место, меняют место работы, у них может быть несколько мест проживания и т.д. Люди всегда ищут друг друга, всегда существовала и существует проб

Oболочка Gopher
Oболочка Gopher. Gopher - это интегратор возможностей Internet. Он в удобной форме позволяет пользоваться всеми услугами, предоставляемыми Internet. Организована оболочка в виде множества вл

Поиск данных по ключевым словам WAIS
Поиск данных по ключевым словам WAIS. WAIS - диалоговая система с оконным интерфейсом для поиска данных по ключевым словам в контексте. Сугубо интерактивна, поэтому доступ к ней возможен только в с

Глобальные гипертекстовые структуры WWW
Глобальные гипертекстовые структуры WWW. World Wide Web - Всемирная паутина. Короче Web или W3 Гипертекст - текст со вставленными в него словами командами разметки, ссылающимися на другие места это

Несколько слов об иных возможностях
Несколько слов об иных возможностях. B Berkley BSD UNIX имеется класс R-команд Remote. Это сетевые аналоги обычных команд UNIX. Их можно использовать для работы с удаленной машиной rlogin, rcp и т.

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги