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 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"
- ↑ 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"
- ↑ [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"
- ↑ [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
- ↑ 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."
- ↑ [www.kohala.com/start/ttcp.sunos.readme.txt T/TCP -- Transaction TCP Source Changes for Sun OS 4.1.3]// Веб-сайт W. Richard Stevens
- ↑ T/TCP Home Page (TCP for Transactions) // Веб-сайт W. Richard Stevens
- ↑ Ren Bin, Zhang Xiaolan, [ttcplinux.sourceforge.net/theses/TTCP_impl.pdf Implementation of Transaction TCP in Linux Kernel 2.4.2] // 2002
- ↑ [seclists.org/bugtraq/1998/Apr/0034.html Example of RFC-1644 attack] // BUGTRAQ, 7 Apr 1998
- ↑ 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).
- ↑ (1998-07-08) «[www.phrack.org/issues.html?issue=53&id=6 T/TCP vulnerabilities]» (Phrack Magazine) vol. 8 (issue 53).
- ↑ [tools.ietf.org/html/rfc2026#section-4.2.4 Historic Status definition] in RFC 2026, sectio 4.2.4
- ↑ 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
- ↑ 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.
- ↑ 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) Немедленно средства употреблены будут для восстановления обыкновенных торгов. Жители города и деревень, и вы, работники и мастеровые, какой бы вы нации ни были! Вас взывают исполнять отеческие намерения его величества императора и короля и способствовать с ним к общему благополучию. Несите к его стопам почтение и доверие и не медлите соединиться с нами!»