T/TCP

Поделись знанием:
Перейти к: навигация, поиск

T/TCP (англ. TCP for Transactions, транзакционный TCP) — вариант протокола Интернет TCP, экспериментальное расширение TCP для эффективный работы транзакционных сервисов (запрос/ответ). Он был разработан Bob Braden (USC Information Sciences Institute) в 1992-1994 годах и описан в RFC 1379 и RFC 1644. Целью его создания было занятие ниши между протоколами UDP и TCP.

Распространения не получил.[1]

Этот протокол быстрее простого TCP и, в отличие от UDP, гарантирует доставку.

Поддерживался в FreeBSD начиная с версии 2.1 (ноябрь 1995[2][3]) по версию 5.2 включительно (удален в ноябре 2004 года[4][5]). Активировался вызовом setsockopt с параметром TCP_NOPUSH на серверной стороне. Сообщения по T/TCP отправлялись как клиентом так и сервером с помощью вызова sendto с установленным флагом MSG_EOF.[2]

Также поддержка T/TCP была реализована в виде патчей для SunOS 4.1.3, Linux 2.0.32 и BSD/OS 2.1.[6][7] В июле 2002 года был реализован патч для Linux Kernel 2.4.2[8]

Легко подвержен атакам [1][9][10][11].

В мае 2011 года документы RFC 1379 и RFC 1644, определявшие T/TCP, были переведены в статус Исторические (устаревшие, Historic Status [12] после публикации RFC 6247.





Механизм TCP Accelerated Open

Аналоги

В 2005 году один из разработчиков сетевой подсистемы FreeBSD предложил протокол TTCPv2, имевший более высокую безопасность.[5]

В 2011 году было предложено расширение протокола TCP под названием "TCP Fast Open" (TFO), которое использовало сходные идеи но добавило к ним использование симметричной криптографии.[13] По состоянию на октябрь 2012 года является черновиком IETF (IETF Internet draft).[14] Первая реализация TFO для стороны клиента была внедрена в ядро Linux в версии 3.6[1], для стороны сервера - в версии 3.7.[15]

См. также

Напишите отзыв о статье "T/TCP"

Примечания

  1. 1 2 3 Michael Kerrisk, [lwn.net/Articles/508865/ TCP Fast Open: expediting web services] // LWN, August 1, 2012: "The client-side support has been merged for Linux 3.6.", "T/TCP ... fundamental security flaws in its design meant that it never gained wide use"
  2. 1 2 [nixdoc.net/man-pages/FreeBSD/ttcp.4.html ttcp(4) man page], FreeBSD 5.2.1, January 18, 1995: "Support for T/TCP first appeared in FreeBSD 2.1"
  3. [www.freebsd.org/releases/2.1R/notes.html RELEASE NOTES. FreeBSD Release 2.1] // The FreeBSD Core Team, Nov 1995: "Other enhancements include ... transaction TCP support"
  4. [lists.freebsd.org/pipermail/cvs-all/2004-November/089939.html commit] // Andre Oppermann (andre) Nov 2,2004; [docs.freebsd.org/cgi/getmsg.cgi?fetch=284774+0+/usr/local/www/db/text/2004/freebsd-net/20041024.freebsd-net Removing T/TCP and replacing it with something simpler] // Andre Oppermann (andre) 21 Oct 2004
  5. 1 2 [www.freebsd.org/news/status/report-2005-03-2005-06.html#TTCPv2:-Transactional-TCP-version-2 TTCPv2: Transactional TCP version 2] // Andre Oppermann: "The old TTCP according to RFC1644 was insecure, intrusive, complicated and has been removed from FreeBSD >= 5.3."
  6. [www.kohala.com/start/ttcp.sunos.readme.txt T/TCP -- Transaction TCP Source Changes for Sun OS 4.1.3]// Веб-сайт W. Richard Stevens
  7. T/TCP Home Page (TCP for Transactions) // Веб-сайт W. Richard Stevens
  8. Ren Bin, Zhang Xiaolan, [ttcplinux.sourceforge.net/theses/TTCP_impl.pdf Implementation of Transaction TCP in Linux Kernel 2.4.2] // 2002
  9. [seclists.org/bugtraq/1998/Apr/0034.html Example of RFC-1644 attack] // BUGTRAQ, 7 Apr 1998
  10. Charles Hannum (NetBSD Network Working Group). [web.archive.org/web/20100110172851/www.mid-way.org/doc/ttcp-sec.txt Security Problems Associated with T/TCP]. unpublished work in progress (September 1996).
  11. (1998-07-08) «[www.phrack.org/issues.html?issue=53&id=6 T/TCP vulnerabilities]» (Phrack Magazine) vol. 8 (issue 53).
  12. [tools.ietf.org/html/rfc2026#section-4.2.4 Historic Status definition] in RFC 2026, sectio 4.2.4
  13. S. Radhakrishnan, Y. Cheng, J. Chu, A. Jain, B. Raghavan. [conferences.sigcomm.org/co-next/2011/papers/1569470463.pdf TCP Fast Open], ACM CoNEXT (6 декабря 2011).; см раздел 8.Related Work
  14. Y. Cheng, J. Chu, S. Radhakrishnan, A. Jain: [tools.ietf.org/html/draft-ietf-tcpm-fastopen-02 TCP Fast Open] // IETF Internet-Draft, 2012-10-22, code: draft-ietf-tcpm-fastopen-02.
  15. Steven J. Vaughan-Nichols, [www.zdnet.com/linux-3-7-arrives-arm-developers-rejoice-7000008638/ Linux 3.7 arrives, ARM developers rejoice] // ZDNet, Linux and Open Source, December 11, 2012: "Linux 3.7. TCP Fast Open will now be supported on servers"

Литература

  • RFC 1379: Extending TCP for Transactions—Concepts (R. Braden, ISI, 1992)
  • RFC 1644: T/TCP—TCP Extensions for Transactions. Functional Specification (R. Braden, ISI, 1994)
  • Richard Stevens, Gary Wright, "TCP/IP Illustrated: TCP for transactions, HTTP, NNTP, and the UNIX domain protocols" (Volume 3 of TCP/IP Illustrated) // Addison-Wesley, 1996 (ISBN 0-201-63495-3), 2000 (ISBN 9814053090). Part 1 "TCP for Transactions". Chapters 1-12, pages 1–159

Ссылки

  • [www.kohala.com/start/ttcp.html T/TCP Home Page (TCP for Transactions)] // Веб-сайт W. Richard Stevens
  • Mark Stacey, John Nelson, Ivan Griffin, [linuxgazette.net/issue47/stacey.html T/TCP: TCP for Transactions] // Linux Gazette, Issue 47, November 1999
  • Michael Mansberg, [www.eetindia.co.in/ART_8800384238_1800006_TA_e7c905b4.HTM T/TCP is protocol of choice for transaction apps]; ([www.eetindia.co.in/STATIC/PDF/200309/2003SEP16_NTEK_CT_TA01.PDF PDF]) // EETimes India, Embedded Systems Design, Issue July 2002

Отрывок, характеризующий T/TCP

Городовая полиция учреждена по прежнему положению, а чрез ее деятельность уже лучший существует порядок. Правительство назначило двух генеральных комиссаров, или полицмейстеров, и двадцать комиссаров, или частных приставов, поставленных во всех частях города. Вы их узнаете по белой ленте, которую будут они носить вокруг левой руки. Некоторые церкви разного исповедания открыты, и в них беспрепятственно отправляется божественная служба. Ваши сограждане возвращаются ежедневно в свои жилища, и даны приказы, чтобы они в них находили помощь и покровительство, следуемые несчастию. Сии суть средства, которые правительство употребило, чтобы возвратить порядок и облегчить ваше положение; но, чтобы достигнуть до того, нужно, чтобы вы с ним соединили ваши старания, чтобы забыли, если можно, ваши несчастия, которые претерпели, предались надежде не столь жестокой судьбы, были уверены, что неизбежимая и постыдная смерть ожидает тех, кои дерзнут на ваши особы и оставшиеся ваши имущества, а напоследок и не сомневались, что оные будут сохранены, ибо такая есть воля величайшего и справедливейшего из всех монархов. Солдаты и жители, какой бы вы нации ни были! Восстановите публичное доверие, источник счастия государства, живите, как братья, дайте взаимно друг другу помощь и покровительство, соединитесь, чтоб опровергнуть намерения зломыслящих, повинуйтесь воинским и гражданским начальствам, и скоро ваши слезы течь перестанут».
В отношении продовольствия войска, Наполеон предписал всем войскам поочередно ходить в Москву a la maraude [мародерствовать] для заготовления себе провианта, так, чтобы таким образом армия была обеспечена на будущее время.
В отношении религиозном, Наполеон приказал ramener les popes [привести назад попов] и возобновить служение в церквах.
В торговом отношении и для продовольствия армии было развешено везде следующее:
Провозглашение
«Вы, спокойные московские жители, мастеровые и рабочие люди, которых несчастия удалили из города, и вы, рассеянные земледельцы, которых неосновательный страх еще задерживает в полях, слушайте! Тишина возвращается в сию столицу, и порядок в ней восстановляется. Ваши земляки выходят смело из своих убежищ, видя, что их уважают. Всякое насильствие, учиненное против их и их собственности, немедленно наказывается. Его величество император и король их покровительствует и между вами никого не почитает за своих неприятелей, кроме тех, кои ослушиваются его повелениям. Он хочет прекратить ваши несчастия и возвратить вас вашим дворам и вашим семействам. Соответствуйте ж его благотворительным намерениям и приходите к нам без всякой опасности. Жители! Возвращайтесь с доверием в ваши жилища: вы скоро найдете способы удовлетворить вашим нуждам! Ремесленники и трудолюбивые мастеровые! Приходите обратно к вашим рукодельям: домы, лавки, охранительные караулы вас ожидают, а за вашу работу получите должную вам плату! И вы, наконец, крестьяне, выходите из лесов, где от ужаса скрылись, возвращайтесь без страха в ваши избы, в точном уверении, что найдете защищение. Лабазы учреждены в городе, куда крестьяне могут привозить излишние свои запасы и земельные растения. Правительство приняло следующие меры, чтоб обеспечить им свободную продажу: 1) Считая от сего числа, крестьяне, земледельцы и живущие в окрестностях Москвы могут без всякой опасности привозить в город свои припасы, какого бы роду ни были, в двух назначенных лабазах, то есть на Моховую и в Охотный ряд. 2) Оные продовольствия будут покупаться у них по такой цене, на какую покупатель и продавец согласятся между собою; но если продавец не получит требуемую им справедливую цену, то волен будет повезти их обратно в свою деревню, в чем никто ему ни под каким видом препятствовать не может. 3) Каждое воскресенье и середа назначены еженедельно для больших торговых дней; почему достаточное число войск будет расставлено по вторникам и субботам на всех больших дорогах, в таком расстоянии от города, чтоб защищать те обозы. 4) Таковые ж меры будут взяты, чтоб на возвратном пути крестьянам с их повозками и лошадьми не последовало препятствия. 5) Немедленно средства употреблены будут для восстановления обыкновенных торгов. Жители города и деревень, и вы, работники и мастеровые, какой бы вы нации ни были! Вас взывают исполнять отеческие намерения его величества императора и короля и способствовать с ним к общему благополучию. Несите к его стопам почтение и доверие и не медлите соединиться с нами!»