Internet protocol suite: Difference between revisions

Content deleted Content added
ce
Line 23:
By the summer of 1973, Kahn and Cerf had worked out a fundamental reformulation, in which the differences between local network protocols were hidden by using a common [[internetwork protocol]], and, instead of the network being responsible for reliability, as in the existing ARPANET protocols, this function was delegated to the hosts. Cerf credits [[Louis Pouzin]] and [[Hubert Zimmermann]], designers of the [[CYCLADES]] network, with important influences on this design.<ref name="YSZAX">{{Cite journal|last1=Cerf|first1=V.|last2=Kahn|first2=R.|date=1974|title=A Protocol for Packet Network Intercommunication|url=https://www.cs.princeton.edu/courses/archive/fall06/cos561/papers/cerf74.pdf|journal=IEEE Transactions on Communications|volume=22|issue=5|pages=637–648|doi=10.1109/TCOM.1974.1092259|issn=1558-0857|quote=The authors wish to thank a number of colleagues for helpful comments during early discussions of international network protocols, especially R. Metcalfe, R. Scantlebury, D. Walden, and H. Zimmerman; D. Davies and L. Pouzin who constructively commented on the fragmentation and accounting issues; and S. Crocker who commented on the creation and destruction of associations.|access-date=October 18, 2015|archive-date=October 10, 2022|archive-url=https://ghostarchive.org/archive/20221010/https://www.cs.princeton.edu/courses/archive/fall06/cos561/papers/cerf74.pdf|url-status=live}}</ref><ref name="MevuR">{{cite news|date=13 December 2013|title=The internet's fifth man|work=Economist|url=https://www.economist.com/news/technology-quarterly/21590765-louis-pouzin-helped-create-internet-now-he-campaigning-ensure-its|access-date=11 September 2017|quote=In the early 1970s Mr Pouzin created an innovative data network that linked locations in France, Italy and Britain. Its simplicity and efficiency pointed the way to a network that could connect not just dozens of machines, but millions of them. It captured the imagination of Dr Cerf and Dr Kahn, who included aspects of its design in the protocols that now power the internet.|archive-date=April 19, 2020|archive-url=https://web.archive.org/web/20200419230318/https://www.economist.com/news/technology-quarterly/21590765-louis-pouzin-helped-create-internet-now-he-campaigning-ensure-its|url-status=live}}</ref> The new protocol was implemented as the [[Transmission Control Program]] in 1974 by Cerf, [[Yogen Dalal]] and Carl Sunshine.{{Ref RFC|675}}
 
Initially, the Transmission Control Program, (the [[Internetprecursor Protocol]]to didthe notlater thenprotocol exist as a separate protocol)suite, provided only a [[reliable byte stream]] service to its users, not [[datagram]]s.<ref name="TCP2">{{Cite web|url=https://www.rfc-editor.org/ien/ien5.pdf|title=Specification of Internet Transmission Control Protocol TCP (Version 2)|first=Vinton|last=Cerf|author-link=Vint Cerf|date=March 1977|access-date=2022-08-04|archive-date=May 25, 2022|archive-url=https://web.archive.org/web/20220525061950/https://www.rfc-editor.org/ien/ien5.pdf|url-status=live}}</ref> Several versions were developed throughby communication via the [[Internet Experiment Note]] series.<ref name=":30" /> As experience with the protocol grew, collaborators recommended division of functionality into layers of distinct protocols, allowing usersproviding direct access to datagram service. Advocates included [[Bob Metcalfe]] and Yogen Dalal at Xerox PARC;<ref name="BpyJd">{{cite book |last1=Panzaris |first1=Georgios |url=https://books.google.com/books?id=9yMhAQAAIAAJ |title=Machines and romances: the technical and narrative construction of networked computing as a general-purpose platform, 1960–1995 |date=2008 |publisher=[[Stanford University]] |page=128 |access-date=September 5, 2019 |archive-url=https://web.archive.org/web/20230117175134/https://books.google.com/books?id=9yMhAQAAIAAJ |archive-date=January 17, 2023 |url-status=live}}</ref><ref name="2J9cz">{{cite book |last1=Pelkey |first1=James L. |url=https://historyofcomputercommunications.info/ |title=Entrepreneurial Capitalism and Innovation: A History of Computer Communications, 1968–1988 |date=2007 |chapter=Yogen Dalal |access-date=8 October 2020 |chapter-url=https://historyofcomputercommunications.info/interviews/yogen-dalal/ |archive-url=https://web.archive.org/web/20221008232443/https://historyofcomputercommunications.info/ |archive-date=October 8, 2022 |url-status=live}}</ref> [[Danny Cohen (computer scientist)|Danny Cohen]], who needed it for his [[packet voice]] work; and [[Jonathan Postel]] of the University of Southern California's [[Information Sciences Institute]], who edited the [[Request for Comments]] (RFCs), the technical and strategic document series that has both documented and catalyzed Internet development.<ref name="i1TtW">Internet Hall of Fame</ref> Postel stated, "We are screwing up in our design of Internet protocols by violating the principle of layering."<ref name="xgruR">{{citation|url=https://www.rfc-editor.org/ien/ien2.txt|first=Jon|last=Postel|author-link=Jon Postel|title=2.3.3.2 Comments on Internet Protocol and TCP|id=IEN 2|date=15 August 1977|access-date=June 11, 2016|archive-date=May 16, 2019|archive-url=https://web.archive.org/web/20190516055704/http://www.rfc-editor.org/ien/ien2.txt|url-status=live}}</ref> Encapsulation of different mechanisms was intended to create an environment where the upper layers could access only what was needed from the lower layers. A monolithic design would be inflexible and lead to scalability issues. In [[IPv4|version 4]], written in 1978, Postel split the Transmission Control Program into two distinct protocols, the [[Internet Protocol]] as connectionless layer and the [[Transmission Control Protocol]] as a reliable [[connection-oriented service]].<ref>Abbate, ''Inventing the Internet'', 129–30.</ref><ref>{{cite journal |author=Vinton G. Cerf |date=October 1980 |title=Protocols for Interconnected Packet Networks |journal=ACM SIGCOMM Computer Communication Review |volume=10 |issue=4 |pages=10–11 |authorlink=Vint Cerf}}</ref><ref>{{Cite thesis |last=Russell |first=Andrew L. |title="Industrial Legislatures": Consensus Standardization in the Second and Third Industrial Revolutions |date=2007 |degree=PhD |publisher=Johns Hopkins University |url=https://jscholarship.library.jhu.edu/bitstream/handle/1774.2/32576/alr-diss-08012007-CBO-opt.pdf |access-date=December 28, 2022 |archive-date=December 28, 2022 |archive-url=https://web.archive.org/web/20221228000055/https://jscholarship.library.jhu.edu/bitstream/handle/1774.2/32576/alr-diss-08012007-CBO-opt.pdf |url-status=live }}</ref><ref group ="nb">For records of discussions leading up to the TCP/IP split, see the series of [[Internet Experiment Notes]] at [https://www.rfc-editor.org/ien/ien-index.html the Internet Experiment Notes Index].</ref>
 
The design of the network included the recognition that it should provide only the functions of efficiently transmitting and routing traffic between end nodes and that all other intelligence should be located at the edge of the network, in the end nodes. This [[end-to-end principle]] was pioneered by Louis Pouzin in the CYCLADES network,<ref name="Bennett2009">{{cite web |last1=Bennett |first1=Richard |date=September 2009 |title=Designed for Change: End-to-End Arguments, Internet Innovation, and the Net Neutrality Debate |url=https://www.itif.org/files/2009-designed-for-change.pdf |access-date=11 September 2017 |publisher=Information Technology and Innovation Foundation |pages=7, 11}}</ref> based on the ideas of [[Donald Davies]].<ref name="Pelkey2">{{cite book |last=Pelkey |first=James |url=https://www.historyofcomputercommunications.info/section/8.3/cyclades-network-and-louis-pouzin-1971-1972/ |title=Entrepreneurial Capitalism and Innovation: A History of Computer Communications 1968-1988 |chapter=8.3 CYCLADES Network and Louis Pouzin 1971-1972 |quote=The inspiration for datagrams had two sources. One was Donald Davies’ studies. He had done some simulation of datagram networks, although he had not built any, and it looked technically viable. The second inspiration was I like things simple. I didn’t see any real technical motivation to overlay two levels of end-to-end protocols. I thought one was enough. |access-date=2021-11-21 |archive-url=https://web.archive.org/web/20210617093154/https://www.historyofcomputercommunications.info/section/8.3/cyclades-network-and-louis-pouzin-1971-1972/ |archive-date=2021-06-17 |url-status=dead}}</ref><ref name=":5">{{cite conference |last1=Davies |first1=Donald |last2=Bartlett |first2=Keith |last3=Scantlebury |first3=Roger |last4=Wilkinson |first4=Peter |date=October 1967 |title=A Digital Communication Network for Computers Giving Rapid Response at remote Terminals |url=https://people.mpi-sws.org/~gummadi/teaching/sp07/sys_seminar/how_did_erope_blow_this_vision.pdf |conference=ACM Symposium on Operating Systems Principles |archive-url=https://ghostarchive.org/archive/20221010/https://people.mpi-sws.org/~gummadi/teaching/sp07/sys_seminar/how_did_erope_blow_this_vision.pdf |archive-date=2022-10-10 |access-date=2020-09-15 |url-status=live |quote=all users of the network will provide themselves with some kind of error control}}</ref> Using this design, it became possible to connect other networks to the ARPANET that used the same principle, irrespective of other local characteristics, thereby solving Kahn's initial internetworking problem. A popular expression is that TCP/IP, the eventual product of Cerf and Kahn's work, can run over "two tin cans and a string."{{citation needed|reason=I can only find possibly circular references for this phrase.|date=November 2017}} Years later, as a [[April Fools' Day|joke]] in 1999, the [[IP over Avian Carriers]] formal protocol specification was created{{Ref RFC|1149}} and successfully tested two years later. 10 years later still, it was adapted for IPv6.{{Ref RFC|6214}}
Line 41:
IBM, AT&T and DEC were the first major corporations to adopt TCP/IP, this despite having competing [[proprietary protocol]]s. In IBM, from 1984, [[Barry Appelman]]'s group did TCP/IP development. They navigated the corporate politics to get a stream of TCP/IP products for various IBM systems, including [[MVS]], [[VM (operating system)|VM]], and [[OS/2]]. At the same time, several smaller companies, such as [[FTP Software]] and the [[Wollongong Group]], began offering TCP/IP stacks for [[DOS]] and [[Microsoft Windows]].<ref name="TtEPm">{{cite web| url = http://support.microsoft.com/kb/108007| title = Using Wollongong TCP/IP with Windows for Workgroups 3.11| website=Microsoft Support| archive-url=https://web.archive.org/web/20120112105314/http://support.microsoft.com/kb/108007| archive-date = 12 January 2012| url-status=dead}}</ref> The first [[VM/CMS]] TCP/IP stack came from the University of Wisconsin.<ref name="BZHnU">{{cite web|url=http://www.weblab.isti.cnr.it/education/ssfs/lezioni/slides/archives/cern.htm|title=A Short History of Internet Protocols at CERN|access-date=12 September 2016|archive-url=https://web.archive.org/web/20161110200124/http://www.weblab.isti.cnr.it/education/ssfs/lezioni/slides/archives/cern.htm|archive-date=10 November 2016|url-status=dead}}</ref>
 
Some ofprogrammers are thenotable for early TCP/IP stacksstack were written single-handedly by a few programmersimplementations. Jay Elinsky and Oleg Vishnepolsky of IBM Research wrote TCP/IP stackssoftware for VM/CMS and OS/2, respectively.<ref>''An Introduction to Computer Networks''. Stanford University, CS144, Fall 2012, pp. 21–22. Available at: <nowiki>https://kirils.org/skype/stuff/pdf/2012/An_Introduction_to_Computer_Networksweek_one.pdf</nowiki></ref> In 1984 Donald Gillies at MIT wrote a ''ntcp'' multi-connection TCP which runs atop the IP/PacketDriver layer maintained by John Romkey at MIT in 1983–84. Romkey leveraged this TCP in 1986 when FTP Software was founded.<ref name="j7VeG">{{cite web |title= Desktop TCP/IP at middle age |last1= Baker |first1= Steven |last2= Gillies |first2= Donald W |url= http://www.ece.ubc.ca/~gillies/9802net.html |access-date= September 9, 2016 |archive-date= August 21, 2015 |archive-url= https://web.archive.org/web/20150821010509/http://www.ece.ubc.ca/~gillies/9802net.html |url-status= dead }}</ref><ref name="vss61">{{cite web|url=http://www.romkey.com/about/|title=About|last=Romkey|first=John|date=17 February 2011|access-date=12 September 2016|archive-date=November 5, 2011|archive-url=https://web.archive.org/web/20111105074443/http://www.romkey.com/about/|url-status=live}}</ref> Starting in 1985, Phil Karn created a multi-connection TCP application for ham radio systems (KA9Q TCP).<ref name="vCamZ">Phil Karn, ''KA9Q TCP Download Website''</ref>
 
The spread of TCP/IP was fueled further in June 1989, when the [[University of California, Berkeley]] agreed to place the TCP/IP code developed for [[BSD UNIX]] into the public ___domain. Various corporate vendors, including IBM, included this code in commercial TCP/IP software releases. For Windows 3.1, the dominant PC operating system among consumers in the first half of the 1990s, Peter Tattam's release of the [[Trumpet Winsock]] TCP/IP stack was key to bringing the Internet to home users. Trumpet Winsock allowed TCP/IP operations over a serial connection ([[Serial_Line_Internet Protocol|SLIP]] or [[Point-to-Point Protocol|PPP]]). The typical home PC of the time had an external Hayes-compatible modem connected via an RS-232 port with an [[8250]] or [[16550]] UART which required this type of stack. Later, Microsoft would release their own TCP/IP add-on stack for [[Windows for Workgroups]] 3.11 and a native stack in Windows 95. These events helped cement TCP/IP's dominance over other protocols on Microsoft-based networks, which included IBM's [[Systems Network Architecture]] (SNA), and on other platforms such as [[Digital Equipment Corporation]]'s [[DECnet]], [[Open Systems Interconnection]] (OSI), and [[Xerox Network Systems]] (XNS).