Feb 98 MacTech Online
Volume Number: 14
Issue Number: 2
Column Tag: MacTech Online
MacTech Online
by Nicholas C. "nick.c" DeMello, online@mactech.com
What is TCP/IP?
When Paul Baron first developed the concept that became today's Internet, he was
trying to solve a military problem. His 1964 proposal described a communications
network that had no central authority and could adapt to massive failures -- therefore
one that could not be easily disabled by enemy bombardment. Baron's solution was to
break communications down into small pieces, each labeled with the address of a
remote computer. These "packets" of information would then be passed through an
intricate network of computers -- like pails in a firefighter's bucket brigade. If a
telephone line or fire hose is cut, the flow is interrupted, but if someone steps out of
line in a bucket brigade or a computer goes offline, the system can pass it's cargo
around the disruption. The more intricate the web of computer connections available in
the network, the more reliable communication became. This packet based
communications concept and the mechanisms for transferring packets along a network
is the basis for the internet protocol -- IP.
Vinton Cerf was a graduate student at UCLA in 1969, when he helped put the first
computer on the internet. As more and more machines were added to the internet,
standards needed to be developed for translating data from a system level into a format
that could be transferred by the internet protocol. The InerNetworking Working Group
(INWG) was founded in 1972 to develop these standards, with Vinton Cerf as the
chairman. Two years later, Vint Cerf and Bob Kahn published "A Protocol for Packet
Network Internetworking" which specified a standard protocol for converting a stream
of data into a series of packets, for reassembling the packets into a stream of data,
requesting lost packets be resent, and basically controlling communication through
Baron's internet protocol. First titled the network control protocol (NCP), it was
later renamed the transmission control protocol -- TCP.
What kind of computer do these visionaries and founders of the information age use
today? According to the MacAddict a 1996 television interview with Paul Baron
showed him at his computer -- a Power Mac 7100. During an interview for the
Netinsider, Vint Cerf was asked what kind of computer he uses today. His response was
an emphatic: "I'm a Mac Freak!
A Short History of the Internet, by Bruce Sterling
http://www.ubicom.com/history.html
The Internet Valley, History of the Internet by Gregory R. Gromov
http://www.internetvalley.com/intval.html
Introduction to TCP/IP by H. Gilbert
http://pclt.cis.yale.edu/pclt/comm/tcpip.htm
RFC 1180: A TCP/IP Tutorial
ftp://ds.internic.net/rfc/rfc1180.txt
Paul Baron Appears on the Evangelist List of Famous Mac Users
http://www.evangelist.macaddict.com/advocacy_action.html
Interview with Vint Cerf, Internet Founder and "Mac Freak
http://www.netinsider.com/profile/vcerf/profile/
Using TCP/IP on a Mac
TCP/IP is accessed through Apple's Open Transport system. When you review the OT
technology on Apple's web site (or in Inside Macintosh: Open Transport) you should
realize that OT was designed to support transport independent code -- your code use
data streams to send information without knowing what kind of network the user is on
(TCP/IP, AppleTalk, or other). Open Transport does allow you to design transport
specific applications though, and especially with TCP/IP this may be desirable. The
place to start for TCP/IP specific development is with Apple's OpenTransport/TCP dev
note, which can be found on the same FTP site as the OT SDK. Also visit Mark Sproul's
Open Transport Development web pages and Eric Scouten's Macintosh TCP/IP
Programmer's Guide on the Metrowerks web site.
John Norstad has made the Newswatcher source code publicly available. This
extremely popular freeware USENET newsreader is compatible with MacTCP and
OpenTransport, it's source is probably the single most valuable reference a Mac
TCP/IP programmer can find. Look especially closely at the ftp.c, nntp.c, smtp.c, and
net.c sources. These files are reusable, modular C code for implementing some of the
most popular TCP/IP applications. Also check out Peter N Lewis' TCPExample code and
his PNL TCP/IP libraries for implementing TCP/IP. This Pascal code is the foundation
Peter's tremendously successful TCP/IP shareware products Anarchie and NetPresenz.
Peter has developed Streamwatcher, a debugging tool that allows you to examine data in
an Open Transport TCP stream. Once you have Streamwatcher, check out Mark
Mentovai's Mac on the Net web site for other TCP/IP diagnostic utilities like Bryan
Christianson's IP packet routetracer WhatRoute 1.4.3.
Apple's OpenTransport Website
http://www.devworld.apple.com/dev/opentransport/
Inside Macintosh, Open Transport and OT 1.2 Updates
http://gemma.apple.com/techinfo/techdocs/mac/mac.html
Open Transport/TCP Dev Notes & the OT SDK
ftp://seeding.apple.com/ess/public/opentransport/
The OpenTransport Mailing List, Hosted by Stairways Shareware
http://www.stairways.com/mailinglists/opentpt.html
Open Transport Development Pages by Mark Sproul
http://msproul.rutgers.edu/macintosh/OpenTpt_Dev.html
Macintosh TCP/IP Programmer's Guide, by Eric Scouten
http://www.metrowerks.com/tcpip/
John Norstad's Newswatcher Code
ftp://ftp.acns.nwu.edu/pub/newswatcher/
TCPExample & PNL TCP/IP Libraries by Peter N Lewis
ftp://www.stairways.com/stairways/source/
Mac TCP Watcher 2.0 and Streamwatcher 1.0 by Peter N Lewis
http://www.stairways.com/mtcpw/
http://www.stairways.com/streamwatcher/
Mac On The Net Archive (incl. WhatRoute and other TCP/IP Diagnostic
Utils)
http://www.moxienet.com/macnet/
These and other links are archived on the MacTech Online web pages at
http://www.mactech.com/online/.