главная страница поиск карта сайта написать письмо
   
  История
  Документация
  Пресс-центр
  Предложения
  О Форуме
 логин
 пароль
Что такое TCP/IP
/ История / TCP/IP / Что такое TCP/IP

TCP/IP -  аббревиатура термина Transmission Control Protocol/Internet Protocol (Протокол управления передачей/Интернет Протокол) - это согласованный заранее стандарт, служащий для обмена данных между двумя узлами(компьютерами в сети), причём неважно, на какой платформе эти компьютеры и какая между ними сеть. TCP/IP служит как мост, соединяющий все узлы сети воедино, за это он и завоевал свою популярность. TCP/IP зародился в результате исследований, профинансированных ARPA (Advanced Research Project Agency) - специальным отделением правительства США в 1970-х годах. Он был задуман, как общий стандарт, который объединит все сети в единую виртуальную "сеть сетей"(internetwork). Таким образом был создан Интернет, в результате преобразования существующего конгломерата вычислительных сетей, носивших название ARPAnet, с помощью TCP/IP.

Название "TCP/IP" связано с двумя протоколами: TCP и IP. Но TCP/IP - это не только эти два протокола. Это целое семейство протоколов, объединенное под одним началом - IP-протоколом. В это семейство входят протоколы, которые взаимодействуют с протоколом IP и с его помощью строят свои каналы данных. Это сам TCP, а также UDP, ICMP, telnet, SMTP, FTP и многие другие.



Почему же эти протоколы повсеместно связывают друг с другом настолько тесно? Стоит сказать сначала несколько слов про протокол IP. На него возложена важная задача - маршрутизация. Он обеспечивает доставку данных по каналам(маршрутам) к адресату, т.е. отвечает за доставку данных из пункта А в пункт В. Но сам IP является дейтограмным протоколом, а значит, он не гарантирует, что посланные по нему данные придут к получателю полностью и без искажений(а такое часто происходит из-за помех на канале связи). Надёжность передачи данных по IP протоколу обеспечивают протоколы более высокого уровня. Расскажем об основных из них:


TCP

TCP - Transmission Control Protocol. Он занимается передачей больших объёмов данных по сети с помощью IP-протокола, разделяя их по частям и вновь собирая воедино в конце маршрута. При отправке с помощью TCP/IP данные кодируются и делятся на TCP-пакеты(сегменты) так, чтобы потом была возможность восстановить их при распаковке в случае их повреждения. Существуют целые науки о таком кодировании. Простым же примером обеспечения безопасности TCP-пакета является проверка на чётность(для чего к каждому байту добавляется ещё по одному биту) и хранение контрольной суммы в заголовке TCP-пакета. При помещении данных в TCP-конверт вычисляется контрольная сумма, которая записывается в TCP-заголовок. Если при приеме заново вычисленная сумма не совпадает с той, что указана на конверте, значит при передаче данные были утеряны или искажены, поэтому протокол требует пересылку этого пакета заново. Таким образом, для работы по этому протоколу TCP модули должны быть установлены и у адресата, и у отправителя такого пакета.
В большинстве случаев TCP-пакет пересылается в одной IP-дейтограмме. Но бывает, что TCP разбивает сегмент на несколько дейтограмм. Иными словами, TCP не сохраняет во время передачи границы записей, но по прибытию данные будут собраны воедино в правильной последовательности.
TCP требует от получателя подтверждения прихода данных. Он использует ожидания (таймауты) и повторные передачи для обеспечения надежной доставки. Отправителю разрешается передавать некоторое количество данных, не дожидаясь подтверждения приема ранее отправленных данных. Таким образом, между отправленными и подтвержденными данными существует "окно" уже отправленных, но ещё не подтвержденных данных. Количество байт, которое можно передавать без подтверждения, называется размером окна(этот размер устанавливается в стартовых файлах ПО). TCP является двунаправленным протоколом и данные могут передаваться по нему в двух направлениях одновременно, за счёт этого подтверждения принятия данных идут вместе с данными, идущими в этот момент в противоположном направлении. Такие возможности TCP даются не просто так. Его реализация требует немалой производительности от машины и большой пропускной способности сети.

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


 UDP

User Datagram Protocol - протокол пользовательских дейтаграмм. Он приходит на смену TCP, когда нас не заботит точность передаваемых данных. Этот протокол реализует дейтограммный метод передачи данных. Дейтаграмма - это пакет, передаваемый через сеть независимо от других пакетов без установления логического соединения и подтверждения приема. Она сама содержит в себе все нужные данные для доставки.
В отличие от TCP, UDP не требует установки соединения и при передаче не делит свои дейтограммы на части. Схема без установления соединения привлекательна также тем, что позволяет при передаче данных от исходного источника к большому числу приемников минимизировать общий трафик. Использование точек разветвления (разветвителей) поможет сократить исходящий от передатчика трафик для передачи данных N машинам в N раз! Таким образом мультикастинговая передача с помощью UDP более практична, чем с TCP.
На практике UDР находит применение при транслировании мультимедийных данных, а также, например, в SNMP (Simple Network Management Protocol - простой протокол управления сетями) и многих других программах.

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






Приложение: Краткий список протоколов семейства TCP/IP и их описание.
AREALIDEA Разработка сайта