|
- Author:
- JJR (IP: 207.194.36.237)
- Timestamp:
- 11/26/07 07:36:00 (16 years ago)
- Comment:
Updates and fixes: long overdue
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ChapterNetworking
v11 |
v12 |
|
3 | 3 | = An Introduction to Networking with Tango = |
---|
4 | 4 | |
---|
5 | | Tango delivers fundamental network interface components with which we can design client or server applications. These network objects are similar enough to original networking library models to ease the transition for skilled network software developers. The general goal of the Tango network modules is to simplify the whole approach to D network software development. |
---|
| 5 | Here we discuss the network components provided by the Tango API. Anyone with even a vague recollection of the old C socket interfaces will recall why network software development has always been such a "trial by ordeal". It is just not fun working with cryptic API's, seemingly inconsistant conventions, and confusing preprocessor macros. Tango, of course, [i]really[/i] tries to make it all easier. The approach, once again, is to make the network API clear and consistant across platforms. |
---|
6 | 6 | |
---|
7 | | == A History == |
---|
| 7 | While claiming an API to be easy does not make it so, we hope the examples and explanations in this chapter will be adequate testimony that Tango "gets it right." The Tango network interface is foundational to many powerful and more complex network objects which will be discussed later. |
---|
8 | 8 | |
---|
9 | | Berkley Software Distribution UNIX made it's imprint in networking history during the last few decades of the twentieth century. BSD UNIX, as the academic-born UNIX operating system came to be called, was a direct competitor with AT&T Bell Lab's UNIX distribution. Bell Lab's UNIX was the original design for what became the most popular OS model of the last half a century. Both UNIX designs eventually contributed important network protocols and interfaces that are in common use today. The Internet is the most obvious example of the UNIX influence. |
---|
| 9 | First, however, let us present a little history of networking. This should give a background as to why fundamental entities like sockets, ports, and internet addresses exist in the first place. |
---|
10 | 10 | |
---|
11 | | BSD's style of UNIX ended up being adopted by a number of software industry leaders, the highest profile being Sun Microsystem's SunOS. The two UNIX distributions, BSD and Bell Lab's, were distinctly incompatible for a number of years, demonstrating a divergent style in their intrinsic tool sets. BSD developed some innovative programming interfaces during this period, and these were readily adopted in many highly popular server products. Later versions of these two operating systems shared more in common. Bell Lab's final major release, called System V, merged features and tools from BSD. This made the operating system more useful but not necessarily more compatible. (citation) |
---|
| 11 | == A Brief History of Networking == |
---|
| 12 | |
---|
| 13 | In the early days of UNIX (circa 1977), it was Berkley Software Distribution's UNIX that made some critical contributions to the field of network API's. BSD UNIX (as the academic-born UNIX operating system came to be called) was a direct competitor with AT&T Bell Lab's UNIX distribution. Bell Lab's UNIX was the original design for what became the most popular OS model of the last half a century. Both UNIX designs eventually contributed important network protocols and interfaces that are in common use today. The Internet is the most obvious example of the UNIX influence. |
---|
| 14 | |
---|
| 15 | Already a luminary in business and academics, the BSD UNIX phenomenon exploded in popularity when Sun released its own derivative called SunOS. Unfortunately, this only widened the divergence of the two UNIX styles -- BSD and Bell Lab's -- which were distinctly incompatible for a number of years. However, later versions of these two operating systems shared more in common. Bell Lab's final major release, called System V, merged features and tools from the ever popular BSD UNIX. The shared features made the two operating systems more independently useful but did little to improve cross-compatibility. (citation) |
---|
12 | 16 | |
---|
13 | | In the networking programming sector, one of the most important API's to surface out of this drama was "BSD Sockets." In short order, BSD Sockets became practically a standard across many UNIX-derivative distributions. |
---|
14 | | |
---|
15 | | The purpose of the socket API was to create a "simple" programming interface for interprocess communication, specifically oriented to network operation. The socket concept was the high level rendition of network communication. Years later, sockets have become synonymous with network software development, promoted even further by their ready adoption by the ever pervading Linux movement. |
---|
| 17 | While in the process of enriching the distribution, BSD managed to invent several innovative programming interfaces. In the network programming sector, one of the most important of these became known as "BSD Sockets." In short order, BSD Sockets was practically a standard across many UNIX-derivative distributions. Ironically, the purpose of the socket API was to create a "simple" programming interface for interprocess communication, specifically oriented to network operation. The socket concept was the high level rendition of network communication. Years later, sockets have become synonymous with network software development, promoted even further by their ready adoption by the ever pervading Linux movement. Despite incompatible implementations sprouting across old and new operating systems, still the sockets API has managed to gain an increasingly universal audience. |
---|
16 | 18 | |
---|
17 | 19 | == All about Networking == |
---|
69 | 71 | |
---|
70 | 72 | [[Image(source:/trunk/doc/images/SocketConduit.gif)]] |
---|
| 73 | |
---|
| 74 | == References == |
---|
| 75 | |
---|
| 76 | http://www.coe.berkeley.edu/labnotes/history_unix.html |
|
|
|
|
|
Copyright © 2006-2024 Tango. All Rights Reserved. | Page Width:
Static or
Dynamic